hydra-ext 0.17.7 → 0.18.0
raw patch · 132 files changed
+109601/−29475 lines, 132 filesdep ~hydra-kerneldep ~hydra-rdfPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hydra-kernel, hydra-rdf
API changes (from Hackage documentation)
- Hydra.Atlas: AtlasAttributeDef :: Maybe String -> Maybe String -> Bool -> Maybe AtlasAttributeDefCardinality -> Int -> Int -> Bool -> Bool -> Bool -> Maybe String -> Maybe String -> Int -> Maybe AtlasAttributeDefIndexType -> [AtlasConstraintDef] -> Map String String -> Maybe String -> AtlasAttributeDef
- Hydra.Atlas: AtlasAttributeDefCardinalityList :: AtlasAttributeDefCardinality
- Hydra.Atlas: AtlasAttributeDefCardinalitySet :: AtlasAttributeDefCardinality
- Hydra.Atlas: AtlasAttributeDefCardinalitySingle :: AtlasAttributeDefCardinality
- Hydra.Atlas: AtlasAttributeDefIndexTypeDefault :: AtlasAttributeDefIndexType
- Hydra.Atlas: AtlasAttributeDefIndexTypeString :: AtlasAttributeDefIndexType
- Hydra.Atlas: AtlasBaseTypeDef :: Maybe TypeCategory -> Maybe String -> Maybe String -> Maybe String -> Maybe DateTime -> Maybe DateTime -> Maybe Int64 -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Map String String -> AtlasBaseTypeDef
- Hydra.Atlas: AtlasConstraintDef :: Maybe String -> Map String String -> AtlasConstraintDef
- Hydra.Atlas: AtlasEntityDef :: AtlasStructDef -> Set String -> Set String -> [AtlasRelationshipAttributeDef] -> Map String [AtlasAttributeDef] -> AtlasEntityDef
- Hydra.Atlas: AtlasRelationshipAttributeDef :: AtlasAttributeDef -> Maybe String -> Bool -> AtlasRelationshipAttributeDef
- Hydra.Atlas: AtlasStructDef :: AtlasBaseTypeDef -> [AtlasAttributeDef] -> AtlasStructDef
- Hydra.Atlas: TypeCategoryArray :: TypeCategory
- Hydra.Atlas: TypeCategoryBusinessMetadata :: TypeCategory
- Hydra.Atlas: TypeCategoryClassification :: TypeCategory
- Hydra.Atlas: TypeCategoryEntity :: TypeCategory
- Hydra.Atlas: TypeCategoryEnum :: TypeCategory
- Hydra.Atlas: TypeCategoryMap :: TypeCategory
- Hydra.Atlas: TypeCategoryObjectIdType :: TypeCategory
- Hydra.Atlas: TypeCategoryPrimitive :: TypeCategory
- Hydra.Atlas: TypeCategoryRelationship :: TypeCategory
- Hydra.Atlas: TypeCategoryStruct :: TypeCategory
- Hydra.Atlas: [atlasAttributeDefCardinality] :: AtlasAttributeDef -> Maybe AtlasAttributeDefCardinality
- Hydra.Atlas: [atlasAttributeDefConstraints] :: AtlasAttributeDef -> [AtlasConstraintDef]
- Hydra.Atlas: [atlasAttributeDefDefaultValue] :: AtlasAttributeDef -> Maybe String
- Hydra.Atlas: [atlasAttributeDefDescription] :: AtlasAttributeDef -> Maybe String
- Hydra.Atlas: [atlasAttributeDefDisplayName] :: AtlasAttributeDef -> Maybe String
- Hydra.Atlas: [atlasAttributeDefIncludeInNotification] :: AtlasAttributeDef -> Bool
- Hydra.Atlas: [atlasAttributeDefIndexType] :: AtlasAttributeDef -> Maybe AtlasAttributeDefIndexType
- Hydra.Atlas: [atlasAttributeDefIsIndexable] :: AtlasAttributeDef -> Bool
- Hydra.Atlas: [atlasAttributeDefIsOptional] :: AtlasAttributeDef -> Bool
- Hydra.Atlas: [atlasAttributeDefIsUnique] :: AtlasAttributeDef -> Bool
- Hydra.Atlas: [atlasAttributeDefName] :: AtlasAttributeDef -> Maybe String
- Hydra.Atlas: [atlasAttributeDefOptions] :: AtlasAttributeDef -> Map String String
- Hydra.Atlas: [atlasAttributeDefSearchWeight] :: AtlasAttributeDef -> Int
- Hydra.Atlas: [atlasAttributeDefTypeName] :: AtlasAttributeDef -> Maybe String
- Hydra.Atlas: [atlasAttributeDefValuesMaxCount] :: AtlasAttributeDef -> Int
- Hydra.Atlas: [atlasAttributeDefValuesMinCount] :: AtlasAttributeDef -> Int
- Hydra.Atlas: [atlasBaseTypeDefCategory] :: AtlasBaseTypeDef -> Maybe TypeCategory
- Hydra.Atlas: [atlasBaseTypeDefCreateTime] :: AtlasBaseTypeDef -> Maybe DateTime
- Hydra.Atlas: [atlasBaseTypeDefCreatedBy] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefDescription] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefGuid] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefName] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefOptions] :: AtlasBaseTypeDef -> Map String String
- Hydra.Atlas: [atlasBaseTypeDefServiceType] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefTypeVersion] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefUpdateTime] :: AtlasBaseTypeDef -> Maybe DateTime
- Hydra.Atlas: [atlasBaseTypeDefUpdatedBy] :: AtlasBaseTypeDef -> Maybe String
- Hydra.Atlas: [atlasBaseTypeDefVersion] :: AtlasBaseTypeDef -> Maybe Int64
- Hydra.Atlas: [atlasConstraintDefParams] :: AtlasConstraintDef -> Map String String
- Hydra.Atlas: [atlasConstraintDefType] :: AtlasConstraintDef -> Maybe String
- Hydra.Atlas: [atlasEntityDefAsAtlasStruct] :: AtlasEntityDef -> AtlasStructDef
- Hydra.Atlas: [atlasEntityDefBusinessAttributeDefs] :: AtlasEntityDef -> Map String [AtlasAttributeDef]
- Hydra.Atlas: [atlasEntityDefRelationshipAttributeDefs] :: AtlasEntityDef -> [AtlasRelationshipAttributeDef]
- Hydra.Atlas: [atlasEntityDefSubTypes] :: AtlasEntityDef -> Set String
- Hydra.Atlas: [atlasEntityDefSuperTypes] :: AtlasEntityDef -> Set String
- Hydra.Atlas: [atlasRelationshipAttributeDefAsAtlasAttribute] :: AtlasRelationshipAttributeDef -> AtlasAttributeDef
- Hydra.Atlas: [atlasRelationshipAttributeDefIsLegacyAttribute] :: AtlasRelationshipAttributeDef -> Bool
- Hydra.Atlas: [atlasRelationshipAttributeDefRelationshipTypeName] :: AtlasRelationshipAttributeDef -> Maybe String
- Hydra.Atlas: [atlasStructDefAsAtlasBaseType] :: AtlasStructDef -> AtlasBaseTypeDef
- Hydra.Atlas: [atlasStructDefAttributeDefs] :: AtlasStructDef -> [AtlasAttributeDef]
- Hydra.Atlas: _AtlasAttributeDef :: Name
- Hydra.Atlas: _AtlasAttributeDefCardinality :: Name
- Hydra.Atlas: _AtlasAttributeDefCardinality_list :: Name
- Hydra.Atlas: _AtlasAttributeDefCardinality_set :: Name
- Hydra.Atlas: _AtlasAttributeDefCardinality_single :: Name
- Hydra.Atlas: _AtlasAttributeDefIndexType :: Name
- Hydra.Atlas: _AtlasAttributeDefIndexType_default :: Name
- Hydra.Atlas: _AtlasAttributeDefIndexType_string :: Name
- Hydra.Atlas: _AtlasAttributeDef_cardinality :: Name
- Hydra.Atlas: _AtlasAttributeDef_constraints :: Name
- Hydra.Atlas: _AtlasAttributeDef_defaultValue :: Name
- Hydra.Atlas: _AtlasAttributeDef_description :: Name
- Hydra.Atlas: _AtlasAttributeDef_displayName :: Name
- Hydra.Atlas: _AtlasAttributeDef_includeInNotification :: Name
- Hydra.Atlas: _AtlasAttributeDef_indexType :: Name
- Hydra.Atlas: _AtlasAttributeDef_isIndexable :: Name
- Hydra.Atlas: _AtlasAttributeDef_isOptional :: Name
- Hydra.Atlas: _AtlasAttributeDef_isUnique :: Name
- Hydra.Atlas: _AtlasAttributeDef_name :: Name
- Hydra.Atlas: _AtlasAttributeDef_options :: Name
- Hydra.Atlas: _AtlasAttributeDef_searchWeight :: Name
- Hydra.Atlas: _AtlasAttributeDef_typeName :: Name
- Hydra.Atlas: _AtlasAttributeDef_valuesMaxCount :: Name
- Hydra.Atlas: _AtlasAttributeDef_valuesMinCount :: Name
- Hydra.Atlas: _AtlasBaseTypeDef :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_category :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_createTime :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_createdBy :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_description :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_guid :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_name :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_options :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_serviceType :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_typeVersion :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_updateTime :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_updatedBy :: Name
- Hydra.Atlas: _AtlasBaseTypeDef_version :: Name
- Hydra.Atlas: _AtlasConstraintDef :: Name
- Hydra.Atlas: _AtlasConstraintDef_params :: Name
- Hydra.Atlas: _AtlasConstraintDef_type :: Name
- Hydra.Atlas: _AtlasEntityDef :: Name
- Hydra.Atlas: _AtlasEntityDef_asAtlasStruct :: Name
- Hydra.Atlas: _AtlasEntityDef_businessAttributeDefs :: Name
- Hydra.Atlas: _AtlasEntityDef_relationshipAttributeDefs :: Name
- Hydra.Atlas: _AtlasEntityDef_subTypes :: Name
- Hydra.Atlas: _AtlasEntityDef_superTypes :: Name
- Hydra.Atlas: _AtlasRelationshipAttributeDef :: Name
- Hydra.Atlas: _AtlasRelationshipAttributeDef_asAtlasAttribute :: Name
- Hydra.Atlas: _AtlasRelationshipAttributeDef_isLegacyAttribute :: Name
- Hydra.Atlas: _AtlasRelationshipAttributeDef_relationshipTypeName :: Name
- Hydra.Atlas: _AtlasStructDef :: Name
- Hydra.Atlas: _AtlasStructDef_asAtlasBaseType :: Name
- Hydra.Atlas: _AtlasStructDef_attributeDefs :: Name
- Hydra.Atlas: _TypeCategory :: Name
- Hydra.Atlas: _TypeCategory_array :: Name
- Hydra.Atlas: _TypeCategory_businessMetadata :: Name
- Hydra.Atlas: _TypeCategory_classification :: Name
- Hydra.Atlas: _TypeCategory_entity :: Name
- Hydra.Atlas: _TypeCategory_enum :: Name
- Hydra.Atlas: _TypeCategory_map :: Name
- Hydra.Atlas: _TypeCategory_objectIdType :: Name
- Hydra.Atlas: _TypeCategory_primitive :: Name
- Hydra.Atlas: _TypeCategory_relationship :: Name
- Hydra.Atlas: _TypeCategory_struct :: Name
- Hydra.Atlas: data AtlasAttributeDef
- Hydra.Atlas: data AtlasAttributeDefCardinality
- Hydra.Atlas: data AtlasAttributeDefIndexType
- Hydra.Atlas: data AtlasBaseTypeDef
- Hydra.Atlas: data AtlasConstraintDef
- Hydra.Atlas: data AtlasEntityDef
- Hydra.Atlas: data AtlasRelationshipAttributeDef
- Hydra.Atlas: data AtlasStructDef
- Hydra.Atlas: data TypeCategory
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasAttributeDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasAttributeDefCardinality
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasAttributeDefIndexType
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasBaseTypeDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasConstraintDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasEntityDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasRelationshipAttributeDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.AtlasStructDef
- Hydra.Atlas: instance GHC.Classes.Eq Hydra.Atlas.TypeCategory
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasAttributeDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasAttributeDefCardinality
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasAttributeDefIndexType
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasBaseTypeDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasConstraintDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasEntityDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasRelationshipAttributeDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.AtlasStructDef
- Hydra.Atlas: instance GHC.Classes.Ord Hydra.Atlas.TypeCategory
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasAttributeDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasAttributeDefCardinality
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasAttributeDefIndexType
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasBaseTypeDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasConstraintDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasEntityDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasRelationshipAttributeDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.AtlasStructDef
- Hydra.Atlas: instance GHC.Read.Read Hydra.Atlas.TypeCategory
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasAttributeDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasAttributeDefCardinality
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasAttributeDefIndexType
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasBaseTypeDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasConstraintDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasEntityDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasRelationshipAttributeDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.AtlasStructDef
- Hydra.Atlas: instance GHC.Show.Show Hydra.Atlas.TypeCategory
- Hydra.Avro.Coder: annotateAdapter :: Maybe (Map Name Term) -> Adapter t0 Type t1 t2 t3 -> Adapter t0 Type t1 t2 t3
- Hydra.Avro.Coder: avroForeignKey :: String
- Hydra.Avro.Coder: avroHydraAdapter :: t0 -> Schema -> AvroEnvironment -> Either Error (Adapter Schema Type Value Term Error, AvroEnvironment)
- Hydra.Avro.Coder: avroNameToHydraName :: AvroQualifiedName -> Name
- Hydra.Avro.Coder: avroPrimaryKey :: String
- Hydra.Avro.Coder: emptyAvroEnvironment :: AvroEnvironment
- Hydra.Avro.Coder: encodeAnnotationValue :: Value -> Term
- Hydra.Avro.Coder: err :: t0 -> String -> Either Error t1
- Hydra.Avro.Coder: expectArrayE :: t0 -> Value -> Either t1 [Value]
- Hydra.Avro.Coder: expectObjectE :: t0 -> Value -> Either t1 (Map String Value)
- Hydra.Avro.Coder: expectStringE :: t0 -> Value -> Either t1 String
- Hydra.Avro.Coder: fieldAnnotationsToCore :: Field -> Map Name Term
- Hydra.Avro.Coder: findAvroPrimaryKeyField :: t0 -> AvroQualifiedName -> [Field] -> Either Error (Maybe AvroPrimaryKey)
- Hydra.Avro.Coder: foreignKeyE :: t0 -> Field -> Either Error (Maybe AvroForeignKey)
- Hydra.Avro.Coder: getAvroHydraAdapter :: AvroQualifiedName -> AvroEnvironment -> Maybe (Adapter Schema Type Value Term Error)
- Hydra.Avro.Coder: jsonToStringE :: t0 -> Value -> Either Error String
- Hydra.Avro.Coder: namedAnnotationsToCore :: Named -> Map Name Term
- Hydra.Avro.Coder: optStringE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe String)
- Hydra.Avro.Coder: parseAvroName :: Maybe String -> String -> AvroQualifiedName
- Hydra.Avro.Coder: patternToNameConstructor :: String -> String -> Name
- Hydra.Avro.Coder: prepareField :: t0 -> AvroEnvironment -> Field -> Either Error ((String, (Field, Adapter Schema Type Value Term Error)), AvroEnvironment)
- Hydra.Avro.Coder: prepareFields :: t0 -> AvroEnvironment -> [Field] -> Either Error (Map String (Field, Adapter Schema Type Value Term Error), AvroEnvironment)
- Hydra.Avro.Coder: primaryKeyE :: t0 -> Field -> Maybe AvroPrimaryKey
- Hydra.Avro.Coder: putAvroHydraAdapter :: AvroQualifiedName -> Adapter Schema Type Value Term Error -> AvroEnvironment -> AvroEnvironment
- Hydra.Avro.Coder: requireStringE :: t0 -> String -> Map String Value -> Either Error String
- Hydra.Avro.Coder: rewriteAvroSchemaM :: ((Schema -> Either t0 Schema) -> Schema -> Either t0 Schema) -> Schema -> Either t0 Schema
- Hydra.Avro.Coder: showQname :: AvroQualifiedName -> String
- Hydra.Avro.Coder: stringToTermE :: t0 -> Type -> String -> Either Error Term
- Hydra.Avro.Coder: termToStringE :: t0 -> Term -> Either Error String
- Hydra.Avro.Coder: unexpectedE :: t0 -> String -> String -> Either Error t1
- Hydra.Avro.Encoder: buildAvroField :: (Name, Adapter t0 Schema t1 t2 t3) -> Field
- Hydra.Avro.Encoder: emptyEncodeEnvironment :: Map Name Type -> EncodeEnvironment
- Hydra.Avro.Encoder: encodeType :: t0 -> Map Name Type -> Name -> Either Error (Adapter Type Schema Term Value Error)
- Hydra.Avro.Encoder: encodeTypeInner :: t0 -> Maybe Name -> Type -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
- Hydra.Avro.Encoder: encodeTypeWithEnv :: t0 -> Name -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
- Hydra.Avro.Encoder: enumAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> Either t1 (Adapter Type Schema Term Value Error, EncodeEnvironment)
- Hydra.Avro.Encoder: err :: t0 -> String -> Either Error t1
- Hydra.Avro.Encoder: extractAnnotations :: Type -> (Map Name Term, Type)
- Hydra.Avro.Encoder: floatAdapter :: t0 -> t1 -> FloatType -> Either t2 (Adapter t1 Schema Term Value Error)
- Hydra.Avro.Encoder: floatValueToDouble :: FloatValue -> Scientific
- Hydra.Avro.Encoder: foldFieldAdapters :: t0 -> [FieldType] -> EncodeEnvironment -> Either Error ([(Name, Adapter Type Schema Term Value Error)], EncodeEnvironment)
- Hydra.Avro.Encoder: hydraAnnotationsToAvro :: Map Name Term -> Map String Value
- Hydra.Avro.Encoder: hydraAvroAdapter :: t0 -> Map Name Type -> Type -> Either Error (Adapter Type Schema Term Value Error)
- Hydra.Avro.Encoder: hydraNameToAvroName :: Name -> (String, Maybe String)
- Hydra.Avro.Encoder: integerAdapter :: t0 -> t1 -> IntegerType -> Either t2 (Adapter t1 Schema Term Value Error)
- Hydra.Avro.Encoder: integerValueToDouble :: IntegerValue -> Scientific
- Hydra.Avro.Encoder: literalAdapter :: t0 -> t1 -> LiteralType -> Either t2 (Adapter t1 Schema Term Value Error)
- Hydra.Avro.Encoder: localName :: Name -> String
- Hydra.Avro.Encoder: nameNamespace :: Name -> Maybe String
- Hydra.Avro.Encoder: namedTypeAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> ([Field] -> NamedType) -> (t0 -> Name -> [(Name, Adapter Type Schema Term Value Error)] -> (Term -> Either Error Value, Value -> Either Error Term)) -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
- Hydra.Avro.Encoder: recordTermCoder :: t0 -> Name -> [(Name, Adapter t1 t2 Term Value Error)] -> (Term -> Either Error Value, Value -> Either Error Term)
- Hydra.Avro.Encoder: termToJsonValue :: Term -> Value
- Hydra.Avro.Encoder: typeToName :: Type -> Name
- Hydra.Avro.Encoder: unionAsRecordAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
- Hydra.Avro.Environment: AvroEnvironment :: Map AvroQualifiedName (Adapter Schema Type Value Term Error) -> Maybe String -> Map Name Binding -> AvroEnvironment
- Hydra.Avro.Environment: AvroForeignKey :: Name -> (String -> Name) -> AvroForeignKey
- Hydra.Avro.Environment: AvroPrimaryKey :: Name -> (String -> Name) -> AvroPrimaryKey
- Hydra.Avro.Environment: AvroQualifiedName :: Maybe String -> String -> AvroQualifiedName
- Hydra.Avro.Environment: EncodeEnvironment :: Map Name Type -> Map Name (Adapter Type Schema Term Value Error) -> EncodeEnvironment
- Hydra.Avro.Environment: [avroEnvironmentElements] :: AvroEnvironment -> Map Name Binding
- Hydra.Avro.Environment: [avroEnvironmentNamedAdapters] :: AvroEnvironment -> Map AvroQualifiedName (Adapter Schema Type Value Term Error)
- Hydra.Avro.Environment: [avroEnvironmentNamespace] :: AvroEnvironment -> Maybe String
- Hydra.Avro.Environment: [avroForeignKeyConstructor] :: AvroForeignKey -> String -> Name
- Hydra.Avro.Environment: [avroForeignKeyTypeName] :: AvroForeignKey -> Name
- Hydra.Avro.Environment: [avroPrimaryKeyConstructor] :: AvroPrimaryKey -> String -> Name
- Hydra.Avro.Environment: [avroPrimaryKeyFieldName] :: AvroPrimaryKey -> Name
- Hydra.Avro.Environment: [avroQualifiedNameName] :: AvroQualifiedName -> String
- Hydra.Avro.Environment: [avroQualifiedNameNamespace] :: AvroQualifiedName -> Maybe String
- Hydra.Avro.Environment: [encodeEnvironmentEmitted] :: EncodeEnvironment -> Map Name (Adapter Type Schema Term Value Error)
- Hydra.Avro.Environment: [encodeEnvironmentTypeMap] :: EncodeEnvironment -> Map Name Type
- Hydra.Avro.Environment: _AvroEnvironment :: Name
- Hydra.Avro.Environment: _AvroEnvironment_elements :: Name
- Hydra.Avro.Environment: _AvroEnvironment_namedAdapters :: Name
- Hydra.Avro.Environment: _AvroEnvironment_namespace :: Name
- Hydra.Avro.Environment: _AvroForeignKey :: Name
- Hydra.Avro.Environment: _AvroForeignKey_constructor :: Name
- Hydra.Avro.Environment: _AvroForeignKey_typeName :: Name
- Hydra.Avro.Environment: _AvroPrimaryKey :: Name
- Hydra.Avro.Environment: _AvroPrimaryKey_constructor :: Name
- Hydra.Avro.Environment: _AvroPrimaryKey_fieldName :: Name
- Hydra.Avro.Environment: _AvroQualifiedName :: Name
- Hydra.Avro.Environment: _AvroQualifiedName_name :: Name
- Hydra.Avro.Environment: _AvroQualifiedName_namespace :: Name
- Hydra.Avro.Environment: _EncodeEnvironment :: Name
- Hydra.Avro.Environment: _EncodeEnvironment_emitted :: Name
- Hydra.Avro.Environment: _EncodeEnvironment_typeMap :: Name
- Hydra.Avro.Environment: data AvroEnvironment
- Hydra.Avro.Environment: data AvroForeignKey
- Hydra.Avro.Environment: data AvroPrimaryKey
- Hydra.Avro.Environment: data AvroQualifiedName
- Hydra.Avro.Environment: data EncodeEnvironment
- Hydra.Avro.Environment: instance GHC.Classes.Eq Hydra.Avro.Environment.AvroQualifiedName
- Hydra.Avro.Environment: instance GHC.Classes.Ord Hydra.Avro.Environment.AvroQualifiedName
- Hydra.Avro.Environment: instance GHC.Read.Read Hydra.Avro.Environment.AvroQualifiedName
- Hydra.Avro.Environment: instance GHC.Show.Show Hydra.Avro.Environment.AvroQualifiedName
- Hydra.Avro.Language: avroLanguage :: Language
- Hydra.Avro.Schema: Array :: Schema -> Array
- Hydra.Avro.Schema: Enum :: [String] -> Maybe String -> Enum
- Hydra.Avro.Schema: Field :: String -> Maybe String -> Schema -> Maybe Value -> Maybe Order -> Maybe [String] -> Map String Value -> Field
- Hydra.Avro.Schema: Fixed :: Int -> Fixed
- Hydra.Avro.Schema: Map :: Schema -> Map
- Hydra.Avro.Schema: Named :: String -> Maybe String -> Maybe [String] -> Maybe String -> NamedType -> Map String Value -> Named
- Hydra.Avro.Schema: NamedTypeEnum :: Enum -> NamedType
- Hydra.Avro.Schema: NamedTypeFixed :: Fixed -> NamedType
- Hydra.Avro.Schema: NamedTypeRecord :: Record -> NamedType
- Hydra.Avro.Schema: OrderAscending :: Order
- Hydra.Avro.Schema: OrderDescending :: Order
- Hydra.Avro.Schema: OrderIgnore :: Order
- Hydra.Avro.Schema: PrimitiveBoolean :: Primitive
- Hydra.Avro.Schema: PrimitiveBytes :: Primitive
- Hydra.Avro.Schema: PrimitiveDouble :: Primitive
- Hydra.Avro.Schema: PrimitiveFloat :: Primitive
- Hydra.Avro.Schema: PrimitiveInt :: Primitive
- Hydra.Avro.Schema: PrimitiveLong :: Primitive
- Hydra.Avro.Schema: PrimitiveNull :: Primitive
- Hydra.Avro.Schema: PrimitiveString :: Primitive
- Hydra.Avro.Schema: Record :: [Field] -> Record
- Hydra.Avro.Schema: SchemaArray :: Array -> Schema
- Hydra.Avro.Schema: SchemaMap :: Map -> Schema
- Hydra.Avro.Schema: SchemaNamed :: Named -> Schema
- Hydra.Avro.Schema: SchemaPrimitive :: Primitive -> Schema
- Hydra.Avro.Schema: SchemaReference :: String -> Schema
- Hydra.Avro.Schema: SchemaUnion :: Union -> Schema
- Hydra.Avro.Schema: Union :: [Schema] -> Union
- Hydra.Avro.Schema: [arrayItems] :: Array -> Schema
- Hydra.Avro.Schema: [enumDefault] :: Enum -> Maybe String
- Hydra.Avro.Schema: [enumSymbols] :: Enum -> [String]
- Hydra.Avro.Schema: [fieldAliases] :: Field -> Maybe [String]
- Hydra.Avro.Schema: [fieldAnnotations] :: Field -> Map String Value
- Hydra.Avro.Schema: [fieldDefault] :: Field -> Maybe Value
- Hydra.Avro.Schema: [fieldDoc] :: Field -> Maybe String
- Hydra.Avro.Schema: [fieldName] :: Field -> String
- Hydra.Avro.Schema: [fieldOrder] :: Field -> Maybe Order
- Hydra.Avro.Schema: [fieldType] :: Field -> Schema
- Hydra.Avro.Schema: [fixedSize] :: Fixed -> Int
- Hydra.Avro.Schema: [mapValues] :: Map -> Schema
- Hydra.Avro.Schema: [namedAliases] :: Named -> Maybe [String]
- Hydra.Avro.Schema: [namedAnnotations] :: Named -> Map String Value
- Hydra.Avro.Schema: [namedDoc] :: Named -> Maybe String
- Hydra.Avro.Schema: [namedName] :: Named -> String
- Hydra.Avro.Schema: [namedNamespace] :: Named -> Maybe String
- Hydra.Avro.Schema: [namedType] :: Named -> NamedType
- Hydra.Avro.Schema: [recordFields] :: Record -> [Field]
- Hydra.Avro.Schema: [unUnion] :: Union -> [Schema]
- Hydra.Avro.Schema: _Array :: Name
- Hydra.Avro.Schema: _Array_items :: Name
- Hydra.Avro.Schema: _Enum :: Name
- Hydra.Avro.Schema: _Enum_default :: Name
- Hydra.Avro.Schema: _Enum_symbols :: Name
- Hydra.Avro.Schema: _Field :: Name
- Hydra.Avro.Schema: _Field_aliases :: Name
- Hydra.Avro.Schema: _Field_annotations :: Name
- Hydra.Avro.Schema: _Field_default :: Name
- Hydra.Avro.Schema: _Field_doc :: Name
- Hydra.Avro.Schema: _Field_name :: Name
- Hydra.Avro.Schema: _Field_order :: Name
- Hydra.Avro.Schema: _Field_type :: Name
- Hydra.Avro.Schema: _Fixed :: Name
- Hydra.Avro.Schema: _Fixed_size :: Name
- Hydra.Avro.Schema: _Map :: Name
- Hydra.Avro.Schema: _Map_values :: Name
- Hydra.Avro.Schema: _Named :: Name
- Hydra.Avro.Schema: _NamedType :: Name
- Hydra.Avro.Schema: _NamedType_enum :: Name
- Hydra.Avro.Schema: _NamedType_fixed :: Name
- Hydra.Avro.Schema: _NamedType_record :: Name
- Hydra.Avro.Schema: _Named_aliases :: Name
- Hydra.Avro.Schema: _Named_annotations :: Name
- Hydra.Avro.Schema: _Named_doc :: Name
- Hydra.Avro.Schema: _Named_name :: Name
- Hydra.Avro.Schema: _Named_namespace :: Name
- Hydra.Avro.Schema: _Named_type :: Name
- Hydra.Avro.Schema: _Order :: Name
- Hydra.Avro.Schema: _Order_ascending :: Name
- Hydra.Avro.Schema: _Order_descending :: Name
- Hydra.Avro.Schema: _Order_ignore :: Name
- Hydra.Avro.Schema: _Primitive :: Name
- Hydra.Avro.Schema: _Primitive_boolean :: Name
- Hydra.Avro.Schema: _Primitive_bytes :: Name
- Hydra.Avro.Schema: _Primitive_double :: Name
- Hydra.Avro.Schema: _Primitive_float :: Name
- Hydra.Avro.Schema: _Primitive_int :: Name
- Hydra.Avro.Schema: _Primitive_long :: Name
- Hydra.Avro.Schema: _Primitive_null :: Name
- Hydra.Avro.Schema: _Primitive_string :: Name
- Hydra.Avro.Schema: _Record :: Name
- Hydra.Avro.Schema: _Record_fields :: Name
- Hydra.Avro.Schema: _Schema :: Name
- Hydra.Avro.Schema: _Schema_array :: Name
- Hydra.Avro.Schema: _Schema_map :: Name
- Hydra.Avro.Schema: _Schema_named :: Name
- Hydra.Avro.Schema: _Schema_primitive :: Name
- Hydra.Avro.Schema: _Schema_reference :: Name
- Hydra.Avro.Schema: _Schema_union :: Name
- Hydra.Avro.Schema: _Union :: Name
- Hydra.Avro.Schema: data Array
- Hydra.Avro.Schema: data Enum
- Hydra.Avro.Schema: data Field
- Hydra.Avro.Schema: data Fixed
- Hydra.Avro.Schema: data Map
- Hydra.Avro.Schema: data Named
- Hydra.Avro.Schema: data NamedType
- Hydra.Avro.Schema: data Order
- Hydra.Avro.Schema: data Primitive
- Hydra.Avro.Schema: data Record
- Hydra.Avro.Schema: data Schema
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Array
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Enum
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Field
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Fixed
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Map
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Named
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.NamedType
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Order
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Primitive
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Record
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Schema
- Hydra.Avro.Schema: instance GHC.Classes.Eq Hydra.Avro.Schema.Union
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Array
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Enum
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Field
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Fixed
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Map
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Named
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.NamedType
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Order
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Primitive
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Record
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Schema
- Hydra.Avro.Schema: instance GHC.Classes.Ord Hydra.Avro.Schema.Union
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Array
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Enum
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Field
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Fixed
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Map
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Named
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.NamedType
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Order
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Primitive
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Record
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Schema
- Hydra.Avro.Schema: instance GHC.Read.Read Hydra.Avro.Schema.Union
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Array
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Enum
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Field
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Fixed
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Map
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Named
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.NamedType
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Order
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Primitive
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Record
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Schema
- Hydra.Avro.Schema: instance GHC.Show.Show Hydra.Avro.Schema.Union
- Hydra.Avro.Schema: newtype Union
- Hydra.Avro.SchemaJson: avroAliases :: String
- Hydra.Avro.SchemaJson: avroArray :: String
- Hydra.Avro.SchemaJson: avroAscending :: String
- Hydra.Avro.SchemaJson: avroBoolean :: String
- Hydra.Avro.SchemaJson: avroBytes :: String
- Hydra.Avro.SchemaJson: avroDefault :: String
- Hydra.Avro.SchemaJson: avroDescending :: String
- Hydra.Avro.SchemaJson: avroDoc :: String
- Hydra.Avro.SchemaJson: avroDouble :: String
- Hydra.Avro.SchemaJson: avroEnum :: String
- Hydra.Avro.SchemaJson: avroFields :: String
- Hydra.Avro.SchemaJson: avroFixed :: String
- Hydra.Avro.SchemaJson: avroFloat :: String
- Hydra.Avro.SchemaJson: avroIgnore :: String
- Hydra.Avro.SchemaJson: avroInt :: String
- Hydra.Avro.SchemaJson: avroItems :: String
- Hydra.Avro.SchemaJson: avroLong :: String
- Hydra.Avro.SchemaJson: avroMap :: String
- Hydra.Avro.SchemaJson: avroName :: String
- Hydra.Avro.SchemaJson: avroNamespace :: String
- Hydra.Avro.SchemaJson: avroNull :: String
- Hydra.Avro.SchemaJson: avroOrder :: String
- Hydra.Avro.SchemaJson: avroRecord :: String
- Hydra.Avro.SchemaJson: avroSchemaJsonCoder :: t0 -> Coder Schema Value Error
- Hydra.Avro.SchemaJson: avroSchemaStringCoder :: t0 -> Coder Schema String Error
- Hydra.Avro.SchemaJson: avroSize :: String
- Hydra.Avro.SchemaJson: avroString :: String
- Hydra.Avro.SchemaJson: avroSymbols :: String
- Hydra.Avro.SchemaJson: avroType :: String
- Hydra.Avro.SchemaJson: avroValues :: String
- Hydra.Avro.SchemaJson: decodeAliases :: t0 -> Map String Value -> Either t1 (Maybe [String])
- Hydra.Avro.SchemaJson: decodeArraySchema :: t0 -> Map String Value -> Either Error Schema
- Hydra.Avro.SchemaJson: decodeEnum :: t0 -> Map String Value -> Either Error NamedType
- Hydra.Avro.SchemaJson: decodeField :: t0 -> Map String Value -> Either Error Field
- Hydra.Avro.SchemaJson: decodeFixed :: t0 -> Map String Value -> Either Error NamedType
- Hydra.Avro.SchemaJson: decodeMapSchema :: t0 -> Map String Value -> Either Error Schema
- Hydra.Avro.SchemaJson: decodeNamedSchema :: t0 -> Map String Value -> Either Error NamedType -> Either Error Schema
- Hydra.Avro.SchemaJson: decodeObjectSchema :: t0 -> Map String Value -> String -> Either Error Schema
- Hydra.Avro.SchemaJson: decodeOrder :: t0 -> String -> Either Error Order
- Hydra.Avro.SchemaJson: decodePrimitiveName :: String -> Maybe Primitive
- Hydra.Avro.SchemaJson: decodeRecord :: t0 -> Map String Value -> Either Error NamedType
- Hydra.Avro.SchemaJson: decodeSchema :: t0 -> Value -> Either Error Schema
- Hydra.Avro.SchemaJson: encodeAnnotations :: Map String t0 -> [(String, t0)]
- Hydra.Avro.SchemaJson: encodeArray :: Array -> Value
- Hydra.Avro.SchemaJson: encodeEnum :: Enum -> [(String, Value)]
- Hydra.Avro.SchemaJson: encodeField :: Field -> Value
- Hydra.Avro.SchemaJson: encodeFixed :: Fixed -> [(String, Value)]
- Hydra.Avro.SchemaJson: encodeMap :: Map -> Value
- Hydra.Avro.SchemaJson: encodeNamed :: Named -> Value
- Hydra.Avro.SchemaJson: encodeNamedType :: NamedType -> [(String, Value)]
- Hydra.Avro.SchemaJson: encodeOrder :: Order -> (String, Value)
- Hydra.Avro.SchemaJson: encodePrimitive :: Primitive -> Value
- Hydra.Avro.SchemaJson: encodeRecord :: Record -> [(String, Value)]
- Hydra.Avro.SchemaJson: encodeSchema :: Schema -> Value
- Hydra.Avro.SchemaJson: encodeUnion :: Union -> Value
- Hydra.Avro.SchemaJson: err :: t0 -> String -> Either Error t1
- Hydra.Avro.SchemaJson: expectArrayE :: t0 -> Value -> Either t1 [Value]
- Hydra.Avro.SchemaJson: expectNumberE :: t0 -> Value -> Either t1 Scientific
- Hydra.Avro.SchemaJson: expectObjectE :: t0 -> Value -> Either t1 (Map String Value)
- Hydra.Avro.SchemaJson: expectStringE :: t0 -> Value -> Either t1 String
- Hydra.Avro.SchemaJson: getAnnotations :: Map String t0 -> Map String t0
- Hydra.Avro.SchemaJson: optArrayE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe [Value])
- Hydra.Avro.SchemaJson: optE :: Ord t0 => t0 -> Map t0 t1 -> Maybe t1
- Hydra.Avro.SchemaJson: optStringE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe String)
- Hydra.Avro.SchemaJson: requireArrayE :: t0 -> String -> Map String Value -> Either Error [Value]
- Hydra.Avro.SchemaJson: requireE :: t0 -> String -> Map String t1 -> Either Error t1
- Hydra.Avro.SchemaJson: requireNumberE :: t0 -> String -> Map String Value -> Either Error Scientific
- Hydra.Avro.SchemaJson: requireStringE :: t0 -> String -> Map String Value -> Either Error String
- Hydra.Avro.SchemaJson: showJsonValue :: Value -> String
- Hydra.Avro.SchemaJson: stringToJsonValue :: String -> Either String Value
- Hydra.Avro.SchemaJson: unexpectedE :: t0 -> String -> String -> Either Error t1
- Hydra.Avro.Testing: AvroTestCaseLossiness :: LossinessTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseNameMapping :: NameMappingTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseSchemaSerialization :: SchemaSerializationTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTermLevelForward :: TermLevelForwardTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTermLevelReverse :: TermLevelReverseTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTermLevelRoundTripJson :: TermLevelRoundTripJsonTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTermLevelRoundTripTerm :: TermLevelRoundTripTermTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTypeLevelForward :: TypeLevelForwardTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTypeLevelReverse :: TypeLevelReverseTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTypeLevelRoundTripAvro :: TypeLevelRoundTripAvroTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseTypeLevelRoundTripHydra :: TypeLevelRoundTripHydraTestCase -> AvroTestCase
- Hydra.Avro.Testing: AvroTestCaseUnion :: UnionTestCase -> AvroTestCase
- Hydra.Avro.Testing: LossinessTestCase :: String -> Schema -> Type -> Schema -> Bool -> LossinessTestCase
- Hydra.Avro.Testing: NameMappingTestCase :: String -> Name -> String -> Maybe String -> NameMappingTestCase
- Hydra.Avro.Testing: SchemaSerializationTestCase :: String -> Schema -> Value -> SchemaSerializationTestCase
- Hydra.Avro.Testing: TermLevelForwardTestCase :: String -> Schema -> Value -> Term -> TermLevelForwardTestCase
- Hydra.Avro.Testing: TermLevelReverseTestCase :: String -> Schema -> Term -> Value -> TermLevelReverseTestCase
- Hydra.Avro.Testing: TermLevelRoundTripJsonTestCase :: String -> Schema -> Value -> Value -> TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: TermLevelRoundTripTermTestCase :: String -> Type -> Term -> Term -> TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: TypeLevelForwardTestCase :: String -> Schema -> Type -> TypeLevelForwardTestCase
- Hydra.Avro.Testing: TypeLevelReverseTestCase :: String -> Type -> Schema -> TypeLevelReverseTestCase
- Hydra.Avro.Testing: TypeLevelRoundTripAvroTestCase :: String -> Schema -> Schema -> TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: TypeLevelRoundTripHydraTestCase :: String -> Type -> Type -> TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: UnionTestCase :: String -> Type -> Schema -> [(Term, Value)] -> UnionTestCase
- Hydra.Avro.Testing: [lossinessTestCaseDescription] :: LossinessTestCase -> String
- Hydra.Avro.Testing: [lossinessTestCaseHydraType] :: LossinessTestCase -> Type
- Hydra.Avro.Testing: [lossinessTestCaseIsLossy] :: LossinessTestCase -> Bool
- Hydra.Avro.Testing: [lossinessTestCaseOriginalSchema] :: LossinessTestCase -> Schema
- Hydra.Avro.Testing: [lossinessTestCaseRecoveredSchema] :: LossinessTestCase -> Schema
- Hydra.Avro.Testing: [nameMappingTestCaseAvroName] :: NameMappingTestCase -> String
- Hydra.Avro.Testing: [nameMappingTestCaseAvroNamespace] :: NameMappingTestCase -> Maybe String
- Hydra.Avro.Testing: [nameMappingTestCaseDescription] :: NameMappingTestCase -> String
- Hydra.Avro.Testing: [nameMappingTestCaseHydraName] :: NameMappingTestCase -> Name
- Hydra.Avro.Testing: [schemaSerializationTestCaseDescription] :: SchemaSerializationTestCase -> String
- Hydra.Avro.Testing: [schemaSerializationTestCaseJson] :: SchemaSerializationTestCase -> Value
- Hydra.Avro.Testing: [schemaSerializationTestCaseSchema] :: SchemaSerializationTestCase -> Schema
- Hydra.Avro.Testing: [termLevelForwardTestCaseDescription] :: TermLevelForwardTestCase -> String
- Hydra.Avro.Testing: [termLevelForwardTestCaseJson] :: TermLevelForwardTestCase -> Value
- Hydra.Avro.Testing: [termLevelForwardTestCaseSchema] :: TermLevelForwardTestCase -> Schema
- Hydra.Avro.Testing: [termLevelForwardTestCaseTerm] :: TermLevelForwardTestCase -> Term
- Hydra.Avro.Testing: [termLevelReverseTestCaseDescription] :: TermLevelReverseTestCase -> String
- Hydra.Avro.Testing: [termLevelReverseTestCaseJson] :: TermLevelReverseTestCase -> Value
- Hydra.Avro.Testing: [termLevelReverseTestCaseSchema] :: TermLevelReverseTestCase -> Schema
- Hydra.Avro.Testing: [termLevelReverseTestCaseTerm] :: TermLevelReverseTestCase -> Term
- Hydra.Avro.Testing: [termLevelRoundTripJsonTestCaseDescription] :: TermLevelRoundTripJsonTestCase -> String
- Hydra.Avro.Testing: [termLevelRoundTripJsonTestCaseExpectedJson] :: TermLevelRoundTripJsonTestCase -> Value
- Hydra.Avro.Testing: [termLevelRoundTripJsonTestCaseJson] :: TermLevelRoundTripJsonTestCase -> Value
- Hydra.Avro.Testing: [termLevelRoundTripJsonTestCaseSchema] :: TermLevelRoundTripJsonTestCase -> Schema
- Hydra.Avro.Testing: [termLevelRoundTripTermTestCaseDescription] :: TermLevelRoundTripTermTestCase -> String
- Hydra.Avro.Testing: [termLevelRoundTripTermTestCaseExpectedTerm] :: TermLevelRoundTripTermTestCase -> Term
- Hydra.Avro.Testing: [termLevelRoundTripTermTestCaseTerm] :: TermLevelRoundTripTermTestCase -> Term
- Hydra.Avro.Testing: [termLevelRoundTripTermTestCaseType] :: TermLevelRoundTripTermTestCase -> Type
- Hydra.Avro.Testing: [typeLevelForwardTestCaseDescription] :: TypeLevelForwardTestCase -> String
- Hydra.Avro.Testing: [typeLevelForwardTestCaseSchema] :: TypeLevelForwardTestCase -> Schema
- Hydra.Avro.Testing: [typeLevelForwardTestCaseType] :: TypeLevelForwardTestCase -> Type
- Hydra.Avro.Testing: [typeLevelReverseTestCaseDescription] :: TypeLevelReverseTestCase -> String
- Hydra.Avro.Testing: [typeLevelReverseTestCaseSchema] :: TypeLevelReverseTestCase -> Schema
- Hydra.Avro.Testing: [typeLevelReverseTestCaseType] :: TypeLevelReverseTestCase -> Type
- Hydra.Avro.Testing: [typeLevelRoundTripAvroTestCaseDescription] :: TypeLevelRoundTripAvroTestCase -> String
- Hydra.Avro.Testing: [typeLevelRoundTripAvroTestCaseExpectedSchema] :: TypeLevelRoundTripAvroTestCase -> Schema
- Hydra.Avro.Testing: [typeLevelRoundTripAvroTestCaseSchema] :: TypeLevelRoundTripAvroTestCase -> Schema
- Hydra.Avro.Testing: [typeLevelRoundTripHydraTestCaseDescription] :: TypeLevelRoundTripHydraTestCase -> String
- Hydra.Avro.Testing: [typeLevelRoundTripHydraTestCaseExpectedType] :: TypeLevelRoundTripHydraTestCase -> Type
- Hydra.Avro.Testing: [typeLevelRoundTripHydraTestCaseType] :: TypeLevelRoundTripHydraTestCase -> Type
- Hydra.Avro.Testing: [unionTestCaseAvroSchema] :: UnionTestCase -> Schema
- Hydra.Avro.Testing: [unionTestCaseDescription] :: UnionTestCase -> String
- Hydra.Avro.Testing: [unionTestCaseHydraType] :: UnionTestCase -> Type
- Hydra.Avro.Testing: [unionTestCaseTermPairs] :: UnionTestCase -> [(Term, Value)]
- Hydra.Avro.Testing: _AvroTestCase :: Name
- Hydra.Avro.Testing: _AvroTestCase_lossiness :: Name
- Hydra.Avro.Testing: _AvroTestCase_nameMapping :: Name
- Hydra.Avro.Testing: _AvroTestCase_schemaSerialization :: Name
- Hydra.Avro.Testing: _AvroTestCase_termLevelForward :: Name
- Hydra.Avro.Testing: _AvroTestCase_termLevelReverse :: Name
- Hydra.Avro.Testing: _AvroTestCase_termLevelRoundTripJson :: Name
- Hydra.Avro.Testing: _AvroTestCase_termLevelRoundTripTerm :: Name
- Hydra.Avro.Testing: _AvroTestCase_typeLevelForward :: Name
- Hydra.Avro.Testing: _AvroTestCase_typeLevelReverse :: Name
- Hydra.Avro.Testing: _AvroTestCase_typeLevelRoundTripAvro :: Name
- Hydra.Avro.Testing: _AvroTestCase_typeLevelRoundTripHydra :: Name
- Hydra.Avro.Testing: _AvroTestCase_union :: Name
- Hydra.Avro.Testing: _LossinessTestCase :: Name
- Hydra.Avro.Testing: _LossinessTestCase_description :: Name
- Hydra.Avro.Testing: _LossinessTestCase_hydraType :: Name
- Hydra.Avro.Testing: _LossinessTestCase_isLossy :: Name
- Hydra.Avro.Testing: _LossinessTestCase_originalSchema :: Name
- Hydra.Avro.Testing: _LossinessTestCase_recoveredSchema :: Name
- Hydra.Avro.Testing: _NameMappingTestCase :: Name
- Hydra.Avro.Testing: _NameMappingTestCase_avroName :: Name
- Hydra.Avro.Testing: _NameMappingTestCase_avroNamespace :: Name
- Hydra.Avro.Testing: _NameMappingTestCase_description :: Name
- Hydra.Avro.Testing: _NameMappingTestCase_hydraName :: Name
- Hydra.Avro.Testing: _SchemaSerializationTestCase :: Name
- Hydra.Avro.Testing: _SchemaSerializationTestCase_description :: Name
- Hydra.Avro.Testing: _SchemaSerializationTestCase_json :: Name
- Hydra.Avro.Testing: _SchemaSerializationTestCase_schema :: Name
- Hydra.Avro.Testing: _TermLevelForwardTestCase :: Name
- Hydra.Avro.Testing: _TermLevelForwardTestCase_description :: Name
- Hydra.Avro.Testing: _TermLevelForwardTestCase_json :: Name
- Hydra.Avro.Testing: _TermLevelForwardTestCase_schema :: Name
- Hydra.Avro.Testing: _TermLevelForwardTestCase_term :: Name
- Hydra.Avro.Testing: _TermLevelReverseTestCase :: Name
- Hydra.Avro.Testing: _TermLevelReverseTestCase_description :: Name
- Hydra.Avro.Testing: _TermLevelReverseTestCase_json :: Name
- Hydra.Avro.Testing: _TermLevelReverseTestCase_schema :: Name
- Hydra.Avro.Testing: _TermLevelReverseTestCase_term :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripJsonTestCase :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripJsonTestCase_description :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripJsonTestCase_expectedJson :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripJsonTestCase_json :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripJsonTestCase_schema :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripTermTestCase :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripTermTestCase_description :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripTermTestCase_expectedTerm :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripTermTestCase_term :: Name
- Hydra.Avro.Testing: _TermLevelRoundTripTermTestCase_type :: Name
- Hydra.Avro.Testing: _TypeLevelForwardTestCase :: Name
- Hydra.Avro.Testing: _TypeLevelForwardTestCase_description :: Name
- Hydra.Avro.Testing: _TypeLevelForwardTestCase_schema :: Name
- Hydra.Avro.Testing: _TypeLevelForwardTestCase_type :: Name
- Hydra.Avro.Testing: _TypeLevelReverseTestCase :: Name
- Hydra.Avro.Testing: _TypeLevelReverseTestCase_description :: Name
- Hydra.Avro.Testing: _TypeLevelReverseTestCase_schema :: Name
- Hydra.Avro.Testing: _TypeLevelReverseTestCase_type :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripAvroTestCase :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripAvroTestCase_description :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripAvroTestCase_expectedSchema :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripAvroTestCase_schema :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripHydraTestCase :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripHydraTestCase_description :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripHydraTestCase_expectedType :: Name
- Hydra.Avro.Testing: _TypeLevelRoundTripHydraTestCase_type :: Name
- Hydra.Avro.Testing: _UnionTestCase :: Name
- Hydra.Avro.Testing: _UnionTestCase_avroSchema :: Name
- Hydra.Avro.Testing: _UnionTestCase_description :: Name
- Hydra.Avro.Testing: _UnionTestCase_hydraType :: Name
- Hydra.Avro.Testing: _UnionTestCase_termPairs :: Name
- Hydra.Avro.Testing: data AvroTestCase
- Hydra.Avro.Testing: data LossinessTestCase
- Hydra.Avro.Testing: data NameMappingTestCase
- Hydra.Avro.Testing: data SchemaSerializationTestCase
- Hydra.Avro.Testing: data TermLevelForwardTestCase
- Hydra.Avro.Testing: data TermLevelReverseTestCase
- Hydra.Avro.Testing: data TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: data TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: data TypeLevelForwardTestCase
- Hydra.Avro.Testing: data TypeLevelReverseTestCase
- Hydra.Avro.Testing: data TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: data TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: data UnionTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.AvroTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.LossinessTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.NameMappingTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.SchemaSerializationTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TermLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TermLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TypeLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TypeLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Eq Hydra.Avro.Testing.UnionTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.AvroTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.LossinessTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.NameMappingTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.SchemaSerializationTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TermLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TermLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TypeLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TypeLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: instance GHC.Classes.Ord Hydra.Avro.Testing.UnionTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.AvroTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.LossinessTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.NameMappingTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.SchemaSerializationTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TermLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TermLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TypeLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TypeLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: instance GHC.Read.Read Hydra.Avro.Testing.UnionTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.AvroTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.LossinessTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.NameMappingTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.SchemaSerializationTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TermLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TermLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TermLevelRoundTripJsonTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TermLevelRoundTripTermTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TypeLevelForwardTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TypeLevelReverseTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TypeLevelRoundTripAvroTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.TypeLevelRoundTripHydraTestCase
- Hydra.Avro.Testing: instance GHC.Show.Show Hydra.Avro.Testing.UnionTestCase
- Hydra.Azure.Dtld: Command :: Iri -> String -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe CommandType -> Maybe CommandPayload -> Maybe CommandPayload -> Command
- Hydra.Azure.Dtld: CommandPayload :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> CommandPayload
- Hydra.Azure.Dtld: CommandTypeAsynchronous :: CommandType
- Hydra.Azure.Dtld: CommandTypeSynchronous :: CommandType
- Hydra.Azure.Dtld: Component :: Iri -> String -> Interface -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Component
- Hydra.Azure.Dtld: Dtmi :: String -> Dtmi
- Hydra.Azure.Dtld: EnumValue :: String -> IntegerOrString -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> EnumValue
- Hydra.Azure.Dtld: Field :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Field
- Hydra.Azure.Dtld: IntegerOrStringInteger :: Int -> IntegerOrString
- Hydra.Azure.Dtld: IntegerOrStringString :: String -> IntegerOrString
- Hydra.Azure.Dtld: Interface :: Dtmi -> Iri -> Iri -> Maybe String -> Maybe (Set InterfaceContents) -> Maybe String -> Maybe String -> Maybe (Set Interface) -> Maybe (Set SchemaInterface) -> Interface
- Hydra.Azure.Dtld: InterfaceContentsCommand :: Command -> InterfaceContents
- Hydra.Azure.Dtld: InterfaceContentsComponent :: Component -> InterfaceContents
- Hydra.Azure.Dtld: InterfaceContentsProperty :: Property -> InterfaceContents
- Hydra.Azure.Dtld: InterfaceContentsRelationship :: Relationship -> InterfaceContents
- Hydra.Azure.Dtld: InterfaceContentsTelemetry :: Telemetry -> InterfaceContents
- Hydra.Azure.Dtld: Iri :: String -> Iri
- Hydra.Azure.Dtld: MapKey :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> MapKey
- Hydra.Azure.Dtld: MapValue :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> MapValue
- Hydra.Azure.Dtld: Property :: Iri -> String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Unit -> Maybe Bool -> Property
- Hydra.Azure.Dtld: Relationship :: Iri -> String -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Int -> Maybe Int -> Maybe (Set Property) -> Maybe Interface -> Maybe Bool -> Relationship
- Hydra.Azure.Dtld: SchemaArray :: Iri -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaArray
- Hydra.Azure.Dtld: SchemaComplexArray :: SchemaArray -> SchemaComplex
- Hydra.Azure.Dtld: SchemaComplexEnum :: SchemaEnum -> SchemaComplex
- Hydra.Azure.Dtld: SchemaComplexMap :: SchemaMap -> SchemaComplex
- Hydra.Azure.Dtld: SchemaComplexObject :: SchemaObject -> SchemaComplex
- Hydra.Azure.Dtld: SchemaComplex_ :: SchemaComplex -> Schema
- Hydra.Azure.Dtld: SchemaEnum :: Iri -> [EnumValue] -> IntegerOrString -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaEnum
- Hydra.Azure.Dtld: SchemaInterface :: Dtmi -> SchemaInterfaceType -> Maybe String -> Maybe String -> Maybe String -> SchemaInterface
- Hydra.Azure.Dtld: SchemaInterfaceTypeArray :: SchemaArray -> SchemaInterfaceType
- Hydra.Azure.Dtld: SchemaInterfaceTypeEnum :: SchemaEnum -> SchemaInterfaceType
- Hydra.Azure.Dtld: SchemaInterfaceTypeMap :: SchemaMap -> SchemaInterfaceType
- Hydra.Azure.Dtld: SchemaInterfaceTypeObject :: SchemaObject -> SchemaInterfaceType
- Hydra.Azure.Dtld: SchemaMap :: Iri -> MapKey -> MapValue -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaMap
- Hydra.Azure.Dtld: SchemaObject :: Iri -> Set Field -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaObject
- Hydra.Azure.Dtld: SchemaPrimitiveBoolean :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveDate :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveDateTime :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveDouble :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveDuration :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveFloat :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveInteger :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveLong :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveString :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitiveTime :: SchemaPrimitive
- Hydra.Azure.Dtld: SchemaPrimitive_ :: SchemaPrimitive -> Schema
- Hydra.Azure.Dtld: Telemetry :: Iri -> String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Unit -> Telemetry
- Hydra.Azure.Dtld: Unit :: () -> Unit
- Hydra.Azure.Dtld: [commandCommandType] :: Command -> Maybe CommandType
- Hydra.Azure.Dtld: [commandComment] :: Command -> Maybe String
- Hydra.Azure.Dtld: [commandDescription] :: Command -> Maybe String
- Hydra.Azure.Dtld: [commandDisplayName] :: Command -> Maybe String
- Hydra.Azure.Dtld: [commandId] :: Command -> Maybe Dtmi
- Hydra.Azure.Dtld: [commandName] :: Command -> String
- Hydra.Azure.Dtld: [commandPayloadComment] :: CommandPayload -> Maybe String
- Hydra.Azure.Dtld: [commandPayloadDescription] :: CommandPayload -> Maybe String
- Hydra.Azure.Dtld: [commandPayloadDisplayName] :: CommandPayload -> Maybe String
- Hydra.Azure.Dtld: [commandPayloadId] :: CommandPayload -> Maybe Dtmi
- Hydra.Azure.Dtld: [commandPayloadName] :: CommandPayload -> String
- Hydra.Azure.Dtld: [commandPayloadSchema] :: CommandPayload -> Schema
- Hydra.Azure.Dtld: [commandRequest] :: Command -> Maybe CommandPayload
- Hydra.Azure.Dtld: [commandResponse] :: Command -> Maybe CommandPayload
- Hydra.Azure.Dtld: [commandType] :: Command -> Iri
- Hydra.Azure.Dtld: [componentComment] :: Component -> Maybe String
- Hydra.Azure.Dtld: [componentDescription] :: Component -> Maybe String
- Hydra.Azure.Dtld: [componentDisplayName] :: Component -> Maybe String
- Hydra.Azure.Dtld: [componentId] :: Component -> Maybe Dtmi
- Hydra.Azure.Dtld: [componentName] :: Component -> String
- Hydra.Azure.Dtld: [componentSchema] :: Component -> Interface
- Hydra.Azure.Dtld: [componentType] :: Component -> Iri
- Hydra.Azure.Dtld: [enumValueComment] :: EnumValue -> Maybe String
- Hydra.Azure.Dtld: [enumValueDescription] :: EnumValue -> Maybe String
- Hydra.Azure.Dtld: [enumValueDisplayName] :: EnumValue -> Maybe String
- Hydra.Azure.Dtld: [enumValueEnumValue] :: EnumValue -> IntegerOrString
- Hydra.Azure.Dtld: [enumValueId] :: EnumValue -> Maybe Dtmi
- Hydra.Azure.Dtld: [enumValueName] :: EnumValue -> String
- Hydra.Azure.Dtld: [fieldComment] :: Field -> Maybe String
- Hydra.Azure.Dtld: [fieldDescription] :: Field -> Maybe String
- Hydra.Azure.Dtld: [fieldDisplayName] :: Field -> Maybe String
- Hydra.Azure.Dtld: [fieldId] :: Field -> Maybe Dtmi
- Hydra.Azure.Dtld: [fieldName] :: Field -> String
- Hydra.Azure.Dtld: [fieldSchema] :: Field -> Schema
- Hydra.Azure.Dtld: [interfaceComment] :: Interface -> Maybe String
- Hydra.Azure.Dtld: [interfaceContents] :: Interface -> Maybe (Set InterfaceContents)
- Hydra.Azure.Dtld: [interfaceContext] :: Interface -> Iri
- Hydra.Azure.Dtld: [interfaceDescription] :: Interface -> Maybe String
- Hydra.Azure.Dtld: [interfaceDisplayName] :: Interface -> Maybe String
- Hydra.Azure.Dtld: [interfaceExtends] :: Interface -> Maybe (Set Interface)
- Hydra.Azure.Dtld: [interfaceId] :: Interface -> Dtmi
- Hydra.Azure.Dtld: [interfaceSchemas] :: Interface -> Maybe (Set SchemaInterface)
- Hydra.Azure.Dtld: [interfaceType] :: Interface -> Iri
- Hydra.Azure.Dtld: [mapKeyComment] :: MapKey -> Maybe String
- Hydra.Azure.Dtld: [mapKeyDescription] :: MapKey -> Maybe String
- Hydra.Azure.Dtld: [mapKeyDisplayName] :: MapKey -> Maybe String
- Hydra.Azure.Dtld: [mapKeyId] :: MapKey -> Maybe Dtmi
- Hydra.Azure.Dtld: [mapKeyName] :: MapKey -> String
- Hydra.Azure.Dtld: [mapKeySchema] :: MapKey -> Schema
- Hydra.Azure.Dtld: [mapValueComment] :: MapValue -> Maybe String
- Hydra.Azure.Dtld: [mapValueDescription] :: MapValue -> Maybe String
- Hydra.Azure.Dtld: [mapValueDisplayName] :: MapValue -> Maybe String
- Hydra.Azure.Dtld: [mapValueId] :: MapValue -> Maybe Dtmi
- Hydra.Azure.Dtld: [mapValueName] :: MapValue -> String
- Hydra.Azure.Dtld: [mapValueSchema] :: MapValue -> Schema
- Hydra.Azure.Dtld: [propertyComment] :: Property -> Maybe String
- Hydra.Azure.Dtld: [propertyDescription] :: Property -> Maybe String
- Hydra.Azure.Dtld: [propertyDisplayName] :: Property -> Maybe String
- Hydra.Azure.Dtld: [propertyId] :: Property -> Maybe Dtmi
- Hydra.Azure.Dtld: [propertyName] :: Property -> String
- Hydra.Azure.Dtld: [propertySchema] :: Property -> Schema
- Hydra.Azure.Dtld: [propertyType] :: Property -> Iri
- Hydra.Azure.Dtld: [propertyUnit] :: Property -> Maybe Unit
- Hydra.Azure.Dtld: [propertyWritable] :: Property -> Maybe Bool
- Hydra.Azure.Dtld: [relationshipComment] :: Relationship -> Maybe String
- Hydra.Azure.Dtld: [relationshipDescription] :: Relationship -> Maybe String
- Hydra.Azure.Dtld: [relationshipDisplayName] :: Relationship -> Maybe String
- Hydra.Azure.Dtld: [relationshipId] :: Relationship -> Maybe Dtmi
- Hydra.Azure.Dtld: [relationshipMaxMultiplicity] :: Relationship -> Maybe Int
- Hydra.Azure.Dtld: [relationshipMinMultiplicity] :: Relationship -> Maybe Int
- Hydra.Azure.Dtld: [relationshipName] :: Relationship -> String
- Hydra.Azure.Dtld: [relationshipProperties] :: Relationship -> Maybe (Set Property)
- Hydra.Azure.Dtld: [relationshipTarget] :: Relationship -> Maybe Interface
- Hydra.Azure.Dtld: [relationshipType] :: Relationship -> Iri
- Hydra.Azure.Dtld: [relationshipWritable] :: Relationship -> Maybe Bool
- Hydra.Azure.Dtld: [schemaArrayComment] :: SchemaArray -> Maybe String
- Hydra.Azure.Dtld: [schemaArrayDescription] :: SchemaArray -> Maybe String
- Hydra.Azure.Dtld: [schemaArrayDisplayName] :: SchemaArray -> Maybe String
- Hydra.Azure.Dtld: [schemaArrayElementSchema] :: SchemaArray -> Schema
- Hydra.Azure.Dtld: [schemaArrayId] :: SchemaArray -> Maybe Dtmi
- Hydra.Azure.Dtld: [schemaArrayType] :: SchemaArray -> Iri
- Hydra.Azure.Dtld: [schemaEnumComment] :: SchemaEnum -> Maybe String
- Hydra.Azure.Dtld: [schemaEnumDescription] :: SchemaEnum -> Maybe String
- Hydra.Azure.Dtld: [schemaEnumDisplayName] :: SchemaEnum -> Maybe String
- Hydra.Azure.Dtld: [schemaEnumEnumValues] :: SchemaEnum -> [EnumValue]
- Hydra.Azure.Dtld: [schemaEnumId] :: SchemaEnum -> Maybe Dtmi
- Hydra.Azure.Dtld: [schemaEnumType] :: SchemaEnum -> Iri
- Hydra.Azure.Dtld: [schemaEnumValueSchema] :: SchemaEnum -> IntegerOrString
- Hydra.Azure.Dtld: [schemaInterfaceComment] :: SchemaInterface -> Maybe String
- Hydra.Azure.Dtld: [schemaInterfaceDescription] :: SchemaInterface -> Maybe String
- Hydra.Azure.Dtld: [schemaInterfaceDisplayName] :: SchemaInterface -> Maybe String
- Hydra.Azure.Dtld: [schemaInterfaceId] :: SchemaInterface -> Dtmi
- Hydra.Azure.Dtld: [schemaInterfaceType] :: SchemaInterface -> SchemaInterfaceType
- Hydra.Azure.Dtld: [schemaMapComment] :: SchemaMap -> Maybe String
- Hydra.Azure.Dtld: [schemaMapDescription] :: SchemaMap -> Maybe String
- Hydra.Azure.Dtld: [schemaMapDisplayName] :: SchemaMap -> Maybe String
- Hydra.Azure.Dtld: [schemaMapId] :: SchemaMap -> Maybe Dtmi
- Hydra.Azure.Dtld: [schemaMapMapKey] :: SchemaMap -> MapKey
- Hydra.Azure.Dtld: [schemaMapMapValue] :: SchemaMap -> MapValue
- Hydra.Azure.Dtld: [schemaMapType] :: SchemaMap -> Iri
- Hydra.Azure.Dtld: [schemaObjectComment] :: SchemaObject -> Maybe String
- Hydra.Azure.Dtld: [schemaObjectDescription] :: SchemaObject -> Maybe String
- Hydra.Azure.Dtld: [schemaObjectDisplayName] :: SchemaObject -> Maybe String
- Hydra.Azure.Dtld: [schemaObjectFields] :: SchemaObject -> Set Field
- Hydra.Azure.Dtld: [schemaObjectId] :: SchemaObject -> Maybe Dtmi
- Hydra.Azure.Dtld: [schemaObjectType] :: SchemaObject -> Iri
- Hydra.Azure.Dtld: [telemetryComment] :: Telemetry -> Maybe String
- Hydra.Azure.Dtld: [telemetryDescription] :: Telemetry -> Maybe String
- Hydra.Azure.Dtld: [telemetryDisplayName] :: Telemetry -> Maybe String
- Hydra.Azure.Dtld: [telemetryId] :: Telemetry -> Maybe Dtmi
- Hydra.Azure.Dtld: [telemetryName] :: Telemetry -> String
- Hydra.Azure.Dtld: [telemetrySchema] :: Telemetry -> Schema
- Hydra.Azure.Dtld: [telemetryType] :: Telemetry -> Iri
- Hydra.Azure.Dtld: [telemetryUnit] :: Telemetry -> Maybe Unit
- Hydra.Azure.Dtld: [unDtmi] :: Dtmi -> String
- Hydra.Azure.Dtld: [unIri] :: Iri -> String
- Hydra.Azure.Dtld: [unUnit] :: Unit -> ()
- Hydra.Azure.Dtld: _Command :: Name
- Hydra.Azure.Dtld: _CommandPayload :: Name
- Hydra.Azure.Dtld: _CommandPayload_comment :: Name
- Hydra.Azure.Dtld: _CommandPayload_description :: Name
- Hydra.Azure.Dtld: _CommandPayload_displayName :: Name
- Hydra.Azure.Dtld: _CommandPayload_id :: Name
- Hydra.Azure.Dtld: _CommandPayload_name :: Name
- Hydra.Azure.Dtld: _CommandPayload_schema :: Name
- Hydra.Azure.Dtld: _CommandType :: Name
- Hydra.Azure.Dtld: _CommandType_asynchronous :: Name
- Hydra.Azure.Dtld: _CommandType_synchronous :: Name
- Hydra.Azure.Dtld: _Command_commandType :: Name
- Hydra.Azure.Dtld: _Command_comment :: Name
- Hydra.Azure.Dtld: _Command_description :: Name
- Hydra.Azure.Dtld: _Command_displayName :: Name
- Hydra.Azure.Dtld: _Command_id :: Name
- Hydra.Azure.Dtld: _Command_name :: Name
- Hydra.Azure.Dtld: _Command_request :: Name
- Hydra.Azure.Dtld: _Command_response :: Name
- Hydra.Azure.Dtld: _Command_type :: Name
- Hydra.Azure.Dtld: _Component :: Name
- Hydra.Azure.Dtld: _Component_comment :: Name
- Hydra.Azure.Dtld: _Component_description :: Name
- Hydra.Azure.Dtld: _Component_displayName :: Name
- Hydra.Azure.Dtld: _Component_id :: Name
- Hydra.Azure.Dtld: _Component_name :: Name
- Hydra.Azure.Dtld: _Component_schema :: Name
- Hydra.Azure.Dtld: _Component_type :: Name
- Hydra.Azure.Dtld: _Dtmi :: Name
- Hydra.Azure.Dtld: _EnumValue :: Name
- Hydra.Azure.Dtld: _EnumValue_comment :: Name
- Hydra.Azure.Dtld: _EnumValue_description :: Name
- Hydra.Azure.Dtld: _EnumValue_displayName :: Name
- Hydra.Azure.Dtld: _EnumValue_enumValue :: Name
- Hydra.Azure.Dtld: _EnumValue_id :: Name
- Hydra.Azure.Dtld: _EnumValue_name :: Name
- Hydra.Azure.Dtld: _Field :: Name
- Hydra.Azure.Dtld: _Field_comment :: Name
- Hydra.Azure.Dtld: _Field_description :: Name
- Hydra.Azure.Dtld: _Field_displayName :: Name
- Hydra.Azure.Dtld: _Field_id :: Name
- Hydra.Azure.Dtld: _Field_name :: Name
- Hydra.Azure.Dtld: _Field_schema :: Name
- Hydra.Azure.Dtld: _IntegerOrString :: Name
- Hydra.Azure.Dtld: _IntegerOrString_integer :: Name
- Hydra.Azure.Dtld: _IntegerOrString_string :: Name
- Hydra.Azure.Dtld: _Interface :: Name
- Hydra.Azure.Dtld: _InterfaceContents :: Name
- Hydra.Azure.Dtld: _InterfaceContents_command :: Name
- Hydra.Azure.Dtld: _InterfaceContents_component :: Name
- Hydra.Azure.Dtld: _InterfaceContents_property :: Name
- Hydra.Azure.Dtld: _InterfaceContents_relationship :: Name
- Hydra.Azure.Dtld: _InterfaceContents_telemetry :: Name
- Hydra.Azure.Dtld: _Interface_comment :: Name
- Hydra.Azure.Dtld: _Interface_contents :: Name
- Hydra.Azure.Dtld: _Interface_context :: Name
- Hydra.Azure.Dtld: _Interface_description :: Name
- Hydra.Azure.Dtld: _Interface_displayName :: Name
- Hydra.Azure.Dtld: _Interface_extends :: Name
- Hydra.Azure.Dtld: _Interface_id :: Name
- Hydra.Azure.Dtld: _Interface_schemas :: Name
- Hydra.Azure.Dtld: _Interface_type :: Name
- Hydra.Azure.Dtld: _Iri :: Name
- Hydra.Azure.Dtld: _MapKey :: Name
- Hydra.Azure.Dtld: _MapKey_comment :: Name
- Hydra.Azure.Dtld: _MapKey_description :: Name
- Hydra.Azure.Dtld: _MapKey_displayName :: Name
- Hydra.Azure.Dtld: _MapKey_id :: Name
- Hydra.Azure.Dtld: _MapKey_name :: Name
- Hydra.Azure.Dtld: _MapKey_schema :: Name
- Hydra.Azure.Dtld: _MapValue :: Name
- Hydra.Azure.Dtld: _MapValue_comment :: Name
- Hydra.Azure.Dtld: _MapValue_description :: Name
- Hydra.Azure.Dtld: _MapValue_displayName :: Name
- Hydra.Azure.Dtld: _MapValue_id :: Name
- Hydra.Azure.Dtld: _MapValue_name :: Name
- Hydra.Azure.Dtld: _MapValue_schema :: Name
- Hydra.Azure.Dtld: _Property :: Name
- Hydra.Azure.Dtld: _Property_comment :: Name
- Hydra.Azure.Dtld: _Property_description :: Name
- Hydra.Azure.Dtld: _Property_displayName :: Name
- Hydra.Azure.Dtld: _Property_id :: Name
- Hydra.Azure.Dtld: _Property_name :: Name
- Hydra.Azure.Dtld: _Property_schema :: Name
- Hydra.Azure.Dtld: _Property_type :: Name
- Hydra.Azure.Dtld: _Property_unit :: Name
- Hydra.Azure.Dtld: _Property_writable :: Name
- Hydra.Azure.Dtld: _Relationship :: Name
- Hydra.Azure.Dtld: _Relationship_comment :: Name
- Hydra.Azure.Dtld: _Relationship_description :: Name
- Hydra.Azure.Dtld: _Relationship_displayName :: Name
- Hydra.Azure.Dtld: _Relationship_id :: Name
- Hydra.Azure.Dtld: _Relationship_maxMultiplicity :: Name
- Hydra.Azure.Dtld: _Relationship_minMultiplicity :: Name
- Hydra.Azure.Dtld: _Relationship_name :: Name
- Hydra.Azure.Dtld: _Relationship_properties :: Name
- Hydra.Azure.Dtld: _Relationship_target :: Name
- Hydra.Azure.Dtld: _Relationship_type :: Name
- Hydra.Azure.Dtld: _Relationship_writable :: Name
- Hydra.Azure.Dtld: _Schema :: Name
- Hydra.Azure.Dtld: _SchemaArray :: Name
- Hydra.Azure.Dtld: _SchemaArray_comment :: Name
- Hydra.Azure.Dtld: _SchemaArray_description :: Name
- Hydra.Azure.Dtld: _SchemaArray_displayName :: Name
- Hydra.Azure.Dtld: _SchemaArray_elementSchema :: Name
- Hydra.Azure.Dtld: _SchemaArray_id :: Name
- Hydra.Azure.Dtld: _SchemaArray_type :: Name
- Hydra.Azure.Dtld: _SchemaComplex :: Name
- Hydra.Azure.Dtld: _SchemaComplex_array :: Name
- Hydra.Azure.Dtld: _SchemaComplex_enum :: Name
- Hydra.Azure.Dtld: _SchemaComplex_map :: Name
- Hydra.Azure.Dtld: _SchemaComplex_object :: Name
- Hydra.Azure.Dtld: _SchemaEnum :: Name
- Hydra.Azure.Dtld: _SchemaEnum_comment :: Name
- Hydra.Azure.Dtld: _SchemaEnum_description :: Name
- Hydra.Azure.Dtld: _SchemaEnum_displayName :: Name
- Hydra.Azure.Dtld: _SchemaEnum_enumValues :: Name
- Hydra.Azure.Dtld: _SchemaEnum_id :: Name
- Hydra.Azure.Dtld: _SchemaEnum_type :: Name
- Hydra.Azure.Dtld: _SchemaEnum_valueSchema :: Name
- Hydra.Azure.Dtld: _SchemaInterface :: Name
- Hydra.Azure.Dtld: _SchemaInterfaceType :: Name
- Hydra.Azure.Dtld: _SchemaInterfaceType_array :: Name
- Hydra.Azure.Dtld: _SchemaInterfaceType_enum :: Name
- Hydra.Azure.Dtld: _SchemaInterfaceType_map :: Name
- Hydra.Azure.Dtld: _SchemaInterfaceType_object :: Name
- Hydra.Azure.Dtld: _SchemaInterface_comment :: Name
- Hydra.Azure.Dtld: _SchemaInterface_description :: Name
- Hydra.Azure.Dtld: _SchemaInterface_displayName :: Name
- Hydra.Azure.Dtld: _SchemaInterface_id :: Name
- Hydra.Azure.Dtld: _SchemaInterface_type :: Name
- Hydra.Azure.Dtld: _SchemaMap :: Name
- Hydra.Azure.Dtld: _SchemaMap_comment :: Name
- Hydra.Azure.Dtld: _SchemaMap_description :: Name
- Hydra.Azure.Dtld: _SchemaMap_displayName :: Name
- Hydra.Azure.Dtld: _SchemaMap_id :: Name
- Hydra.Azure.Dtld: _SchemaMap_mapKey :: Name
- Hydra.Azure.Dtld: _SchemaMap_mapValue :: Name
- Hydra.Azure.Dtld: _SchemaMap_type :: Name
- Hydra.Azure.Dtld: _SchemaObject :: Name
- Hydra.Azure.Dtld: _SchemaObject_comment :: Name
- Hydra.Azure.Dtld: _SchemaObject_description :: Name
- Hydra.Azure.Dtld: _SchemaObject_displayName :: Name
- Hydra.Azure.Dtld: _SchemaObject_fields :: Name
- Hydra.Azure.Dtld: _SchemaObject_id :: Name
- Hydra.Azure.Dtld: _SchemaObject_type :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_boolean :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_date :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_dateTime :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_double :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_duration :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_float :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_integer :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_long :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_string :: Name
- Hydra.Azure.Dtld: _SchemaPrimitive_time :: Name
- Hydra.Azure.Dtld: _Schema_complex :: Name
- Hydra.Azure.Dtld: _Schema_primitive :: Name
- Hydra.Azure.Dtld: _Telemetry :: Name
- Hydra.Azure.Dtld: _Telemetry_comment :: Name
- Hydra.Azure.Dtld: _Telemetry_description :: Name
- Hydra.Azure.Dtld: _Telemetry_displayName :: Name
- Hydra.Azure.Dtld: _Telemetry_id :: Name
- Hydra.Azure.Dtld: _Telemetry_name :: Name
- Hydra.Azure.Dtld: _Telemetry_schema :: Name
- Hydra.Azure.Dtld: _Telemetry_type :: Name
- Hydra.Azure.Dtld: _Telemetry_unit :: Name
- Hydra.Azure.Dtld: _Unit :: Name
- Hydra.Azure.Dtld: data Command
- Hydra.Azure.Dtld: data CommandPayload
- Hydra.Azure.Dtld: data CommandType
- Hydra.Azure.Dtld: data Component
- Hydra.Azure.Dtld: data EnumValue
- Hydra.Azure.Dtld: data Field
- Hydra.Azure.Dtld: data IntegerOrString
- Hydra.Azure.Dtld: data Interface
- Hydra.Azure.Dtld: data InterfaceContents
- Hydra.Azure.Dtld: data MapKey
- Hydra.Azure.Dtld: data MapValue
- Hydra.Azure.Dtld: data Property
- Hydra.Azure.Dtld: data Relationship
- Hydra.Azure.Dtld: data Schema
- Hydra.Azure.Dtld: data SchemaArray
- Hydra.Azure.Dtld: data SchemaComplex
- Hydra.Azure.Dtld: data SchemaEnum
- Hydra.Azure.Dtld: data SchemaInterface
- Hydra.Azure.Dtld: data SchemaInterfaceType
- Hydra.Azure.Dtld: data SchemaMap
- Hydra.Azure.Dtld: data SchemaObject
- Hydra.Azure.Dtld: data SchemaPrimitive
- Hydra.Azure.Dtld: data Telemetry
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Command
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.CommandPayload
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.CommandType
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Component
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Dtmi
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.EnumValue
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Field
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.IntegerOrString
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Interface
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.InterfaceContents
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Iri
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.MapKey
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.MapValue
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Property
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Relationship
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Schema
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaArray
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaComplex
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaEnum
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaInterface
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaInterfaceType
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaMap
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaObject
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.SchemaPrimitive
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Telemetry
- Hydra.Azure.Dtld: instance GHC.Classes.Eq Hydra.Azure.Dtld.Unit
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Command
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.CommandPayload
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.CommandType
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Component
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Dtmi
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.EnumValue
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Field
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.IntegerOrString
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Interface
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.InterfaceContents
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Iri
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.MapKey
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.MapValue
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Property
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Relationship
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Schema
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaArray
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaComplex
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaEnum
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaInterface
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaInterfaceType
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaMap
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaObject
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.SchemaPrimitive
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Telemetry
- Hydra.Azure.Dtld: instance GHC.Classes.Ord Hydra.Azure.Dtld.Unit
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Command
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.CommandPayload
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.CommandType
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Component
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Dtmi
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.EnumValue
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Field
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.IntegerOrString
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Interface
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.InterfaceContents
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Iri
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.MapKey
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.MapValue
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Property
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Relationship
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Schema
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaArray
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaComplex
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaEnum
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaInterface
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaInterfaceType
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaMap
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaObject
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.SchemaPrimitive
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Telemetry
- Hydra.Azure.Dtld: instance GHC.Read.Read Hydra.Azure.Dtld.Unit
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Command
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.CommandPayload
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.CommandType
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Component
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Dtmi
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.EnumValue
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Field
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.IntegerOrString
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Interface
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.InterfaceContents
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Iri
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.MapKey
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.MapValue
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Property
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Relationship
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Schema
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaArray
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaComplex
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaEnum
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaInterface
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaInterfaceType
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaMap
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaObject
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.SchemaPrimitive
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Telemetry
- Hydra.Azure.Dtld: instance GHC.Show.Show Hydra.Azure.Dtld.Unit
- Hydra.Azure.Dtld: newtype Dtmi
- Hydra.Azure.Dtld: newtype Iri
- Hydra.Azure.Dtld: newtype Unit
- Hydra.Cpp.Coder: bindingNameToFilePath :: Name -> String
- Hydra.Cpp.Coder: className :: Name -> String
- Hydra.Cpp.Coder: constParameter :: String -> TypeExpression -> Parameter
- Hydra.Cpp.Coder: cppClassDeclaration :: String -> [BaseSpecifier] -> Maybe ClassBody -> Declaration
- Hydra.Cpp.Coder: cppEnumDeclaration :: String -> Maybe ClassBody -> Declaration
- Hydra.Cpp.Coder: cppEnumForwardDeclaration :: String -> Declaration
- Hydra.Cpp.Coder: cppPostfixExpressionToCppExpression :: PostfixExpression -> Expression
- Hydra.Cpp.Coder: cppPrimaryExpressionToCppExpression :: PrimaryExpression -> Expression
- Hydra.Cpp.Coder: cppUnaryExpressionToCppExpression :: UnaryExpression -> Expression
- Hydra.Cpp.Coder: cppUnaryExpressionToCppLogicalOrExpression :: UnaryExpression -> LogicalOrExpression
- Hydra.Cpp.Coder: createAcceptImplementation :: Name -> [FieldType] -> Declaration
- Hydra.Cpp.Coder: createConstructorBody :: [t0] -> FunctionBody
- Hydra.Cpp.Coder: createFunctionCallExpr :: String -> [Expression] -> Expression
- Hydra.Cpp.Coder: createHeaderFile :: [IncludeDirective] -> [Declaration] -> Program
- Hydra.Cpp.Coder: createIdentifierExpr :: String -> Expression
- Hydra.Cpp.Coder: createLessThanOperator :: Name -> t0 -> Declaration
- Hydra.Cpp.Coder: createLiteralBoolExpr :: Bool -> Expression
- Hydra.Cpp.Coder: createLiteralIntExpr :: Integer -> Expression
- Hydra.Cpp.Coder: createPartialVisitorInterface :: Name -> [FieldType] -> Declaration
- Hydra.Cpp.Coder: createTemplateType :: String -> [TypeExpression] -> TypeExpression
- Hydra.Cpp.Coder: createThrowStmt :: String -> Expression -> Statement
- Hydra.Cpp.Coder: createTypeIdNameCall :: Expression
- Hydra.Cpp.Coder: createTypeReference :: Bool -> Name -> TypeExpression
- Hydra.Cpp.Coder: createUnionBaseClass :: Name -> t0 -> Declaration
- Hydra.Cpp.Coder: createVariantClass :: t0 -> t1 -> Name -> Name -> FieldType -> Either Error Declaration
- Hydra.Cpp.Coder: createVisitorInterface :: Name -> [FieldType] -> Declaration
- Hydra.Cpp.Coder: encodeApplicationType :: t0 -> t1 -> ApplicationType -> Either Error TypeExpression
- Hydra.Cpp.Coder: encodeEnumType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either t3 [Declaration]
- Hydra.Cpp.Coder: encodeEnumValue :: Name -> String
- Hydra.Cpp.Coder: encodeFieldName :: Name -> String
- Hydra.Cpp.Coder: encodeFieldType :: t0 -> FieldType -> t1 -> t2 -> Either Error VariableDeclaration
- Hydra.Cpp.Coder: encodeForallType :: t0 -> t1 -> ForallType -> Either Error TypeExpression
- Hydra.Cpp.Coder: encodeFunctionType :: t0 -> t1 -> FunctionType -> Either Error TypeExpression
- Hydra.Cpp.Coder: encodeLiteralType :: LiteralType -> TypeExpression
- Hydra.Cpp.Coder: encodeName :: t0 -> t1 -> t2 -> Name -> String
- Hydra.Cpp.Coder: encodeNamespace :: ModuleName -> String
- Hydra.Cpp.Coder: encodeRecordType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
- Hydra.Cpp.Coder: encodeType :: t0 -> t1 -> Type -> Either Error TypeExpression
- Hydra.Cpp.Coder: encodeTypeAlias :: t0 -> t1 -> Name -> Type -> t2 -> Either Error Declaration
- Hydra.Cpp.Coder: encodeTypeDefinition :: t0 -> t1 -> Name -> Type -> Either Error [Declaration]
- Hydra.Cpp.Coder: encodeUnionType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
- Hydra.Cpp.Coder: encodeVariantType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
- Hydra.Cpp.Coder: encodeWrappedType :: t0 -> t1 -> Name -> Type -> t2 -> Either Error [Declaration]
- Hydra.Cpp.Coder: findIncludes :: Bool -> ModuleName -> [TypeDefinition] -> [IncludeDirective]
- Hydra.Cpp.Coder: findTypeDependencies :: ModuleName -> [TypeDefinition] -> [Name]
- Hydra.Cpp.Coder: fwdHeaderName :: ModuleName -> Name
- Hydra.Cpp.Coder: gatherMetadata :: t0 -> Bool
- Hydra.Cpp.Coder: generateForwardDeclarations :: Name -> [FieldType] -> [Declaration]
- Hydra.Cpp.Coder: generateTypeFile :: ModuleName -> TypeDefinition -> t0 -> t1 -> Either Error (String, String)
- Hydra.Cpp.Coder: generateTypeFiles :: ModuleName -> [TypeDefinition] -> t0 -> t1 -> Either Error [(String, String)]
- Hydra.Cpp.Coder: isStdContainerType :: Type -> Bool
- Hydra.Cpp.Coder: isStructType :: Type -> Bool
- Hydra.Cpp.Coder: isTemplateType :: Type -> Bool
- Hydra.Cpp.Coder: memberSpecificationProtected :: MemberSpecification
- Hydra.Cpp.Coder: memberSpecificationPublic :: MemberSpecification
- Hydra.Cpp.Coder: moduleToCpp :: Module -> [Definition] -> t0 -> t1 -> Either Error (Map String String)
- Hydra.Cpp.Coder: namespaceDecl :: ModuleName -> [Declaration] -> Declaration
- Hydra.Cpp.Coder: partialVisitorName :: Name -> String
- Hydra.Cpp.Coder: sanitizeCppName :: String -> String
- Hydra.Cpp.Coder: serializeHeaderFile :: Name -> [IncludeDirective] -> [Declaration] -> (String, String)
- Hydra.Cpp.Coder: toConstType :: TypeExpression -> TypeExpression
- Hydra.Cpp.Coder: unnamedParameter :: String -> TypeExpression -> Parameter
- Hydra.Cpp.Coder: variantName :: Name -> Name -> String
- Hydra.Cpp.Coder: visitorName :: Name -> String
- Hydra.Cpp.Environment: CppEnvironment :: ModuleNames String -> ([Name], Map Name String) -> CppEnvironment
- Hydra.Cpp.Environment: [cppEnvironmentBoundTypeVariables] :: CppEnvironment -> ([Name], Map Name String)
- Hydra.Cpp.Environment: [cppEnvironmentNamespaces] :: CppEnvironment -> ModuleNames String
- Hydra.Cpp.Environment: _CppEnvironment :: Name
- Hydra.Cpp.Environment: _CppEnvironment_boundTypeVariables :: Name
- Hydra.Cpp.Environment: _CppEnvironment_namespaces :: Name
- Hydra.Cpp.Environment: data CppEnvironment
- Hydra.Cpp.Environment: instance GHC.Classes.Eq Hydra.Cpp.Environment.CppEnvironment
- Hydra.Cpp.Environment: instance GHC.Classes.Ord Hydra.Cpp.Environment.CppEnvironment
- Hydra.Cpp.Environment: instance GHC.Read.Read Hydra.Cpp.Environment.CppEnvironment
- Hydra.Cpp.Environment: instance GHC.Show.Show Hydra.Cpp.Environment.CppEnvironment
- Hydra.Cpp.Language: cppLanguage :: Language
- Hydra.Cpp.Language: cppReservedWords :: Set String
- Hydra.Cpp.Names: className :: Name -> String
- Hydra.Cpp.Names: createTypeReference :: Bool -> CppEnvironment -> Name -> TypeExpression
- Hydra.Cpp.Names: encodeEnumValue :: CppEnvironment -> Name -> String
- Hydra.Cpp.Names: encodeFieldName :: CppEnvironment -> Name -> String
- Hydra.Cpp.Names: encodeName :: Bool -> CaseConvention -> CppEnvironment -> Name -> String
- Hydra.Cpp.Names: encodeNameQualified :: CppEnvironment -> Name -> String
- Hydra.Cpp.Names: encodeNamespace :: ModuleName -> String
- Hydra.Cpp.Names: encodeTypeVariable :: Name -> String
- Hydra.Cpp.Names: fwdHeaderName :: ModuleName -> Name
- Hydra.Cpp.Names: namespaceDecl :: ModuleName -> [Declaration] -> Declaration
- Hydra.Cpp.Names: partialVisitorName :: Name -> String
- Hydra.Cpp.Names: sanitizeCppName :: String -> String
- Hydra.Cpp.Names: termVariableReference :: CppEnvironment -> Name -> Expression
- Hydra.Cpp.Names: typeVariableReference :: CppEnvironment -> Name -> TypeExpression
- Hydra.Cpp.Names: variableReference :: CaseConvention -> CppEnvironment -> Name -> Expression
- Hydra.Cpp.Names: variantName :: Name -> Name -> String
- Hydra.Cpp.Names: visitorName :: Name -> String
- Hydra.Cpp.Serde: accessSpecifierToExpr :: AccessSpecifier -> Expr
- Hydra.Cpp.Serde: addOperationToExpr :: AddOperation -> Expr
- Hydra.Cpp.Serde: additiveExpressionToExpr :: AdditiveExpression -> Expr
- Hydra.Cpp.Serde: andExpressionToExpr :: AndExpression -> Expr
- Hydra.Cpp.Serde: assignmentExpressionToExpr :: AssignmentExpression -> Expr
- Hydra.Cpp.Serde: assignmentOperatorToExpr :: AssignmentOperator -> Expr
- Hydra.Cpp.Serde: baseSpecifierToExpr :: BaseSpecifier -> Expr
- Hydra.Cpp.Serde: basicTypeToExpr :: BasicType -> Expr
- Hydra.Cpp.Serde: bitwiseAndOperationToExpr :: BitwiseAndOperation -> Expr
- Hydra.Cpp.Serde: bitwiseOrOperationToExpr :: BitwiseOrOperation -> Expr
- Hydra.Cpp.Serde: bitwiseXorOperationToExpr :: BitwiseXorOperation -> Expr
- Hydra.Cpp.Serde: booleanLiteralToExpr :: BooleanLiteral -> Expr
- Hydra.Cpp.Serde: captureListToExpr :: CaptureList -> Expr
- Hydra.Cpp.Serde: captureToExpr :: Capture -> Expr
- Hydra.Cpp.Serde: caseStatementToExpr :: CaseStatement -> Expr
- Hydra.Cpp.Serde: caseValueToExpr :: CaseValue -> Expr
- Hydra.Cpp.Serde: classBodyToExpr :: Bool -> ClassBody -> Expr
- Hydra.Cpp.Serde: classDeclarationToExpr :: ClassDeclaration -> Expr
- Hydra.Cpp.Serde: classKeyToExpr :: ClassKey -> Expr
- Hydra.Cpp.Serde: classSpecifierToExpr :: ClassSpecifier -> Expr
- Hydra.Cpp.Serde: commaExpressionToExpr :: CommaExpression -> Expr
- Hydra.Cpp.Serde: commentToExpr :: Comment -> Expr
- Hydra.Cpp.Serde: compoundStatementToExpr :: CompoundStatement -> Expr
- Hydra.Cpp.Serde: conditionalExpressionToExpr :: ConditionalExpression -> Expr
- Hydra.Cpp.Serde: constructorDeclarationToExpr :: ConstructorDeclaration -> Expr
- Hydra.Cpp.Serde: declarationToExpr :: Declaration -> Expr
- Hydra.Cpp.Serde: defineDirectiveToExpr :: DefineDirective -> Expr
- Hydra.Cpp.Serde: destructorDeclarationToExpr :: DestructorDeclaration -> Expr
- Hydra.Cpp.Serde: divideOperationToExpr :: DivideOperation -> Expr
- Hydra.Cpp.Serde: doStatementToExpr :: DoStatement -> Expr
- Hydra.Cpp.Serde: elifDirectiveToExpr :: ElifDirective -> Expr
- Hydra.Cpp.Serde: elseDirectiveToExpr :: t0 -> Expr
- Hydra.Cpp.Serde: endifDirectiveToExpr :: t0 -> Expr
- Hydra.Cpp.Serde: equalOperationToExpr :: EqualOperation -> Expr
- Hydra.Cpp.Serde: equalityExpressionToExpr :: EqualityExpression -> Expr
- Hydra.Cpp.Serde: errorDirectiveToExpr :: ErrorDirective -> Expr
- Hydra.Cpp.Serde: exclusiveOrExpressionToExpr :: ExclusiveOrExpression -> Expr
- Hydra.Cpp.Serde: explicitAssignmentToExpr :: ExplicitAssignment -> Expr
- Hydra.Cpp.Serde: expressionToExpr :: Expression -> Expr
- Hydra.Cpp.Serde: forInitToExpr :: ForInit -> Expr
- Hydra.Cpp.Serde: forStatementToExpr :: ForStatement -> Expr
- Hydra.Cpp.Serde: functionApplicationToExpr :: FunctionApplication -> Expr
- Hydra.Cpp.Serde: functionBodyToExpr :: FunctionBody -> Expr
- Hydra.Cpp.Serde: functionCallOperationToExpr :: FunctionCallOperation -> Expr
- Hydra.Cpp.Serde: functionDeclarationToExpr :: FunctionDeclaration -> Expr
- Hydra.Cpp.Serde: functionIdentifierToExpr :: FunctionIdentifier -> Expr
- Hydra.Cpp.Serde: functionSpecifierPrefixToExpr :: FunctionSpecifierPrefix -> Expr
- Hydra.Cpp.Serde: functionSpecifierSuffixToExpr :: FunctionSpecifierSuffix -> Expr
- Hydra.Cpp.Serde: functionTypeToExpr :: FunctionType -> Expr
- Hydra.Cpp.Serde: greaterEqualOperationToExpr :: GreaterEqualOperation -> Expr
- Hydra.Cpp.Serde: greaterOperationToExpr :: GreaterOperation -> Expr
- Hydra.Cpp.Serde: ifDirectiveToExpr :: IfDirective -> Expr
- Hydra.Cpp.Serde: ifdefDirectiveToExpr :: IfdefDirective -> Expr
- Hydra.Cpp.Serde: ifndefDirectiveToExpr :: IfndefDirective -> Expr
- Hydra.Cpp.Serde: includeDirectiveToExpr :: IncludeDirective -> Expr
- Hydra.Cpp.Serde: inclusiveOrExpressionToExpr :: InclusiveOrExpression -> Expr
- Hydra.Cpp.Serde: integerLiteralToExpr :: IntegerLiteral -> Expr
- Hydra.Cpp.Serde: iterationStatementToExpr :: IterationStatement -> Expr
- Hydra.Cpp.Serde: jumpStatementToExpr :: JumpStatement -> Expr
- Hydra.Cpp.Serde: labeledStatementToExpr :: LabeledStatement -> Expr
- Hydra.Cpp.Serde: lambdaExpressionToExpr :: LambdaExpression -> Expr
- Hydra.Cpp.Serde: leftShiftOperationToExpr :: LeftShiftOperation -> Expr
- Hydra.Cpp.Serde: lessEqualOperationToExpr :: LessEqualOperation -> Expr
- Hydra.Cpp.Serde: lessOperationToExpr :: LessOperation -> Expr
- Hydra.Cpp.Serde: lineDirectiveToExpr :: LineDirective -> Expr
- Hydra.Cpp.Serde: literalToExpr :: Literal -> Expr
- Hydra.Cpp.Serde: logicalAndExpressionToExpr :: LogicalAndExpression -> Expr
- Hydra.Cpp.Serde: logicalAndOperationToExpr :: LogicalAndOperation -> Expr
- Hydra.Cpp.Serde: logicalOrExpressionToExpr :: LogicalOrExpression -> Expr
- Hydra.Cpp.Serde: logicalOrOperationToExpr :: LogicalOrOperation -> Expr
- Hydra.Cpp.Serde: mapEntryToExpr :: MapEntry -> Expr
- Hydra.Cpp.Serde: mapToExpr :: Map -> Expr
- Hydra.Cpp.Serde: memInitializerToExpr :: MemInitializer -> Expr
- Hydra.Cpp.Serde: memberAccessOperationToExpr :: MemberAccessOperation -> Expr
- Hydra.Cpp.Serde: memberDeclarationToExpr :: Bool -> MemberDeclaration -> Expr
- Hydra.Cpp.Serde: memberSpecificationToExpr :: Bool -> MemberSpecification -> Expr
- Hydra.Cpp.Serde: moduloOperationToExpr :: ModuloOperation -> Expr
- Hydra.Cpp.Serde: multiplicativeExpressionToExpr :: MultiplicativeExpression -> Expr
- Hydra.Cpp.Serde: multiplyOperationToExpr :: MultiplyOperation -> Expr
- Hydra.Cpp.Serde: namespaceDeclarationToExpr :: NamespaceDeclaration -> Expr
- Hydra.Cpp.Serde: notEqualOperationToExpr :: NotEqualOperation -> Expr
- Hydra.Cpp.Serde: optionalToExpr :: Optional -> Expr
- Hydra.Cpp.Serde: overloadedLambdasToExpr :: OverloadedLambdas -> Expr
- Hydra.Cpp.Serde: parameterToExpr :: Parameter -> Expr
- Hydra.Cpp.Serde: patternMatchToExpr :: PatternMatch -> Expr
- Hydra.Cpp.Serde: pointerMemberAccessOperationToExpr :: PointerMemberAccessOperation -> Expr
- Hydra.Cpp.Serde: postfixExpressionToExpr :: PostfixExpression -> Expr
- Hydra.Cpp.Serde: pragmaDirectiveToExpr :: PragmaDirective -> Expr
- Hydra.Cpp.Serde: preprocessorDirectiveToExpr :: PreprocessorDirective -> Expr
- Hydra.Cpp.Serde: primaryExpressionToExpr :: PrimaryExpression -> Expr
- Hydra.Cpp.Serde: programToExpr :: Program -> Expr
- Hydra.Cpp.Serde: qualifiedIdentifierToExpr :: QualifiedIdentifier -> Expr
- Hydra.Cpp.Serde: qualifiedTypeToExpr :: QualifiedType -> Expr
- Hydra.Cpp.Serde: rangeForStatementToExpr :: RangeForStatement -> Expr
- Hydra.Cpp.Serde: relationalExpressionToExpr :: RelationalExpression -> Expr
- Hydra.Cpp.Serde: rightShiftOperationToExpr :: RightShiftOperation -> Expr
- Hydra.Cpp.Serde: selectionStatementToExpr :: SelectionStatement -> Expr
- Hydra.Cpp.Serde: setToExpr :: Set -> Expr
- Hydra.Cpp.Serde: shiftExpressionToExpr :: ShiftExpression -> Expr
- Hydra.Cpp.Serde: sizeofExpressionToExpr :: SizeofExpression -> Expr
- Hydra.Cpp.Serde: statementToExpr :: Statement -> Expr
- Hydra.Cpp.Serde: subscriptOperationToExpr :: SubscriptOperation -> Expr
- Hydra.Cpp.Serde: subtractOperationToExpr :: SubtractOperation -> Expr
- Hydra.Cpp.Serde: switchStatementToExpr :: SwitchStatement -> Expr
- Hydra.Cpp.Serde: templateArgumentToExpr :: TemplateArgument -> Expr
- Hydra.Cpp.Serde: templateDeclarationToExpr :: TemplateDeclaration -> Expr
- Hydra.Cpp.Serde: templateFunctionCallOperationToExpr :: TemplateFunctionCallOperation -> Expr
- Hydra.Cpp.Serde: templateTypeToExpr :: TemplateType -> Expr
- Hydra.Cpp.Serde: ternaryExpressionToExpr :: TernaryExpression -> Expr
- Hydra.Cpp.Serde: toCppComments :: String -> Bool -> String
- Hydra.Cpp.Serde: typeExpressionToExpr :: TypeExpression -> Expr
- Hydra.Cpp.Serde: typedefDeclarationToExpr :: TypedefDeclaration -> Expr
- Hydra.Cpp.Serde: unaryExpressionToExpr :: UnaryExpression -> Expr
- Hydra.Cpp.Serde: unaryOperationToExpr :: UnaryOperation -> Expr
- Hydra.Cpp.Serde: unaryOperatorToExpr :: UnaryOperator -> Expr
- Hydra.Cpp.Serde: undefDirectiveToExpr :: UndefDirective -> Expr
- Hydra.Cpp.Serde: variableDeclarationToExpr :: Bool -> VariableDeclaration -> Expr
- Hydra.Cpp.Serde: vectorToExpr :: Vector -> Expr
- Hydra.Cpp.Serde: visitorToExpr :: Visitor -> Expr
- Hydra.Cpp.Serde: warningDirectiveToExpr :: WarningDirective -> Expr
- Hydra.Cpp.Serde: whileStatementToExpr :: WhileStatement -> Expr
- Hydra.Cpp.Syntax: AccessSpecifierNone :: AccessSpecifier
- Hydra.Cpp.Syntax: AccessSpecifierPrivate :: AccessSpecifier
- Hydra.Cpp.Syntax: AccessSpecifierProtected :: AccessSpecifier
- Hydra.Cpp.Syntax: AccessSpecifierPublic :: AccessSpecifier
- Hydra.Cpp.Syntax: AddOperation :: AdditiveExpression -> MultiplicativeExpression -> AddOperation
- Hydra.Cpp.Syntax: AdditiveExpressionAdd :: AddOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: AdditiveExpressionMultiplicative :: MultiplicativeExpression -> AdditiveExpression
- Hydra.Cpp.Syntax: AdditiveExpressionSubtract :: SubtractOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: AndExpressionBitwiseAnd :: BitwiseAndOperation -> AndExpression
- Hydra.Cpp.Syntax: AndExpressionEquality :: EqualityExpression -> AndExpression
- Hydra.Cpp.Syntax: AssignmentExpressionAssignment :: ExplicitAssignment -> AssignmentExpression
- Hydra.Cpp.Syntax: AssignmentExpressionConditional :: ConditionalExpression -> AssignmentExpression
- Hydra.Cpp.Syntax: AssignmentOperatorAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorBitwiseAndAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorBitwiseOrAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorBitwiseXorAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorDivideAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorLeftShiftAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorMinusAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorModuloAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorMultiplyAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorPlusAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: AssignmentOperatorRightShiftAssign :: AssignmentOperator
- Hydra.Cpp.Syntax: BaseSpecifier :: AccessSpecifier -> String -> BaseSpecifier
- Hydra.Cpp.Syntax: BasicTypeAuto :: BasicType
- Hydra.Cpp.Syntax: BasicTypeBool :: BasicType
- Hydra.Cpp.Syntax: BasicTypeChar :: BasicType
- Hydra.Cpp.Syntax: BasicTypeDouble :: BasicType
- Hydra.Cpp.Syntax: BasicTypeFloat :: BasicType
- Hydra.Cpp.Syntax: BasicTypeInt :: BasicType
- Hydra.Cpp.Syntax: BasicTypeNamed :: String -> BasicType
- Hydra.Cpp.Syntax: BasicTypeString :: BasicType
- Hydra.Cpp.Syntax: BasicTypeVoid :: BasicType
- Hydra.Cpp.Syntax: BinaryOperatorBitwiseAnd :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorBitwiseOr :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorBitwiseXor :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorDivide :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorEqual :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorGreater :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorGreaterEqual :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorLeftShift :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorLess :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorLessEqual :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorLogicalAnd :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorLogicalOr :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorMinus :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorModulo :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorMultiply :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorNotEqual :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorPlus :: BinaryOperator
- Hydra.Cpp.Syntax: BinaryOperatorRightShift :: BinaryOperator
- Hydra.Cpp.Syntax: BitwiseAndOperation :: AndExpression -> EqualityExpression -> BitwiseAndOperation
- Hydra.Cpp.Syntax: BitwiseOrOperation :: InclusiveOrExpression -> ExclusiveOrExpression -> BitwiseOrOperation
- Hydra.Cpp.Syntax: BitwiseXorOperation :: ExclusiveOrExpression -> AndExpression -> BitwiseXorOperation
- Hydra.Cpp.Syntax: BooleanLiteral :: Bool -> BooleanLiteral
- Hydra.Cpp.Syntax: Capture :: String -> Bool -> Capture
- Hydra.Cpp.Syntax: CaptureListCaptureByValue :: CaptureList
- Hydra.Cpp.Syntax: CaptureListCaptures :: [Capture] -> CaptureList
- Hydra.Cpp.Syntax: CaseStatementCase :: CaseValue -> CaseStatement
- Hydra.Cpp.Syntax: CaseStatementDefault :: Statement -> CaseStatement
- Hydra.Cpp.Syntax: CaseValue :: Expression -> Statement -> CaseValue
- Hydra.Cpp.Syntax: CharacterLiteral :: String -> CharacterLiteral
- Hydra.Cpp.Syntax: ClassBody :: [MemberSpecification] -> ClassBody
- Hydra.Cpp.Syntax: ClassDeclaration :: ClassSpecifier -> Maybe ClassBody -> ClassDeclaration
- Hydra.Cpp.Syntax: ClassKeyClass :: ClassKey
- Hydra.Cpp.Syntax: ClassKeyEnum :: ClassKey
- Hydra.Cpp.Syntax: ClassKeyEnumClass :: ClassKey
- Hydra.Cpp.Syntax: ClassKeyStruct :: ClassKey
- Hydra.Cpp.Syntax: ClassSpecifier :: ClassKey -> String -> [BaseSpecifier] -> ClassSpecifier
- Hydra.Cpp.Syntax: CommaExpression :: Expression -> AssignmentExpression -> CommaExpression
- Hydra.Cpp.Syntax: Comment :: String -> Bool -> Comment
- Hydra.Cpp.Syntax: CompoundStatement :: [Statement] -> CompoundStatement
- Hydra.Cpp.Syntax: ConditionalExpressionLogicalOr :: LogicalOrExpression -> ConditionalExpression
- Hydra.Cpp.Syntax: ConditionalExpressionTernary :: TernaryExpression -> ConditionalExpression
- Hydra.Cpp.Syntax: ConstructorDeclaration :: String -> [Parameter] -> [MemInitializer] -> FunctionBody -> ConstructorDeclaration
- Hydra.Cpp.Syntax: ContainerDeclarationList :: ListDeclaration -> ContainerDeclaration
- Hydra.Cpp.Syntax: ContainerDeclarationMap :: MapDeclaration -> ContainerDeclaration
- Hydra.Cpp.Syntax: ContainerDeclarationOptional :: OptionalDeclaration -> ContainerDeclaration
- Hydra.Cpp.Syntax: ContainerDeclarationSet :: SetDeclaration -> ContainerDeclaration
- Hydra.Cpp.Syntax: DeclarationClass :: ClassDeclaration -> Declaration
- Hydra.Cpp.Syntax: DeclarationFunction :: FunctionDeclaration -> Declaration
- Hydra.Cpp.Syntax: DeclarationNamespace :: NamespaceDeclaration -> Declaration
- Hydra.Cpp.Syntax: DeclarationPreprocessor :: PreprocessorDirective -> Declaration
- Hydra.Cpp.Syntax: DeclarationTemplate :: TemplateDeclaration -> Declaration
- Hydra.Cpp.Syntax: DeclarationTypedef :: TypedefDeclaration -> Declaration
- Hydra.Cpp.Syntax: DeclarationVariable :: VariableDeclaration -> Declaration
- Hydra.Cpp.Syntax: DefineDirective :: String -> Maybe [String] -> Maybe String -> DefineDirective
- Hydra.Cpp.Syntax: DestructorDeclaration :: [FunctionSpecifierPrefix] -> String -> [FunctionSpecifierSuffix] -> FunctionBody -> DestructorDeclaration
- Hydra.Cpp.Syntax: DivideOperation :: MultiplicativeExpression -> UnaryExpression -> DivideOperation
- Hydra.Cpp.Syntax: DoStatement :: Statement -> Expression -> DoStatement
- Hydra.Cpp.Syntax: ElifDirective :: String -> ElifDirective
- Hydra.Cpp.Syntax: EqualOperation :: EqualityExpression -> RelationalExpression -> EqualOperation
- Hydra.Cpp.Syntax: EqualityExpressionEqual :: EqualOperation -> EqualityExpression
- Hydra.Cpp.Syntax: EqualityExpressionNotEqual :: NotEqualOperation -> EqualityExpression
- Hydra.Cpp.Syntax: EqualityExpressionRelational :: RelationalExpression -> EqualityExpression
- Hydra.Cpp.Syntax: ErrorDirective :: String -> ErrorDirective
- Hydra.Cpp.Syntax: ExclusiveOrExpressionAnd :: AndExpression -> ExclusiveOrExpression
- Hydra.Cpp.Syntax: ExclusiveOrExpressionBitwiseXor :: BitwiseXorOperation -> ExclusiveOrExpression
- Hydra.Cpp.Syntax: ExplicitAssignment :: LogicalOrExpression -> AssignmentOperator -> AssignmentExpression -> ExplicitAssignment
- Hydra.Cpp.Syntax: ExpressionAssignment :: AssignmentExpression -> Expression
- Hydra.Cpp.Syntax: ExpressionComma :: CommaExpression -> Expression
- Hydra.Cpp.Syntax: ExpressionStatement :: Expression -> ExpressionStatement
- Hydra.Cpp.Syntax: FloatingLiteral :: Double -> FloatingLiteral
- Hydra.Cpp.Syntax: ForInitDeclaration :: VariableDeclaration -> ForInit
- Hydra.Cpp.Syntax: ForInitEmpty :: ForInit
- Hydra.Cpp.Syntax: ForInitExpression :: Expression -> ForInit
- Hydra.Cpp.Syntax: ForStatement :: ForInit -> Expression -> Expression -> Statement -> ForStatement
- Hydra.Cpp.Syntax: FunctionApplication :: FunctionIdentifier -> [Expression] -> FunctionApplication
- Hydra.Cpp.Syntax: FunctionBodyCompound :: CompoundStatement -> FunctionBody
- Hydra.Cpp.Syntax: FunctionBodyDeclaration :: FunctionBody
- Hydra.Cpp.Syntax: FunctionBodyDefault :: FunctionBody
- Hydra.Cpp.Syntax: FunctionBodyPure :: FunctionBody
- Hydra.Cpp.Syntax: FunctionCallOperation :: PostfixExpression -> [Expression] -> FunctionCallOperation
- Hydra.Cpp.Syntax: FunctionDeclaration :: [FunctionSpecifierPrefix] -> TypeExpression -> String -> [Parameter] -> [FunctionSpecifierSuffix] -> FunctionBody -> FunctionDeclaration
- Hydra.Cpp.Syntax: FunctionIdentifierQualified :: QualifiedIdentifier -> FunctionIdentifier
- Hydra.Cpp.Syntax: FunctionIdentifierSimple :: String -> FunctionIdentifier
- Hydra.Cpp.Syntax: FunctionSpecifierPrefixExplicit :: FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: FunctionSpecifierPrefixInline :: FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: FunctionSpecifierPrefixStatic :: FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: FunctionSpecifierPrefixVirtual :: FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: FunctionSpecifierSuffixConst :: FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: FunctionSpecifierSuffixFinal :: FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: FunctionSpecifierSuffixNoexcept :: FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: FunctionSpecifierSuffixOverride :: FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: FunctionType :: TypeExpression -> [Parameter] -> FunctionType
- Hydra.Cpp.Syntax: GreaterEqualOperation :: RelationalExpression -> ShiftExpression -> GreaterEqualOperation
- Hydra.Cpp.Syntax: GreaterOperation :: RelationalExpression -> ShiftExpression -> GreaterOperation
- Hydra.Cpp.Syntax: IfDirective :: String -> IfDirective
- Hydra.Cpp.Syntax: IfdefDirective :: String -> IfdefDirective
- Hydra.Cpp.Syntax: IfndefDirective :: String -> IfndefDirective
- Hydra.Cpp.Syntax: IncludeDirective :: String -> Bool -> IncludeDirective
- Hydra.Cpp.Syntax: InclusiveOrExpressionBitwiseOr :: BitwiseOrOperation -> InclusiveOrExpression
- Hydra.Cpp.Syntax: InclusiveOrExpressionExclusiveOr :: ExclusiveOrExpression -> InclusiveOrExpression
- Hydra.Cpp.Syntax: IntegerLiteralBinary :: String -> IntegerLiteral
- Hydra.Cpp.Syntax: IntegerLiteralDecimal :: Integer -> IntegerLiteral
- Hydra.Cpp.Syntax: IntegerLiteralHexadecimal :: String -> IntegerLiteral
- Hydra.Cpp.Syntax: IntegerLiteralOctal :: String -> IntegerLiteral
- Hydra.Cpp.Syntax: IterationStatementDo :: DoStatement -> IterationStatement
- Hydra.Cpp.Syntax: IterationStatementFor :: ForStatement -> IterationStatement
- Hydra.Cpp.Syntax: IterationStatementRangeFor :: RangeForStatement -> IterationStatement
- Hydra.Cpp.Syntax: IterationStatementWhile :: WhileStatement -> IterationStatement
- Hydra.Cpp.Syntax: JumpStatementBreak :: JumpStatement
- Hydra.Cpp.Syntax: JumpStatementContinue :: JumpStatement
- Hydra.Cpp.Syntax: JumpStatementReturnValue :: Expression -> JumpStatement
- Hydra.Cpp.Syntax: JumpStatementReturnVoid :: JumpStatement
- Hydra.Cpp.Syntax: JumpStatementThrow :: Expression -> JumpStatement
- Hydra.Cpp.Syntax: LabeledStatement :: String -> Statement -> LabeledStatement
- Hydra.Cpp.Syntax: LambdaExpression :: CaptureList -> [Parameter] -> Maybe TypeExpression -> CompoundStatement -> LambdaExpression
- Hydra.Cpp.Syntax: LeftShiftOperation :: ShiftExpression -> AdditiveExpression -> LeftShiftOperation
- Hydra.Cpp.Syntax: LessEqualOperation :: RelationalExpression -> ShiftExpression -> LessEqualOperation
- Hydra.Cpp.Syntax: LessOperation :: RelationalExpression -> ShiftExpression -> LessOperation
- Hydra.Cpp.Syntax: LineDirective :: Int -> Maybe String -> LineDirective
- Hydra.Cpp.Syntax: ListDeclaration :: TypeExpression -> String -> ListDeclaration
- Hydra.Cpp.Syntax: LiteralBoolean :: BooleanLiteral -> Literal
- Hydra.Cpp.Syntax: LiteralCharacter :: CharacterLiteral -> Literal
- Hydra.Cpp.Syntax: LiteralFloating :: FloatingLiteral -> Literal
- Hydra.Cpp.Syntax: LiteralInteger :: IntegerLiteral -> Literal
- Hydra.Cpp.Syntax: LiteralNull :: Literal
- Hydra.Cpp.Syntax: LiteralString :: StringLiteral -> Literal
- Hydra.Cpp.Syntax: LogicalAndExpressionInclusiveOr :: InclusiveOrExpression -> LogicalAndExpression
- Hydra.Cpp.Syntax: LogicalAndExpressionLogicalAnd :: LogicalAndOperation -> LogicalAndExpression
- Hydra.Cpp.Syntax: LogicalAndOperation :: LogicalAndExpression -> InclusiveOrExpression -> LogicalAndOperation
- Hydra.Cpp.Syntax: LogicalOrExpressionLogicalAnd :: LogicalAndExpression -> LogicalOrExpression
- Hydra.Cpp.Syntax: LogicalOrExpressionLogicalOr :: LogicalOrOperation -> LogicalOrExpression
- Hydra.Cpp.Syntax: LogicalOrOperation :: LogicalOrExpression -> LogicalAndExpression -> LogicalOrOperation
- Hydra.Cpp.Syntax: Map :: TypeExpression -> TypeExpression -> [MapEntry] -> Map
- Hydra.Cpp.Syntax: MapDeclaration :: TypeExpression -> TypeExpression -> String -> MapDeclaration
- Hydra.Cpp.Syntax: MapEntry :: Expression -> Expression -> MapEntry
- Hydra.Cpp.Syntax: MemInitializer :: String -> [Expression] -> MemInitializer
- Hydra.Cpp.Syntax: MemberAccessOperation :: PostfixExpression -> String -> MemberAccessOperation
- Hydra.Cpp.Syntax: MemberDeclarationConstructor :: ConstructorDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberDeclarationDestructor :: DestructorDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberDeclarationFunction :: FunctionDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberDeclarationNestedClass :: ClassDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberDeclarationTemplate :: TemplateDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberDeclarationVariable :: VariableDeclaration -> MemberDeclaration
- Hydra.Cpp.Syntax: MemberSpecificationAccessLabel :: AccessSpecifier -> MemberSpecification
- Hydra.Cpp.Syntax: MemberSpecificationMember :: MemberDeclaration -> MemberSpecification
- Hydra.Cpp.Syntax: ModuloOperation :: MultiplicativeExpression -> UnaryExpression -> ModuloOperation
- Hydra.Cpp.Syntax: MultiplicativeExpressionDivide :: DivideOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: MultiplicativeExpressionModulo :: ModuloOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: MultiplicativeExpressionMultiply :: MultiplyOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: MultiplicativeExpressionUnary :: UnaryExpression -> MultiplicativeExpression
- Hydra.Cpp.Syntax: MultiplyOperation :: MultiplicativeExpression -> UnaryExpression -> MultiplyOperation
- Hydra.Cpp.Syntax: NamespaceDeclaration :: String -> [Declaration] -> NamespaceDeclaration
- Hydra.Cpp.Syntax: NotEqualOperation :: EqualityExpression -> RelationalExpression -> NotEqualOperation
- Hydra.Cpp.Syntax: Optional :: TypeExpression -> Maybe Expression -> Optional
- Hydra.Cpp.Syntax: OptionalDeclaration :: TypeExpression -> String -> OptionalDeclaration
- Hydra.Cpp.Syntax: OverloadedLambdas :: [LambdaExpression] -> OverloadedLambdas
- Hydra.Cpp.Syntax: Parameter :: TypeExpression -> String -> Bool -> Maybe Expression -> Parameter
- Hydra.Cpp.Syntax: PatternMatch :: Visitor -> Expression -> PatternMatch
- Hydra.Cpp.Syntax: PointerMemberAccessOperation :: PostfixExpression -> String -> PointerMemberAccessOperation
- Hydra.Cpp.Syntax: PostfixExpressionFunctionCall :: FunctionCallOperation -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionMemberAccess :: MemberAccessOperation -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionPointerMemberAccess :: PointerMemberAccessOperation -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionPostDecrement :: PostfixExpression -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionPostIncrement :: PostfixExpression -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionPrimary :: PrimaryExpression -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionSubscript :: SubscriptOperation -> PostfixExpression
- Hydra.Cpp.Syntax: PostfixExpressionTemplateFunctionCall :: TemplateFunctionCallOperation -> PostfixExpression
- Hydra.Cpp.Syntax: PragmaDirective :: String -> PragmaDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveDefine :: DefineDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveElif :: ElifDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveElse :: ElseDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveEndif :: EndifDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveError :: ErrorDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveIf :: IfDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveIfdef :: IfdefDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveIfndef :: IfndefDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveInclude :: IncludeDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveLine :: LineDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectivePragma :: PragmaDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveUndef :: UndefDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PreprocessorDirectiveWarning :: WarningDirective -> PreprocessorDirective
- Hydra.Cpp.Syntax: PrimaryExpressionIdentifier :: String -> PrimaryExpression
- Hydra.Cpp.Syntax: PrimaryExpressionLambda :: LambdaExpression -> PrimaryExpression
- Hydra.Cpp.Syntax: PrimaryExpressionLiteral :: Literal -> PrimaryExpression
- Hydra.Cpp.Syntax: PrimaryExpressionParenthesized :: Expression -> PrimaryExpression
- Hydra.Cpp.Syntax: ProductDeclaration :: String -> [VariableDeclaration] -> ProductDeclaration
- Hydra.Cpp.Syntax: Program :: [PreprocessorDirective] -> [IncludeDirective] -> [Declaration] -> Program
- Hydra.Cpp.Syntax: QualifiedIdentifier :: String -> String -> QualifiedIdentifier
- Hydra.Cpp.Syntax: QualifiedType :: TypeExpression -> TypeQualifier -> QualifiedType
- Hydra.Cpp.Syntax: RangeForStatement :: TypeExpression -> String -> Expression -> Statement -> RangeForStatement
- Hydra.Cpp.Syntax: RelationalExpressionGreater :: GreaterOperation -> RelationalExpression
- Hydra.Cpp.Syntax: RelationalExpressionGreaterEqual :: GreaterEqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: RelationalExpressionLess :: LessOperation -> RelationalExpression
- Hydra.Cpp.Syntax: RelationalExpressionLessEqual :: LessEqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: RelationalExpressionShift :: ShiftExpression -> RelationalExpression
- Hydra.Cpp.Syntax: RightShiftOperation :: ShiftExpression -> AdditiveExpression -> RightShiftOperation
- Hydra.Cpp.Syntax: SelectionStatement :: Expression -> Statement -> Maybe Statement -> SelectionStatement
- Hydra.Cpp.Syntax: Set :: TypeExpression -> [Expression] -> Set
- Hydra.Cpp.Syntax: SetDeclaration :: TypeExpression -> String -> SetDeclaration
- Hydra.Cpp.Syntax: ShiftExpressionAdditive :: AdditiveExpression -> ShiftExpression
- Hydra.Cpp.Syntax: ShiftExpressionLeftShift :: LeftShiftOperation -> ShiftExpression
- Hydra.Cpp.Syntax: ShiftExpressionRightShift :: RightShiftOperation -> ShiftExpression
- Hydra.Cpp.Syntax: SizeofExpression :: TypeExpression -> SizeofExpression
- Hydra.Cpp.Syntax: StatementCompound :: CompoundStatement -> Statement
- Hydra.Cpp.Syntax: StatementDeclaration :: VariableDeclaration -> Statement
- Hydra.Cpp.Syntax: StatementExpression :: Expression -> Statement
- Hydra.Cpp.Syntax: StatementIteration :: IterationStatement -> Statement
- Hydra.Cpp.Syntax: StatementJump :: JumpStatement -> Statement
- Hydra.Cpp.Syntax: StatementLabeled :: LabeledStatement -> Statement
- Hydra.Cpp.Syntax: StatementSelection :: SelectionStatement -> Statement
- Hydra.Cpp.Syntax: StatementSwitch :: SwitchStatement -> Statement
- Hydra.Cpp.Syntax: StringLiteral :: String -> StringLiteral
- Hydra.Cpp.Syntax: SubscriptOperation :: PostfixExpression -> Expression -> SubscriptOperation
- Hydra.Cpp.Syntax: SubtractOperation :: AdditiveExpression -> MultiplicativeExpression -> SubtractOperation
- Hydra.Cpp.Syntax: SwitchStatement :: Expression -> [CaseStatement] -> SwitchStatement
- Hydra.Cpp.Syntax: TemplateArgumentType :: TypeExpression -> TemplateArgument
- Hydra.Cpp.Syntax: TemplateArgumentValue :: Expression -> TemplateArgument
- Hydra.Cpp.Syntax: TemplateDeclaration :: Bool -> [String] -> Declaration -> TemplateDeclaration
- Hydra.Cpp.Syntax: TemplateFunctionCallOperation :: PostfixExpression -> [TemplateArgument] -> [Expression] -> TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: TemplateType :: String -> [TemplateArgument] -> TemplateType
- Hydra.Cpp.Syntax: TernaryExpression :: LogicalOrExpression -> Expression -> ConditionalExpression -> TernaryExpression
- Hydra.Cpp.Syntax: TypeExpressionAuto :: TypeExpression
- Hydra.Cpp.Syntax: TypeExpressionBasic :: BasicType -> TypeExpression
- Hydra.Cpp.Syntax: TypeExpressionFunction :: FunctionType -> TypeExpression
- Hydra.Cpp.Syntax: TypeExpressionQualified :: QualifiedType -> TypeExpression
- Hydra.Cpp.Syntax: TypeExpressionTemplate :: TemplateType -> TypeExpression
- Hydra.Cpp.Syntax: TypeQualifierConst :: TypeQualifier
- Hydra.Cpp.Syntax: TypeQualifierLvalueRef :: TypeQualifier
- Hydra.Cpp.Syntax: TypeQualifierPointer :: TypeQualifier
- Hydra.Cpp.Syntax: TypeQualifierRvalueRef :: TypeQualifier
- Hydra.Cpp.Syntax: TypedefDeclaration :: String -> TypeExpression -> Bool -> TypedefDeclaration
- Hydra.Cpp.Syntax: UnaryExpressionPostfix :: PostfixExpression -> UnaryExpression
- Hydra.Cpp.Syntax: UnaryExpressionSizeof :: SizeofExpression -> UnaryExpression
- Hydra.Cpp.Syntax: UnaryExpressionUnaryOp :: UnaryOperation -> UnaryExpression
- Hydra.Cpp.Syntax: UnaryOperation :: UnaryOperator -> UnaryExpression -> UnaryOperation
- Hydra.Cpp.Syntax: UnaryOperatorAddressOf :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorBitwiseNot :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorDereference :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorLogicalNot :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorMinus :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorPlus :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorPreDecrement :: UnaryOperator
- Hydra.Cpp.Syntax: UnaryOperatorPreIncrement :: UnaryOperator
- Hydra.Cpp.Syntax: UndefDirective :: String -> UndefDirective
- Hydra.Cpp.Syntax: VariableDeclaration :: Maybe TypeExpression -> String -> Maybe Expression -> Bool -> VariableDeclaration
- Hydra.Cpp.Syntax: VariantDeclaration :: [TypeExpression] -> String -> VariantDeclaration
- Hydra.Cpp.Syntax: Vector :: TypeExpression -> [Expression] -> Vector
- Hydra.Cpp.Syntax: VisitorLambda :: LambdaExpression -> Visitor
- Hydra.Cpp.Syntax: VisitorOverloaded :: OverloadedLambdas -> Visitor
- Hydra.Cpp.Syntax: WarningDirective :: String -> WarningDirective
- Hydra.Cpp.Syntax: WhileStatement :: Expression -> Statement -> WhileStatement
- Hydra.Cpp.Syntax: [addOperationLeft] :: AddOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: [addOperationRight] :: AddOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: [baseSpecifierAccess] :: BaseSpecifier -> AccessSpecifier
- Hydra.Cpp.Syntax: [baseSpecifierName] :: BaseSpecifier -> String
- Hydra.Cpp.Syntax: [bitwiseAndOperationLeft] :: BitwiseAndOperation -> AndExpression
- Hydra.Cpp.Syntax: [bitwiseAndOperationRight] :: BitwiseAndOperation -> EqualityExpression
- Hydra.Cpp.Syntax: [bitwiseOrOperationLeft] :: BitwiseOrOperation -> InclusiveOrExpression
- Hydra.Cpp.Syntax: [bitwiseOrOperationRight] :: BitwiseOrOperation -> ExclusiveOrExpression
- Hydra.Cpp.Syntax: [bitwiseXorOperationLeft] :: BitwiseXorOperation -> ExclusiveOrExpression
- Hydra.Cpp.Syntax: [bitwiseXorOperationRight] :: BitwiseXorOperation -> AndExpression
- Hydra.Cpp.Syntax: [captureByReference] :: Capture -> Bool
- Hydra.Cpp.Syntax: [captureName] :: Capture -> String
- Hydra.Cpp.Syntax: [caseValueStatement] :: CaseValue -> Statement
- Hydra.Cpp.Syntax: [caseValueValue] :: CaseValue -> Expression
- Hydra.Cpp.Syntax: [classDeclarationBody] :: ClassDeclaration -> Maybe ClassBody
- Hydra.Cpp.Syntax: [classDeclarationSpecifier] :: ClassDeclaration -> ClassSpecifier
- Hydra.Cpp.Syntax: [classSpecifierInheritance] :: ClassSpecifier -> [BaseSpecifier]
- Hydra.Cpp.Syntax: [classSpecifierKey] :: ClassSpecifier -> ClassKey
- Hydra.Cpp.Syntax: [classSpecifierName] :: ClassSpecifier -> String
- Hydra.Cpp.Syntax: [commaExpressionLeft] :: CommaExpression -> Expression
- Hydra.Cpp.Syntax: [commaExpressionRight] :: CommaExpression -> AssignmentExpression
- Hydra.Cpp.Syntax: [commentIsMultiline] :: Comment -> Bool
- Hydra.Cpp.Syntax: [commentText] :: Comment -> String
- Hydra.Cpp.Syntax: [constructorDeclarationBody] :: ConstructorDeclaration -> FunctionBody
- Hydra.Cpp.Syntax: [constructorDeclarationInitializers] :: ConstructorDeclaration -> [MemInitializer]
- Hydra.Cpp.Syntax: [constructorDeclarationName] :: ConstructorDeclaration -> String
- Hydra.Cpp.Syntax: [constructorDeclarationParameters] :: ConstructorDeclaration -> [Parameter]
- Hydra.Cpp.Syntax: [defineDirectiveName] :: DefineDirective -> String
- Hydra.Cpp.Syntax: [defineDirectiveParameters] :: DefineDirective -> Maybe [String]
- Hydra.Cpp.Syntax: [defineDirectiveReplacement] :: DefineDirective -> Maybe String
- Hydra.Cpp.Syntax: [destructorDeclarationBody] :: DestructorDeclaration -> FunctionBody
- Hydra.Cpp.Syntax: [destructorDeclarationName] :: DestructorDeclaration -> String
- Hydra.Cpp.Syntax: [destructorDeclarationPrefixSpecifiers] :: DestructorDeclaration -> [FunctionSpecifierPrefix]
- Hydra.Cpp.Syntax: [destructorDeclarationSuffixSpecifiers] :: DestructorDeclaration -> [FunctionSpecifierSuffix]
- Hydra.Cpp.Syntax: [divideOperationLeft] :: DivideOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: [divideOperationRight] :: DivideOperation -> UnaryExpression
- Hydra.Cpp.Syntax: [doStatementBody] :: DoStatement -> Statement
- Hydra.Cpp.Syntax: [doStatementCondition] :: DoStatement -> Expression
- Hydra.Cpp.Syntax: [elifDirectiveCondition] :: ElifDirective -> String
- Hydra.Cpp.Syntax: [equalOperationLeft] :: EqualOperation -> EqualityExpression
- Hydra.Cpp.Syntax: [equalOperationRight] :: EqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [errorDirectiveMessage] :: ErrorDirective -> String
- Hydra.Cpp.Syntax: [explicitAssignmentLeft] :: ExplicitAssignment -> LogicalOrExpression
- Hydra.Cpp.Syntax: [explicitAssignmentOp] :: ExplicitAssignment -> AssignmentOperator
- Hydra.Cpp.Syntax: [explicitAssignmentRight] :: ExplicitAssignment -> AssignmentExpression
- Hydra.Cpp.Syntax: [forStatementBody] :: ForStatement -> Statement
- Hydra.Cpp.Syntax: [forStatementCondition] :: ForStatement -> Expression
- Hydra.Cpp.Syntax: [forStatementIncrement] :: ForStatement -> Expression
- Hydra.Cpp.Syntax: [forStatementInit] :: ForStatement -> ForInit
- Hydra.Cpp.Syntax: [functionApplicationArguments] :: FunctionApplication -> [Expression]
- Hydra.Cpp.Syntax: [functionApplicationFunction] :: FunctionApplication -> FunctionIdentifier
- Hydra.Cpp.Syntax: [functionCallOperationArguments] :: FunctionCallOperation -> [Expression]
- Hydra.Cpp.Syntax: [functionCallOperationFunction] :: FunctionCallOperation -> PostfixExpression
- Hydra.Cpp.Syntax: [functionDeclarationBody] :: FunctionDeclaration -> FunctionBody
- Hydra.Cpp.Syntax: [functionDeclarationName] :: FunctionDeclaration -> String
- Hydra.Cpp.Syntax: [functionDeclarationParameters] :: FunctionDeclaration -> [Parameter]
- Hydra.Cpp.Syntax: [functionDeclarationPrefixSpecifiers] :: FunctionDeclaration -> [FunctionSpecifierPrefix]
- Hydra.Cpp.Syntax: [functionDeclarationReturnType] :: FunctionDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [functionDeclarationSuffixSpecifiers] :: FunctionDeclaration -> [FunctionSpecifierSuffix]
- Hydra.Cpp.Syntax: [functionTypeParameters] :: FunctionType -> [Parameter]
- Hydra.Cpp.Syntax: [functionTypeReturnType] :: FunctionType -> TypeExpression
- Hydra.Cpp.Syntax: [greaterEqualOperationLeft] :: GreaterEqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [greaterEqualOperationRight] :: GreaterEqualOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [greaterOperationLeft] :: GreaterOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [greaterOperationRight] :: GreaterOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [ifDirectiveCondition] :: IfDirective -> String
- Hydra.Cpp.Syntax: [ifdefDirectiveIdentifier] :: IfdefDirective -> String
- Hydra.Cpp.Syntax: [ifndefDirectiveIdentifier] :: IfndefDirective -> String
- Hydra.Cpp.Syntax: [includeDirectiveIsSystem] :: IncludeDirective -> Bool
- Hydra.Cpp.Syntax: [includeDirectiveName] :: IncludeDirective -> String
- Hydra.Cpp.Syntax: [labeledStatementLabel] :: LabeledStatement -> String
- Hydra.Cpp.Syntax: [labeledStatementStatement] :: LabeledStatement -> Statement
- Hydra.Cpp.Syntax: [lambdaExpressionBody] :: LambdaExpression -> CompoundStatement
- Hydra.Cpp.Syntax: [lambdaExpressionCaptures] :: LambdaExpression -> CaptureList
- Hydra.Cpp.Syntax: [lambdaExpressionParameters] :: LambdaExpression -> [Parameter]
- Hydra.Cpp.Syntax: [lambdaExpressionReturnType] :: LambdaExpression -> Maybe TypeExpression
- Hydra.Cpp.Syntax: [leftShiftOperationLeft] :: LeftShiftOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [leftShiftOperationRight] :: LeftShiftOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: [lessEqualOperationLeft] :: LessEqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [lessEqualOperationRight] :: LessEqualOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [lessOperationLeft] :: LessOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [lessOperationRight] :: LessOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [lineDirectiveFilename] :: LineDirective -> Maybe String
- Hydra.Cpp.Syntax: [lineDirectiveLineNumber] :: LineDirective -> Int
- Hydra.Cpp.Syntax: [listDeclarationElementType] :: ListDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [listDeclarationName] :: ListDeclaration -> String
- Hydra.Cpp.Syntax: [logicalAndOperationLeft] :: LogicalAndOperation -> LogicalAndExpression
- Hydra.Cpp.Syntax: [logicalAndOperationRight] :: LogicalAndOperation -> InclusiveOrExpression
- Hydra.Cpp.Syntax: [logicalOrOperationLeft] :: LogicalOrOperation -> LogicalOrExpression
- Hydra.Cpp.Syntax: [logicalOrOperationRight] :: LogicalOrOperation -> LogicalAndExpression
- Hydra.Cpp.Syntax: [mapDeclarationKeyType] :: MapDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [mapDeclarationName] :: MapDeclaration -> String
- Hydra.Cpp.Syntax: [mapDeclarationValueType] :: MapDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [mapEntries] :: Map -> [MapEntry]
- Hydra.Cpp.Syntax: [mapEntryKey] :: MapEntry -> Expression
- Hydra.Cpp.Syntax: [mapEntryValue] :: MapEntry -> Expression
- Hydra.Cpp.Syntax: [mapKeyType] :: Map -> TypeExpression
- Hydra.Cpp.Syntax: [mapValueType] :: Map -> TypeExpression
- Hydra.Cpp.Syntax: [memInitializerArguments] :: MemInitializer -> [Expression]
- Hydra.Cpp.Syntax: [memInitializerName] :: MemInitializer -> String
- Hydra.Cpp.Syntax: [memberAccessOperationMember] :: MemberAccessOperation -> String
- Hydra.Cpp.Syntax: [memberAccessOperationObject] :: MemberAccessOperation -> PostfixExpression
- Hydra.Cpp.Syntax: [moduloOperationLeft] :: ModuloOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: [moduloOperationRight] :: ModuloOperation -> UnaryExpression
- Hydra.Cpp.Syntax: [multiplyOperationLeft] :: MultiplyOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: [multiplyOperationRight] :: MultiplyOperation -> UnaryExpression
- Hydra.Cpp.Syntax: [namespaceDeclarationDeclarations] :: NamespaceDeclaration -> [Declaration]
- Hydra.Cpp.Syntax: [namespaceDeclarationName] :: NamespaceDeclaration -> String
- Hydra.Cpp.Syntax: [notEqualOperationLeft] :: NotEqualOperation -> EqualityExpression
- Hydra.Cpp.Syntax: [notEqualOperationRight] :: NotEqualOperation -> RelationalExpression
- Hydra.Cpp.Syntax: [optionalDeclarationName] :: OptionalDeclaration -> String
- Hydra.Cpp.Syntax: [optionalDeclarationValueType] :: OptionalDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [optionalValueType] :: Optional -> TypeExpression
- Hydra.Cpp.Syntax: [optionalValue] :: Optional -> Maybe Expression
- Hydra.Cpp.Syntax: [parameterDefaultValue] :: Parameter -> Maybe Expression
- Hydra.Cpp.Syntax: [parameterName] :: Parameter -> String
- Hydra.Cpp.Syntax: [parameterType] :: Parameter -> TypeExpression
- Hydra.Cpp.Syntax: [parameterUnnamed] :: Parameter -> Bool
- Hydra.Cpp.Syntax: [patternMatchVariant] :: PatternMatch -> Expression
- Hydra.Cpp.Syntax: [patternMatchVisitor] :: PatternMatch -> Visitor
- Hydra.Cpp.Syntax: [pointerMemberAccessOperationMember] :: PointerMemberAccessOperation -> String
- Hydra.Cpp.Syntax: [pointerMemberAccessOperationPointer] :: PointerMemberAccessOperation -> PostfixExpression
- Hydra.Cpp.Syntax: [pragmaDirectiveContent] :: PragmaDirective -> String
- Hydra.Cpp.Syntax: [productDeclarationFields] :: ProductDeclaration -> [VariableDeclaration]
- Hydra.Cpp.Syntax: [productDeclarationName] :: ProductDeclaration -> String
- Hydra.Cpp.Syntax: [programDeclarations] :: Program -> [Declaration]
- Hydra.Cpp.Syntax: [programIncludes] :: Program -> [IncludeDirective]
- Hydra.Cpp.Syntax: [programPreprocessorDirectives] :: Program -> [PreprocessorDirective]
- Hydra.Cpp.Syntax: [qualifiedIdentifierName] :: QualifiedIdentifier -> String
- Hydra.Cpp.Syntax: [qualifiedIdentifierNamespace] :: QualifiedIdentifier -> String
- Hydra.Cpp.Syntax: [qualifiedTypeBaseType] :: QualifiedType -> TypeExpression
- Hydra.Cpp.Syntax: [qualifiedTypeQualifier] :: QualifiedType -> TypeQualifier
- Hydra.Cpp.Syntax: [rangeForStatementBody] :: RangeForStatement -> Statement
- Hydra.Cpp.Syntax: [rangeForStatementRange] :: RangeForStatement -> Expression
- Hydra.Cpp.Syntax: [rangeForStatementType] :: RangeForStatement -> TypeExpression
- Hydra.Cpp.Syntax: [rangeForStatementVariable] :: RangeForStatement -> String
- Hydra.Cpp.Syntax: [rightShiftOperationLeft] :: RightShiftOperation -> ShiftExpression
- Hydra.Cpp.Syntax: [rightShiftOperationRight] :: RightShiftOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: [selectionStatementCondition] :: SelectionStatement -> Expression
- Hydra.Cpp.Syntax: [selectionStatementElseBranch] :: SelectionStatement -> Maybe Statement
- Hydra.Cpp.Syntax: [selectionStatementThenBranch] :: SelectionStatement -> Statement
- Hydra.Cpp.Syntax: [setDeclarationElementType] :: SetDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [setDeclarationName] :: SetDeclaration -> String
- Hydra.Cpp.Syntax: [setElementType] :: Set -> TypeExpression
- Hydra.Cpp.Syntax: [setElements] :: Set -> [Expression]
- Hydra.Cpp.Syntax: [subscriptOperationArray] :: SubscriptOperation -> PostfixExpression
- Hydra.Cpp.Syntax: [subscriptOperationIndex] :: SubscriptOperation -> Expression
- Hydra.Cpp.Syntax: [subtractOperationLeft] :: SubtractOperation -> AdditiveExpression
- Hydra.Cpp.Syntax: [subtractOperationRight] :: SubtractOperation -> MultiplicativeExpression
- Hydra.Cpp.Syntax: [switchStatementCases] :: SwitchStatement -> [CaseStatement]
- Hydra.Cpp.Syntax: [switchStatementValue] :: SwitchStatement -> Expression
- Hydra.Cpp.Syntax: [templateDeclarationDeclaration] :: TemplateDeclaration -> Declaration
- Hydra.Cpp.Syntax: [templateDeclarationInline] :: TemplateDeclaration -> Bool
- Hydra.Cpp.Syntax: [templateDeclarationParameters] :: TemplateDeclaration -> [String]
- Hydra.Cpp.Syntax: [templateFunctionCallOperationArguments] :: TemplateFunctionCallOperation -> [Expression]
- Hydra.Cpp.Syntax: [templateFunctionCallOperationFunction] :: TemplateFunctionCallOperation -> PostfixExpression
- Hydra.Cpp.Syntax: [templateFunctionCallOperationTemplateArguments] :: TemplateFunctionCallOperation -> [TemplateArgument]
- Hydra.Cpp.Syntax: [templateTypeArguments] :: TemplateType -> [TemplateArgument]
- Hydra.Cpp.Syntax: [templateTypeName] :: TemplateType -> String
- Hydra.Cpp.Syntax: [ternaryExpressionCondition] :: TernaryExpression -> LogicalOrExpression
- Hydra.Cpp.Syntax: [ternaryExpressionFalseExpr] :: TernaryExpression -> ConditionalExpression
- Hydra.Cpp.Syntax: [ternaryExpressionTrueExpr] :: TernaryExpression -> Expression
- Hydra.Cpp.Syntax: [typedefDeclarationIsUsing] :: TypedefDeclaration -> Bool
- Hydra.Cpp.Syntax: [typedefDeclarationName] :: TypedefDeclaration -> String
- Hydra.Cpp.Syntax: [typedefDeclarationType] :: TypedefDeclaration -> TypeExpression
- Hydra.Cpp.Syntax: [unBooleanLiteral] :: BooleanLiteral -> Bool
- Hydra.Cpp.Syntax: [unCharacterLiteral] :: CharacterLiteral -> String
- Hydra.Cpp.Syntax: [unClassBody] :: ClassBody -> [MemberSpecification]
- Hydra.Cpp.Syntax: [unCompoundStatement] :: CompoundStatement -> [Statement]
- Hydra.Cpp.Syntax: [unExpressionStatement] :: ExpressionStatement -> Expression
- Hydra.Cpp.Syntax: [unFloatingLiteral] :: FloatingLiteral -> Double
- Hydra.Cpp.Syntax: [unOverloadedLambdas] :: OverloadedLambdas -> [LambdaExpression]
- Hydra.Cpp.Syntax: [unSizeofExpression] :: SizeofExpression -> TypeExpression
- Hydra.Cpp.Syntax: [unStringLiteral] :: StringLiteral -> String
- Hydra.Cpp.Syntax: [unaryOperationOperand] :: UnaryOperation -> UnaryExpression
- Hydra.Cpp.Syntax: [unaryOperationOperator] :: UnaryOperation -> UnaryOperator
- Hydra.Cpp.Syntax: [undefDirectiveName] :: UndefDirective -> String
- Hydra.Cpp.Syntax: [variableDeclarationInitializer] :: VariableDeclaration -> Maybe Expression
- Hydra.Cpp.Syntax: [variableDeclarationIsAuto] :: VariableDeclaration -> Bool
- Hydra.Cpp.Syntax: [variableDeclarationName] :: VariableDeclaration -> String
- Hydra.Cpp.Syntax: [variableDeclarationType] :: VariableDeclaration -> Maybe TypeExpression
- Hydra.Cpp.Syntax: [variantDeclarationName] :: VariantDeclaration -> String
- Hydra.Cpp.Syntax: [variantDeclarationTypes] :: VariantDeclaration -> [TypeExpression]
- Hydra.Cpp.Syntax: [vectorElementType] :: Vector -> TypeExpression
- Hydra.Cpp.Syntax: [vectorElements] :: Vector -> [Expression]
- Hydra.Cpp.Syntax: [warningDirectiveMessage] :: WarningDirective -> String
- Hydra.Cpp.Syntax: [whileStatementBody] :: WhileStatement -> Statement
- Hydra.Cpp.Syntax: [whileStatementCondition] :: WhileStatement -> Expression
- Hydra.Cpp.Syntax: _AccessSpecifier :: Name
- Hydra.Cpp.Syntax: _AccessSpecifier_none :: Name
- Hydra.Cpp.Syntax: _AccessSpecifier_private :: Name
- Hydra.Cpp.Syntax: _AccessSpecifier_protected :: Name
- Hydra.Cpp.Syntax: _AccessSpecifier_public :: Name
- Hydra.Cpp.Syntax: _AddOperation :: Name
- Hydra.Cpp.Syntax: _AddOperation_left :: Name
- Hydra.Cpp.Syntax: _AddOperation_right :: Name
- Hydra.Cpp.Syntax: _AdditiveExpression :: Name
- Hydra.Cpp.Syntax: _AdditiveExpression_add :: Name
- Hydra.Cpp.Syntax: _AdditiveExpression_multiplicative :: Name
- Hydra.Cpp.Syntax: _AdditiveExpression_subtract :: Name
- Hydra.Cpp.Syntax: _AndExpression :: Name
- Hydra.Cpp.Syntax: _AndExpression_bitwiseAnd :: Name
- Hydra.Cpp.Syntax: _AndExpression_equality :: Name
- Hydra.Cpp.Syntax: _AssignmentExpression :: Name
- Hydra.Cpp.Syntax: _AssignmentExpression_assignment :: Name
- Hydra.Cpp.Syntax: _AssignmentExpression_conditional :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_assign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_bitwiseAndAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_bitwiseOrAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_bitwiseXorAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_divideAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_leftShiftAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_minusAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_moduloAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_multiplyAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_plusAssign :: Name
- Hydra.Cpp.Syntax: _AssignmentOperator_rightShiftAssign :: Name
- Hydra.Cpp.Syntax: _BaseSpecifier :: Name
- Hydra.Cpp.Syntax: _BaseSpecifier_access :: Name
- Hydra.Cpp.Syntax: _BaseSpecifier_name :: Name
- Hydra.Cpp.Syntax: _BasicType :: Name
- Hydra.Cpp.Syntax: _BasicType_auto :: Name
- Hydra.Cpp.Syntax: _BasicType_bool :: Name
- Hydra.Cpp.Syntax: _BasicType_char :: Name
- Hydra.Cpp.Syntax: _BasicType_double :: Name
- Hydra.Cpp.Syntax: _BasicType_float :: Name
- Hydra.Cpp.Syntax: _BasicType_int :: Name
- Hydra.Cpp.Syntax: _BasicType_named :: Name
- Hydra.Cpp.Syntax: _BasicType_string :: Name
- Hydra.Cpp.Syntax: _BasicType_void :: Name
- Hydra.Cpp.Syntax: _BinaryOperator :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_bitwiseAnd :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_bitwiseOr :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_bitwiseXor :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_divide :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_equal :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_greater :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_greaterEqual :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_leftShift :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_less :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_lessEqual :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_logicalAnd :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_logicalOr :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_minus :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_modulo :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_multiply :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_notEqual :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_plus :: Name
- Hydra.Cpp.Syntax: _BinaryOperator_rightShift :: Name
- Hydra.Cpp.Syntax: _BitwiseAndOperation :: Name
- Hydra.Cpp.Syntax: _BitwiseAndOperation_left :: Name
- Hydra.Cpp.Syntax: _BitwiseAndOperation_right :: Name
- Hydra.Cpp.Syntax: _BitwiseOrOperation :: Name
- Hydra.Cpp.Syntax: _BitwiseOrOperation_left :: Name
- Hydra.Cpp.Syntax: _BitwiseOrOperation_right :: Name
- Hydra.Cpp.Syntax: _BitwiseXorOperation :: Name
- Hydra.Cpp.Syntax: _BitwiseXorOperation_left :: Name
- Hydra.Cpp.Syntax: _BitwiseXorOperation_right :: Name
- Hydra.Cpp.Syntax: _BooleanLiteral :: Name
- Hydra.Cpp.Syntax: _Capture :: Name
- Hydra.Cpp.Syntax: _CaptureList :: Name
- Hydra.Cpp.Syntax: _CaptureList_captureByValue :: Name
- Hydra.Cpp.Syntax: _CaptureList_captures :: Name
- Hydra.Cpp.Syntax: _Capture_byReference :: Name
- Hydra.Cpp.Syntax: _Capture_name :: Name
- Hydra.Cpp.Syntax: _CaseStatement :: Name
- Hydra.Cpp.Syntax: _CaseStatement_case :: Name
- Hydra.Cpp.Syntax: _CaseStatement_default :: Name
- Hydra.Cpp.Syntax: _CaseValue :: Name
- Hydra.Cpp.Syntax: _CaseValue_statement :: Name
- Hydra.Cpp.Syntax: _CaseValue_value :: Name
- Hydra.Cpp.Syntax: _CharacterLiteral :: Name
- Hydra.Cpp.Syntax: _ClassBody :: Name
- Hydra.Cpp.Syntax: _ClassDeclaration :: Name
- Hydra.Cpp.Syntax: _ClassDeclaration_body :: Name
- Hydra.Cpp.Syntax: _ClassDeclaration_specifier :: Name
- Hydra.Cpp.Syntax: _ClassKey :: Name
- Hydra.Cpp.Syntax: _ClassKey_class :: Name
- Hydra.Cpp.Syntax: _ClassKey_enum :: Name
- Hydra.Cpp.Syntax: _ClassKey_enumClass :: Name
- Hydra.Cpp.Syntax: _ClassKey_struct :: Name
- Hydra.Cpp.Syntax: _ClassSpecifier :: Name
- Hydra.Cpp.Syntax: _ClassSpecifier_inheritance :: Name
- Hydra.Cpp.Syntax: _ClassSpecifier_key :: Name
- Hydra.Cpp.Syntax: _ClassSpecifier_name :: Name
- Hydra.Cpp.Syntax: _CommaExpression :: Name
- Hydra.Cpp.Syntax: _CommaExpression_left :: Name
- Hydra.Cpp.Syntax: _CommaExpression_right :: Name
- Hydra.Cpp.Syntax: _Comment :: Name
- Hydra.Cpp.Syntax: _Comment_isMultiline :: Name
- Hydra.Cpp.Syntax: _Comment_text :: Name
- Hydra.Cpp.Syntax: _CompoundStatement :: Name
- Hydra.Cpp.Syntax: _ConditionalExpression :: Name
- Hydra.Cpp.Syntax: _ConditionalExpression_logicalOr :: Name
- Hydra.Cpp.Syntax: _ConditionalExpression_ternary :: Name
- Hydra.Cpp.Syntax: _ConstructorDeclaration :: Name
- Hydra.Cpp.Syntax: _ConstructorDeclaration_body :: Name
- Hydra.Cpp.Syntax: _ConstructorDeclaration_initializers :: Name
- Hydra.Cpp.Syntax: _ConstructorDeclaration_name :: Name
- Hydra.Cpp.Syntax: _ConstructorDeclaration_parameters :: Name
- Hydra.Cpp.Syntax: _ContainerDeclaration :: Name
- Hydra.Cpp.Syntax: _ContainerDeclaration_list :: Name
- Hydra.Cpp.Syntax: _ContainerDeclaration_map :: Name
- Hydra.Cpp.Syntax: _ContainerDeclaration_optional :: Name
- Hydra.Cpp.Syntax: _ContainerDeclaration_set :: Name
- Hydra.Cpp.Syntax: _Declaration :: Name
- Hydra.Cpp.Syntax: _Declaration_class :: Name
- Hydra.Cpp.Syntax: _Declaration_function :: Name
- Hydra.Cpp.Syntax: _Declaration_namespace :: Name
- Hydra.Cpp.Syntax: _Declaration_preprocessor :: Name
- Hydra.Cpp.Syntax: _Declaration_template :: Name
- Hydra.Cpp.Syntax: _Declaration_typedef :: Name
- Hydra.Cpp.Syntax: _Declaration_variable :: Name
- Hydra.Cpp.Syntax: _DefineDirective :: Name
- Hydra.Cpp.Syntax: _DefineDirective_name :: Name
- Hydra.Cpp.Syntax: _DefineDirective_parameters :: Name
- Hydra.Cpp.Syntax: _DefineDirective_replacement :: Name
- Hydra.Cpp.Syntax: _DestructorDeclaration :: Name
- Hydra.Cpp.Syntax: _DestructorDeclaration_body :: Name
- Hydra.Cpp.Syntax: _DestructorDeclaration_name :: Name
- Hydra.Cpp.Syntax: _DestructorDeclaration_prefixSpecifiers :: Name
- Hydra.Cpp.Syntax: _DestructorDeclaration_suffixSpecifiers :: Name
- Hydra.Cpp.Syntax: _DivideOperation :: Name
- Hydra.Cpp.Syntax: _DivideOperation_left :: Name
- Hydra.Cpp.Syntax: _DivideOperation_right :: Name
- Hydra.Cpp.Syntax: _DoStatement :: Name
- Hydra.Cpp.Syntax: _DoStatement_body :: Name
- Hydra.Cpp.Syntax: _DoStatement_condition :: Name
- Hydra.Cpp.Syntax: _ElifDirective :: Name
- Hydra.Cpp.Syntax: _ElifDirective_condition :: Name
- Hydra.Cpp.Syntax: _ElseDirective :: Name
- Hydra.Cpp.Syntax: _EndifDirective :: Name
- Hydra.Cpp.Syntax: _EqualOperation :: Name
- Hydra.Cpp.Syntax: _EqualOperation_left :: Name
- Hydra.Cpp.Syntax: _EqualOperation_right :: Name
- Hydra.Cpp.Syntax: _EqualityExpression :: Name
- Hydra.Cpp.Syntax: _EqualityExpression_equal :: Name
- Hydra.Cpp.Syntax: _EqualityExpression_notEqual :: Name
- Hydra.Cpp.Syntax: _EqualityExpression_relational :: Name
- Hydra.Cpp.Syntax: _ErrorDirective :: Name
- Hydra.Cpp.Syntax: _ErrorDirective_message :: Name
- Hydra.Cpp.Syntax: _ExclusiveOrExpression :: Name
- Hydra.Cpp.Syntax: _ExclusiveOrExpression_and :: Name
- Hydra.Cpp.Syntax: _ExclusiveOrExpression_bitwiseXor :: Name
- Hydra.Cpp.Syntax: _ExplicitAssignment :: Name
- Hydra.Cpp.Syntax: _ExplicitAssignment_left :: Name
- Hydra.Cpp.Syntax: _ExplicitAssignment_op :: Name
- Hydra.Cpp.Syntax: _ExplicitAssignment_right :: Name
- Hydra.Cpp.Syntax: _Expression :: Name
- Hydra.Cpp.Syntax: _ExpressionStatement :: Name
- Hydra.Cpp.Syntax: _Expression_assignment :: Name
- Hydra.Cpp.Syntax: _Expression_comma :: Name
- Hydra.Cpp.Syntax: _FloatingLiteral :: Name
- Hydra.Cpp.Syntax: _ForInit :: Name
- Hydra.Cpp.Syntax: _ForInit_declaration :: Name
- Hydra.Cpp.Syntax: _ForInit_empty :: Name
- Hydra.Cpp.Syntax: _ForInit_expression :: Name
- Hydra.Cpp.Syntax: _ForStatement :: Name
- Hydra.Cpp.Syntax: _ForStatement_body :: Name
- Hydra.Cpp.Syntax: _ForStatement_condition :: Name
- Hydra.Cpp.Syntax: _ForStatement_increment :: Name
- Hydra.Cpp.Syntax: _ForStatement_init :: Name
- Hydra.Cpp.Syntax: _FunctionApplication :: Name
- Hydra.Cpp.Syntax: _FunctionApplication_arguments :: Name
- Hydra.Cpp.Syntax: _FunctionApplication_function :: Name
- Hydra.Cpp.Syntax: _FunctionBody :: Name
- Hydra.Cpp.Syntax: _FunctionBody_compound :: Name
- Hydra.Cpp.Syntax: _FunctionBody_declaration :: Name
- Hydra.Cpp.Syntax: _FunctionBody_default :: Name
- Hydra.Cpp.Syntax: _FunctionBody_pure :: Name
- Hydra.Cpp.Syntax: _FunctionCallOperation :: Name
- Hydra.Cpp.Syntax: _FunctionCallOperation_arguments :: Name
- Hydra.Cpp.Syntax: _FunctionCallOperation_function :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_body :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_name :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_parameters :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_prefixSpecifiers :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_returnType :: Name
- Hydra.Cpp.Syntax: _FunctionDeclaration_suffixSpecifiers :: Name
- Hydra.Cpp.Syntax: _FunctionIdentifier :: Name
- Hydra.Cpp.Syntax: _FunctionIdentifier_qualified :: Name
- Hydra.Cpp.Syntax: _FunctionIdentifier_simple :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierPrefix :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierPrefix_explicit :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierPrefix_inline :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierPrefix_static :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierPrefix_virtual :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierSuffix :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierSuffix_const :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierSuffix_final :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierSuffix_noexcept :: Name
- Hydra.Cpp.Syntax: _FunctionSpecifierSuffix_override :: Name
- Hydra.Cpp.Syntax: _FunctionType :: Name
- Hydra.Cpp.Syntax: _FunctionType_parameters :: Name
- Hydra.Cpp.Syntax: _FunctionType_returnType :: Name
- Hydra.Cpp.Syntax: _GreaterEqualOperation :: Name
- Hydra.Cpp.Syntax: _GreaterEqualOperation_left :: Name
- Hydra.Cpp.Syntax: _GreaterEqualOperation_right :: Name
- Hydra.Cpp.Syntax: _GreaterOperation :: Name
- Hydra.Cpp.Syntax: _GreaterOperation_left :: Name
- Hydra.Cpp.Syntax: _GreaterOperation_right :: Name
- Hydra.Cpp.Syntax: _Identifier :: Name
- Hydra.Cpp.Syntax: _IfDirective :: Name
- Hydra.Cpp.Syntax: _IfDirective_condition :: Name
- Hydra.Cpp.Syntax: _IfdefDirective :: Name
- Hydra.Cpp.Syntax: _IfdefDirective_identifier :: Name
- Hydra.Cpp.Syntax: _IfndefDirective :: Name
- Hydra.Cpp.Syntax: _IfndefDirective_identifier :: Name
- Hydra.Cpp.Syntax: _IncludeDirective :: Name
- Hydra.Cpp.Syntax: _IncludeDirective_isSystem :: Name
- Hydra.Cpp.Syntax: _IncludeDirective_name :: Name
- Hydra.Cpp.Syntax: _InclusiveOrExpression :: Name
- Hydra.Cpp.Syntax: _InclusiveOrExpression_bitwiseOr :: Name
- Hydra.Cpp.Syntax: _InclusiveOrExpression_exclusiveOr :: Name
- Hydra.Cpp.Syntax: _IntegerLiteral :: Name
- Hydra.Cpp.Syntax: _IntegerLiteral_binary :: Name
- Hydra.Cpp.Syntax: _IntegerLiteral_decimal :: Name
- Hydra.Cpp.Syntax: _IntegerLiteral_hexadecimal :: Name
- Hydra.Cpp.Syntax: _IntegerLiteral_octal :: Name
- Hydra.Cpp.Syntax: _IterationStatement :: Name
- Hydra.Cpp.Syntax: _IterationStatement_do :: Name
- Hydra.Cpp.Syntax: _IterationStatement_for :: Name
- Hydra.Cpp.Syntax: _IterationStatement_rangeFor :: Name
- Hydra.Cpp.Syntax: _IterationStatement_while :: Name
- Hydra.Cpp.Syntax: _JumpStatement :: Name
- Hydra.Cpp.Syntax: _JumpStatement_break :: Name
- Hydra.Cpp.Syntax: _JumpStatement_continue :: Name
- Hydra.Cpp.Syntax: _JumpStatement_returnValue :: Name
- Hydra.Cpp.Syntax: _JumpStatement_returnVoid :: Name
- Hydra.Cpp.Syntax: _JumpStatement_throw :: Name
- Hydra.Cpp.Syntax: _LabeledStatement :: Name
- Hydra.Cpp.Syntax: _LabeledStatement_label :: Name
- Hydra.Cpp.Syntax: _LabeledStatement_statement :: Name
- Hydra.Cpp.Syntax: _LambdaExpression :: Name
- Hydra.Cpp.Syntax: _LambdaExpression_body :: Name
- Hydra.Cpp.Syntax: _LambdaExpression_captures :: Name
- Hydra.Cpp.Syntax: _LambdaExpression_parameters :: Name
- Hydra.Cpp.Syntax: _LambdaExpression_returnType :: Name
- Hydra.Cpp.Syntax: _LeftShiftOperation :: Name
- Hydra.Cpp.Syntax: _LeftShiftOperation_left :: Name
- Hydra.Cpp.Syntax: _LeftShiftOperation_right :: Name
- Hydra.Cpp.Syntax: _LessEqualOperation :: Name
- Hydra.Cpp.Syntax: _LessEqualOperation_left :: Name
- Hydra.Cpp.Syntax: _LessEqualOperation_right :: Name
- Hydra.Cpp.Syntax: _LessOperation :: Name
- Hydra.Cpp.Syntax: _LessOperation_left :: Name
- Hydra.Cpp.Syntax: _LessOperation_right :: Name
- Hydra.Cpp.Syntax: _LineDirective :: Name
- Hydra.Cpp.Syntax: _LineDirective_filename :: Name
- Hydra.Cpp.Syntax: _LineDirective_lineNumber :: Name
- Hydra.Cpp.Syntax: _ListDeclaration :: Name
- Hydra.Cpp.Syntax: _ListDeclaration_elementType :: Name
- Hydra.Cpp.Syntax: _ListDeclaration_name :: Name
- Hydra.Cpp.Syntax: _Literal :: Name
- Hydra.Cpp.Syntax: _Literal_boolean :: Name
- Hydra.Cpp.Syntax: _Literal_character :: Name
- Hydra.Cpp.Syntax: _Literal_floating :: Name
- Hydra.Cpp.Syntax: _Literal_integer :: Name
- Hydra.Cpp.Syntax: _Literal_null :: Name
- Hydra.Cpp.Syntax: _Literal_string :: Name
- Hydra.Cpp.Syntax: _LogicalAndExpression :: Name
- Hydra.Cpp.Syntax: _LogicalAndExpression_inclusiveOr :: Name
- Hydra.Cpp.Syntax: _LogicalAndExpression_logicalAnd :: Name
- Hydra.Cpp.Syntax: _LogicalAndOperation :: Name
- Hydra.Cpp.Syntax: _LogicalAndOperation_left :: Name
- Hydra.Cpp.Syntax: _LogicalAndOperation_right :: Name
- Hydra.Cpp.Syntax: _LogicalOrExpression :: Name
- Hydra.Cpp.Syntax: _LogicalOrExpression_logicalAnd :: Name
- Hydra.Cpp.Syntax: _LogicalOrExpression_logicalOr :: Name
- Hydra.Cpp.Syntax: _LogicalOrOperation :: Name
- Hydra.Cpp.Syntax: _LogicalOrOperation_left :: Name
- Hydra.Cpp.Syntax: _LogicalOrOperation_right :: Name
- Hydra.Cpp.Syntax: _Map :: Name
- Hydra.Cpp.Syntax: _MapDeclaration :: Name
- Hydra.Cpp.Syntax: _MapDeclaration_keyType :: Name
- Hydra.Cpp.Syntax: _MapDeclaration_name :: Name
- Hydra.Cpp.Syntax: _MapDeclaration_valueType :: Name
- Hydra.Cpp.Syntax: _MapEntry :: Name
- Hydra.Cpp.Syntax: _MapEntry_key :: Name
- Hydra.Cpp.Syntax: _MapEntry_value :: Name
- Hydra.Cpp.Syntax: _Map_entries :: Name
- Hydra.Cpp.Syntax: _Map_keyType :: Name
- Hydra.Cpp.Syntax: _Map_valueType :: Name
- Hydra.Cpp.Syntax: _MemInitializer :: Name
- Hydra.Cpp.Syntax: _MemInitializer_arguments :: Name
- Hydra.Cpp.Syntax: _MemInitializer_name :: Name
- Hydra.Cpp.Syntax: _MemberAccessOperation :: Name
- Hydra.Cpp.Syntax: _MemberAccessOperation_member :: Name
- Hydra.Cpp.Syntax: _MemberAccessOperation_object :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_constructor :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_destructor :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_function :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_nestedClass :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_template :: Name
- Hydra.Cpp.Syntax: _MemberDeclaration_variable :: Name
- Hydra.Cpp.Syntax: _MemberSpecification :: Name
- Hydra.Cpp.Syntax: _MemberSpecification_accessLabel :: Name
- Hydra.Cpp.Syntax: _MemberSpecification_member :: Name
- Hydra.Cpp.Syntax: _ModuloOperation :: Name
- Hydra.Cpp.Syntax: _ModuloOperation_left :: Name
- Hydra.Cpp.Syntax: _ModuloOperation_right :: Name
- Hydra.Cpp.Syntax: _MultiplicativeExpression :: Name
- Hydra.Cpp.Syntax: _MultiplicativeExpression_divide :: Name
- Hydra.Cpp.Syntax: _MultiplicativeExpression_modulo :: Name
- Hydra.Cpp.Syntax: _MultiplicativeExpression_multiply :: Name
- Hydra.Cpp.Syntax: _MultiplicativeExpression_unary :: Name
- Hydra.Cpp.Syntax: _MultiplyOperation :: Name
- Hydra.Cpp.Syntax: _MultiplyOperation_left :: Name
- Hydra.Cpp.Syntax: _MultiplyOperation_right :: Name
- Hydra.Cpp.Syntax: _NamespaceDeclaration :: Name
- Hydra.Cpp.Syntax: _NamespaceDeclaration_declarations :: Name
- Hydra.Cpp.Syntax: _NamespaceDeclaration_name :: Name
- Hydra.Cpp.Syntax: _NotEqualOperation :: Name
- Hydra.Cpp.Syntax: _NotEqualOperation_left :: Name
- Hydra.Cpp.Syntax: _NotEqualOperation_right :: Name
- Hydra.Cpp.Syntax: _Optional :: Name
- Hydra.Cpp.Syntax: _OptionalDeclaration :: Name
- Hydra.Cpp.Syntax: _OptionalDeclaration_name :: Name
- Hydra.Cpp.Syntax: _OptionalDeclaration_valueType :: Name
- Hydra.Cpp.Syntax: _Optional_value :: Name
- Hydra.Cpp.Syntax: _Optional_valueType :: Name
- Hydra.Cpp.Syntax: _OverloadedLambdas :: Name
- Hydra.Cpp.Syntax: _Parameter :: Name
- Hydra.Cpp.Syntax: _Parameter_defaultValue :: Name
- Hydra.Cpp.Syntax: _Parameter_name :: Name
- Hydra.Cpp.Syntax: _Parameter_type :: Name
- Hydra.Cpp.Syntax: _Parameter_unnamed :: Name
- Hydra.Cpp.Syntax: _PatternMatch :: Name
- Hydra.Cpp.Syntax: _PatternMatch_variant :: Name
- Hydra.Cpp.Syntax: _PatternMatch_visitor :: Name
- Hydra.Cpp.Syntax: _PointerMemberAccessOperation :: Name
- Hydra.Cpp.Syntax: _PointerMemberAccessOperation_member :: Name
- Hydra.Cpp.Syntax: _PointerMemberAccessOperation_pointer :: Name
- Hydra.Cpp.Syntax: _PostfixExpression :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_functionCall :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_memberAccess :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_pointerMemberAccess :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_postDecrement :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_postIncrement :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_primary :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_subscript :: Name
- Hydra.Cpp.Syntax: _PostfixExpression_templateFunctionCall :: Name
- Hydra.Cpp.Syntax: _PragmaDirective :: Name
- Hydra.Cpp.Syntax: _PragmaDirective_content :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_define :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_elif :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_else :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_endif :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_error :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_if :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_ifdef :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_ifndef :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_include :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_line :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_pragma :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_undef :: Name
- Hydra.Cpp.Syntax: _PreprocessorDirective_warning :: Name
- Hydra.Cpp.Syntax: _PrimaryExpression :: Name
- Hydra.Cpp.Syntax: _PrimaryExpression_identifier :: Name
- Hydra.Cpp.Syntax: _PrimaryExpression_lambda :: Name
- Hydra.Cpp.Syntax: _PrimaryExpression_literal :: Name
- Hydra.Cpp.Syntax: _PrimaryExpression_parenthesized :: Name
- Hydra.Cpp.Syntax: _ProductDeclaration :: Name
- Hydra.Cpp.Syntax: _ProductDeclaration_fields :: Name
- Hydra.Cpp.Syntax: _ProductDeclaration_name :: Name
- Hydra.Cpp.Syntax: _Program :: Name
- Hydra.Cpp.Syntax: _Program_declarations :: Name
- Hydra.Cpp.Syntax: _Program_includes :: Name
- Hydra.Cpp.Syntax: _Program_preprocessorDirectives :: Name
- Hydra.Cpp.Syntax: _QualifiedIdentifier :: Name
- Hydra.Cpp.Syntax: _QualifiedIdentifier_name :: Name
- Hydra.Cpp.Syntax: _QualifiedIdentifier_namespace :: Name
- Hydra.Cpp.Syntax: _QualifiedType :: Name
- Hydra.Cpp.Syntax: _QualifiedType_baseType :: Name
- Hydra.Cpp.Syntax: _QualifiedType_qualifier :: Name
- Hydra.Cpp.Syntax: _RangeForStatement :: Name
- Hydra.Cpp.Syntax: _RangeForStatement_body :: Name
- Hydra.Cpp.Syntax: _RangeForStatement_range :: Name
- Hydra.Cpp.Syntax: _RangeForStatement_type :: Name
- Hydra.Cpp.Syntax: _RangeForStatement_variable :: Name
- Hydra.Cpp.Syntax: _RelationalExpression :: Name
- Hydra.Cpp.Syntax: _RelationalExpression_greater :: Name
- Hydra.Cpp.Syntax: _RelationalExpression_greaterEqual :: Name
- Hydra.Cpp.Syntax: _RelationalExpression_less :: Name
- Hydra.Cpp.Syntax: _RelationalExpression_lessEqual :: Name
- Hydra.Cpp.Syntax: _RelationalExpression_shift :: Name
- Hydra.Cpp.Syntax: _RightShiftOperation :: Name
- Hydra.Cpp.Syntax: _RightShiftOperation_left :: Name
- Hydra.Cpp.Syntax: _RightShiftOperation_right :: Name
- Hydra.Cpp.Syntax: _SelectionStatement :: Name
- Hydra.Cpp.Syntax: _SelectionStatement_condition :: Name
- Hydra.Cpp.Syntax: _SelectionStatement_elseBranch :: Name
- Hydra.Cpp.Syntax: _SelectionStatement_thenBranch :: Name
- Hydra.Cpp.Syntax: _Set :: Name
- Hydra.Cpp.Syntax: _SetDeclaration :: Name
- Hydra.Cpp.Syntax: _SetDeclaration_elementType :: Name
- Hydra.Cpp.Syntax: _SetDeclaration_name :: Name
- Hydra.Cpp.Syntax: _Set_elementType :: Name
- Hydra.Cpp.Syntax: _Set_elements :: Name
- Hydra.Cpp.Syntax: _ShiftExpression :: Name
- Hydra.Cpp.Syntax: _ShiftExpression_additive :: Name
- Hydra.Cpp.Syntax: _ShiftExpression_leftShift :: Name
- Hydra.Cpp.Syntax: _ShiftExpression_rightShift :: Name
- Hydra.Cpp.Syntax: _SizeofExpression :: Name
- Hydra.Cpp.Syntax: _Statement :: Name
- Hydra.Cpp.Syntax: _Statement_compound :: Name
- Hydra.Cpp.Syntax: _Statement_declaration :: Name
- Hydra.Cpp.Syntax: _Statement_expression :: Name
- Hydra.Cpp.Syntax: _Statement_iteration :: Name
- Hydra.Cpp.Syntax: _Statement_jump :: Name
- Hydra.Cpp.Syntax: _Statement_labeled :: Name
- Hydra.Cpp.Syntax: _Statement_selection :: Name
- Hydra.Cpp.Syntax: _Statement_switch :: Name
- Hydra.Cpp.Syntax: _StringLiteral :: Name
- Hydra.Cpp.Syntax: _SubscriptOperation :: Name
- Hydra.Cpp.Syntax: _SubscriptOperation_array :: Name
- Hydra.Cpp.Syntax: _SubscriptOperation_index :: Name
- Hydra.Cpp.Syntax: _SubtractOperation :: Name
- Hydra.Cpp.Syntax: _SubtractOperation_left :: Name
- Hydra.Cpp.Syntax: _SubtractOperation_right :: Name
- Hydra.Cpp.Syntax: _SwitchStatement :: Name
- Hydra.Cpp.Syntax: _SwitchStatement_cases :: Name
- Hydra.Cpp.Syntax: _SwitchStatement_value :: Name
- Hydra.Cpp.Syntax: _TemplateArgument :: Name
- Hydra.Cpp.Syntax: _TemplateArgument_type :: Name
- Hydra.Cpp.Syntax: _TemplateArgument_value :: Name
- Hydra.Cpp.Syntax: _TemplateDeclaration :: Name
- Hydra.Cpp.Syntax: _TemplateDeclaration_declaration :: Name
- Hydra.Cpp.Syntax: _TemplateDeclaration_inline :: Name
- Hydra.Cpp.Syntax: _TemplateDeclaration_parameters :: Name
- Hydra.Cpp.Syntax: _TemplateFunctionCallOperation :: Name
- Hydra.Cpp.Syntax: _TemplateFunctionCallOperation_arguments :: Name
- Hydra.Cpp.Syntax: _TemplateFunctionCallOperation_function :: Name
- Hydra.Cpp.Syntax: _TemplateFunctionCallOperation_templateArguments :: Name
- Hydra.Cpp.Syntax: _TemplateType :: Name
- Hydra.Cpp.Syntax: _TemplateType_arguments :: Name
- Hydra.Cpp.Syntax: _TemplateType_name :: Name
- Hydra.Cpp.Syntax: _TernaryExpression :: Name
- Hydra.Cpp.Syntax: _TernaryExpression_condition :: Name
- Hydra.Cpp.Syntax: _TernaryExpression_falseExpr :: Name
- Hydra.Cpp.Syntax: _TernaryExpression_trueExpr :: Name
- Hydra.Cpp.Syntax: _TypeExpression :: Name
- Hydra.Cpp.Syntax: _TypeExpression_auto :: Name
- Hydra.Cpp.Syntax: _TypeExpression_basic :: Name
- Hydra.Cpp.Syntax: _TypeExpression_function :: Name
- Hydra.Cpp.Syntax: _TypeExpression_qualified :: Name
- Hydra.Cpp.Syntax: _TypeExpression_template :: Name
- Hydra.Cpp.Syntax: _TypeQualifier :: Name
- Hydra.Cpp.Syntax: _TypeQualifier_const :: Name
- Hydra.Cpp.Syntax: _TypeQualifier_lvalueRef :: Name
- Hydra.Cpp.Syntax: _TypeQualifier_pointer :: Name
- Hydra.Cpp.Syntax: _TypeQualifier_rvalueRef :: Name
- Hydra.Cpp.Syntax: _TypedefDeclaration :: Name
- Hydra.Cpp.Syntax: _TypedefDeclaration_isUsing :: Name
- Hydra.Cpp.Syntax: _TypedefDeclaration_name :: Name
- Hydra.Cpp.Syntax: _TypedefDeclaration_type :: Name
- Hydra.Cpp.Syntax: _UnaryExpression :: Name
- Hydra.Cpp.Syntax: _UnaryExpression_postfix :: Name
- Hydra.Cpp.Syntax: _UnaryExpression_sizeof :: Name
- Hydra.Cpp.Syntax: _UnaryExpression_unaryOp :: Name
- Hydra.Cpp.Syntax: _UnaryOperation :: Name
- Hydra.Cpp.Syntax: _UnaryOperation_operand :: Name
- Hydra.Cpp.Syntax: _UnaryOperation_operator :: Name
- Hydra.Cpp.Syntax: _UnaryOperator :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_addressOf :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_bitwiseNot :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_dereference :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_logicalNot :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_minus :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_plus :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_preDecrement :: Name
- Hydra.Cpp.Syntax: _UnaryOperator_preIncrement :: Name
- Hydra.Cpp.Syntax: _UndefDirective :: Name
- Hydra.Cpp.Syntax: _UndefDirective_name :: Name
- Hydra.Cpp.Syntax: _VariableDeclaration :: Name
- Hydra.Cpp.Syntax: _VariableDeclaration_initializer :: Name
- Hydra.Cpp.Syntax: _VariableDeclaration_isAuto :: Name
- Hydra.Cpp.Syntax: _VariableDeclaration_name :: Name
- Hydra.Cpp.Syntax: _VariableDeclaration_type :: Name
- Hydra.Cpp.Syntax: _VariantDeclaration :: Name
- Hydra.Cpp.Syntax: _VariantDeclaration_name :: Name
- Hydra.Cpp.Syntax: _VariantDeclaration_types :: Name
- Hydra.Cpp.Syntax: _Vector :: Name
- Hydra.Cpp.Syntax: _Vector_elementType :: Name
- Hydra.Cpp.Syntax: _Vector_elements :: Name
- Hydra.Cpp.Syntax: _Visitor :: Name
- Hydra.Cpp.Syntax: _Visitor_lambda :: Name
- Hydra.Cpp.Syntax: _Visitor_overloaded :: Name
- Hydra.Cpp.Syntax: _WarningDirective :: Name
- Hydra.Cpp.Syntax: _WarningDirective_message :: Name
- Hydra.Cpp.Syntax: _WhileStatement :: Name
- Hydra.Cpp.Syntax: _WhileStatement_body :: Name
- Hydra.Cpp.Syntax: _WhileStatement_condition :: Name
- Hydra.Cpp.Syntax: data AccessSpecifier
- Hydra.Cpp.Syntax: data AddOperation
- Hydra.Cpp.Syntax: data AdditiveExpression
- Hydra.Cpp.Syntax: data AndExpression
- Hydra.Cpp.Syntax: data AssignmentExpression
- Hydra.Cpp.Syntax: data AssignmentOperator
- Hydra.Cpp.Syntax: data BaseSpecifier
- Hydra.Cpp.Syntax: data BasicType
- Hydra.Cpp.Syntax: data BinaryOperator
- Hydra.Cpp.Syntax: data BitwiseAndOperation
- Hydra.Cpp.Syntax: data BitwiseOrOperation
- Hydra.Cpp.Syntax: data BitwiseXorOperation
- Hydra.Cpp.Syntax: data Capture
- Hydra.Cpp.Syntax: data CaptureList
- Hydra.Cpp.Syntax: data CaseStatement
- Hydra.Cpp.Syntax: data CaseValue
- Hydra.Cpp.Syntax: data ClassDeclaration
- Hydra.Cpp.Syntax: data ClassKey
- Hydra.Cpp.Syntax: data ClassSpecifier
- Hydra.Cpp.Syntax: data CommaExpression
- Hydra.Cpp.Syntax: data Comment
- Hydra.Cpp.Syntax: data ConditionalExpression
- Hydra.Cpp.Syntax: data ConstructorDeclaration
- Hydra.Cpp.Syntax: data ContainerDeclaration
- Hydra.Cpp.Syntax: data Declaration
- Hydra.Cpp.Syntax: data DefineDirective
- Hydra.Cpp.Syntax: data DestructorDeclaration
- Hydra.Cpp.Syntax: data DivideOperation
- Hydra.Cpp.Syntax: data DoStatement
- Hydra.Cpp.Syntax: data ElifDirective
- Hydra.Cpp.Syntax: data EqualOperation
- Hydra.Cpp.Syntax: data EqualityExpression
- Hydra.Cpp.Syntax: data ErrorDirective
- Hydra.Cpp.Syntax: data ExclusiveOrExpression
- Hydra.Cpp.Syntax: data ExplicitAssignment
- Hydra.Cpp.Syntax: data Expression
- Hydra.Cpp.Syntax: data ForInit
- Hydra.Cpp.Syntax: data ForStatement
- Hydra.Cpp.Syntax: data FunctionApplication
- Hydra.Cpp.Syntax: data FunctionBody
- Hydra.Cpp.Syntax: data FunctionCallOperation
- Hydra.Cpp.Syntax: data FunctionDeclaration
- Hydra.Cpp.Syntax: data FunctionIdentifier
- Hydra.Cpp.Syntax: data FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: data FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: data FunctionType
- Hydra.Cpp.Syntax: data GreaterEqualOperation
- Hydra.Cpp.Syntax: data GreaterOperation
- Hydra.Cpp.Syntax: data IfDirective
- Hydra.Cpp.Syntax: data IfdefDirective
- Hydra.Cpp.Syntax: data IfndefDirective
- Hydra.Cpp.Syntax: data IncludeDirective
- Hydra.Cpp.Syntax: data InclusiveOrExpression
- Hydra.Cpp.Syntax: data IntegerLiteral
- Hydra.Cpp.Syntax: data IterationStatement
- Hydra.Cpp.Syntax: data JumpStatement
- Hydra.Cpp.Syntax: data LabeledStatement
- Hydra.Cpp.Syntax: data LambdaExpression
- Hydra.Cpp.Syntax: data LeftShiftOperation
- Hydra.Cpp.Syntax: data LessEqualOperation
- Hydra.Cpp.Syntax: data LessOperation
- Hydra.Cpp.Syntax: data LineDirective
- Hydra.Cpp.Syntax: data ListDeclaration
- Hydra.Cpp.Syntax: data Literal
- Hydra.Cpp.Syntax: data LogicalAndExpression
- Hydra.Cpp.Syntax: data LogicalAndOperation
- Hydra.Cpp.Syntax: data LogicalOrExpression
- Hydra.Cpp.Syntax: data LogicalOrOperation
- Hydra.Cpp.Syntax: data Map
- Hydra.Cpp.Syntax: data MapDeclaration
- Hydra.Cpp.Syntax: data MapEntry
- Hydra.Cpp.Syntax: data MemInitializer
- Hydra.Cpp.Syntax: data MemberAccessOperation
- Hydra.Cpp.Syntax: data MemberDeclaration
- Hydra.Cpp.Syntax: data MemberSpecification
- Hydra.Cpp.Syntax: data ModuloOperation
- Hydra.Cpp.Syntax: data MultiplicativeExpression
- Hydra.Cpp.Syntax: data MultiplyOperation
- Hydra.Cpp.Syntax: data NamespaceDeclaration
- Hydra.Cpp.Syntax: data NotEqualOperation
- Hydra.Cpp.Syntax: data Optional
- Hydra.Cpp.Syntax: data OptionalDeclaration
- Hydra.Cpp.Syntax: data Parameter
- Hydra.Cpp.Syntax: data PatternMatch
- Hydra.Cpp.Syntax: data PointerMemberAccessOperation
- Hydra.Cpp.Syntax: data PostfixExpression
- Hydra.Cpp.Syntax: data PragmaDirective
- Hydra.Cpp.Syntax: data PreprocessorDirective
- Hydra.Cpp.Syntax: data PrimaryExpression
- Hydra.Cpp.Syntax: data ProductDeclaration
- Hydra.Cpp.Syntax: data Program
- Hydra.Cpp.Syntax: data QualifiedIdentifier
- Hydra.Cpp.Syntax: data QualifiedType
- Hydra.Cpp.Syntax: data RangeForStatement
- Hydra.Cpp.Syntax: data RelationalExpression
- Hydra.Cpp.Syntax: data RightShiftOperation
- Hydra.Cpp.Syntax: data SelectionStatement
- Hydra.Cpp.Syntax: data Set
- Hydra.Cpp.Syntax: data SetDeclaration
- Hydra.Cpp.Syntax: data ShiftExpression
- Hydra.Cpp.Syntax: data Statement
- Hydra.Cpp.Syntax: data SubscriptOperation
- Hydra.Cpp.Syntax: data SubtractOperation
- Hydra.Cpp.Syntax: data SwitchStatement
- Hydra.Cpp.Syntax: data TemplateArgument
- Hydra.Cpp.Syntax: data TemplateDeclaration
- Hydra.Cpp.Syntax: data TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: data TemplateType
- Hydra.Cpp.Syntax: data TernaryExpression
- Hydra.Cpp.Syntax: data TypeExpression
- Hydra.Cpp.Syntax: data TypeQualifier
- Hydra.Cpp.Syntax: data TypedefDeclaration
- Hydra.Cpp.Syntax: data UnaryExpression
- Hydra.Cpp.Syntax: data UnaryOperation
- Hydra.Cpp.Syntax: data UnaryOperator
- Hydra.Cpp.Syntax: data UndefDirective
- Hydra.Cpp.Syntax: data VariableDeclaration
- Hydra.Cpp.Syntax: data VariantDeclaration
- Hydra.Cpp.Syntax: data Vector
- Hydra.Cpp.Syntax: data Visitor
- Hydra.Cpp.Syntax: data WarningDirective
- Hydra.Cpp.Syntax: data WhileStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AccessSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AddOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AdditiveExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AndExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AssignmentExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.AssignmentOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BaseSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BasicType
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BinaryOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BitwiseAndOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BitwiseOrOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BitwiseXorOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.BooleanLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Capture
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CaptureList
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CaseStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CaseValue
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CharacterLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ClassBody
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ClassDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ClassKey
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ClassSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CommaExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Comment
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.CompoundStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ConditionalExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ConstructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ContainerDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Declaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.DefineDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.DestructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.DivideOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.DoStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ElifDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.EqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.EqualityExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ErrorDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ExclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ExplicitAssignment
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Expression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ExpressionStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FloatingLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ForInit
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ForStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionApplication
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionBody
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionIdentifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.FunctionType
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.GreaterEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.GreaterOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IfDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IfdefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IfndefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IncludeDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.InclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IntegerLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.IterationStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.JumpStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LabeledStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LambdaExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LeftShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LessEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LineDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ListDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Literal
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LogicalAndExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LogicalAndOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LogicalOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.LogicalOrOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Map
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MapDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MapEntry
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MemInitializer
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MemberDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MemberSpecification
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ModuloOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MultiplicativeExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.MultiplyOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.NamespaceDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.NotEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Optional
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.OptionalDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.OverloadedLambdas
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Parameter
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PatternMatch
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PointerMemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PostfixExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PragmaDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PreprocessorDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.PrimaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ProductDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Program
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.QualifiedIdentifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.QualifiedType
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.RangeForStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.RelationalExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.RightShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SelectionStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Set
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SetDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.ShiftExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SizeofExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Statement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.StringLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SubscriptOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SubtractOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.SwitchStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TemplateArgument
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TemplateDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TemplateType
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TernaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TypeExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TypeQualifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.TypedefDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.UnaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.UnaryOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.UnaryOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.UndefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.VariableDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.VariantDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Vector
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.Visitor
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.WarningDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Cpp.Syntax.WhileStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AccessSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AddOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AdditiveExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AndExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AssignmentExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.AssignmentOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BaseSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BasicType
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BinaryOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BitwiseAndOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BitwiseOrOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BitwiseXorOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.BooleanLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Capture
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CaptureList
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CaseStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CaseValue
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CharacterLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ClassBody
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ClassDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ClassKey
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ClassSpecifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CommaExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Comment
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.CompoundStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ConditionalExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ConstructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ContainerDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Declaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.DefineDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.DestructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.DivideOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.DoStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ElifDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.EqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.EqualityExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ErrorDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ExclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ExplicitAssignment
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Expression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ExpressionStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FloatingLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ForInit
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ForStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionApplication
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionBody
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionIdentifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.FunctionType
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.GreaterEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.GreaterOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IfDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IfdefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IfndefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IncludeDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.InclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IntegerLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.IterationStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.JumpStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LabeledStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LambdaExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LeftShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LessEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LineDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ListDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Literal
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LogicalAndExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LogicalAndOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LogicalOrExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.LogicalOrOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Map
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MapDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MapEntry
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MemInitializer
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MemberDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MemberSpecification
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ModuloOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MultiplicativeExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.MultiplyOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.NamespaceDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.NotEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Optional
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.OptionalDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.OverloadedLambdas
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Parameter
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PatternMatch
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PointerMemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PostfixExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PragmaDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PreprocessorDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.PrimaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ProductDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Program
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.QualifiedIdentifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.QualifiedType
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.RangeForStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.RelationalExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.RightShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SelectionStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Set
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SetDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.ShiftExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SizeofExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Statement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.StringLiteral
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SubscriptOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SubtractOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.SwitchStatement
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TemplateArgument
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TemplateDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TemplateType
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TernaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TypeExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TypeQualifier
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.TypedefDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.UnaryExpression
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.UnaryOperation
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.UnaryOperator
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.UndefDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.VariableDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.VariantDeclaration
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Vector
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.Visitor
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.WarningDirective
- Hydra.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Cpp.Syntax.WhileStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AccessSpecifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AddOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AdditiveExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AndExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AssignmentExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.AssignmentOperator
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BaseSpecifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BasicType
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BinaryOperator
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BitwiseAndOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BitwiseOrOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BitwiseXorOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.BooleanLiteral
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Capture
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CaptureList
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CaseStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CaseValue
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CharacterLiteral
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ClassBody
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ClassDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ClassKey
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ClassSpecifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CommaExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Comment
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.CompoundStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ConditionalExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ConstructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ContainerDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Declaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.DefineDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.DestructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.DivideOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.DoStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ElifDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.EqualOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.EqualityExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ErrorDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ExclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ExplicitAssignment
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Expression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ExpressionStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FloatingLiteral
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ForInit
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ForStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionApplication
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionBody
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionIdentifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.FunctionType
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.GreaterEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.GreaterOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IfDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IfdefDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IfndefDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IncludeDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.InclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IntegerLiteral
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.IterationStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.JumpStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LabeledStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LambdaExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LeftShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LessEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LessOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LineDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ListDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Literal
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LogicalAndExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LogicalAndOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LogicalOrExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.LogicalOrOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Map
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MapDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MapEntry
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MemInitializer
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MemberDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MemberSpecification
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ModuloOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MultiplicativeExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.MultiplyOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.NamespaceDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.NotEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Optional
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.OptionalDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.OverloadedLambdas
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Parameter
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PatternMatch
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PointerMemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PostfixExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PragmaDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PreprocessorDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.PrimaryExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ProductDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Program
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.QualifiedIdentifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.QualifiedType
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.RangeForStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.RelationalExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.RightShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SelectionStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Set
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SetDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.ShiftExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SizeofExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Statement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.StringLiteral
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SubscriptOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SubtractOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.SwitchStatement
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TemplateArgument
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TemplateDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TemplateType
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TernaryExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TypeExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TypeQualifier
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.TypedefDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.UnaryExpression
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.UnaryOperation
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.UnaryOperator
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.UndefDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.VariableDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.VariantDeclaration
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Vector
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.Visitor
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.WarningDirective
- Hydra.Cpp.Syntax: instance GHC.Read.Read Hydra.Cpp.Syntax.WhileStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AccessSpecifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AddOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AdditiveExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AndExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AssignmentExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.AssignmentOperator
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BaseSpecifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BasicType
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BinaryOperator
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BitwiseAndOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BitwiseOrOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BitwiseXorOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.BooleanLiteral
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Capture
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CaptureList
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CaseStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CaseValue
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CharacterLiteral
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ClassBody
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ClassDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ClassKey
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ClassSpecifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CommaExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Comment
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.CompoundStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ConditionalExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ConstructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ContainerDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Declaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.DefineDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.DestructorDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.DivideOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.DoStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ElifDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.EqualOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.EqualityExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ErrorDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ExclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ExplicitAssignment
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Expression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ExpressionStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FloatingLiteral
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ForInit
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ForStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionApplication
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionBody
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionIdentifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionSpecifierPrefix
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionSpecifierSuffix
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.FunctionType
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.GreaterEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.GreaterOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IfDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IfdefDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IfndefDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IncludeDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.InclusiveOrExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IntegerLiteral
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.IterationStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.JumpStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LabeledStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LambdaExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LeftShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LessEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LessOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LineDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ListDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Literal
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LogicalAndExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LogicalAndOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LogicalOrExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.LogicalOrOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Map
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MapDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MapEntry
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MemInitializer
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MemberDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MemberSpecification
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ModuloOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MultiplicativeExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.MultiplyOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.NamespaceDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.NotEqualOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Optional
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.OptionalDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.OverloadedLambdas
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Parameter
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PatternMatch
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PointerMemberAccessOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PostfixExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PragmaDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PreprocessorDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.PrimaryExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ProductDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Program
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.QualifiedIdentifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.QualifiedType
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.RangeForStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.RelationalExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.RightShiftOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SelectionStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Set
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SetDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.ShiftExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SizeofExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Statement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.StringLiteral
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SubscriptOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SubtractOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.SwitchStatement
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TemplateArgument
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TemplateDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TemplateFunctionCallOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TemplateType
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TernaryExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TypeExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TypeQualifier
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.TypedefDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.UnaryExpression
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.UnaryOperation
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.UnaryOperator
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.UndefDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.VariableDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.VariantDeclaration
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Vector
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.Visitor
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.WarningDirective
- Hydra.Cpp.Syntax: instance GHC.Show.Show Hydra.Cpp.Syntax.WhileStatement
- Hydra.Cpp.Syntax: newtype BooleanLiteral
- Hydra.Cpp.Syntax: newtype CharacterLiteral
- Hydra.Cpp.Syntax: newtype ClassBody
- Hydra.Cpp.Syntax: newtype CompoundStatement
- Hydra.Cpp.Syntax: newtype ExpressionStatement
- Hydra.Cpp.Syntax: newtype FloatingLiteral
- Hydra.Cpp.Syntax: newtype OverloadedLambdas
- Hydra.Cpp.Syntax: newtype SizeofExpression
- Hydra.Cpp.Syntax: newtype StringLiteral
- Hydra.Cpp.Syntax: type ElseDirective = ()
- Hydra.Cpp.Syntax: type EndifDirective = ()
- Hydra.Cpp.Syntax: type Identifier = String
- Hydra.Cpp.Utils: constParameter :: String -> TypeExpression -> Parameter
- Hydra.Cpp.Utils: cppClassDeclaration :: String -> [BaseSpecifier] -> Maybe ClassBody -> Declaration
- Hydra.Cpp.Utils: cppEnumDeclaration :: String -> Maybe ClassBody -> Declaration
- Hydra.Cpp.Utils: cppEnumForwardDeclaration :: String -> Declaration
- Hydra.Cpp.Utils: cppPostfixExpressionToCppExpression :: PostfixExpression -> Expression
- Hydra.Cpp.Utils: cppPrimaryExpressionToCppExpression :: PrimaryExpression -> Expression
- Hydra.Cpp.Utils: cppUnaryExpressionToCppExpression :: UnaryExpression -> Expression
- Hydra.Cpp.Utils: cppUnaryExpressionToCppLogicalOrExpression :: UnaryExpression -> LogicalOrExpression
- Hydra.Cpp.Utils: createCastExpr :: t0 -> Expression -> Expression
- Hydra.Cpp.Utils: createCompoundStmt :: [Statement] -> CompoundStatement
- Hydra.Cpp.Utils: createConstRefType :: TypeExpression -> TypeExpression
- Hydra.Cpp.Utils: createConstType :: TypeExpression -> TypeExpression
- Hydra.Cpp.Utils: createConstructorBody :: [t0] -> FunctionBody
- Hydra.Cpp.Utils: createEnumAccessExpr :: String -> String -> Expression
- Hydra.Cpp.Utils: createFunctionCallExpr :: String -> [Expression] -> Expression
- Hydra.Cpp.Utils: createHeaderFile :: [IncludeDirective] -> [Declaration] -> Program
- Hydra.Cpp.Utils: createIdentifierExpr :: String -> Expression
- Hydra.Cpp.Utils: createLambdaExpr :: [Parameter] -> Expression -> Expression
- Hydra.Cpp.Utils: createLiteralBoolExpr :: Bool -> Expression
- Hydra.Cpp.Utils: createLiteralIntExpr :: Integer -> Expression
- Hydra.Cpp.Utils: createLiteralStringExpr :: String -> Expression
- Hydra.Cpp.Utils: createMemberAccessExpr :: Expression -> String -> Expression
- Hydra.Cpp.Utils: createQualifiedType :: TypeExpression -> TypeQualifier -> TypeExpression
- Hydra.Cpp.Utils: createReferenceType :: TypeExpression -> TypeExpression
- Hydra.Cpp.Utils: createReturnStmt :: Expression -> Statement
- Hydra.Cpp.Utils: createReturnVoidStmt :: Statement
- Hydra.Cpp.Utils: createTemplateType :: String -> [TypeExpression] -> TypeExpression
- Hydra.Cpp.Utils: createThisExpr :: Expression
- Hydra.Cpp.Utils: createThrowStmt :: String -> Expression -> Statement
- Hydra.Cpp.Utils: createTypeIdNameCall :: Expression
- Hydra.Cpp.Utils: createTypeNameExpr :: String -> Expression
- Hydra.Cpp.Utils: createVariantExpr :: Expression
- Hydra.Cpp.Utils: emptyFunctionBody :: FunctionBody
- Hydra.Cpp.Utils: extractPostfixExpression :: Expression -> PostfixExpression
- Hydra.Cpp.Utils: memberSpecificationProtected :: MemberSpecification
- Hydra.Cpp.Utils: memberSpecificationPublic :: MemberSpecification
- Hydra.Cpp.Utils: stringExpression :: String -> Expression
- Hydra.Cpp.Utils: toConstType :: TypeExpression -> TypeExpression
- Hydra.Cpp.Utils: unnamedParameter :: String -> TypeExpression -> Parameter
- Hydra.Csharp.Language: csharpLanguage :: Language
- Hydra.Csharp.Language: csharpReservedWords :: Set String
- Hydra.Csharp.Syntax: AccessorBodyBlock :: Block -> AccessorBody
- Hydra.Csharp.Syntax: AccessorBodyEmpty :: AccessorBody
- Hydra.Csharp.Syntax: AccessorBodyExpression :: Expression -> AccessorBody
- Hydra.Csharp.Syntax: AccessorDeclaration :: Maybe Attributes -> Maybe AccessorModifier -> AccessorBody -> AccessorDeclaration
- Hydra.Csharp.Syntax: AccessorDeclarationsGet :: Maybe AccessorDeclaration -> AccessorDeclarations
- Hydra.Csharp.Syntax: AccessorDeclarationsSet :: Maybe AccessorDeclaration -> AccessorDeclarations
- Hydra.Csharp.Syntax: AccessorModifierInternal :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierInternalProtected :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierPrivate :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierPrivateProtected :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierProtected :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierProtectedInternal :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorModifierProtectedPrivate :: AccessorModifier
- Hydra.Csharp.Syntax: AccessorsEventDeclaration :: Maybe Attributes -> [EventModifier] -> Type -> MemberName -> EventAccessorDeclarations -> AccessorsEventDeclaration
- Hydra.Csharp.Syntax: AddRemoveAccessorDeclaration :: Maybe Attributes -> Block -> AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: AdditiveExpressionBinary :: BinaryAdditiveExpression -> AdditiveExpression
- Hydra.Csharp.Syntax: AdditiveExpressionSimple :: MultiplicativeExpression -> AdditiveExpression
- Hydra.Csharp.Syntax: AdditiveOperatorMinus :: AdditiveOperator
- Hydra.Csharp.Syntax: AdditiveOperatorPlus :: AdditiveOperator
- Hydra.Csharp.Syntax: AndExpressionBinary :: BinaryAndExpression -> AndExpression
- Hydra.Csharp.Syntax: AndExpressionSimple :: EqualityExpression -> AndExpression
- Hydra.Csharp.Syntax: AnonymousFunctionBodyBlock :: Block -> AnonymousFunctionBody
- Hydra.Csharp.Syntax: AnonymousFunctionBodyExpression :: Expression -> AnonymousFunctionBody
- Hydra.Csharp.Syntax: AnonymousFunctionBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> AnonymousFunctionBody
- Hydra.Csharp.Syntax: AnonymousFunctionBodyRef :: VariableReference -> AnonymousFunctionBody
- Hydra.Csharp.Syntax: AnonymousFunctionParameterModifierIn :: AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: AnonymousFunctionParameterModifierOut :: AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: AnonymousFunctionParameterModifierRef :: AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: AnonymousFunctionSignatureExplicit :: [ExplicitAnonymousFunctionParameter] -> AnonymousFunctionSignature
- Hydra.Csharp.Syntax: AnonymousFunctionSignatureImplicit :: [Identifier] -> AnonymousFunctionSignature
- Hydra.Csharp.Syntax: AnonymousMethodExpression :: Bool -> [ExplicitAnonymousFunctionParameter] -> Block -> AnonymousMethodExpression
- Hydra.Csharp.Syntax: Argument :: Maybe Identifier -> ArgumentValue -> Argument
- Hydra.Csharp.Syntax: ArgumentList :: [Argument] -> ArgumentList
- Hydra.Csharp.Syntax: ArgumentValueExpression :: Expression -> ArgumentValue
- Hydra.Csharp.Syntax: ArgumentValueIn :: VariableReference -> ArgumentValue
- Hydra.Csharp.Syntax: ArgumentValueOut :: VariableReference -> ArgumentValue
- Hydra.Csharp.Syntax: ArgumentValueRef :: VariableReference -> ArgumentValue
- Hydra.Csharp.Syntax: ArrayCreationExpressionArrayType :: ArrayTypeArrayCreationExpression -> ArrayCreationExpression
- Hydra.Csharp.Syntax: ArrayCreationExpressionNonArrayType :: NonArrayTypeArrayCreationExpression -> ArrayCreationExpression
- Hydra.Csharp.Syntax: ArrayCreationExpressionRankSpecifier :: RankSpecifierArrayCreationExpression -> ArrayCreationExpression
- Hydra.Csharp.Syntax: ArrayInitializer :: [VariableInitializer] -> ArrayInitializer
- Hydra.Csharp.Syntax: ArrayType :: NonArrayType -> [RankSpecifier] -> ArrayType
- Hydra.Csharp.Syntax: ArrayTypeArrayCreationExpression :: ArrayType -> ArrayInitializer -> ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: AsTypeExpression :: RelationalExpression -> Type -> AsTypeExpression
- Hydra.Csharp.Syntax: Assignment :: UnaryExpression -> AssignmentOperator -> Expression -> Assignment
- Hydra.Csharp.Syntax: AssignmentMemberDeclarator :: Identifier -> Expression -> AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: AssignmentOperatorAndEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorDivideEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorLeftShiftEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorMinusEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorModEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorOrEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorPlusEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorRightShiftEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorSimple :: Bool -> AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorTimesEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: AssignmentOperatorXorEquals :: AssignmentOperator
- Hydra.Csharp.Syntax: Attribute :: AttributeName -> Maybe AttributeArguments -> Attribute
- Hydra.Csharp.Syntax: AttributeArgumentExpression :: NonAssignmentExpression -> AttributeArgumentExpression
- Hydra.Csharp.Syntax: AttributeArguments :: Maybe PositionalArgumentList -> Maybe NamedArgumentList -> AttributeArguments
- Hydra.Csharp.Syntax: AttributeList :: [Attribute] -> AttributeList
- Hydra.Csharp.Syntax: AttributeName :: TypeName -> AttributeName
- Hydra.Csharp.Syntax: AttributeSection :: Maybe AttributeTarget -> AttributeList -> AttributeSection
- Hydra.Csharp.Syntax: AttributeTargetIdentifier :: Identifier -> AttributeTarget
- Hydra.Csharp.Syntax: AttributeTargetKeyword :: Keyword -> AttributeTarget
- Hydra.Csharp.Syntax: Attributes :: [AttributeSection] -> Attributes
- Hydra.Csharp.Syntax: BaseAccessArguments :: ArgumentList -> BaseAccess
- Hydra.Csharp.Syntax: BaseAccessIdentifier :: BaseAccessWithIdentifier -> BaseAccess
- Hydra.Csharp.Syntax: BaseAccessWithIdentifier :: Identifier -> Maybe TypeArgumentList -> BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: BinaryAdditiveExpression :: AdditiveExpression -> AdditiveOperator -> MultiplicativeExpression -> BinaryAdditiveExpression
- Hydra.Csharp.Syntax: BinaryAndExpression :: AndExpression -> EqualityExpression -> BinaryAndExpression
- Hydra.Csharp.Syntax: BinaryConditionalAndExpression :: ConditionalAndExpression -> InclusiveOrExpression -> BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: BinaryConditionalOrExpression :: ConditionalOrExpression -> ConditionalAndExpression -> BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: BinaryEqualityExpression :: EqualityExpression -> EqualityOperator -> RelationalExpression -> BinaryEqualityExpression
- Hydra.Csharp.Syntax: BinaryExclusiveOrExpression :: ExclusiveOrExpression -> AndExpression -> BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: BinaryInclusiveOrExpression :: InclusiveOrExpression -> ExclusiveOrExpression -> BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: BinaryMultiplicativeExpression :: MultiplicativeExpression -> MultiplicativeOperator -> UnaryExpression -> BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: BinaryNullCoalescingExpression :: ConditionalOrExpression -> NullCoalescingExpression -> BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: BinaryOperatorDeclarator :: Type -> OverloadableBinaryOperator -> FixedParameter -> FixedParameter -> BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: BinaryRelationalExpression :: RelationalExpression -> RelationalOperator -> ShiftExpression -> BinaryRelationalExpression
- Hydra.Csharp.Syntax: BinaryShiftExpression :: ShiftExpression -> ShiftOperator -> AdditiveExpression -> BinaryShiftExpression
- Hydra.Csharp.Syntax: Block :: [Statement] -> Block
- Hydra.Csharp.Syntax: BlockPropertyBody :: AccessorDeclarations -> Maybe VariableInitializer -> BlockPropertyBody
- Hydra.Csharp.Syntax: BooleanExpression :: Expression -> BooleanExpression
- Hydra.Csharp.Syntax: CastExpression :: Type -> UnaryExpression -> CastExpression
- Hydra.Csharp.Syntax: CatchClausesGeneral :: Block -> CatchClauses
- Hydra.Csharp.Syntax: CatchClausesSpecific :: [SpecificCatchClause] -> CatchClauses
- Hydra.Csharp.Syntax: ClassBaseClass :: Maybe ClassType -> ClassBase
- Hydra.Csharp.Syntax: ClassBaseInterfaces :: [InterfaceType] -> ClassBase
- Hydra.Csharp.Syntax: ClassBody :: [ClassMemberDeclaration] -> ClassBody
- Hydra.Csharp.Syntax: ClassDeclaration :: [AttributeSection] -> [ClassModifier] -> Bool -> Identifier -> Maybe TypeParameterList -> Maybe ClassBase -> [TypeParameterConstraintsClause] -> ClassBody -> ClassDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationConstant :: ConstantDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationConstructor :: ConstructorDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationEvent :: EventDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationField :: FieldDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationFinalizer :: FinalizerDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationIndexer :: IndexerDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationMethod :: MethodDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationOperator :: OperatorDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationProperty :: PropertyDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationStaticConstructor :: StaticConstructorDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassMemberDeclarationType :: TypeDeclaration -> ClassMemberDeclaration
- Hydra.Csharp.Syntax: ClassModifierAbstract :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierInternal :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierNew :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierPrivate :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierProtected :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierPublic :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierSealed :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierStatic :: ClassModifier
- Hydra.Csharp.Syntax: ClassModifierUnsafe :: ClassModifier
- Hydra.Csharp.Syntax: ClassTypeObject :: ClassType
- Hydra.Csharp.Syntax: ClassTypeString :: ClassType
- Hydra.Csharp.Syntax: ClassTypeTypeName :: TypeName -> ClassType
- Hydra.Csharp.Syntax: CompilationUnit :: [ExternAliasDirective] -> [UsingDirective] -> [GlobalAttributeSection] -> [NamespaceMemberDeclaration] -> CompilationUnit
- Hydra.Csharp.Syntax: ConditionalAndExpressionBinary :: BinaryConditionalAndExpression -> ConditionalAndExpression
- Hydra.Csharp.Syntax: ConditionalAndExpressionSimple :: InclusiveOrExpression -> ConditionalAndExpression
- Hydra.Csharp.Syntax: ConditionalExpressionRefConditional :: RefConditionalExpression -> ConditionalExpression
- Hydra.Csharp.Syntax: ConditionalExpressionSimple :: NullCoalescingExpression -> ConditionalExpression
- Hydra.Csharp.Syntax: ConditionalExpressionSimpleConditional :: SimpleConditionalExpression -> ConditionalExpression
- Hydra.Csharp.Syntax: ConditionalOrExpressionBinary :: BinaryConditionalOrExpression -> ConditionalOrExpression
- Hydra.Csharp.Syntax: ConditionalOrExpressionSimple :: ConditionalAndExpression -> ConditionalOrExpression
- Hydra.Csharp.Syntax: ConstantDeclaration :: Maybe Attributes -> [ConstantModifier] -> Type -> [ConstantDeclarator] -> ConstantDeclaration
- Hydra.Csharp.Syntax: ConstantDeclarator :: Identifier -> ConstantExpression -> ConstantDeclarator
- Hydra.Csharp.Syntax: ConstantExpression :: Expression -> ConstantExpression
- Hydra.Csharp.Syntax: ConstantModifierInternal :: ConstantModifier
- Hydra.Csharp.Syntax: ConstantModifierNew :: ConstantModifier
- Hydra.Csharp.Syntax: ConstantModifierPrivate :: ConstantModifier
- Hydra.Csharp.Syntax: ConstantModifierProtected :: ConstantModifier
- Hydra.Csharp.Syntax: ConstantModifierPublic :: ConstantModifier
- Hydra.Csharp.Syntax: ConstructorBodyBlock :: Block -> ConstructorBody
- Hydra.Csharp.Syntax: ConstructorBodyEmpty :: ConstructorBody
- Hydra.Csharp.Syntax: ConstructorBodyExpression :: Expression -> ConstructorBody
- Hydra.Csharp.Syntax: ConstructorDeclaration :: Maybe Attributes -> [ConstructorModifier] -> ConstructorDeclarator -> ConstructorBody -> ConstructorDeclaration
- Hydra.Csharp.Syntax: ConstructorDeclarator :: Identifier -> Maybe FormalParameterList -> Maybe ConstructorInitializer -> ConstructorDeclarator
- Hydra.Csharp.Syntax: ConstructorInitializerBase :: Maybe ArgumentList -> ConstructorInitializer
- Hydra.Csharp.Syntax: ConstructorInitializerThis :: Maybe ArgumentList -> ConstructorInitializer
- Hydra.Csharp.Syntax: ConstructorModifierExtern :: ConstructorModifier
- Hydra.Csharp.Syntax: ConstructorModifierInternal :: ConstructorModifier
- Hydra.Csharp.Syntax: ConstructorModifierPrivate :: ConstructorModifier
- Hydra.Csharp.Syntax: ConstructorModifierProtected :: ConstructorModifier
- Hydra.Csharp.Syntax: ConstructorModifierPublic :: ConstructorModifier
- Hydra.Csharp.Syntax: ConstructorModifierUnsafe :: ConstructorModifier
- Hydra.Csharp.Syntax: ConversionKindExplicit :: ConversionKind
- Hydra.Csharp.Syntax: ConversionKindImplicit :: ConversionKind
- Hydra.Csharp.Syntax: ConversionOperatorDeclarator :: ConversionKind -> Type -> FixedParameter -> ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: DeclarationExpression :: LocalVariableType -> Identifier -> DeclarationExpression
- Hydra.Csharp.Syntax: DeclarationPattern :: Type -> Designation -> DeclarationPattern
- Hydra.Csharp.Syntax: DeclarationStatementConstant :: LocalConstantDeclaration -> DeclarationStatement
- Hydra.Csharp.Syntax: DeclarationStatementFunction :: LocalFunctionDeclaration -> DeclarationStatement
- Hydra.Csharp.Syntax: DeclarationStatementVariable :: LocalVariableDeclaration -> DeclarationStatement
- Hydra.Csharp.Syntax: DeconstructionElementIdentifier :: Identifier -> DeconstructionElement
- Hydra.Csharp.Syntax: DeconstructionElementTuple :: DeconstructionTuple -> DeconstructionElement
- Hydra.Csharp.Syntax: DeconstructionTuple :: [DeconstructionElement] -> DeconstructionTuple
- Hydra.Csharp.Syntax: DefaultValueExpressionDefaultLiteral :: DefaultValueExpression
- Hydra.Csharp.Syntax: DefaultValueExpressionExplicitlyTyped :: Type -> DefaultValueExpression
- Hydra.Csharp.Syntax: DelegateCreationExpression :: DelegateType -> Expression -> DelegateCreationExpression
- Hydra.Csharp.Syntax: DelegateDeclaration :: Maybe Attributes -> [DelegateModifier] -> ReturnType -> Maybe RefKind -> Maybe Type -> DelegateHeader -> DelegateDeclaration
- Hydra.Csharp.Syntax: DelegateHeader :: Identifier -> Maybe VariantTypeParameters -> Maybe FormalParameterList -> [TypeParameterConstraintsClause] -> DelegateHeader
- Hydra.Csharp.Syntax: DelegateModifierInternal :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateModifierNew :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateModifierPrivate :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateModifierProtected :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateModifierPublic :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateModifierUnsafe :: DelegateModifier
- Hydra.Csharp.Syntax: DelegateType :: TypeName -> DelegateType
- Hydra.Csharp.Syntax: DependentAccessElementAccess :: ArgumentList -> DependentAccess
- Hydra.Csharp.Syntax: DependentAccessForMember :: Identifier -> Maybe TypeArgumentList -> DependentAccessForMember
- Hydra.Csharp.Syntax: DependentAccessInvocation :: Maybe ArgumentList -> DependentAccess
- Hydra.Csharp.Syntax: DependentAccessMemberAccess :: DependentAccessForMember -> DependentAccess
- Hydra.Csharp.Syntax: Designation :: Identifier -> Designation
- Hydra.Csharp.Syntax: DoStatement :: EmbeddedStatement -> BooleanExpression -> DoStatement
- Hydra.Csharp.Syntax: ElementAccess :: PrimaryNoArrayCreationExpression -> ArgumentList -> ElementAccess
- Hydra.Csharp.Syntax: ElementInitializerList :: ExpressionList -> ElementInitializer
- Hydra.Csharp.Syntax: ElementInitializerSingle :: NonAssignmentExpression -> ElementInitializer
- Hydra.Csharp.Syntax: EmbeddedStatementBlock :: Block -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementChecked :: Block -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementEmpty :: EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementExpression :: StatementExpression -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementFixed :: FixedStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementIteration :: IterationStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementJump :: JumpStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementLock :: LockStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementSelection :: SelectionStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementTry :: TryStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementUnchecked :: Block -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementUnsafe :: Block -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementUsing :: UsingStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EmbeddedStatementYield :: YieldStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: EnumBaseName :: TypeName -> EnumBase
- Hydra.Csharp.Syntax: EnumBaseType :: IntegralType -> EnumBase
- Hydra.Csharp.Syntax: EnumBody :: [EnumMemberDeclaration] -> EnumBody
- Hydra.Csharp.Syntax: EnumDeclaration :: Maybe Attributes -> [EnumModifier] -> Identifier -> Maybe EnumBase -> Maybe EnumBody -> EnumDeclaration
- Hydra.Csharp.Syntax: EnumMemberDeclaration :: Maybe Attributes -> Identifier -> Maybe ConstantExpression -> EnumMemberDeclaration
- Hydra.Csharp.Syntax: EnumModifierInternal :: EnumModifier
- Hydra.Csharp.Syntax: EnumModifierNew :: EnumModifier
- Hydra.Csharp.Syntax: EnumModifierPrivate :: EnumModifier
- Hydra.Csharp.Syntax: EnumModifierProtected :: EnumModifier
- Hydra.Csharp.Syntax: EnumModifierPublic :: EnumModifier
- Hydra.Csharp.Syntax: EnumType :: TypeName -> EnumType
- Hydra.Csharp.Syntax: EqualityExpressionBinary :: BinaryEqualityExpression -> EqualityExpression
- Hydra.Csharp.Syntax: EqualityExpressionSimple :: RelationalExpression -> EqualityExpression
- Hydra.Csharp.Syntax: EqualityOperatorEqual :: EqualityOperator
- Hydra.Csharp.Syntax: EqualityOperatorNotEqual :: EqualityOperator
- Hydra.Csharp.Syntax: EventAccessorDeclarationsAdd :: AddRemoveAccessorDeclaration -> EventAccessorDeclarations
- Hydra.Csharp.Syntax: EventAccessorDeclarationsRemove :: AddRemoveAccessorDeclaration -> EventAccessorDeclarations
- Hydra.Csharp.Syntax: EventDeclarationAccessors :: AccessorsEventDeclaration -> EventDeclaration
- Hydra.Csharp.Syntax: EventDeclarationStandard :: StandardEventDeclaration -> EventDeclaration
- Hydra.Csharp.Syntax: EventModifierAbstract :: EventModifier
- Hydra.Csharp.Syntax: EventModifierExtern :: EventModifier
- Hydra.Csharp.Syntax: EventModifierInternal :: EventModifier
- Hydra.Csharp.Syntax: EventModifierNew :: EventModifier
- Hydra.Csharp.Syntax: EventModifierOverride :: EventModifier
- Hydra.Csharp.Syntax: EventModifierPrivate :: EventModifier
- Hydra.Csharp.Syntax: EventModifierProtected :: EventModifier
- Hydra.Csharp.Syntax: EventModifierPublic :: EventModifier
- Hydra.Csharp.Syntax: EventModifierSealed :: EventModifier
- Hydra.Csharp.Syntax: EventModifierStatic :: EventModifier
- Hydra.Csharp.Syntax: EventModifierUnsafe :: EventModifier
- Hydra.Csharp.Syntax: EventModifierVirtual :: EventModifier
- Hydra.Csharp.Syntax: ExceptionSpecifier :: Type -> Maybe Identifier -> ExceptionSpecifier
- Hydra.Csharp.Syntax: ExclusiveOrExpressionBinary :: BinaryExclusiveOrExpression -> ExclusiveOrExpression
- Hydra.Csharp.Syntax: ExclusiveOrExpressionSimple :: AndExpression -> ExclusiveOrExpression
- Hydra.Csharp.Syntax: ExplicitAnonymousFunctionParameter :: Maybe AnonymousFunctionParameterModifier -> Type -> Identifier -> ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: ExplicitlyTypedLocalVariableDeclaration :: Type -> [ExplicitlyTypedLocalVariableDeclarator] -> ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: ExplicitlyTypedLocalVariableDeclarator :: Identifier -> Maybe LocalVariableInitializer -> ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: ExpressionAssignment :: Assignment -> Expression
- Hydra.Csharp.Syntax: ExpressionList :: [Expression] -> ExpressionList
- Hydra.Csharp.Syntax: ExpressionNonAssignment :: NonAssignmentExpression -> Expression
- Hydra.Csharp.Syntax: ExternAliasDirective :: Identifier -> ExternAliasDirective
- Hydra.Csharp.Syntax: FieldDeclaration :: Maybe Attributes -> [FieldModifier] -> Type -> [VariableDeclarator] -> FieldDeclaration
- Hydra.Csharp.Syntax: FieldModifierInternal :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierNew :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierPrivate :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierProtected :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierPublic :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierReadonly :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierStatic :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierUnsafe :: FieldModifier
- Hydra.Csharp.Syntax: FieldModifierVolatile :: FieldModifier
- Hydra.Csharp.Syntax: FinalizerBodyBlock :: Block -> FinalizerBody
- Hydra.Csharp.Syntax: FinalizerBodyEmpty :: FinalizerBody
- Hydra.Csharp.Syntax: FinalizerBodyExpression :: Expression -> FinalizerBody
- Hydra.Csharp.Syntax: FinalizerDeclaration :: Maybe Attributes -> Bool -> Bool -> Identifier -> FinalizerBody -> FinalizerDeclaration
- Hydra.Csharp.Syntax: FixedParameter :: Maybe Attributes -> Maybe ParameterModifier -> Type -> Identifier -> Maybe Expression -> FixedParameter
- Hydra.Csharp.Syntax: FixedPointerDeclaratorExpression :: Expression -> FixedPointerDeclarator
- Hydra.Csharp.Syntax: FixedPointerDeclaratorReference :: VariableReference -> FixedPointerDeclarator
- Hydra.Csharp.Syntax: FixedSizeBufferDeclaration :: Maybe Attributes -> [FixedSizeBufferModifier] -> Type -> [FixedSizeBufferDeclarator] -> FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: FixedSizeBufferDeclarator :: Identifier -> ConstantExpression -> FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: FixedSizeBufferModifierInternal :: FixedSizeBufferModifier
- Hydra.Csharp.Syntax: FixedSizeBufferModifierNew :: FixedSizeBufferModifier
- Hydra.Csharp.Syntax: FixedSizeBufferModifierPrivate :: FixedSizeBufferModifier
- Hydra.Csharp.Syntax: FixedSizeBufferModifierPublic :: FixedSizeBufferModifier
- Hydra.Csharp.Syntax: FixedSizeBufferModifierUnsafe :: FixedSizeBufferModifier
- Hydra.Csharp.Syntax: FixedStatement :: PointerType -> [FixedPointerDeclarator] -> EmbeddedStatement -> FixedStatement
- Hydra.Csharp.Syntax: FloatingPointTypeDouble :: FloatingPointType
- Hydra.Csharp.Syntax: FloatingPointTypeFloat :: FloatingPointType
- Hydra.Csharp.Syntax: ForInitializerStatements :: StatementExpressionList -> ForInitializer
- Hydra.Csharp.Syntax: ForInitializerVariable :: LocalVariableDeclaration -> ForInitializer
- Hydra.Csharp.Syntax: ForStatement :: Maybe ForInitializer -> Maybe BooleanExpression -> Maybe StatementExpressionList -> EmbeddedStatement -> ForStatement
- Hydra.Csharp.Syntax: ForeachStatement :: Maybe RefKind -> LocalVariableType -> Identifier -> Expression -> EmbeddedStatement -> ForeachStatement
- Hydra.Csharp.Syntax: FormalParameterList :: [FixedParameter] -> Maybe ParameterArray -> FormalParameterList
- Hydra.Csharp.Syntax: FromClause :: Maybe Type -> Identifier -> Expression -> FromClause
- Hydra.Csharp.Syntax: GlobalAttributeSection :: Identifier -> AttributeList -> GlobalAttributeSection
- Hydra.Csharp.Syntax: GotoStatementCase :: ConstantExpression -> GotoStatement
- Hydra.Csharp.Syntax: GotoStatementDefault :: GotoStatement
- Hydra.Csharp.Syntax: GotoStatementIdentifier :: Identifier -> GotoStatement
- Hydra.Csharp.Syntax: GroupClause :: Expression -> Expression -> GroupClause
- Hydra.Csharp.Syntax: Identifier :: String -> Identifier
- Hydra.Csharp.Syntax: IdentifierNamespaceOrTypeName :: Identifier -> Maybe TypeArgumentList -> IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: IfStatement :: BooleanExpression -> EmbeddedStatement -> EmbeddedStatement -> IfStatement
- Hydra.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarationRefVar :: RefVarImplicitlyTypedLocalVariableDeclaration -> ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarationVar :: ImplicitlyTypedLocalVariableDeclarator -> ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarator :: Identifier -> Expression -> ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: InclusiveOrExpressionBinary :: BinaryInclusiveOrExpression -> InclusiveOrExpression
- Hydra.Csharp.Syntax: InclusiveOrExpressionSimple :: ExclusiveOrExpression -> InclusiveOrExpression
- Hydra.Csharp.Syntax: IndexerBodyBlock :: AccessorDeclarations -> IndexerBody
- Hydra.Csharp.Syntax: IndexerBodyExpression :: Expression -> IndexerBody
- Hydra.Csharp.Syntax: IndexerDeclarationRef :: RefIndexerDeclaration -> IndexerDeclaration
- Hydra.Csharp.Syntax: IndexerDeclarationStandard :: StandardIndexerDeclaration -> IndexerDeclaration
- Hydra.Csharp.Syntax: IndexerDeclarator :: Type -> Maybe InterfaceType -> FormalParameterList -> IndexerDeclarator
- Hydra.Csharp.Syntax: IndexerModifierAbstract :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierExtern :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierInternal :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierNew :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierOverride :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierPrivate :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierProtected :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierPublic :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierSealed :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierUnsafe :: IndexerModifier
- Hydra.Csharp.Syntax: IndexerModifierVirtual :: IndexerModifier
- Hydra.Csharp.Syntax: InitializerTargetArguments :: ArgumentList -> InitializerTarget
- Hydra.Csharp.Syntax: InitializerTargetIdentifier :: Identifier -> InitializerTarget
- Hydra.Csharp.Syntax: InitializerValueExpression :: Expression -> InitializerValue
- Hydra.Csharp.Syntax: InitializerValueObjectOrCollection :: ObjectOrCollectionInitializer -> InitializerValue
- Hydra.Csharp.Syntax: IntegerLiteralBinary :: Integer -> IntegerLiteral
- Hydra.Csharp.Syntax: IntegerLiteralDecimal :: String -> IntegerLiteral
- Hydra.Csharp.Syntax: IntegerLiteralHexadecimal :: String -> IntegerLiteral
- Hydra.Csharp.Syntax: IntegralTypeByte :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeChar :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeInt :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeLong :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeSbyte :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeShort :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeUint :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeUlong :: IntegralType
- Hydra.Csharp.Syntax: IntegralTypeUshort :: IntegralType
- Hydra.Csharp.Syntax: InterfaceAccessors :: Maybe Attributes -> Maybe Attributes -> Maybe Attributes -> InterfaceAccessors
- Hydra.Csharp.Syntax: InterfaceDeclaration :: Maybe Attributes -> [InterfaceModifier] -> Bool -> Identifier -> Maybe VariantTypeParameters -> [InterfaceType] -> [TypeParameterConstraintsClause] -> [InterfaceMemberDeclaration] -> InterfaceDeclaration
- Hydra.Csharp.Syntax: InterfaceEventDeclaration :: Maybe Attributes -> Bool -> Type -> Identifier -> InterfaceEventDeclaration
- Hydra.Csharp.Syntax: InterfaceIndexerDeclaration :: Maybe Attributes -> Bool -> Maybe RefKind -> Type -> FormalParameterList -> InterfaceAccessors -> InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: InterfaceMemberDeclarationEvent :: InterfaceEventDeclaration -> InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: InterfaceMemberDeclarationIndexer :: InterfaceIndexerDeclaration -> InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: InterfaceMemberDeclarationMethod :: InterfaceMethodDeclaration -> InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: InterfaceMemberDeclarationProperty :: InterfacePropertyDeclaration -> InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: InterfaceMethodDeclaration :: Maybe Attributes -> Bool -> ReturnType -> Maybe RefKind -> InterfaceMethodHeader -> InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: InterfaceMethodHeader :: Identifier -> Maybe FormalParameterList -> Maybe TypeParameterList -> [TypeParameterConstraintsClause] -> InterfaceMethodHeader
- Hydra.Csharp.Syntax: InterfaceModifierInternal :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfaceModifierNew :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfaceModifierPrivate :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfaceModifierProtected :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfaceModifierPublic :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfaceModifierUnsafe :: InterfaceModifier
- Hydra.Csharp.Syntax: InterfacePropertyDeclaration :: Maybe Attributes -> Bool -> Maybe RefKind -> Type -> Identifier -> InterfaceAccessors -> InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: InterfaceType :: TypeName -> InterfaceType
- Hydra.Csharp.Syntax: InterpolatedRegularStringExpression :: String -> InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: InterpolatedStringExpressionRegular :: InterpolatedRegularStringExpression -> InterpolatedStringExpression
- Hydra.Csharp.Syntax: InterpolatedStringExpressionVerbatim :: InterpolatedVerbatimStringExpression -> InterpolatedStringExpression
- Hydra.Csharp.Syntax: InterpolatedVerbatimStringExpression :: String -> InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: InvocationExpression :: PrimaryExpression -> Maybe ArgumentList -> InvocationExpression
- Hydra.Csharp.Syntax: IsPatternExpression :: RelationalExpression -> Pattern -> IsPatternExpression
- Hydra.Csharp.Syntax: IsTypeExpression :: RelationalExpression -> Type -> IsTypeExpression
- Hydra.Csharp.Syntax: IterationStatementDo :: DoStatement -> IterationStatement
- Hydra.Csharp.Syntax: IterationStatementFor :: ForStatement -> IterationStatement
- Hydra.Csharp.Syntax: IterationStatementForeach :: ForeachStatement -> IterationStatement
- Hydra.Csharp.Syntax: IterationStatementWhile :: WhileStatement -> IterationStatement
- Hydra.Csharp.Syntax: JoinClause :: Maybe Type -> Identifier -> Expression -> Expression -> Expression -> Maybe Identifier -> JoinClause
- Hydra.Csharp.Syntax: JumpStatementBreak :: JumpStatement
- Hydra.Csharp.Syntax: JumpStatementContinue :: JumpStatement
- Hydra.Csharp.Syntax: JumpStatementGoto :: GotoStatement -> JumpStatement
- Hydra.Csharp.Syntax: JumpStatementReturn :: ReturnStatement -> JumpStatement
- Hydra.Csharp.Syntax: JumpStatementThrow :: Maybe Expression -> JumpStatement
- Hydra.Csharp.Syntax: Keyword :: String -> Keyword
- Hydra.Csharp.Syntax: LabeledStatement :: Identifier -> Statement -> LabeledStatement
- Hydra.Csharp.Syntax: LambdaExpression :: Bool -> AnonymousFunctionSignature -> AnonymousFunctionBody -> LambdaExpression
- Hydra.Csharp.Syntax: LetClause :: Identifier -> Expression -> LetClause
- Hydra.Csharp.Syntax: LiteralBoolean :: Bool -> Literal
- Hydra.Csharp.Syntax: LiteralCharacter :: String -> Literal
- Hydra.Csharp.Syntax: LiteralInteger :: IntegerLiteral -> Literal
- Hydra.Csharp.Syntax: LiteralNull :: Literal
- Hydra.Csharp.Syntax: LiteralReal :: Double -> Literal
- Hydra.Csharp.Syntax: LiteralString :: String -> Literal
- Hydra.Csharp.Syntax: LocalConstantDeclaration :: Type -> [ConstantDeclarator] -> LocalConstantDeclaration
- Hydra.Csharp.Syntax: LocalFunctionBodyBlock :: Block -> LocalFunctionBody
- Hydra.Csharp.Syntax: LocalFunctionBodyExpression :: Expression -> LocalFunctionBody
- Hydra.Csharp.Syntax: LocalFunctionBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> LocalFunctionBody
- Hydra.Csharp.Syntax: LocalFunctionDeclarationRef :: RefLocalFunctionDeclaration -> LocalFunctionDeclaration
- Hydra.Csharp.Syntax: LocalFunctionDeclarationStandard :: StandardLocalFunctionDeclaration -> LocalFunctionDeclaration
- Hydra.Csharp.Syntax: LocalFunctionHeader :: Identifier -> Maybe TypeParameterList -> FormalParameterList -> [TypeParameterConstraintsClause] -> LocalFunctionHeader
- Hydra.Csharp.Syntax: LocalFunctionModifierAsync :: LocalFunctionModifier
- Hydra.Csharp.Syntax: LocalFunctionModifierRef :: RefLocalFunctionModifier -> LocalFunctionModifier
- Hydra.Csharp.Syntax: LocalVariableDeclarationExplicitlyTyped :: ExplicitlyTypedLocalVariableDeclaration -> LocalVariableDeclaration
- Hydra.Csharp.Syntax: LocalVariableDeclarationImplicitlyTyped :: ImplicitlyTypedLocalVariableDeclaration -> LocalVariableDeclaration
- Hydra.Csharp.Syntax: LocalVariableDeclarationRef :: RefLocalVariableDeclaration -> LocalVariableDeclaration
- Hydra.Csharp.Syntax: LocalVariableInitializerExpression :: Expression -> LocalVariableInitializer
- Hydra.Csharp.Syntax: LocalVariableInitializerInitializer :: ArrayInitializer -> LocalVariableInitializer
- Hydra.Csharp.Syntax: LocalVariableTypeType :: Type -> LocalVariableType
- Hydra.Csharp.Syntax: LocalVariableTypeVar :: LocalVariableType
- Hydra.Csharp.Syntax: LockStatement :: Expression -> EmbeddedStatement -> LockStatement
- Hydra.Csharp.Syntax: MemberAccess :: MemberAccessHead -> Identifier -> Maybe TypeArgumentList -> MemberAccess
- Hydra.Csharp.Syntax: MemberAccessHeadPredefined :: PredefinedType -> MemberAccessHead
- Hydra.Csharp.Syntax: MemberAccessHeadPrimary :: PrimaryExpression -> MemberAccessHead
- Hydra.Csharp.Syntax: MemberAccessHeadQualifiedAlias :: QualifiedAliasMember -> MemberAccessHead
- Hydra.Csharp.Syntax: MemberDeclaratorAssignment :: AssignmentMemberDeclarator -> MemberDeclarator
- Hydra.Csharp.Syntax: MemberDeclaratorBaseAccess :: BaseAccess -> MemberDeclarator
- Hydra.Csharp.Syntax: MemberDeclaratorList :: [MemberDeclarator] -> MemberDeclaratorList
- Hydra.Csharp.Syntax: MemberDeclaratorMemberAccess :: MemberAccess -> MemberDeclarator
- Hydra.Csharp.Syntax: MemberDeclaratorName :: SimpleName -> MemberDeclarator
- Hydra.Csharp.Syntax: MemberDeclaratorNullConditionalProjectionInitializer :: NullConditionalProjectionInitializer -> MemberDeclarator
- Hydra.Csharp.Syntax: MemberInitializer :: InitializerTarget -> InitializerValue -> MemberInitializer
- Hydra.Csharp.Syntax: MemberName :: Maybe TypeName -> Identifier -> MemberName
- Hydra.Csharp.Syntax: MethodBodyBlock :: Block -> MethodBody
- Hydra.Csharp.Syntax: MethodBodyEmpty :: MethodBody
- Hydra.Csharp.Syntax: MethodBodyExpression :: Expression -> MethodBody
- Hydra.Csharp.Syntax: MethodBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> MethodBody
- Hydra.Csharp.Syntax: MethodDeclarationRefReturn :: RefReturnMethodDeclaration -> MethodDeclaration
- Hydra.Csharp.Syntax: MethodDeclarationStandard :: StandardMethodDeclaration -> MethodDeclaration
- Hydra.Csharp.Syntax: MethodHeader :: MemberName -> Maybe TypeParameterList -> Maybe FormalParameterList -> [TypeParameterConstraintsClause] -> MethodHeader
- Hydra.Csharp.Syntax: MethodModifierAsync :: MethodModifier
- Hydra.Csharp.Syntax: MethodModifierRef :: RefMethodModifier -> MethodModifier
- Hydra.Csharp.Syntax: MethodModifiers :: [MethodModifier] -> Bool -> MethodModifiers
- Hydra.Csharp.Syntax: MultiplicativeExpressionBinary :: BinaryMultiplicativeExpression -> MultiplicativeExpression
- Hydra.Csharp.Syntax: MultiplicativeExpressionSimple :: UnaryExpression -> MultiplicativeExpression
- Hydra.Csharp.Syntax: MultiplicativeOperatorDivide :: MultiplicativeOperator
- Hydra.Csharp.Syntax: MultiplicativeOperatorModulo :: MultiplicativeOperator
- Hydra.Csharp.Syntax: MultiplicativeOperatorTimes :: MultiplicativeOperator
- Hydra.Csharp.Syntax: NamedArgument :: Identifier -> AttributeArgumentExpression -> NamedArgument
- Hydra.Csharp.Syntax: NamedArgumentList :: [NamedArgument] -> NamedArgumentList
- Hydra.Csharp.Syntax: NamedEntity :: NamedEntityTarget -> [NamedEntityPart] -> NamedEntity
- Hydra.Csharp.Syntax: NamedEntityPart :: Identifier -> Maybe TypeArgumentList -> NamedEntityPart
- Hydra.Csharp.Syntax: NamedEntityTargetBase :: NamedEntityTarget
- Hydra.Csharp.Syntax: NamedEntityTargetName :: SimpleName -> NamedEntityTarget
- Hydra.Csharp.Syntax: NamedEntityTargetPredefinedType :: PredefinedType -> NamedEntityTarget
- Hydra.Csharp.Syntax: NamedEntityTargetQualifiedAliasMember :: QualifiedAliasMember -> NamedEntityTarget
- Hydra.Csharp.Syntax: NamedEntityTargetThis :: NamedEntityTarget
- Hydra.Csharp.Syntax: NamespaceBody :: [ExternAliasDirective] -> [UsingDirective] -> [NamespaceMemberDeclaration] -> NamespaceBody
- Hydra.Csharp.Syntax: NamespaceDeclaration :: QualifiedIdentifier -> NamespaceBody -> NamespaceDeclaration
- Hydra.Csharp.Syntax: NamespaceMemberDeclarationNamespace :: NamespaceDeclaration -> NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: NamespaceMemberDeclarationType :: TypeDeclaration -> NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: NamespaceName :: NamespaceOrTypeName -> NamespaceName
- Hydra.Csharp.Syntax: NamespaceOrTypeNameAlias :: QualifiedAliasMember -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: NamespaceOrTypeNameIdentifier :: IdentifierNamespaceOrTypeName -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: NamespaceOrTypeNameQualified :: QualifiedNamespaceOrTypeName -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: NonArrayTypeArrayCreationExpression :: NonArrayType -> ExpressionList -> [RankSpecifier] -> Maybe ArrayInitializer -> NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: NonArrayTypeClass :: ClassType -> NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypeDelegate :: DelegateType -> NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypeDynamic :: NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypeInterface :: InterfaceType -> NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypeParameter :: TypeParameter -> NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypePointer :: PointerType -> NonArrayType
- Hydra.Csharp.Syntax: NonArrayTypeValue :: ValueType -> NonArrayType
- Hydra.Csharp.Syntax: NonAssignmentExpressionConditional :: ConditionalExpression -> NonAssignmentExpression
- Hydra.Csharp.Syntax: NonAssignmentExpressionDeclaration :: DeclarationExpression -> NonAssignmentExpression
- Hydra.Csharp.Syntax: NonAssignmentExpressionLambda :: LambdaExpression -> NonAssignmentExpression
- Hydra.Csharp.Syntax: NonAssignmentExpressionQuery :: QueryExpression -> NonAssignmentExpression
- Hydra.Csharp.Syntax: NullCoalescingExpressionBinary :: BinaryNullCoalescingExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: NullCoalescingExpressionSimple :: ConditionalOrExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: NullCoalescingExpressionThrow :: NullCoalescingExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: NullConditionalElementAccess :: PrimaryNoArrayCreationExpression -> ArgumentList -> [DependentAccess] -> NullConditionalElementAccess
- Hydra.Csharp.Syntax: NullConditionalInvocationExpression :: NullConditionalInvocationExpressionHead -> Maybe ArgumentList -> NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: NullConditionalInvocationExpressionHeadElement :: NullConditionalElementAccess -> NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: NullConditionalInvocationExpressionHeadMember :: NullConditionalMemberAccess -> NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: NullConditionalMemberAccess :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> [DependentAccess] -> NullConditionalMemberAccess
- Hydra.Csharp.Syntax: NullConditionalProjectionInitializer :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: NumericTypeDecimal :: NumericType
- Hydra.Csharp.Syntax: NumericTypeFloatingPoint :: FloatingPointType -> NumericType
- Hydra.Csharp.Syntax: NumericTypeIntegral :: IntegralType -> NumericType
- Hydra.Csharp.Syntax: ObjectCreationExpression :: Type -> Maybe ArgumentList -> Maybe ObjectOrCollectionInitializer -> ObjectCreationExpression
- Hydra.Csharp.Syntax: ObjectOrCollectionInitializerCollection :: [ElementInitializer] -> ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: ObjectOrCollectionInitializerObject :: [MemberInitializer] -> ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: OperatorBodyBlock :: Block -> OperatorBody
- Hydra.Csharp.Syntax: OperatorBodyEmpty :: OperatorBody
- Hydra.Csharp.Syntax: OperatorBodyExpression :: Expression -> OperatorBody
- Hydra.Csharp.Syntax: OperatorDeclaration :: Maybe Attributes -> [OperatorModifier] -> OperatorDeclarator -> OperatorBody -> OperatorDeclaration
- Hydra.Csharp.Syntax: OperatorDeclaratorBinary :: BinaryOperatorDeclarator -> OperatorDeclarator
- Hydra.Csharp.Syntax: OperatorDeclaratorConversion :: ConversionOperatorDeclarator -> OperatorDeclarator
- Hydra.Csharp.Syntax: OperatorDeclaratorUnary :: UnaryOperatorDeclarator -> OperatorDeclarator
- Hydra.Csharp.Syntax: OperatorModifierExtern :: OperatorModifier
- Hydra.Csharp.Syntax: OperatorModifierPublic :: OperatorModifier
- Hydra.Csharp.Syntax: OperatorModifierStatic :: OperatorModifier
- Hydra.Csharp.Syntax: OperatorModifierUnsafe :: OperatorModifier
- Hydra.Csharp.Syntax: Ordering :: Expression -> Maybe OrderingDirection -> Ordering
- Hydra.Csharp.Syntax: OrderingDirectionAscending :: OrderingDirection
- Hydra.Csharp.Syntax: OrderingDirectionDescending :: OrderingDirection
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorAdd :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorAnd :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorDivide :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorEqual :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorGreaterThan :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorGreaterThanOrEqual :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorLeftShift :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorLessThan :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorLessThanOrEqual :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorModulus :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorMultiply :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorNotEqual :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorOr :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorRightShift :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorSubtract :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableBinaryOperatorXor :: OverloadableBinaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorComplement :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorDecrement :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorFalse :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorIncrement :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorMinus :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorNot :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorPlus :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: OverloadableUnaryOperatorTrue :: OverloadableUnaryOperator
- Hydra.Csharp.Syntax: ParameterArray :: Maybe Attributes -> ArrayType -> Identifier -> ParameterArray
- Hydra.Csharp.Syntax: ParameterModeModifierIn :: ParameterModeModifier
- Hydra.Csharp.Syntax: ParameterModeModifierOut :: ParameterModeModifier
- Hydra.Csharp.Syntax: ParameterModeModifierRef :: ParameterModeModifier
- Hydra.Csharp.Syntax: ParameterModifierMode :: ParameterModeModifier -> ParameterModifier
- Hydra.Csharp.Syntax: ParameterModifierThis :: ParameterModifier
- Hydra.Csharp.Syntax: PatternConstant :: Expression -> Pattern
- Hydra.Csharp.Syntax: PatternDeclaration :: DeclarationPattern -> Pattern
- Hydra.Csharp.Syntax: PatternVar :: Designation -> Pattern
- Hydra.Csharp.Syntax: PointerElementAccess :: PrimaryNoArrayCreationExpression -> Expression -> PointerElementAccess
- Hydra.Csharp.Syntax: PointerMemberAccess :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> PointerMemberAccess
- Hydra.Csharp.Syntax: PointerTypePointerDepth :: Int -> PointerType
- Hydra.Csharp.Syntax: PointerTypeValueType :: Maybe ValueType -> PointerType
- Hydra.Csharp.Syntax: PositionalArgument :: Maybe Identifier -> AttributeArgumentExpression -> PositionalArgument
- Hydra.Csharp.Syntax: PositionalArgumentList :: [PositionalArgument] -> PositionalArgumentList
- Hydra.Csharp.Syntax: PredefinedTypeBool :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeByte :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeChar :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeDecimal :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeDouble :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeFloat :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeInt :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeLong :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeObject :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeSbyte :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeShort :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeString :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeUint :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeUlong :: PredefinedType
- Hydra.Csharp.Syntax: PredefinedTypeUshort :: PredefinedType
- Hydra.Csharp.Syntax: PrimaryConstraintClass :: PrimaryConstraint
- Hydra.Csharp.Syntax: PrimaryConstraintClassType :: ClassType -> PrimaryConstraint
- Hydra.Csharp.Syntax: PrimaryConstraintStruct :: PrimaryConstraint
- Hydra.Csharp.Syntax: PrimaryConstraintUnmanaged :: PrimaryConstraint
- Hydra.Csharp.Syntax: PrimaryExpressionArray :: ArrayCreationExpression -> PrimaryExpression
- Hydra.Csharp.Syntax: PrimaryExpressionNoArray :: PrimaryNoArrayCreationExpression -> PrimaryExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionAnonymousMethod :: AnonymousMethodExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionAnonymousObjectCreation :: Maybe MemberDeclaratorList -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionBaseAccess :: BaseAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionChecked :: Expression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionDefaultValue :: DefaultValueExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionDelegateCreation :: DelegateCreationExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionElementAccess :: ElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionInterpolatedString :: InterpolatedStringExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionInvocation :: InvocationExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionLiteral :: Literal -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionMemberAccess :: MemberAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionNameof :: NamedEntity -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionNullConditionalElementAccess :: NullConditionalElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionNullConditionalMemberAccess :: NullConditionalMemberAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionObjectCreation :: ObjectCreationExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionParenthesized :: Expression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionPointerElementAccess :: PointerElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionPointerMemberAccess :: PointerMemberAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionPostDecrement :: PrimaryExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionPostIncrement :: PrimaryExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionSimpleName :: SimpleName -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionSizeof :: UnmanagedType -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionStackalloc :: StackallocExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionThisAccess :: PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionTuple :: TupleExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionTypeof :: TypeofExpression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PrimaryNoArrayCreationExpressionUnchecked :: Expression -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: PropertyBodyBlock :: BlockPropertyBody -> PropertyBody
- Hydra.Csharp.Syntax: PropertyBodyExpression :: Expression -> PropertyBody
- Hydra.Csharp.Syntax: PropertyDeclarationRefReturn :: RefReturnPropertyDeclaration -> PropertyDeclaration
- Hydra.Csharp.Syntax: PropertyDeclarationStandard :: StandardPropertyDeclaration -> PropertyDeclaration
- Hydra.Csharp.Syntax: PropertyModifierAbstract :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierExtern :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierInternal :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierNew :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierOverride :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierPrivate :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierProtected :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierPublic :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierSealed :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierStatic :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierUnsafe :: PropertyModifier
- Hydra.Csharp.Syntax: PropertyModifierVirtual :: PropertyModifier
- Hydra.Csharp.Syntax: QualifiedAliasMember :: Identifier -> Identifier -> Maybe TypeArgumentList -> QualifiedAliasMember
- Hydra.Csharp.Syntax: QualifiedIdentifier :: [Identifier] -> QualifiedIdentifier
- Hydra.Csharp.Syntax: QualifiedNamespaceOrTypeName :: NamespaceOrTypeName -> Identifier -> Maybe TypeArgumentList -> QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: QueryBody :: [QueryBodyClause] -> SelectOrGroupClause -> Maybe QueryContinuation -> QueryBody
- Hydra.Csharp.Syntax: QueryBodyClauseFrom :: FromClause -> QueryBodyClause
- Hydra.Csharp.Syntax: QueryBodyClauseJoin :: JoinClause -> QueryBodyClause
- Hydra.Csharp.Syntax: QueryBodyClauseLet :: LetClause -> QueryBodyClause
- Hydra.Csharp.Syntax: QueryBodyClauseOrderby :: [Ordering] -> QueryBodyClause
- Hydra.Csharp.Syntax: QueryBodyClauseWhere :: BooleanExpression -> QueryBodyClause
- Hydra.Csharp.Syntax: QueryContinuation :: Identifier -> QueryBody -> QueryContinuation
- Hydra.Csharp.Syntax: QueryExpression :: FromClause -> QueryBody -> QueryExpression
- Hydra.Csharp.Syntax: RankSpecifier :: Int -> RankSpecifier
- Hydra.Csharp.Syntax: RankSpecifierArrayCreationExpression :: RankSpecifier -> ArrayInitializer -> RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: RefAccessorBodyBlock :: Block -> RefAccessorBody
- Hydra.Csharp.Syntax: RefAccessorBodyEmpty :: RefAccessorBody
- Hydra.Csharp.Syntax: RefAccessorBodyRef :: VariableReference -> RefAccessorBody
- Hydra.Csharp.Syntax: RefConditionalExpression :: NullCoalescingExpression -> VariableReference -> VariableReference -> RefConditionalExpression
- Hydra.Csharp.Syntax: RefGetAccessorDeclaration :: Maybe Attributes -> Maybe AccessorModifier -> RefAccessorBody -> RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: RefIndexerBodyBlock :: RefGetAccessorDeclaration -> RefIndexerBody
- Hydra.Csharp.Syntax: RefIndexerBodyRef :: VariableReference -> RefIndexerBody
- Hydra.Csharp.Syntax: RefIndexerDeclaration :: Maybe Attributes -> [IndexerModifier] -> RefKind -> IndexerDeclarator -> RefIndexerBody -> RefIndexerDeclaration
- Hydra.Csharp.Syntax: RefKindRef :: RefKind
- Hydra.Csharp.Syntax: RefKindRefReadonly :: RefKind
- Hydra.Csharp.Syntax: RefLocalFunctionBodyBlock :: Block -> RefLocalFunctionBody
- Hydra.Csharp.Syntax: RefLocalFunctionBodyRef :: VariableReference -> RefLocalFunctionBody
- Hydra.Csharp.Syntax: RefLocalFunctionDeclaration :: [RefLocalFunctionModifier] -> RefKind -> Type -> LocalFunctionHeader -> RefLocalFunctionBody -> RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: RefLocalFunctionModifierStatic :: RefLocalFunctionModifier
- Hydra.Csharp.Syntax: RefLocalFunctionModifierUnsafe :: RefLocalFunctionModifier
- Hydra.Csharp.Syntax: RefLocalVariableDeclaration :: RefKind -> Type -> [RefLocalVariableDeclarator] -> RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: RefLocalVariableDeclarator :: Identifier -> VariableReference -> RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: RefMethodBodyBlock :: Block -> RefMethodBody
- Hydra.Csharp.Syntax: RefMethodBodyEmpty :: RefMethodBody
- Hydra.Csharp.Syntax: RefMethodBodyRef :: VariableReference -> RefMethodBody
- Hydra.Csharp.Syntax: RefMethodModifierAbstract :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierExtern :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierInternal :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierNew :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierOverride :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierPrivate :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierProtected :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierPublic :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierSealed :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierStatic :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierUnsafe :: RefMethodModifier
- Hydra.Csharp.Syntax: RefMethodModifierVirtual :: RefMethodModifier
- Hydra.Csharp.Syntax: RefPropertyBodyBlock :: RefGetAccessorDeclaration -> RefPropertyBody
- Hydra.Csharp.Syntax: RefPropertyBodyRef :: VariableReference -> RefPropertyBody
- Hydra.Csharp.Syntax: RefReturnMethodDeclaration :: Maybe Attributes -> [RefMethodModifier] -> RefKind -> ReturnType -> MethodHeader -> RefMethodBody -> RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: RefReturnPropertyDeclaration :: Maybe Attributes -> [PropertyModifier] -> RefKind -> Type -> MemberName -> RefPropertyBody -> RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: RefVarImplicitlyTypedLocalVariableDeclaration :: RefKind -> RefLocalVariableDeclarator -> RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: ReferenceTypeArray :: ArrayType -> ReferenceType
- Hydra.Csharp.Syntax: ReferenceTypeClass :: ClassType -> ReferenceType
- Hydra.Csharp.Syntax: ReferenceTypeDelegate :: DelegateType -> ReferenceType
- Hydra.Csharp.Syntax: ReferenceTypeDynamic :: ReferenceType
- Hydra.Csharp.Syntax: ReferenceTypeInterface :: InterfaceType -> ReferenceType
- Hydra.Csharp.Syntax: RegularInterpolation :: Expression -> Maybe Expression -> Maybe String -> RegularInterpolation
- Hydra.Csharp.Syntax: RelationalExpressionAsType :: AsTypeExpression -> RelationalExpression
- Hydra.Csharp.Syntax: RelationalExpressionBinary :: BinaryRelationalExpression -> RelationalExpression
- Hydra.Csharp.Syntax: RelationalExpressionIsPattern :: IsPatternExpression -> RelationalExpression
- Hydra.Csharp.Syntax: RelationalExpressionIsType :: IsTypeExpression -> RelationalExpression
- Hydra.Csharp.Syntax: RelationalExpressionSimple :: ShiftExpression -> RelationalExpression
- Hydra.Csharp.Syntax: RelationalOperatorGreaterThan :: RelationalOperator
- Hydra.Csharp.Syntax: RelationalOperatorGreaterThanOrEqual :: RelationalOperator
- Hydra.Csharp.Syntax: RelationalOperatorLessThan :: RelationalOperator
- Hydra.Csharp.Syntax: RelationalOperatorLessThanOrEqual :: RelationalOperator
- Hydra.Csharp.Syntax: ResourceAcquisitionExpression :: Expression -> ResourceAcquisition
- Hydra.Csharp.Syntax: ResourceAcquisitionLocal :: LocalVariableDeclaration -> ResourceAcquisition
- Hydra.Csharp.Syntax: ReturnStatementRef :: VariableReference -> ReturnStatement
- Hydra.Csharp.Syntax: ReturnStatementSimple :: ReturnStatement
- Hydra.Csharp.Syntax: ReturnStatementValue :: Expression -> ReturnStatement
- Hydra.Csharp.Syntax: ReturnTypeRef :: Type -> ReturnType
- Hydra.Csharp.Syntax: ReturnTypeVoid :: ReturnType
- Hydra.Csharp.Syntax: SecondaryConstraintInterface :: InterfaceType -> SecondaryConstraint
- Hydra.Csharp.Syntax: SecondaryConstraintParameter :: TypeParameter -> SecondaryConstraint
- Hydra.Csharp.Syntax: SecondaryConstraints :: [SecondaryConstraint] -> SecondaryConstraints
- Hydra.Csharp.Syntax: SelectOrGroupClauseGroup :: GroupClause -> SelectOrGroupClause
- Hydra.Csharp.Syntax: SelectOrGroupClauseSelect :: Expression -> SelectOrGroupClause
- Hydra.Csharp.Syntax: SelectionStatementIf :: IfStatement -> SelectionStatement
- Hydra.Csharp.Syntax: SelectionStatementSwitch :: SwitchStatement -> SelectionStatement
- Hydra.Csharp.Syntax: ShiftExpressionBinary :: BinaryShiftExpression -> ShiftExpression
- Hydra.Csharp.Syntax: ShiftExpressionSimple :: AdditiveExpression -> ShiftExpression
- Hydra.Csharp.Syntax: ShiftOperatorLeft :: ShiftOperator
- Hydra.Csharp.Syntax: ShiftOperatorRight :: ShiftOperator
- Hydra.Csharp.Syntax: SimpleConditionalExpression :: NullCoalescingExpression -> Expression -> Expression -> SimpleConditionalExpression
- Hydra.Csharp.Syntax: SimpleName :: Identifier -> Maybe TypeArgumentList -> SimpleName
- Hydra.Csharp.Syntax: SimpleTypeBool :: SimpleType
- Hydra.Csharp.Syntax: SimpleTypeNumeric :: NumericType -> SimpleType
- Hydra.Csharp.Syntax: SpecificCatchClause :: Maybe ExceptionSpecifier -> Maybe BooleanExpression -> Block -> SpecificCatchClause
- Hydra.Csharp.Syntax: StackallocExpression :: Maybe UnmanagedType -> Maybe ConstantExpression -> [Expression] -> StackallocExpression
- Hydra.Csharp.Syntax: StandardEventDeclaration :: Maybe Attributes -> [EventModifier] -> Type -> VariableDeclarators -> StandardEventDeclaration
- Hydra.Csharp.Syntax: StandardIndexerDeclaration :: Maybe Attributes -> [IndexerModifier] -> IndexerDeclarator -> IndexerBody -> StandardIndexerDeclaration
- Hydra.Csharp.Syntax: StandardLocalFunctionDeclaration :: [LocalFunctionModifier] -> ReturnType -> LocalFunctionHeader -> LocalFunctionBody -> StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: StandardMethodDeclaration :: Maybe Attributes -> [MethodModifier] -> ReturnType -> MethodHeader -> MethodBody -> StandardMethodDeclaration
- Hydra.Csharp.Syntax: StandardPropertyDeclaration :: Maybe Attributes -> [PropertyModifier] -> Type -> MemberName -> PropertyBody -> StandardPropertyDeclaration
- Hydra.Csharp.Syntax: StatementDeclaration :: DeclarationStatement -> Statement
- Hydra.Csharp.Syntax: StatementEmbedded :: EmbeddedStatement -> Statement
- Hydra.Csharp.Syntax: StatementExpressionAssignment :: Assignment -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionAwait :: UnaryExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionInvocation :: InvocationExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionList :: [StatementExpression] -> StatementExpressionList
- Hydra.Csharp.Syntax: StatementExpressionNullConditionalInvocation :: NullConditionalInvocationExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionObjectCreation :: ObjectCreationExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionPostDecrement :: PrimaryExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionPostIncrement :: PrimaryExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionPreDecrement :: UnaryExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementExpressionPreIncrement :: UnaryExpression -> StatementExpression
- Hydra.Csharp.Syntax: StatementLabeled :: LabeledStatement -> Statement
- Hydra.Csharp.Syntax: StaticConstructorBodyBlock :: Block -> StaticConstructorBody
- Hydra.Csharp.Syntax: StaticConstructorBodyEmpty :: StaticConstructorBody
- Hydra.Csharp.Syntax: StaticConstructorBodyExpression :: Expression -> StaticConstructorBody
- Hydra.Csharp.Syntax: StaticConstructorDeclaration :: Maybe Attributes -> StaticConstructorModifiers -> Identifier -> StaticConstructorBody -> StaticConstructorDeclaration
- Hydra.Csharp.Syntax: StaticConstructorModifiers :: Bool -> Bool -> StaticConstructorModifiers
- Hydra.Csharp.Syntax: StructDeclaration :: Maybe Attributes -> [StructModifier] -> Bool -> Bool -> Identifier -> Maybe TypeParameterList -> [InterfaceType] -> [TypeParameterConstraintsClause] -> [StructMemberDeclaration] -> StructDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationConstant :: ConstantDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationConstructor :: ConstructorDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationEvent :: EventDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationField :: FieldDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationFixedSizeBuffer :: FixedSizeBufferDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationIndexer :: IndexerDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationMethod :: MethodDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationOperator :: OperatorDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationProperty :: PropertyDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationStaticConstructor :: StaticConstructorDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructMemberDeclarationType :: TypeDeclaration -> StructMemberDeclaration
- Hydra.Csharp.Syntax: StructModifierInternal :: StructModifier
- Hydra.Csharp.Syntax: StructModifierNew :: StructModifier
- Hydra.Csharp.Syntax: StructModifierPrivate :: StructModifier
- Hydra.Csharp.Syntax: StructModifierProtected :: StructModifier
- Hydra.Csharp.Syntax: StructModifierPublic :: StructModifier
- Hydra.Csharp.Syntax: StructModifierReadonly :: StructModifier
- Hydra.Csharp.Syntax: StructModifierUnsafe :: StructModifier
- Hydra.Csharp.Syntax: StructOrEnumTypeEnum :: EnumType -> StructOrEnumType
- Hydra.Csharp.Syntax: StructOrEnumTypeStruct :: StructType -> StructOrEnumType
- Hydra.Csharp.Syntax: StructTypeSimple :: SimpleType -> StructType
- Hydra.Csharp.Syntax: StructTypeTuple :: TupleType -> StructType
- Hydra.Csharp.Syntax: StructTypeTypeName :: TypeName -> StructType
- Hydra.Csharp.Syntax: SwitchBranch :: Pattern -> Maybe Expression -> SwitchBranch
- Hydra.Csharp.Syntax: SwitchLabelBranch :: SwitchBranch -> SwitchLabel
- Hydra.Csharp.Syntax: SwitchLabelDefault :: SwitchLabel
- Hydra.Csharp.Syntax: SwitchSection :: [SwitchLabel] -> [Statement] -> SwitchSection
- Hydra.Csharp.Syntax: SwitchStatement :: Expression -> [SwitchSection] -> SwitchStatement
- Hydra.Csharp.Syntax: TryStatement :: Block -> CatchClauses -> Maybe Block -> TryStatement
- Hydra.Csharp.Syntax: TupleElement :: Maybe Identifier -> Expression -> TupleElement
- Hydra.Csharp.Syntax: TupleExpressionDeconstruction :: DeconstructionTuple -> TupleExpression
- Hydra.Csharp.Syntax: TupleExpressionElements :: [TupleElement] -> TupleExpression
- Hydra.Csharp.Syntax: TupleType :: [TupleTypeElement] -> TupleType
- Hydra.Csharp.Syntax: TupleTypeElement :: Type -> Maybe Identifier -> TupleTypeElement
- Hydra.Csharp.Syntax: TypeArgumentList :: [Type] -> TypeArgumentList
- Hydra.Csharp.Syntax: TypeDeclarationClass :: ClassDeclaration -> TypeDeclaration
- Hydra.Csharp.Syntax: TypeDeclarationDelegate :: DelegateDeclaration -> TypeDeclaration
- Hydra.Csharp.Syntax: TypeDeclarationEnum :: EnumDeclaration -> TypeDeclaration
- Hydra.Csharp.Syntax: TypeDeclarationInterface :: InterfaceDeclaration -> TypeDeclaration
- Hydra.Csharp.Syntax: TypeDeclarationStruct :: StructDeclaration -> TypeDeclaration
- Hydra.Csharp.Syntax: TypeName :: NamespaceOrTypeName -> TypeName
- Hydra.Csharp.Syntax: TypeParam :: TypeParameter -> Type
- Hydra.Csharp.Syntax: TypeParameter :: Identifier -> TypeParameter
- Hydra.Csharp.Syntax: TypeParameterConstraints :: Maybe PrimaryConstraint -> Maybe SecondaryConstraints -> Bool -> TypeParameterConstraints
- Hydra.Csharp.Syntax: TypeParameterConstraintsClause :: TypeParameter -> [TypeParameterConstraints] -> TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: TypeParameterList :: [TypeParameterPart] -> TypeParameterList
- Hydra.Csharp.Syntax: TypeParameterPart :: Maybe Attributes -> TypeParameter -> TypeParameterPart
- Hydra.Csharp.Syntax: TypePointer :: PointerType -> Type
- Hydra.Csharp.Syntax: TypeReference :: ReferenceType -> Type
- Hydra.Csharp.Syntax: TypeValue :: ValueType -> Type
- Hydra.Csharp.Syntax: TypeofExpressionType :: Type -> TypeofExpression
- Hydra.Csharp.Syntax: TypeofExpressionUnboundTypeName :: UnboundTypeName -> TypeofExpression
- Hydra.Csharp.Syntax: TypeofExpressionVoid :: TypeofExpression
- Hydra.Csharp.Syntax: UnaryExpressionAddressOf :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionAwait :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionBitwiseComplement :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionCast :: CastExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionMinus :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionNot :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionPlus :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionPointerIndirection :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionPreDecrement :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionPreIncrement :: UnaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryExpressionPrimary :: PrimaryExpression -> UnaryExpression
- Hydra.Csharp.Syntax: UnaryOperatorDeclarator :: Type -> OverloadableUnaryOperator -> FixedParameter -> UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: UnboundTypeName :: [UnboundTypeNamePart] -> UnboundTypeName
- Hydra.Csharp.Syntax: UnboundTypeNamePart :: Identifier -> Bool -> Maybe Int -> UnboundTypeNamePart
- Hydra.Csharp.Syntax: UnmanagedTypePointer :: PointerType -> UnmanagedType
- Hydra.Csharp.Syntax: UnmanagedTypeValue :: ValueType -> UnmanagedType
- Hydra.Csharp.Syntax: UsingAliasDirective :: Identifier -> NamespaceOrTypeName -> UsingAliasDirective
- Hydra.Csharp.Syntax: UsingDirectiveAlias :: UsingAliasDirective -> UsingDirective
- Hydra.Csharp.Syntax: UsingDirectiveNamespace :: NamespaceName -> UsingDirective
- Hydra.Csharp.Syntax: UsingDirectiveStatic :: TypeName -> UsingDirective
- Hydra.Csharp.Syntax: UsingStatement :: ResourceAcquisition -> EmbeddedStatement -> UsingStatement
- Hydra.Csharp.Syntax: ValueTypeNonNullable :: StructOrEnumType -> ValueType
- Hydra.Csharp.Syntax: ValueTypeNullable :: StructOrEnumType -> ValueType
- Hydra.Csharp.Syntax: VariableDeclarator :: Identifier -> Maybe VariableInitializer -> VariableDeclarator
- Hydra.Csharp.Syntax: VariableDeclarators :: [VariableDeclarator] -> VariableDeclarators
- Hydra.Csharp.Syntax: VariableInitializerArray :: ArrayInitializer -> VariableInitializer
- Hydra.Csharp.Syntax: VariableInitializerExpression :: Expression -> VariableInitializer
- Hydra.Csharp.Syntax: VariableReference :: Expression -> VariableReference
- Hydra.Csharp.Syntax: VarianceAnnotationIn :: VarianceAnnotation
- Hydra.Csharp.Syntax: VarianceAnnotationOut :: VarianceAnnotation
- Hydra.Csharp.Syntax: VariantTypeParameter :: Maybe Attributes -> Maybe VarianceAnnotation -> TypeParameter -> VariantTypeParameter
- Hydra.Csharp.Syntax: VariantTypeParameters :: [VariantTypeParameter] -> VariantTypeParameters
- Hydra.Csharp.Syntax: VerbatimInterpolation :: Expression -> Maybe ConstantExpression -> Maybe String -> VerbatimInterpolation
- Hydra.Csharp.Syntax: WhileStatement :: BooleanExpression -> EmbeddedStatement -> WhileStatement
- Hydra.Csharp.Syntax: YieldStatementBreak :: YieldStatement
- Hydra.Csharp.Syntax: YieldStatementReturn :: Expression -> YieldStatement
- Hydra.Csharp.Syntax: [accessorDeclarationAttributes] :: AccessorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [accessorDeclarationBody] :: AccessorDeclaration -> AccessorBody
- Hydra.Csharp.Syntax: [accessorDeclarationModifier] :: AccessorDeclaration -> Maybe AccessorModifier
- Hydra.Csharp.Syntax: [accessorsEventDeclarationAccessors] :: AccessorsEventDeclaration -> EventAccessorDeclarations
- Hydra.Csharp.Syntax: [accessorsEventDeclarationAttributes] :: AccessorsEventDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [accessorsEventDeclarationModifiers] :: AccessorsEventDeclaration -> [EventModifier]
- Hydra.Csharp.Syntax: [accessorsEventDeclarationName] :: AccessorsEventDeclaration -> MemberName
- Hydra.Csharp.Syntax: [accessorsEventDeclarationType] :: AccessorsEventDeclaration -> Type
- Hydra.Csharp.Syntax: [addRemoveAccessorDeclarationAttributes] :: AddRemoveAccessorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [addRemoveAccessorDeclarationBody] :: AddRemoveAccessorDeclaration -> Block
- Hydra.Csharp.Syntax: [anonymousMethodExpressionAsync] :: AnonymousMethodExpression -> Bool
- Hydra.Csharp.Syntax: [anonymousMethodExpressionBody] :: AnonymousMethodExpression -> Block
- Hydra.Csharp.Syntax: [anonymousMethodExpressionSignature] :: AnonymousMethodExpression -> [ExplicitAnonymousFunctionParameter]
- Hydra.Csharp.Syntax: [argumentName] :: Argument -> Maybe Identifier
- Hydra.Csharp.Syntax: [argumentValue] :: Argument -> ArgumentValue
- Hydra.Csharp.Syntax: [arrayTypeArrayCreationExpressionInitializer] :: ArrayTypeArrayCreationExpression -> ArrayInitializer
- Hydra.Csharp.Syntax: [arrayTypeArrayCreationExpressionType] :: ArrayTypeArrayCreationExpression -> ArrayType
- Hydra.Csharp.Syntax: [arrayTypeRank] :: ArrayType -> [RankSpecifier]
- Hydra.Csharp.Syntax: [arrayTypeType] :: ArrayType -> NonArrayType
- Hydra.Csharp.Syntax: [asTypeExpressionExpression] :: AsTypeExpression -> RelationalExpression
- Hydra.Csharp.Syntax: [asTypeExpressionType] :: AsTypeExpression -> Type
- Hydra.Csharp.Syntax: [assignmentLeft] :: Assignment -> UnaryExpression
- Hydra.Csharp.Syntax: [assignmentMemberDeclaratorExpression] :: AssignmentMemberDeclarator -> Expression
- Hydra.Csharp.Syntax: [assignmentMemberDeclaratorIdentifier] :: AssignmentMemberDeclarator -> Identifier
- Hydra.Csharp.Syntax: [assignmentOperator] :: Assignment -> AssignmentOperator
- Hydra.Csharp.Syntax: [assignmentRight] :: Assignment -> Expression
- Hydra.Csharp.Syntax: [attributeArgumentsNamed] :: AttributeArguments -> Maybe NamedArgumentList
- Hydra.Csharp.Syntax: [attributeArgumentsPositonal] :: AttributeArguments -> Maybe PositionalArgumentList
- Hydra.Csharp.Syntax: [attributeArguments] :: Attribute -> Maybe AttributeArguments
- Hydra.Csharp.Syntax: [attributeName] :: Attribute -> AttributeName
- Hydra.Csharp.Syntax: [attributeSectionAttributes] :: AttributeSection -> AttributeList
- Hydra.Csharp.Syntax: [attributeSectionTarget] :: AttributeSection -> Maybe AttributeTarget
- Hydra.Csharp.Syntax: [baseAccessWithIdentifierIdentifier] :: BaseAccessWithIdentifier -> Identifier
- Hydra.Csharp.Syntax: [baseAccessWithIdentifierTypeArguments] :: BaseAccessWithIdentifier -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [binaryAdditiveExpressionLeft] :: BinaryAdditiveExpression -> AdditiveExpression
- Hydra.Csharp.Syntax: [binaryAdditiveExpressionOperator] :: BinaryAdditiveExpression -> AdditiveOperator
- Hydra.Csharp.Syntax: [binaryAdditiveExpressionRight] :: BinaryAdditiveExpression -> MultiplicativeExpression
- Hydra.Csharp.Syntax: [binaryAndExpressionLeft] :: BinaryAndExpression -> AndExpression
- Hydra.Csharp.Syntax: [binaryAndExpressionRight] :: BinaryAndExpression -> EqualityExpression
- Hydra.Csharp.Syntax: [binaryConditionalAndExpressionLeft] :: BinaryConditionalAndExpression -> ConditionalAndExpression
- Hydra.Csharp.Syntax: [binaryConditionalAndExpressionRight] :: BinaryConditionalAndExpression -> InclusiveOrExpression
- Hydra.Csharp.Syntax: [binaryConditionalOrExpressionLeft] :: BinaryConditionalOrExpression -> ConditionalOrExpression
- Hydra.Csharp.Syntax: [binaryConditionalOrExpressionRight] :: BinaryConditionalOrExpression -> ConditionalAndExpression
- Hydra.Csharp.Syntax: [binaryEqualityExpressionLeft] :: BinaryEqualityExpression -> EqualityExpression
- Hydra.Csharp.Syntax: [binaryEqualityExpressionOperator] :: BinaryEqualityExpression -> EqualityOperator
- Hydra.Csharp.Syntax: [binaryEqualityExpressionRight] :: BinaryEqualityExpression -> RelationalExpression
- Hydra.Csharp.Syntax: [binaryExclusiveOrExpressionLeft] :: BinaryExclusiveOrExpression -> ExclusiveOrExpression
- Hydra.Csharp.Syntax: [binaryExclusiveOrExpressionRight] :: BinaryExclusiveOrExpression -> AndExpression
- Hydra.Csharp.Syntax: [binaryInclusiveOrExpressionLeft] :: BinaryInclusiveOrExpression -> InclusiveOrExpression
- Hydra.Csharp.Syntax: [binaryInclusiveOrExpressionRight] :: BinaryInclusiveOrExpression -> ExclusiveOrExpression
- Hydra.Csharp.Syntax: [binaryMultiplicativeExpressionLeft] :: BinaryMultiplicativeExpression -> MultiplicativeExpression
- Hydra.Csharp.Syntax: [binaryMultiplicativeExpressionOperator] :: BinaryMultiplicativeExpression -> MultiplicativeOperator
- Hydra.Csharp.Syntax: [binaryMultiplicativeExpressionRight] :: BinaryMultiplicativeExpression -> UnaryExpression
- Hydra.Csharp.Syntax: [binaryNullCoalescingExpressionLeft] :: BinaryNullCoalescingExpression -> ConditionalOrExpression
- Hydra.Csharp.Syntax: [binaryNullCoalescingExpressionRight] :: BinaryNullCoalescingExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: [binaryOperatorDeclaratorLeft] :: BinaryOperatorDeclarator -> FixedParameter
- Hydra.Csharp.Syntax: [binaryOperatorDeclaratorOperator] :: BinaryOperatorDeclarator -> OverloadableBinaryOperator
- Hydra.Csharp.Syntax: [binaryOperatorDeclaratorRight] :: BinaryOperatorDeclarator -> FixedParameter
- Hydra.Csharp.Syntax: [binaryOperatorDeclaratorType] :: BinaryOperatorDeclarator -> Type
- Hydra.Csharp.Syntax: [binaryRelationalExpressionLeft] :: BinaryRelationalExpression -> RelationalExpression
- Hydra.Csharp.Syntax: [binaryRelationalExpressionOperator] :: BinaryRelationalExpression -> RelationalOperator
- Hydra.Csharp.Syntax: [binaryRelationalExpressionRight] :: BinaryRelationalExpression -> ShiftExpression
- Hydra.Csharp.Syntax: [binaryShiftExpressionLeft] :: BinaryShiftExpression -> ShiftExpression
- Hydra.Csharp.Syntax: [binaryShiftExpressionOperator] :: BinaryShiftExpression -> ShiftOperator
- Hydra.Csharp.Syntax: [binaryShiftExpressionRight] :: BinaryShiftExpression -> AdditiveExpression
- Hydra.Csharp.Syntax: [blockPropertyBodyAccessors] :: BlockPropertyBody -> AccessorDeclarations
- Hydra.Csharp.Syntax: [blockPropertyBodyInitializer] :: BlockPropertyBody -> Maybe VariableInitializer
- Hydra.Csharp.Syntax: [castExpressionExpression] :: CastExpression -> UnaryExpression
- Hydra.Csharp.Syntax: [castExpressionType] :: CastExpression -> Type
- Hydra.Csharp.Syntax: [classDeclarationAttributes] :: ClassDeclaration -> [AttributeSection]
- Hydra.Csharp.Syntax: [classDeclarationBase] :: ClassDeclaration -> Maybe ClassBase
- Hydra.Csharp.Syntax: [classDeclarationBody] :: ClassDeclaration -> ClassBody
- Hydra.Csharp.Syntax: [classDeclarationConstraints] :: ClassDeclaration -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [classDeclarationModifiers] :: ClassDeclaration -> [ClassModifier]
- Hydra.Csharp.Syntax: [classDeclarationName] :: ClassDeclaration -> Identifier
- Hydra.Csharp.Syntax: [classDeclarationParameters] :: ClassDeclaration -> Maybe TypeParameterList
- Hydra.Csharp.Syntax: [classDeclarationPartial] :: ClassDeclaration -> Bool
- Hydra.Csharp.Syntax: [compilationUnitAttributes] :: CompilationUnit -> [GlobalAttributeSection]
- Hydra.Csharp.Syntax: [compilationUnitExterns] :: CompilationUnit -> [ExternAliasDirective]
- Hydra.Csharp.Syntax: [compilationUnitMembers] :: CompilationUnit -> [NamespaceMemberDeclaration]
- Hydra.Csharp.Syntax: [compilationUnitUsings] :: CompilationUnit -> [UsingDirective]
- Hydra.Csharp.Syntax: [constantDeclarationAttributes] :: ConstantDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [constantDeclarationDeclarators] :: ConstantDeclaration -> [ConstantDeclarator]
- Hydra.Csharp.Syntax: [constantDeclarationModifiers] :: ConstantDeclaration -> [ConstantModifier]
- Hydra.Csharp.Syntax: [constantDeclarationType] :: ConstantDeclaration -> Type
- Hydra.Csharp.Syntax: [constantDeclaratorExpression] :: ConstantDeclarator -> ConstantExpression
- Hydra.Csharp.Syntax: [constantDeclaratorIdentifier] :: ConstantDeclarator -> Identifier
- Hydra.Csharp.Syntax: [constructorDeclarationAttributes] :: ConstructorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [constructorDeclarationBody] :: ConstructorDeclaration -> ConstructorBody
- Hydra.Csharp.Syntax: [constructorDeclarationDeclarator] :: ConstructorDeclaration -> ConstructorDeclarator
- Hydra.Csharp.Syntax: [constructorDeclarationModifiers] :: ConstructorDeclaration -> [ConstructorModifier]
- Hydra.Csharp.Syntax: [constructorDeclaratorInitializer] :: ConstructorDeclarator -> Maybe ConstructorInitializer
- Hydra.Csharp.Syntax: [constructorDeclaratorName] :: ConstructorDeclarator -> Identifier
- Hydra.Csharp.Syntax: [constructorDeclaratorParameters] :: ConstructorDeclarator -> Maybe FormalParameterList
- Hydra.Csharp.Syntax: [conversionOperatorDeclaratorKind] :: ConversionOperatorDeclarator -> ConversionKind
- Hydra.Csharp.Syntax: [conversionOperatorDeclaratorParameter] :: ConversionOperatorDeclarator -> FixedParameter
- Hydra.Csharp.Syntax: [conversionOperatorDeclaratorType] :: ConversionOperatorDeclarator -> Type
- Hydra.Csharp.Syntax: [declarationExpressionIdentifier] :: DeclarationExpression -> Identifier
- Hydra.Csharp.Syntax: [declarationExpressionType] :: DeclarationExpression -> LocalVariableType
- Hydra.Csharp.Syntax: [declarationPatternDesignation] :: DeclarationPattern -> Designation
- Hydra.Csharp.Syntax: [declarationPatternType] :: DeclarationPattern -> Type
- Hydra.Csharp.Syntax: [delegateCreationExpressionExpression] :: DelegateCreationExpression -> Expression
- Hydra.Csharp.Syntax: [delegateCreationExpressionType] :: DelegateCreationExpression -> DelegateType
- Hydra.Csharp.Syntax: [delegateDeclarationAttributes] :: DelegateDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [delegateDeclarationHeader] :: DelegateDeclaration -> DelegateHeader
- Hydra.Csharp.Syntax: [delegateDeclarationModifiers] :: DelegateDeclaration -> [DelegateModifier]
- Hydra.Csharp.Syntax: [delegateDeclarationRefKind] :: DelegateDeclaration -> Maybe RefKind
- Hydra.Csharp.Syntax: [delegateDeclarationRefReturnType] :: DelegateDeclaration -> Maybe Type
- Hydra.Csharp.Syntax: [delegateDeclarationReturnType] :: DelegateDeclaration -> ReturnType
- Hydra.Csharp.Syntax: [delegateHeaderConstraints] :: DelegateHeader -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [delegateHeaderName] :: DelegateHeader -> Identifier
- Hydra.Csharp.Syntax: [delegateHeaderParameters] :: DelegateHeader -> Maybe FormalParameterList
- Hydra.Csharp.Syntax: [delegateHeaderTypeParameters] :: DelegateHeader -> Maybe VariantTypeParameters
- Hydra.Csharp.Syntax: [dependentAccessForMemberIdentifier] :: DependentAccessForMember -> Identifier
- Hydra.Csharp.Syntax: [dependentAccessForMemberTypeArguments] :: DependentAccessForMember -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [doStatementBody] :: DoStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [doStatementWhile] :: DoStatement -> BooleanExpression
- Hydra.Csharp.Syntax: [elementAccessArguments] :: ElementAccess -> ArgumentList
- Hydra.Csharp.Syntax: [elementAccessExpression] :: ElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: [enumDeclarationAttributes] :: EnumDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [enumDeclarationBase] :: EnumDeclaration -> Maybe EnumBase
- Hydra.Csharp.Syntax: [enumDeclarationBody] :: EnumDeclaration -> Maybe EnumBody
- Hydra.Csharp.Syntax: [enumDeclarationModifiers] :: EnumDeclaration -> [EnumModifier]
- Hydra.Csharp.Syntax: [enumDeclarationName] :: EnumDeclaration -> Identifier
- Hydra.Csharp.Syntax: [enumMemberDeclarationAttributes] :: EnumMemberDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [enumMemberDeclarationName] :: EnumMemberDeclaration -> Identifier
- Hydra.Csharp.Syntax: [enumMemberDeclarationValue] :: EnumMemberDeclaration -> Maybe ConstantExpression
- Hydra.Csharp.Syntax: [exceptionSpecifierIdentifier] :: ExceptionSpecifier -> Maybe Identifier
- Hydra.Csharp.Syntax: [exceptionSpecifierType] :: ExceptionSpecifier -> Type
- Hydra.Csharp.Syntax: [explicitAnonymousFunctionParameterIdentifier] :: ExplicitAnonymousFunctionParameter -> Identifier
- Hydra.Csharp.Syntax: [explicitAnonymousFunctionParameterModifier] :: ExplicitAnonymousFunctionParameter -> Maybe AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: [explicitAnonymousFunctionParameterType] :: ExplicitAnonymousFunctionParameter -> Type
- Hydra.Csharp.Syntax: [explicitlyTypedLocalVariableDeclarationDeclarators] :: ExplicitlyTypedLocalVariableDeclaration -> [ExplicitlyTypedLocalVariableDeclarator]
- Hydra.Csharp.Syntax: [explicitlyTypedLocalVariableDeclarationType] :: ExplicitlyTypedLocalVariableDeclaration -> Type
- Hydra.Csharp.Syntax: [explicitlyTypedLocalVariableDeclaratorIdentifier] :: ExplicitlyTypedLocalVariableDeclarator -> Identifier
- Hydra.Csharp.Syntax: [explicitlyTypedLocalVariableDeclaratorInitializer] :: ExplicitlyTypedLocalVariableDeclarator -> Maybe LocalVariableInitializer
- Hydra.Csharp.Syntax: [fieldDeclarationAttributes] :: FieldDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [fieldDeclarationDeclarators] :: FieldDeclaration -> [VariableDeclarator]
- Hydra.Csharp.Syntax: [fieldDeclarationModifiers] :: FieldDeclaration -> [FieldModifier]
- Hydra.Csharp.Syntax: [fieldDeclarationType] :: FieldDeclaration -> Type
- Hydra.Csharp.Syntax: [finalizerDeclarationAttributes] :: FinalizerDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [finalizerDeclarationBody] :: FinalizerDeclaration -> FinalizerBody
- Hydra.Csharp.Syntax: [finalizerDeclarationExtern] :: FinalizerDeclaration -> Bool
- Hydra.Csharp.Syntax: [finalizerDeclarationName] :: FinalizerDeclaration -> Identifier
- Hydra.Csharp.Syntax: [finalizerDeclarationUnsafe] :: FinalizerDeclaration -> Bool
- Hydra.Csharp.Syntax: [fixedParameterAttributes] :: FixedParameter -> Maybe Attributes
- Hydra.Csharp.Syntax: [fixedParameterDefaultArgument] :: FixedParameter -> Maybe Expression
- Hydra.Csharp.Syntax: [fixedParameterIdentifier] :: FixedParameter -> Identifier
- Hydra.Csharp.Syntax: [fixedParameterModifier] :: FixedParameter -> Maybe ParameterModifier
- Hydra.Csharp.Syntax: [fixedParameterType] :: FixedParameter -> Type
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclarationAttributes] :: FixedSizeBufferDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclarationDeclarators] :: FixedSizeBufferDeclaration -> [FixedSizeBufferDeclarator]
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclarationElementType] :: FixedSizeBufferDeclaration -> Type
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclarationModifiers] :: FixedSizeBufferDeclaration -> [FixedSizeBufferModifier]
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclaratorName] :: FixedSizeBufferDeclarator -> Identifier
- Hydra.Csharp.Syntax: [fixedSizeBufferDeclaratorSize] :: FixedSizeBufferDeclarator -> ConstantExpression
- Hydra.Csharp.Syntax: [fixedStatementDeclarators] :: FixedStatement -> [FixedPointerDeclarator]
- Hydra.Csharp.Syntax: [fixedStatementPointerType] :: FixedStatement -> PointerType
- Hydra.Csharp.Syntax: [fixedStatementStatement] :: FixedStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [forStatementBody] :: ForStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [forStatementCondition] :: ForStatement -> Maybe BooleanExpression
- Hydra.Csharp.Syntax: [forStatementInitializer] :: ForStatement -> Maybe ForInitializer
- Hydra.Csharp.Syntax: [forStatementIterator] :: ForStatement -> Maybe StatementExpressionList
- Hydra.Csharp.Syntax: [foreachStatementBody] :: ForeachStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [foreachStatementExpression] :: ForeachStatement -> Expression
- Hydra.Csharp.Syntax: [foreachStatementIdentifier] :: ForeachStatement -> Identifier
- Hydra.Csharp.Syntax: [foreachStatementKind] :: ForeachStatement -> Maybe RefKind
- Hydra.Csharp.Syntax: [foreachStatementType] :: ForeachStatement -> LocalVariableType
- Hydra.Csharp.Syntax: [formalParameterListArray] :: FormalParameterList -> Maybe ParameterArray
- Hydra.Csharp.Syntax: [formalParameterListFixed] :: FormalParameterList -> [FixedParameter]
- Hydra.Csharp.Syntax: [fromClauseIdentifier] :: FromClause -> Identifier
- Hydra.Csharp.Syntax: [fromClauseIn] :: FromClause -> Expression
- Hydra.Csharp.Syntax: [fromClauseType] :: FromClause -> Maybe Type
- Hydra.Csharp.Syntax: [globalAttributeSectionAttributes] :: GlobalAttributeSection -> AttributeList
- Hydra.Csharp.Syntax: [globalAttributeSectionTarget] :: GlobalAttributeSection -> Identifier
- Hydra.Csharp.Syntax: [groupClauseBy] :: GroupClause -> Expression
- Hydra.Csharp.Syntax: [groupClauseGrouped] :: GroupClause -> Expression
- Hydra.Csharp.Syntax: [identifierNamespaceOrTypeNameArguments] :: IdentifierNamespaceOrTypeName -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [identifierNamespaceOrTypeNameIdentifier] :: IdentifierNamespaceOrTypeName -> Identifier
- Hydra.Csharp.Syntax: [ifStatementCondition] :: IfStatement -> BooleanExpression
- Hydra.Csharp.Syntax: [ifStatementElseBranch] :: IfStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [ifStatementIfBranch] :: IfStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [implicitlyTypedLocalVariableDeclaratorExpression] :: ImplicitlyTypedLocalVariableDeclarator -> Expression
- Hydra.Csharp.Syntax: [implicitlyTypedLocalVariableDeclaratorIdentifier] :: ImplicitlyTypedLocalVariableDeclarator -> Identifier
- Hydra.Csharp.Syntax: [indexerDeclaratorInterface] :: IndexerDeclarator -> Maybe InterfaceType
- Hydra.Csharp.Syntax: [indexerDeclaratorParameters] :: IndexerDeclarator -> FormalParameterList
- Hydra.Csharp.Syntax: [indexerDeclaratorType] :: IndexerDeclarator -> Type
- Hydra.Csharp.Syntax: [interfaceAccessorsAttributes] :: InterfaceAccessors -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceAccessorsGet] :: InterfaceAccessors -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceAccessorsSet] :: InterfaceAccessors -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceDeclarationAttributes] :: InterfaceDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceDeclarationBase] :: InterfaceDeclaration -> [InterfaceType]
- Hydra.Csharp.Syntax: [interfaceDeclarationBody] :: InterfaceDeclaration -> [InterfaceMemberDeclaration]
- Hydra.Csharp.Syntax: [interfaceDeclarationConstraints] :: InterfaceDeclaration -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [interfaceDeclarationModifiers] :: InterfaceDeclaration -> [InterfaceModifier]
- Hydra.Csharp.Syntax: [interfaceDeclarationName] :: InterfaceDeclaration -> Identifier
- Hydra.Csharp.Syntax: [interfaceDeclarationParameters] :: InterfaceDeclaration -> Maybe VariantTypeParameters
- Hydra.Csharp.Syntax: [interfaceDeclarationPartial] :: InterfaceDeclaration -> Bool
- Hydra.Csharp.Syntax: [interfaceEventDeclarationAttributes] :: InterfaceEventDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceEventDeclarationName] :: InterfaceEventDeclaration -> Identifier
- Hydra.Csharp.Syntax: [interfaceEventDeclarationNew] :: InterfaceEventDeclaration -> Bool
- Hydra.Csharp.Syntax: [interfaceEventDeclarationType] :: InterfaceEventDeclaration -> Type
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationAccessors] :: InterfaceIndexerDeclaration -> InterfaceAccessors
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationAttributes] :: InterfaceIndexerDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationNew] :: InterfaceIndexerDeclaration -> Bool
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationParameters] :: InterfaceIndexerDeclaration -> FormalParameterList
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationRefKind] :: InterfaceIndexerDeclaration -> Maybe RefKind
- Hydra.Csharp.Syntax: [interfaceIndexerDeclarationType] :: InterfaceIndexerDeclaration -> Type
- Hydra.Csharp.Syntax: [interfaceMethodDeclarationAttributes] :: InterfaceMethodDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfaceMethodDeclarationHeader] :: InterfaceMethodDeclaration -> InterfaceMethodHeader
- Hydra.Csharp.Syntax: [interfaceMethodDeclarationNew] :: InterfaceMethodDeclaration -> Bool
- Hydra.Csharp.Syntax: [interfaceMethodDeclarationRefKind] :: InterfaceMethodDeclaration -> Maybe RefKind
- Hydra.Csharp.Syntax: [interfaceMethodDeclarationReturnType] :: InterfaceMethodDeclaration -> ReturnType
- Hydra.Csharp.Syntax: [interfaceMethodHeaderConstraints] :: InterfaceMethodHeader -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [interfaceMethodHeaderName] :: InterfaceMethodHeader -> Identifier
- Hydra.Csharp.Syntax: [interfaceMethodHeaderParameters] :: InterfaceMethodHeader -> Maybe FormalParameterList
- Hydra.Csharp.Syntax: [interfaceMethodHeaderTypeParameters] :: InterfaceMethodHeader -> Maybe TypeParameterList
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationAccessors] :: InterfacePropertyDeclaration -> InterfaceAccessors
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationAttributes] :: InterfacePropertyDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationName] :: InterfacePropertyDeclaration -> Identifier
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationNew] :: InterfacePropertyDeclaration -> Bool
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationRefKind] :: InterfacePropertyDeclaration -> Maybe RefKind
- Hydra.Csharp.Syntax: [interfacePropertyDeclarationType] :: InterfacePropertyDeclaration -> Type
- Hydra.Csharp.Syntax: [invocationExpressionArguments] :: InvocationExpression -> Maybe ArgumentList
- Hydra.Csharp.Syntax: [invocationExpressionExpression] :: InvocationExpression -> PrimaryExpression
- Hydra.Csharp.Syntax: [isPatternExpressionExpression] :: IsPatternExpression -> RelationalExpression
- Hydra.Csharp.Syntax: [isPatternExpressionPattern] :: IsPatternExpression -> Pattern
- Hydra.Csharp.Syntax: [isTypeExpressionExpression] :: IsTypeExpression -> RelationalExpression
- Hydra.Csharp.Syntax: [isTypeExpressionType] :: IsTypeExpression -> Type
- Hydra.Csharp.Syntax: [joinClauseEquals] :: JoinClause -> Expression
- Hydra.Csharp.Syntax: [joinClauseIdentifier] :: JoinClause -> Identifier
- Hydra.Csharp.Syntax: [joinClauseIn] :: JoinClause -> Expression
- Hydra.Csharp.Syntax: [joinClauseInto] :: JoinClause -> Maybe Identifier
- Hydra.Csharp.Syntax: [joinClauseOn] :: JoinClause -> Expression
- Hydra.Csharp.Syntax: [joinClauseType] :: JoinClause -> Maybe Type
- Hydra.Csharp.Syntax: [labeledStatementLabel] :: LabeledStatement -> Identifier
- Hydra.Csharp.Syntax: [labeledStatementStatement] :: LabeledStatement -> Statement
- Hydra.Csharp.Syntax: [lambdaExpressionAsync] :: LambdaExpression -> Bool
- Hydra.Csharp.Syntax: [lambdaExpressionBody] :: LambdaExpression -> AnonymousFunctionBody
- Hydra.Csharp.Syntax: [lambdaExpressionSignature] :: LambdaExpression -> AnonymousFunctionSignature
- Hydra.Csharp.Syntax: [letClauseLeft] :: LetClause -> Identifier
- Hydra.Csharp.Syntax: [letClauseRight] :: LetClause -> Expression
- Hydra.Csharp.Syntax: [localConstantDeclarationDeclarators] :: LocalConstantDeclaration -> [ConstantDeclarator]
- Hydra.Csharp.Syntax: [localConstantDeclarationType] :: LocalConstantDeclaration -> Type
- Hydra.Csharp.Syntax: [localFunctionHeaderConstraints] :: LocalFunctionHeader -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [localFunctionHeaderIdentifier] :: LocalFunctionHeader -> Identifier
- Hydra.Csharp.Syntax: [localFunctionHeaderParameters] :: LocalFunctionHeader -> FormalParameterList
- Hydra.Csharp.Syntax: [localFunctionHeaderTypeParameters] :: LocalFunctionHeader -> Maybe TypeParameterList
- Hydra.Csharp.Syntax: [lockStatementBody] :: LockStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [lockStatementExpression] :: LockStatement -> Expression
- Hydra.Csharp.Syntax: [memberAccessHead] :: MemberAccess -> MemberAccessHead
- Hydra.Csharp.Syntax: [memberAccessIdentifier] :: MemberAccess -> Identifier
- Hydra.Csharp.Syntax: [memberAccessTypeArguments] :: MemberAccess -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [memberInitializerTarget] :: MemberInitializer -> InitializerTarget
- Hydra.Csharp.Syntax: [memberInitializerValue] :: MemberInitializer -> InitializerValue
- Hydra.Csharp.Syntax: [memberNameIdentifier] :: MemberName -> Identifier
- Hydra.Csharp.Syntax: [memberNameInterfaceType] :: MemberName -> Maybe TypeName
- Hydra.Csharp.Syntax: [methodHeaderConstraints] :: MethodHeader -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [methodHeaderName] :: MethodHeader -> MemberName
- Hydra.Csharp.Syntax: [methodHeaderParameters] :: MethodHeader -> Maybe FormalParameterList
- Hydra.Csharp.Syntax: [methodHeaderTypeParameters] :: MethodHeader -> Maybe TypeParameterList
- Hydra.Csharp.Syntax: [methodModifiersModifiers] :: MethodModifiers -> [MethodModifier]
- Hydra.Csharp.Syntax: [methodModifiersPartial] :: MethodModifiers -> Bool
- Hydra.Csharp.Syntax: [namedArgumentName] :: NamedArgument -> Identifier
- Hydra.Csharp.Syntax: [namedArgumentValue] :: NamedArgument -> AttributeArgumentExpression
- Hydra.Csharp.Syntax: [namedEntityPartIdentifier] :: NamedEntityPart -> Identifier
- Hydra.Csharp.Syntax: [namedEntityPartTypeArguments] :: NamedEntityPart -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [namedEntityParts] :: NamedEntity -> [NamedEntityPart]
- Hydra.Csharp.Syntax: [namedEntityTarget] :: NamedEntity -> NamedEntityTarget
- Hydra.Csharp.Syntax: [namespaceBodyExterns] :: NamespaceBody -> [ExternAliasDirective]
- Hydra.Csharp.Syntax: [namespaceBodyMembers] :: NamespaceBody -> [NamespaceMemberDeclaration]
- Hydra.Csharp.Syntax: [namespaceBodyUsings] :: NamespaceBody -> [UsingDirective]
- Hydra.Csharp.Syntax: [namespaceDeclarationBody] :: NamespaceDeclaration -> NamespaceBody
- Hydra.Csharp.Syntax: [namespaceDeclarationName] :: NamespaceDeclaration -> QualifiedIdentifier
- Hydra.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionExpressions] :: NonArrayTypeArrayCreationExpression -> ExpressionList
- Hydra.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionInitializer] :: NonArrayTypeArrayCreationExpression -> Maybe ArrayInitializer
- Hydra.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionRankSpecifiers] :: NonArrayTypeArrayCreationExpression -> [RankSpecifier]
- Hydra.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionType] :: NonArrayTypeArrayCreationExpression -> NonArrayType
- Hydra.Csharp.Syntax: [nullConditionalElementAccessArguments] :: NullConditionalElementAccess -> ArgumentList
- Hydra.Csharp.Syntax: [nullConditionalElementAccessDependentAccess] :: NullConditionalElementAccess -> [DependentAccess]
- Hydra.Csharp.Syntax: [nullConditionalElementAccessExpression] :: NullConditionalElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: [nullConditionalInvocationExpressionArguments] :: NullConditionalInvocationExpression -> Maybe ArgumentList
- Hydra.Csharp.Syntax: [nullConditionalInvocationExpressionHead] :: NullConditionalInvocationExpression -> NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: [nullConditionalMemberAccessDependentAccess] :: NullConditionalMemberAccess -> [DependentAccess]
- Hydra.Csharp.Syntax: [nullConditionalMemberAccessExpression] :: NullConditionalMemberAccess -> PrimaryExpression
- Hydra.Csharp.Syntax: [nullConditionalMemberAccessIdentifier] :: NullConditionalMemberAccess -> Identifier
- Hydra.Csharp.Syntax: [nullConditionalMemberAccessTypeArguments] :: NullConditionalMemberAccess -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [nullConditionalProjectionInitializerExpression] :: NullConditionalProjectionInitializer -> PrimaryExpression
- Hydra.Csharp.Syntax: [nullConditionalProjectionInitializerIdentifier] :: NullConditionalProjectionInitializer -> Identifier
- Hydra.Csharp.Syntax: [nullConditionalProjectionInitializerTypeArguments] :: NullConditionalProjectionInitializer -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [objectCreationExpressionArguments] :: ObjectCreationExpression -> Maybe ArgumentList
- Hydra.Csharp.Syntax: [objectCreationExpressionInitializer] :: ObjectCreationExpression -> Maybe ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: [objectCreationExpressionType] :: ObjectCreationExpression -> Type
- Hydra.Csharp.Syntax: [operatorDeclarationAttributes] :: OperatorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [operatorDeclarationBody] :: OperatorDeclaration -> OperatorBody
- Hydra.Csharp.Syntax: [operatorDeclarationDeclarator] :: OperatorDeclaration -> OperatorDeclarator
- Hydra.Csharp.Syntax: [operatorDeclarationModifiers] :: OperatorDeclaration -> [OperatorModifier]
- Hydra.Csharp.Syntax: [orderingDirection] :: Ordering -> Maybe OrderingDirection
- Hydra.Csharp.Syntax: [orderingExpression] :: Ordering -> Expression
- Hydra.Csharp.Syntax: [parameterArrayAttributes] :: ParameterArray -> Maybe Attributes
- Hydra.Csharp.Syntax: [parameterArrayIdentifier] :: ParameterArray -> Identifier
- Hydra.Csharp.Syntax: [parameterArrayType] :: ParameterArray -> ArrayType
- Hydra.Csharp.Syntax: [pointerElementAccessIndex] :: PointerElementAccess -> Expression
- Hydra.Csharp.Syntax: [pointerElementAccessPointer] :: PointerElementAccess -> PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: [pointerMemberAccessMember] :: PointerMemberAccess -> Identifier
- Hydra.Csharp.Syntax: [pointerMemberAccessPointer] :: PointerMemberAccess -> PrimaryExpression
- Hydra.Csharp.Syntax: [pointerMemberAccessTypeArguments] :: PointerMemberAccess -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [positionalArgumentName] :: PositionalArgument -> Maybe Identifier
- Hydra.Csharp.Syntax: [positionalArgumentValue] :: PositionalArgument -> AttributeArgumentExpression
- Hydra.Csharp.Syntax: [qualifiedAliasMemberAlias] :: QualifiedAliasMember -> Identifier
- Hydra.Csharp.Syntax: [qualifiedAliasMemberArguments] :: QualifiedAliasMember -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [qualifiedAliasMemberMember] :: QualifiedAliasMember -> Identifier
- Hydra.Csharp.Syntax: [qualifiedNamespaceOrTypeNameArguments] :: QualifiedNamespaceOrTypeName -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [qualifiedNamespaceOrTypeNameIdentifier] :: QualifiedNamespaceOrTypeName -> Identifier
- Hydra.Csharp.Syntax: [qualifiedNamespaceOrTypeNameNamespaceOrType] :: QualifiedNamespaceOrTypeName -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: [queryBodyClauses] :: QueryBody -> [QueryBodyClause]
- Hydra.Csharp.Syntax: [queryBodyContinuation] :: QueryBody -> Maybe QueryContinuation
- Hydra.Csharp.Syntax: [queryBodySelectOrGroup] :: QueryBody -> SelectOrGroupClause
- Hydra.Csharp.Syntax: [queryContinuationBody] :: QueryContinuation -> QueryBody
- Hydra.Csharp.Syntax: [queryContinuationInto] :: QueryContinuation -> Identifier
- Hydra.Csharp.Syntax: [queryExpressionBody] :: QueryExpression -> QueryBody
- Hydra.Csharp.Syntax: [queryExpressionFrom] :: QueryExpression -> FromClause
- Hydra.Csharp.Syntax: [rankSpecifierArrayCreationExpressionInitializer] :: RankSpecifierArrayCreationExpression -> ArrayInitializer
- Hydra.Csharp.Syntax: [rankSpecifierArrayCreationExpressionRankSpecifier] :: RankSpecifierArrayCreationExpression -> RankSpecifier
- Hydra.Csharp.Syntax: [refConditionalExpressionCondition] :: RefConditionalExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: [refConditionalExpressionFalse] :: RefConditionalExpression -> VariableReference
- Hydra.Csharp.Syntax: [refConditionalExpressionTrue] :: RefConditionalExpression -> VariableReference
- Hydra.Csharp.Syntax: [refGetAccessorDeclarationAttributes] :: RefGetAccessorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [refGetAccessorDeclarationBody] :: RefGetAccessorDeclaration -> RefAccessorBody
- Hydra.Csharp.Syntax: [refGetAccessorDeclarationModifier] :: RefGetAccessorDeclaration -> Maybe AccessorModifier
- Hydra.Csharp.Syntax: [refIndexerDeclarationAttributes] :: RefIndexerDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [refIndexerDeclarationBody] :: RefIndexerDeclaration -> RefIndexerBody
- Hydra.Csharp.Syntax: [refIndexerDeclarationDeclarator] :: RefIndexerDeclaration -> IndexerDeclarator
- Hydra.Csharp.Syntax: [refIndexerDeclarationModifiers] :: RefIndexerDeclaration -> [IndexerModifier]
- Hydra.Csharp.Syntax: [refIndexerDeclarationRefKind] :: RefIndexerDeclaration -> RefKind
- Hydra.Csharp.Syntax: [refLocalFunctionDeclarationBody] :: RefLocalFunctionDeclaration -> RefLocalFunctionBody
- Hydra.Csharp.Syntax: [refLocalFunctionDeclarationHeader] :: RefLocalFunctionDeclaration -> LocalFunctionHeader
- Hydra.Csharp.Syntax: [refLocalFunctionDeclarationModifiers] :: RefLocalFunctionDeclaration -> [RefLocalFunctionModifier]
- Hydra.Csharp.Syntax: [refLocalFunctionDeclarationRefKind] :: RefLocalFunctionDeclaration -> RefKind
- Hydra.Csharp.Syntax: [refLocalFunctionDeclarationReturnType] :: RefLocalFunctionDeclaration -> Type
- Hydra.Csharp.Syntax: [refLocalVariableDeclarationDeclarators] :: RefLocalVariableDeclaration -> [RefLocalVariableDeclarator]
- Hydra.Csharp.Syntax: [refLocalVariableDeclarationRefKind] :: RefLocalVariableDeclaration -> RefKind
- Hydra.Csharp.Syntax: [refLocalVariableDeclarationType] :: RefLocalVariableDeclaration -> Type
- Hydra.Csharp.Syntax: [refLocalVariableDeclaratorLeft] :: RefLocalVariableDeclarator -> Identifier
- Hydra.Csharp.Syntax: [refLocalVariableDeclaratorRight] :: RefLocalVariableDeclarator -> VariableReference
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationAttributes] :: RefReturnMethodDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationBody] :: RefReturnMethodDeclaration -> RefMethodBody
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationHeader] :: RefReturnMethodDeclaration -> MethodHeader
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationKind] :: RefReturnMethodDeclaration -> RefKind
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationModifiers] :: RefReturnMethodDeclaration -> [RefMethodModifier]
- Hydra.Csharp.Syntax: [refReturnMethodDeclarationReturnType] :: RefReturnMethodDeclaration -> ReturnType
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationAttributes] :: RefReturnPropertyDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationBody] :: RefReturnPropertyDeclaration -> RefPropertyBody
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationModifiers] :: RefReturnPropertyDeclaration -> [PropertyModifier]
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationName] :: RefReturnPropertyDeclaration -> MemberName
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationRefKind] :: RefReturnPropertyDeclaration -> RefKind
- Hydra.Csharp.Syntax: [refReturnPropertyDeclarationType] :: RefReturnPropertyDeclaration -> Type
- Hydra.Csharp.Syntax: [refVarImplicitlyTypedLocalVariableDeclarationDeclarator] :: RefVarImplicitlyTypedLocalVariableDeclaration -> RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: [refVarImplicitlyTypedLocalVariableDeclarationRefKind] :: RefVarImplicitlyTypedLocalVariableDeclaration -> RefKind
- Hydra.Csharp.Syntax: [regularInterpolationExpression] :: RegularInterpolation -> Expression
- Hydra.Csharp.Syntax: [regularInterpolationFormat] :: RegularInterpolation -> Maybe String
- Hydra.Csharp.Syntax: [regularInterpolationWidth] :: RegularInterpolation -> Maybe Expression
- Hydra.Csharp.Syntax: [simpleConditionalExpressionCondition] :: SimpleConditionalExpression -> NullCoalescingExpression
- Hydra.Csharp.Syntax: [simpleConditionalExpressionFalse] :: SimpleConditionalExpression -> Expression
- Hydra.Csharp.Syntax: [simpleConditionalExpressionTrue] :: SimpleConditionalExpression -> Expression
- Hydra.Csharp.Syntax: [simpleNameIdentifier] :: SimpleName -> Identifier
- Hydra.Csharp.Syntax: [simpleNameTypeArguments] :: SimpleName -> Maybe TypeArgumentList
- Hydra.Csharp.Syntax: [specificCatchClauseBody] :: SpecificCatchClause -> Block
- Hydra.Csharp.Syntax: [specificCatchClauseFilter] :: SpecificCatchClause -> Maybe BooleanExpression
- Hydra.Csharp.Syntax: [specificCatchClauseSpecifier] :: SpecificCatchClause -> Maybe ExceptionSpecifier
- Hydra.Csharp.Syntax: [stackallocExpressionExpression] :: StackallocExpression -> Maybe ConstantExpression
- Hydra.Csharp.Syntax: [stackallocExpressionInitializer] :: StackallocExpression -> [Expression]
- Hydra.Csharp.Syntax: [stackallocExpressionType] :: StackallocExpression -> Maybe UnmanagedType
- Hydra.Csharp.Syntax: [standardEventDeclarationAttributes] :: StandardEventDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [standardEventDeclarationDeclarators] :: StandardEventDeclaration -> VariableDeclarators
- Hydra.Csharp.Syntax: [standardEventDeclarationModifiers] :: StandardEventDeclaration -> [EventModifier]
- Hydra.Csharp.Syntax: [standardEventDeclarationType] :: StandardEventDeclaration -> Type
- Hydra.Csharp.Syntax: [standardIndexerDeclarationAttributes] :: StandardIndexerDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [standardIndexerDeclarationBody] :: StandardIndexerDeclaration -> IndexerBody
- Hydra.Csharp.Syntax: [standardIndexerDeclarationDeclarator] :: StandardIndexerDeclaration -> IndexerDeclarator
- Hydra.Csharp.Syntax: [standardIndexerDeclarationModifiers] :: StandardIndexerDeclaration -> [IndexerModifier]
- Hydra.Csharp.Syntax: [standardLocalFunctionDeclarationBody] :: StandardLocalFunctionDeclaration -> LocalFunctionBody
- Hydra.Csharp.Syntax: [standardLocalFunctionDeclarationHeader] :: StandardLocalFunctionDeclaration -> LocalFunctionHeader
- Hydra.Csharp.Syntax: [standardLocalFunctionDeclarationModifiers] :: StandardLocalFunctionDeclaration -> [LocalFunctionModifier]
- Hydra.Csharp.Syntax: [standardLocalFunctionDeclarationReturnType] :: StandardLocalFunctionDeclaration -> ReturnType
- Hydra.Csharp.Syntax: [standardMethodDeclarationAttributes] :: StandardMethodDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [standardMethodDeclarationBody] :: StandardMethodDeclaration -> MethodBody
- Hydra.Csharp.Syntax: [standardMethodDeclarationHeader] :: StandardMethodDeclaration -> MethodHeader
- Hydra.Csharp.Syntax: [standardMethodDeclarationModifiers] :: StandardMethodDeclaration -> [MethodModifier]
- Hydra.Csharp.Syntax: [standardMethodDeclarationReturnType] :: StandardMethodDeclaration -> ReturnType
- Hydra.Csharp.Syntax: [standardPropertyDeclarationAttributes] :: StandardPropertyDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [standardPropertyDeclarationBody] :: StandardPropertyDeclaration -> PropertyBody
- Hydra.Csharp.Syntax: [standardPropertyDeclarationModifiers] :: StandardPropertyDeclaration -> [PropertyModifier]
- Hydra.Csharp.Syntax: [standardPropertyDeclarationName] :: StandardPropertyDeclaration -> MemberName
- Hydra.Csharp.Syntax: [standardPropertyDeclarationType] :: StandardPropertyDeclaration -> Type
- Hydra.Csharp.Syntax: [staticConstructorDeclarationAttributes] :: StaticConstructorDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [staticConstructorDeclarationBody] :: StaticConstructorDeclaration -> StaticConstructorBody
- Hydra.Csharp.Syntax: [staticConstructorDeclarationModifiers] :: StaticConstructorDeclaration -> StaticConstructorModifiers
- Hydra.Csharp.Syntax: [staticConstructorDeclarationName] :: StaticConstructorDeclaration -> Identifier
- Hydra.Csharp.Syntax: [staticConstructorModifiersExtern] :: StaticConstructorModifiers -> Bool
- Hydra.Csharp.Syntax: [staticConstructorModifiersUnsafe] :: StaticConstructorModifiers -> Bool
- Hydra.Csharp.Syntax: [structDeclarationAttributes] :: StructDeclaration -> Maybe Attributes
- Hydra.Csharp.Syntax: [structDeclarationBody] :: StructDeclaration -> [StructMemberDeclaration]
- Hydra.Csharp.Syntax: [structDeclarationConstraints] :: StructDeclaration -> [TypeParameterConstraintsClause]
- Hydra.Csharp.Syntax: [structDeclarationInterfaces] :: StructDeclaration -> [InterfaceType]
- Hydra.Csharp.Syntax: [structDeclarationModifiers] :: StructDeclaration -> [StructModifier]
- Hydra.Csharp.Syntax: [structDeclarationName] :: StructDeclaration -> Identifier
- Hydra.Csharp.Syntax: [structDeclarationParameters] :: StructDeclaration -> Maybe TypeParameterList
- Hydra.Csharp.Syntax: [structDeclarationPartial] :: StructDeclaration -> Bool
- Hydra.Csharp.Syntax: [structDeclarationRef] :: StructDeclaration -> Bool
- Hydra.Csharp.Syntax: [switchBranchGuard] :: SwitchBranch -> Maybe Expression
- Hydra.Csharp.Syntax: [switchBranchPattern] :: SwitchBranch -> Pattern
- Hydra.Csharp.Syntax: [switchSectionLabels] :: SwitchSection -> [SwitchLabel]
- Hydra.Csharp.Syntax: [switchSectionStatements] :: SwitchSection -> [Statement]
- Hydra.Csharp.Syntax: [switchStatementBranches] :: SwitchStatement -> [SwitchSection]
- Hydra.Csharp.Syntax: [switchStatementExpression] :: SwitchStatement -> Expression
- Hydra.Csharp.Syntax: [tryStatementBody] :: TryStatement -> Block
- Hydra.Csharp.Syntax: [tryStatementCatches] :: TryStatement -> CatchClauses
- Hydra.Csharp.Syntax: [tryStatementFinally] :: TryStatement -> Maybe Block
- Hydra.Csharp.Syntax: [tupleElementExpression] :: TupleElement -> Expression
- Hydra.Csharp.Syntax: [tupleElementName] :: TupleElement -> Maybe Identifier
- Hydra.Csharp.Syntax: [tupleTypeElementIdentifier] :: TupleTypeElement -> Maybe Identifier
- Hydra.Csharp.Syntax: [tupleTypeElementType] :: TupleTypeElement -> Type
- Hydra.Csharp.Syntax: [typeParameterConstraintsClauseConstraints] :: TypeParameterConstraintsClause -> [TypeParameterConstraints]
- Hydra.Csharp.Syntax: [typeParameterConstraintsClauseParameter] :: TypeParameterConstraintsClause -> TypeParameter
- Hydra.Csharp.Syntax: [typeParameterConstraintsConstructor] :: TypeParameterConstraints -> Bool
- Hydra.Csharp.Syntax: [typeParameterConstraintsPrimary] :: TypeParameterConstraints -> Maybe PrimaryConstraint
- Hydra.Csharp.Syntax: [typeParameterConstraintsSecondary] :: TypeParameterConstraints -> Maybe SecondaryConstraints
- Hydra.Csharp.Syntax: [typeParameterPartAttributes] :: TypeParameterPart -> Maybe Attributes
- Hydra.Csharp.Syntax: [typeParameterPartName] :: TypeParameterPart -> TypeParameter
- Hydra.Csharp.Syntax: [unArgumentList] :: ArgumentList -> [Argument]
- Hydra.Csharp.Syntax: [unArrayInitializer] :: ArrayInitializer -> [VariableInitializer]
- Hydra.Csharp.Syntax: [unAttributeArgumentExpression] :: AttributeArgumentExpression -> NonAssignmentExpression
- Hydra.Csharp.Syntax: [unAttributeList] :: AttributeList -> [Attribute]
- Hydra.Csharp.Syntax: [unAttributeName] :: AttributeName -> TypeName
- Hydra.Csharp.Syntax: [unAttributes] :: Attributes -> [AttributeSection]
- Hydra.Csharp.Syntax: [unBlock] :: Block -> [Statement]
- Hydra.Csharp.Syntax: [unBooleanExpression] :: BooleanExpression -> Expression
- Hydra.Csharp.Syntax: [unClassBody] :: ClassBody -> [ClassMemberDeclaration]
- Hydra.Csharp.Syntax: [unConstantExpression] :: ConstantExpression -> Expression
- Hydra.Csharp.Syntax: [unDeconstructionTuple] :: DeconstructionTuple -> [DeconstructionElement]
- Hydra.Csharp.Syntax: [unDelegateType] :: DelegateType -> TypeName
- Hydra.Csharp.Syntax: [unDesignation] :: Designation -> Identifier
- Hydra.Csharp.Syntax: [unEnumBody] :: EnumBody -> [EnumMemberDeclaration]
- Hydra.Csharp.Syntax: [unEnumType] :: EnumType -> TypeName
- Hydra.Csharp.Syntax: [unExpressionList] :: ExpressionList -> [Expression]
- Hydra.Csharp.Syntax: [unExternAliasDirective] :: ExternAliasDirective -> Identifier
- Hydra.Csharp.Syntax: [unIdentifier] :: Identifier -> String
- Hydra.Csharp.Syntax: [unInterfaceType] :: InterfaceType -> TypeName
- Hydra.Csharp.Syntax: [unInterpolatedRegularStringExpression] :: InterpolatedRegularStringExpression -> String
- Hydra.Csharp.Syntax: [unInterpolatedVerbatimStringExpression] :: InterpolatedVerbatimStringExpression -> String
- Hydra.Csharp.Syntax: [unKeyword] :: Keyword -> String
- Hydra.Csharp.Syntax: [unMemberDeclaratorList] :: MemberDeclaratorList -> [MemberDeclarator]
- Hydra.Csharp.Syntax: [unNamedArgumentList] :: NamedArgumentList -> [NamedArgument]
- Hydra.Csharp.Syntax: [unNamespaceName] :: NamespaceName -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: [unPositionalArgumentList] :: PositionalArgumentList -> [PositionalArgument]
- Hydra.Csharp.Syntax: [unQualifiedIdentifier] :: QualifiedIdentifier -> [Identifier]
- Hydra.Csharp.Syntax: [unRankSpecifier] :: RankSpecifier -> Int
- Hydra.Csharp.Syntax: [unSecondaryConstraints] :: SecondaryConstraints -> [SecondaryConstraint]
- Hydra.Csharp.Syntax: [unStatementExpressionList] :: StatementExpressionList -> [StatementExpression]
- Hydra.Csharp.Syntax: [unTupleType] :: TupleType -> [TupleTypeElement]
- Hydra.Csharp.Syntax: [unTypeArgumentList] :: TypeArgumentList -> [Type]
- Hydra.Csharp.Syntax: [unTypeName] :: TypeName -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: [unTypeParameterList] :: TypeParameterList -> [TypeParameterPart]
- Hydra.Csharp.Syntax: [unTypeParameter] :: TypeParameter -> Identifier
- Hydra.Csharp.Syntax: [unUnboundTypeName] :: UnboundTypeName -> [UnboundTypeNamePart]
- Hydra.Csharp.Syntax: [unVariableDeclarators] :: VariableDeclarators -> [VariableDeclarator]
- Hydra.Csharp.Syntax: [unVariableReference] :: VariableReference -> Expression
- Hydra.Csharp.Syntax: [unVariantTypeParameters] :: VariantTypeParameters -> [VariantTypeParameter]
- Hydra.Csharp.Syntax: [unaryOperatorDeclaratorOperator] :: UnaryOperatorDeclarator -> OverloadableUnaryOperator
- Hydra.Csharp.Syntax: [unaryOperatorDeclaratorParameter] :: UnaryOperatorDeclarator -> FixedParameter
- Hydra.Csharp.Syntax: [unaryOperatorDeclaratorType] :: UnaryOperatorDeclarator -> Type
- Hydra.Csharp.Syntax: [unboundTypeNamePartAliased] :: UnboundTypeNamePart -> Bool
- Hydra.Csharp.Syntax: [unboundTypeNamePartDimension] :: UnboundTypeNamePart -> Maybe Int
- Hydra.Csharp.Syntax: [unboundTypeNamePartIdentifier] :: UnboundTypeNamePart -> Identifier
- Hydra.Csharp.Syntax: [usingAliasDirectiveAlias] :: UsingAliasDirective -> Identifier
- Hydra.Csharp.Syntax: [usingAliasDirectiveName] :: UsingAliasDirective -> NamespaceOrTypeName
- Hydra.Csharp.Syntax: [usingStatementAcquisition] :: UsingStatement -> ResourceAcquisition
- Hydra.Csharp.Syntax: [usingStatementBody] :: UsingStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [variableDeclaratorIdentifier] :: VariableDeclarator -> Identifier
- Hydra.Csharp.Syntax: [variableDeclaratorInitializer] :: VariableDeclarator -> Maybe VariableInitializer
- Hydra.Csharp.Syntax: [variantTypeParameterAttributes] :: VariantTypeParameter -> Maybe Attributes
- Hydra.Csharp.Syntax: [variantTypeParameterParameter] :: VariantTypeParameter -> TypeParameter
- Hydra.Csharp.Syntax: [variantTypeParameterVariance] :: VariantTypeParameter -> Maybe VarianceAnnotation
- Hydra.Csharp.Syntax: [verbatimInterpolationExpression] :: VerbatimInterpolation -> Expression
- Hydra.Csharp.Syntax: [verbatimInterpolationFormat] :: VerbatimInterpolation -> Maybe String
- Hydra.Csharp.Syntax: [verbatimInterpolationWidth] :: VerbatimInterpolation -> Maybe ConstantExpression
- Hydra.Csharp.Syntax: [whileStatementBody] :: WhileStatement -> EmbeddedStatement
- Hydra.Csharp.Syntax: [whileStatementCondition] :: WhileStatement -> BooleanExpression
- Hydra.Csharp.Syntax: _AccessorBody :: Name
- Hydra.Csharp.Syntax: _AccessorBody_block :: Name
- Hydra.Csharp.Syntax: _AccessorBody_empty :: Name
- Hydra.Csharp.Syntax: _AccessorBody_expression :: Name
- Hydra.Csharp.Syntax: _AccessorDeclaration :: Name
- Hydra.Csharp.Syntax: _AccessorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _AccessorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _AccessorDeclaration_modifier :: Name
- Hydra.Csharp.Syntax: _AccessorDeclarations :: Name
- Hydra.Csharp.Syntax: _AccessorDeclarations_get :: Name
- Hydra.Csharp.Syntax: _AccessorDeclarations_set :: Name
- Hydra.Csharp.Syntax: _AccessorModifier :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_internal :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_internalProtected :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_private :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_privateProtected :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_protected :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_protectedInternal :: Name
- Hydra.Csharp.Syntax: _AccessorModifier_protectedPrivate :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration_accessors :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration_name :: Name
- Hydra.Csharp.Syntax: _AccessorsEventDeclaration_type :: Name
- Hydra.Csharp.Syntax: _AddRemoveAccessorDeclaration :: Name
- Hydra.Csharp.Syntax: _AddRemoveAccessorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _AddRemoveAccessorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _AdditiveExpression :: Name
- Hydra.Csharp.Syntax: _AdditiveExpression_binary :: Name
- Hydra.Csharp.Syntax: _AdditiveExpression_simple :: Name
- Hydra.Csharp.Syntax: _AdditiveOperator :: Name
- Hydra.Csharp.Syntax: _AdditiveOperator_minus :: Name
- Hydra.Csharp.Syntax: _AdditiveOperator_plus :: Name
- Hydra.Csharp.Syntax: _AndExpression :: Name
- Hydra.Csharp.Syntax: _AndExpression_binary :: Name
- Hydra.Csharp.Syntax: _AndExpression_simple :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionBody :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionBody_block :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionBody_expression :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionBody_nullConditionalInvocation :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionBody_ref :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionParameterModifier :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionParameterModifier_in :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionParameterModifier_out :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionParameterModifier_ref :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionSignature :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionSignature_explicit :: Name
- Hydra.Csharp.Syntax: _AnonymousFunctionSignature_implicit :: Name
- Hydra.Csharp.Syntax: _AnonymousMethodExpression :: Name
- Hydra.Csharp.Syntax: _AnonymousMethodExpression_async :: Name
- Hydra.Csharp.Syntax: _AnonymousMethodExpression_body :: Name
- Hydra.Csharp.Syntax: _AnonymousMethodExpression_signature :: Name
- Hydra.Csharp.Syntax: _Argument :: Name
- Hydra.Csharp.Syntax: _ArgumentList :: Name
- Hydra.Csharp.Syntax: _ArgumentValue :: Name
- Hydra.Csharp.Syntax: _ArgumentValue_expression :: Name
- Hydra.Csharp.Syntax: _ArgumentValue_in :: Name
- Hydra.Csharp.Syntax: _ArgumentValue_out :: Name
- Hydra.Csharp.Syntax: _ArgumentValue_ref :: Name
- Hydra.Csharp.Syntax: _Argument_name :: Name
- Hydra.Csharp.Syntax: _Argument_value :: Name
- Hydra.Csharp.Syntax: _ArrayCreationExpression :: Name
- Hydra.Csharp.Syntax: _ArrayCreationExpression_arrayType :: Name
- Hydra.Csharp.Syntax: _ArrayCreationExpression_nonArrayType :: Name
- Hydra.Csharp.Syntax: _ArrayCreationExpression_rankSpecifier :: Name
- Hydra.Csharp.Syntax: _ArrayInitializer :: Name
- Hydra.Csharp.Syntax: _ArrayType :: Name
- Hydra.Csharp.Syntax: _ArrayTypeArrayCreationExpression :: Name
- Hydra.Csharp.Syntax: _ArrayTypeArrayCreationExpression_initializer :: Name
- Hydra.Csharp.Syntax: _ArrayTypeArrayCreationExpression_type :: Name
- Hydra.Csharp.Syntax: _ArrayType_rank :: Name
- Hydra.Csharp.Syntax: _ArrayType_type :: Name
- Hydra.Csharp.Syntax: _AsTypeExpression :: Name
- Hydra.Csharp.Syntax: _AsTypeExpression_expression :: Name
- Hydra.Csharp.Syntax: _AsTypeExpression_type :: Name
- Hydra.Csharp.Syntax: _Assignment :: Name
- Hydra.Csharp.Syntax: _AssignmentMemberDeclarator :: Name
- Hydra.Csharp.Syntax: _AssignmentMemberDeclarator_expression :: Name
- Hydra.Csharp.Syntax: _AssignmentMemberDeclarator_identifier :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_andEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_divideEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_leftShiftEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_minusEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_modEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_orEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_plusEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_rightShiftEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_simple :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_timesEquals :: Name
- Hydra.Csharp.Syntax: _AssignmentOperator_xorEquals :: Name
- Hydra.Csharp.Syntax: _Assignment_left :: Name
- Hydra.Csharp.Syntax: _Assignment_operator :: Name
- Hydra.Csharp.Syntax: _Assignment_right :: Name
- Hydra.Csharp.Syntax: _Attribute :: Name
- Hydra.Csharp.Syntax: _AttributeArgumentExpression :: Name
- Hydra.Csharp.Syntax: _AttributeArguments :: Name
- Hydra.Csharp.Syntax: _AttributeArguments_named :: Name
- Hydra.Csharp.Syntax: _AttributeArguments_positonal :: Name
- Hydra.Csharp.Syntax: _AttributeList :: Name
- Hydra.Csharp.Syntax: _AttributeName :: Name
- Hydra.Csharp.Syntax: _AttributeSection :: Name
- Hydra.Csharp.Syntax: _AttributeSection_attributes :: Name
- Hydra.Csharp.Syntax: _AttributeSection_target :: Name
- Hydra.Csharp.Syntax: _AttributeTarget :: Name
- Hydra.Csharp.Syntax: _AttributeTarget_identifier :: Name
- Hydra.Csharp.Syntax: _AttributeTarget_keyword :: Name
- Hydra.Csharp.Syntax: _Attribute_arguments :: Name
- Hydra.Csharp.Syntax: _Attribute_name :: Name
- Hydra.Csharp.Syntax: _Attributes :: Name
- Hydra.Csharp.Syntax: _BaseAccess :: Name
- Hydra.Csharp.Syntax: _BaseAccessWithIdentifier :: Name
- Hydra.Csharp.Syntax: _BaseAccessWithIdentifier_identifier :: Name
- Hydra.Csharp.Syntax: _BaseAccessWithIdentifier_typeArguments :: Name
- Hydra.Csharp.Syntax: _BaseAccess_arguments :: Name
- Hydra.Csharp.Syntax: _BaseAccess_identifier :: Name
- Hydra.Csharp.Syntax: _BinaryAdditiveExpression :: Name
- Hydra.Csharp.Syntax: _BinaryAdditiveExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryAdditiveExpression_operator :: Name
- Hydra.Csharp.Syntax: _BinaryAdditiveExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryAndExpression :: Name
- Hydra.Csharp.Syntax: _BinaryAndExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryAndExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalAndExpression :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalAndExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalAndExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalOrExpression :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalOrExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryConditionalOrExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryEqualityExpression :: Name
- Hydra.Csharp.Syntax: _BinaryEqualityExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryEqualityExpression_operator :: Name
- Hydra.Csharp.Syntax: _BinaryEqualityExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryExclusiveOrExpression :: Name
- Hydra.Csharp.Syntax: _BinaryExclusiveOrExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryExclusiveOrExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryInclusiveOrExpression :: Name
- Hydra.Csharp.Syntax: _BinaryInclusiveOrExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryInclusiveOrExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryMultiplicativeExpression :: Name
- Hydra.Csharp.Syntax: _BinaryMultiplicativeExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryMultiplicativeExpression_operator :: Name
- Hydra.Csharp.Syntax: _BinaryMultiplicativeExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryNullCoalescingExpression :: Name
- Hydra.Csharp.Syntax: _BinaryNullCoalescingExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryNullCoalescingExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryOperatorDeclarator :: Name
- Hydra.Csharp.Syntax: _BinaryOperatorDeclarator_left :: Name
- Hydra.Csharp.Syntax: _BinaryOperatorDeclarator_operator :: Name
- Hydra.Csharp.Syntax: _BinaryOperatorDeclarator_right :: Name
- Hydra.Csharp.Syntax: _BinaryOperatorDeclarator_type :: Name
- Hydra.Csharp.Syntax: _BinaryRelationalExpression :: Name
- Hydra.Csharp.Syntax: _BinaryRelationalExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryRelationalExpression_operator :: Name
- Hydra.Csharp.Syntax: _BinaryRelationalExpression_right :: Name
- Hydra.Csharp.Syntax: _BinaryShiftExpression :: Name
- Hydra.Csharp.Syntax: _BinaryShiftExpression_left :: Name
- Hydra.Csharp.Syntax: _BinaryShiftExpression_operator :: Name
- Hydra.Csharp.Syntax: _BinaryShiftExpression_right :: Name
- Hydra.Csharp.Syntax: _Block :: Name
- Hydra.Csharp.Syntax: _BlockPropertyBody :: Name
- Hydra.Csharp.Syntax: _BlockPropertyBody_accessors :: Name
- Hydra.Csharp.Syntax: _BlockPropertyBody_initializer :: Name
- Hydra.Csharp.Syntax: _BooleanExpression :: Name
- Hydra.Csharp.Syntax: _CastExpression :: Name
- Hydra.Csharp.Syntax: _CastExpression_expression :: Name
- Hydra.Csharp.Syntax: _CastExpression_type :: Name
- Hydra.Csharp.Syntax: _CatchClauses :: Name
- Hydra.Csharp.Syntax: _CatchClauses_general :: Name
- Hydra.Csharp.Syntax: _CatchClauses_specific :: Name
- Hydra.Csharp.Syntax: _ClassBase :: Name
- Hydra.Csharp.Syntax: _ClassBase_class :: Name
- Hydra.Csharp.Syntax: _ClassBase_interfaces :: Name
- Hydra.Csharp.Syntax: _ClassBody :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_base :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_body :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_constraints :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_name :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_parameters :: Name
- Hydra.Csharp.Syntax: _ClassDeclaration_partial :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_constant :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_constructor :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_event :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_field :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_finalizer :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_indexer :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_method :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_operator :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_property :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_staticConstructor :: Name
- Hydra.Csharp.Syntax: _ClassMemberDeclaration_type :: Name
- Hydra.Csharp.Syntax: _ClassModifier :: Name
- Hydra.Csharp.Syntax: _ClassModifier_abstract :: Name
- Hydra.Csharp.Syntax: _ClassModifier_internal :: Name
- Hydra.Csharp.Syntax: _ClassModifier_new :: Name
- Hydra.Csharp.Syntax: _ClassModifier_private :: Name
- Hydra.Csharp.Syntax: _ClassModifier_protected :: Name
- Hydra.Csharp.Syntax: _ClassModifier_public :: Name
- Hydra.Csharp.Syntax: _ClassModifier_sealed :: Name
- Hydra.Csharp.Syntax: _ClassModifier_static :: Name
- Hydra.Csharp.Syntax: _ClassModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _ClassType :: Name
- Hydra.Csharp.Syntax: _ClassType_object :: Name
- Hydra.Csharp.Syntax: _ClassType_string :: Name
- Hydra.Csharp.Syntax: _ClassType_typeName :: Name
- Hydra.Csharp.Syntax: _CompilationUnit :: Name
- Hydra.Csharp.Syntax: _CompilationUnit_attributes :: Name
- Hydra.Csharp.Syntax: _CompilationUnit_externs :: Name
- Hydra.Csharp.Syntax: _CompilationUnit_members :: Name
- Hydra.Csharp.Syntax: _CompilationUnit_usings :: Name
- Hydra.Csharp.Syntax: _ConditionalAndExpression :: Name
- Hydra.Csharp.Syntax: _ConditionalAndExpression_binary :: Name
- Hydra.Csharp.Syntax: _ConditionalAndExpression_simple :: Name
- Hydra.Csharp.Syntax: _ConditionalExpression :: Name
- Hydra.Csharp.Syntax: _ConditionalExpression_refConditional :: Name
- Hydra.Csharp.Syntax: _ConditionalExpression_simple :: Name
- Hydra.Csharp.Syntax: _ConditionalExpression_simpleConditional :: Name
- Hydra.Csharp.Syntax: _ConditionalOrExpression :: Name
- Hydra.Csharp.Syntax: _ConditionalOrExpression_binary :: Name
- Hydra.Csharp.Syntax: _ConditionalOrExpression_simple :: Name
- Hydra.Csharp.Syntax: _ConstantDeclaration :: Name
- Hydra.Csharp.Syntax: _ConstantDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _ConstantDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _ConstantDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _ConstantDeclaration_type :: Name
- Hydra.Csharp.Syntax: _ConstantDeclarator :: Name
- Hydra.Csharp.Syntax: _ConstantDeclarator_expression :: Name
- Hydra.Csharp.Syntax: _ConstantDeclarator_identifier :: Name
- Hydra.Csharp.Syntax: _ConstantExpression :: Name
- Hydra.Csharp.Syntax: _ConstantModifier :: Name
- Hydra.Csharp.Syntax: _ConstantModifier_internal :: Name
- Hydra.Csharp.Syntax: _ConstantModifier_new :: Name
- Hydra.Csharp.Syntax: _ConstantModifier_private :: Name
- Hydra.Csharp.Syntax: _ConstantModifier_protected :: Name
- Hydra.Csharp.Syntax: _ConstantModifier_public :: Name
- Hydra.Csharp.Syntax: _ConstructorBody :: Name
- Hydra.Csharp.Syntax: _ConstructorBody_block :: Name
- Hydra.Csharp.Syntax: _ConstructorBody_empty :: Name
- Hydra.Csharp.Syntax: _ConstructorBody_expression :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclaration :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclaration_declarator :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclarator :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclarator_initializer :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclarator_name :: Name
- Hydra.Csharp.Syntax: _ConstructorDeclarator_parameters :: Name
- Hydra.Csharp.Syntax: _ConstructorInitializer :: Name
- Hydra.Csharp.Syntax: _ConstructorInitializer_base :: Name
- Hydra.Csharp.Syntax: _ConstructorInitializer_this :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_extern :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_internal :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_private :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_protected :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_public :: Name
- Hydra.Csharp.Syntax: _ConstructorModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _ConversionKind :: Name
- Hydra.Csharp.Syntax: _ConversionKind_explicit :: Name
- Hydra.Csharp.Syntax: _ConversionKind_implicit :: Name
- Hydra.Csharp.Syntax: _ConversionOperatorDeclarator :: Name
- Hydra.Csharp.Syntax: _ConversionOperatorDeclarator_kind :: Name
- Hydra.Csharp.Syntax: _ConversionOperatorDeclarator_parameter :: Name
- Hydra.Csharp.Syntax: _ConversionOperatorDeclarator_type :: Name
- Hydra.Csharp.Syntax: _DeclarationExpression :: Name
- Hydra.Csharp.Syntax: _DeclarationExpression_identifier :: Name
- Hydra.Csharp.Syntax: _DeclarationExpression_type :: Name
- Hydra.Csharp.Syntax: _DeclarationPattern :: Name
- Hydra.Csharp.Syntax: _DeclarationPattern_designation :: Name
- Hydra.Csharp.Syntax: _DeclarationPattern_type :: Name
- Hydra.Csharp.Syntax: _DeclarationStatement :: Name
- Hydra.Csharp.Syntax: _DeclarationStatement_constant :: Name
- Hydra.Csharp.Syntax: _DeclarationStatement_function :: Name
- Hydra.Csharp.Syntax: _DeclarationStatement_variable :: Name
- Hydra.Csharp.Syntax: _DeconstructionElement :: Name
- Hydra.Csharp.Syntax: _DeconstructionElement_identifier :: Name
- Hydra.Csharp.Syntax: _DeconstructionElement_tuple :: Name
- Hydra.Csharp.Syntax: _DeconstructionTuple :: Name
- Hydra.Csharp.Syntax: _DefaultValueExpression :: Name
- Hydra.Csharp.Syntax: _DefaultValueExpression_defaultLiteral :: Name
- Hydra.Csharp.Syntax: _DefaultValueExpression_explicitlyTyped :: Name
- Hydra.Csharp.Syntax: _DelegateCreationExpression :: Name
- Hydra.Csharp.Syntax: _DelegateCreationExpression_expression :: Name
- Hydra.Csharp.Syntax: _DelegateCreationExpression_type :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_header :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_refReturnType :: Name
- Hydra.Csharp.Syntax: _DelegateDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _DelegateHeader :: Name
- Hydra.Csharp.Syntax: _DelegateHeader_constraints :: Name
- Hydra.Csharp.Syntax: _DelegateHeader_name :: Name
- Hydra.Csharp.Syntax: _DelegateHeader_parameters :: Name
- Hydra.Csharp.Syntax: _DelegateHeader_typeParameters :: Name
- Hydra.Csharp.Syntax: _DelegateModifier :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_internal :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_new :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_private :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_protected :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_public :: Name
- Hydra.Csharp.Syntax: _DelegateModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _DelegateType :: Name
- Hydra.Csharp.Syntax: _DependentAccess :: Name
- Hydra.Csharp.Syntax: _DependentAccessForMember :: Name
- Hydra.Csharp.Syntax: _DependentAccessForMember_identifier :: Name
- Hydra.Csharp.Syntax: _DependentAccessForMember_typeArguments :: Name
- Hydra.Csharp.Syntax: _DependentAccess_elementAccess :: Name
- Hydra.Csharp.Syntax: _DependentAccess_invocation :: Name
- Hydra.Csharp.Syntax: _DependentAccess_memberAccess :: Name
- Hydra.Csharp.Syntax: _Designation :: Name
- Hydra.Csharp.Syntax: _DoStatement :: Name
- Hydra.Csharp.Syntax: _DoStatement_body :: Name
- Hydra.Csharp.Syntax: _DoStatement_while :: Name
- Hydra.Csharp.Syntax: _ElementAccess :: Name
- Hydra.Csharp.Syntax: _ElementAccess_arguments :: Name
- Hydra.Csharp.Syntax: _ElementAccess_expression :: Name
- Hydra.Csharp.Syntax: _ElementInitializer :: Name
- Hydra.Csharp.Syntax: _ElementInitializer_list :: Name
- Hydra.Csharp.Syntax: _ElementInitializer_single :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_block :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_checked :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_empty :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_expression :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_fixed :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_iteration :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_jump :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_lock :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_selection :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_try :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_unchecked :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_unsafe :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_using :: Name
- Hydra.Csharp.Syntax: _EmbeddedStatement_yield :: Name
- Hydra.Csharp.Syntax: _EnumBase :: Name
- Hydra.Csharp.Syntax: _EnumBase_name :: Name
- Hydra.Csharp.Syntax: _EnumBase_type :: Name
- Hydra.Csharp.Syntax: _EnumBody :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration_base :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration_body :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _EnumDeclaration_name :: Name
- Hydra.Csharp.Syntax: _EnumMemberDeclaration :: Name
- Hydra.Csharp.Syntax: _EnumMemberDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _EnumMemberDeclaration_name :: Name
- Hydra.Csharp.Syntax: _EnumMemberDeclaration_value :: Name
- Hydra.Csharp.Syntax: _EnumModifier :: Name
- Hydra.Csharp.Syntax: _EnumModifier_internal :: Name
- Hydra.Csharp.Syntax: _EnumModifier_new :: Name
- Hydra.Csharp.Syntax: _EnumModifier_private :: Name
- Hydra.Csharp.Syntax: _EnumModifier_protected :: Name
- Hydra.Csharp.Syntax: _EnumModifier_public :: Name
- Hydra.Csharp.Syntax: _EnumType :: Name
- Hydra.Csharp.Syntax: _EqualityExpression :: Name
- Hydra.Csharp.Syntax: _EqualityExpression_binary :: Name
- Hydra.Csharp.Syntax: _EqualityExpression_simple :: Name
- Hydra.Csharp.Syntax: _EqualityOperator :: Name
- Hydra.Csharp.Syntax: _EqualityOperator_equal :: Name
- Hydra.Csharp.Syntax: _EqualityOperator_notEqual :: Name
- Hydra.Csharp.Syntax: _EventAccessorDeclarations :: Name
- Hydra.Csharp.Syntax: _EventAccessorDeclarations_add :: Name
- Hydra.Csharp.Syntax: _EventAccessorDeclarations_remove :: Name
- Hydra.Csharp.Syntax: _EventDeclaration :: Name
- Hydra.Csharp.Syntax: _EventDeclaration_accessors :: Name
- Hydra.Csharp.Syntax: _EventDeclaration_standard :: Name
- Hydra.Csharp.Syntax: _EventModifier :: Name
- Hydra.Csharp.Syntax: _EventModifier_abstract :: Name
- Hydra.Csharp.Syntax: _EventModifier_extern :: Name
- Hydra.Csharp.Syntax: _EventModifier_internal :: Name
- Hydra.Csharp.Syntax: _EventModifier_new :: Name
- Hydra.Csharp.Syntax: _EventModifier_override :: Name
- Hydra.Csharp.Syntax: _EventModifier_private :: Name
- Hydra.Csharp.Syntax: _EventModifier_protected :: Name
- Hydra.Csharp.Syntax: _EventModifier_public :: Name
- Hydra.Csharp.Syntax: _EventModifier_sealed :: Name
- Hydra.Csharp.Syntax: _EventModifier_static :: Name
- Hydra.Csharp.Syntax: _EventModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _EventModifier_virtual :: Name
- Hydra.Csharp.Syntax: _ExceptionSpecifier :: Name
- Hydra.Csharp.Syntax: _ExceptionSpecifier_identifier :: Name
- Hydra.Csharp.Syntax: _ExceptionSpecifier_type :: Name
- Hydra.Csharp.Syntax: _ExclusiveOrExpression :: Name
- Hydra.Csharp.Syntax: _ExclusiveOrExpression_binary :: Name
- Hydra.Csharp.Syntax: _ExclusiveOrExpression_simple :: Name
- Hydra.Csharp.Syntax: _ExplicitAnonymousFunctionParameter :: Name
- Hydra.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_identifier :: Name
- Hydra.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_modifier :: Name
- Hydra.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_type :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration_type :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator_identifier :: Name
- Hydra.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator_initializer :: Name
- Hydra.Csharp.Syntax: _Expression :: Name
- Hydra.Csharp.Syntax: _ExpressionList :: Name
- Hydra.Csharp.Syntax: _Expression_assignment :: Name
- Hydra.Csharp.Syntax: _Expression_nonAssignment :: Name
- Hydra.Csharp.Syntax: _ExternAliasDirective :: Name
- Hydra.Csharp.Syntax: _FieldDeclaration :: Name
- Hydra.Csharp.Syntax: _FieldDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _FieldDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _FieldDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _FieldDeclaration_type :: Name
- Hydra.Csharp.Syntax: _FieldModifier :: Name
- Hydra.Csharp.Syntax: _FieldModifier_internal :: Name
- Hydra.Csharp.Syntax: _FieldModifier_new :: Name
- Hydra.Csharp.Syntax: _FieldModifier_private :: Name
- Hydra.Csharp.Syntax: _FieldModifier_protected :: Name
- Hydra.Csharp.Syntax: _FieldModifier_public :: Name
- Hydra.Csharp.Syntax: _FieldModifier_readonly :: Name
- Hydra.Csharp.Syntax: _FieldModifier_static :: Name
- Hydra.Csharp.Syntax: _FieldModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _FieldModifier_volatile :: Name
- Hydra.Csharp.Syntax: _FinalizerBody :: Name
- Hydra.Csharp.Syntax: _FinalizerBody_block :: Name
- Hydra.Csharp.Syntax: _FinalizerBody_empty :: Name
- Hydra.Csharp.Syntax: _FinalizerBody_expression :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration_body :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration_extern :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration_name :: Name
- Hydra.Csharp.Syntax: _FinalizerDeclaration_unsafe :: Name
- Hydra.Csharp.Syntax: _FixedParameter :: Name
- Hydra.Csharp.Syntax: _FixedParameter_attributes :: Name
- Hydra.Csharp.Syntax: _FixedParameter_defaultArgument :: Name
- Hydra.Csharp.Syntax: _FixedParameter_identifier :: Name
- Hydra.Csharp.Syntax: _FixedParameter_modifier :: Name
- Hydra.Csharp.Syntax: _FixedParameter_type :: Name
- Hydra.Csharp.Syntax: _FixedPointerDeclarator :: Name
- Hydra.Csharp.Syntax: _FixedPointerDeclarator_expression :: Name
- Hydra.Csharp.Syntax: _FixedPointerDeclarator_reference :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclaration :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclaration_elementType :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclarator :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclarator_name :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferDeclarator_size :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier_internal :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier_new :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier_private :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier_public :: Name
- Hydra.Csharp.Syntax: _FixedSizeBufferModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _FixedStatement :: Name
- Hydra.Csharp.Syntax: _FixedStatement_declarators :: Name
- Hydra.Csharp.Syntax: _FixedStatement_pointerType :: Name
- Hydra.Csharp.Syntax: _FixedStatement_statement :: Name
- Hydra.Csharp.Syntax: _FloatingPointType :: Name
- Hydra.Csharp.Syntax: _FloatingPointType_double :: Name
- Hydra.Csharp.Syntax: _FloatingPointType_float :: Name
- Hydra.Csharp.Syntax: _ForInitializer :: Name
- Hydra.Csharp.Syntax: _ForInitializer_statements :: Name
- Hydra.Csharp.Syntax: _ForInitializer_variable :: Name
- Hydra.Csharp.Syntax: _ForStatement :: Name
- Hydra.Csharp.Syntax: _ForStatement_body :: Name
- Hydra.Csharp.Syntax: _ForStatement_condition :: Name
- Hydra.Csharp.Syntax: _ForStatement_initializer :: Name
- Hydra.Csharp.Syntax: _ForStatement_iterator :: Name
- Hydra.Csharp.Syntax: _ForeachStatement :: Name
- Hydra.Csharp.Syntax: _ForeachStatement_body :: Name
- Hydra.Csharp.Syntax: _ForeachStatement_expression :: Name
- Hydra.Csharp.Syntax: _ForeachStatement_identifier :: Name
- Hydra.Csharp.Syntax: _ForeachStatement_kind :: Name
- Hydra.Csharp.Syntax: _ForeachStatement_type :: Name
- Hydra.Csharp.Syntax: _FormalParameterList :: Name
- Hydra.Csharp.Syntax: _FormalParameterList_array :: Name
- Hydra.Csharp.Syntax: _FormalParameterList_fixed :: Name
- Hydra.Csharp.Syntax: _FromClause :: Name
- Hydra.Csharp.Syntax: _FromClause_identifier :: Name
- Hydra.Csharp.Syntax: _FromClause_in :: Name
- Hydra.Csharp.Syntax: _FromClause_type :: Name
- Hydra.Csharp.Syntax: _GlobalAttributeSection :: Name
- Hydra.Csharp.Syntax: _GlobalAttributeSection_attributes :: Name
- Hydra.Csharp.Syntax: _GlobalAttributeSection_target :: Name
- Hydra.Csharp.Syntax: _GotoStatement :: Name
- Hydra.Csharp.Syntax: _GotoStatement_case :: Name
- Hydra.Csharp.Syntax: _GotoStatement_default :: Name
- Hydra.Csharp.Syntax: _GotoStatement_identifier :: Name
- Hydra.Csharp.Syntax: _GroupClause :: Name
- Hydra.Csharp.Syntax: _GroupClause_by :: Name
- Hydra.Csharp.Syntax: _GroupClause_grouped :: Name
- Hydra.Csharp.Syntax: _Identifier :: Name
- Hydra.Csharp.Syntax: _IdentifierNamespaceOrTypeName :: Name
- Hydra.Csharp.Syntax: _IdentifierNamespaceOrTypeName_arguments :: Name
- Hydra.Csharp.Syntax: _IdentifierNamespaceOrTypeName_identifier :: Name
- Hydra.Csharp.Syntax: _IfStatement :: Name
- Hydra.Csharp.Syntax: _IfStatement_condition :: Name
- Hydra.Csharp.Syntax: _IfStatement_elseBranch :: Name
- Hydra.Csharp.Syntax: _IfStatement_ifBranch :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration_refVar :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration_var :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator_expression :: Name
- Hydra.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator_identifier :: Name
- Hydra.Csharp.Syntax: _InclusiveOrExpression :: Name
- Hydra.Csharp.Syntax: _InclusiveOrExpression_binary :: Name
- Hydra.Csharp.Syntax: _InclusiveOrExpression_simple :: Name
- Hydra.Csharp.Syntax: _IndexerBody :: Name
- Hydra.Csharp.Syntax: _IndexerBody_block :: Name
- Hydra.Csharp.Syntax: _IndexerBody_expression :: Name
- Hydra.Csharp.Syntax: _IndexerDeclaration :: Name
- Hydra.Csharp.Syntax: _IndexerDeclaration_ref :: Name
- Hydra.Csharp.Syntax: _IndexerDeclaration_standard :: Name
- Hydra.Csharp.Syntax: _IndexerDeclarator :: Name
- Hydra.Csharp.Syntax: _IndexerDeclarator_interface :: Name
- Hydra.Csharp.Syntax: _IndexerDeclarator_parameters :: Name
- Hydra.Csharp.Syntax: _IndexerDeclarator_type :: Name
- Hydra.Csharp.Syntax: _IndexerModifier :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_abstract :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_extern :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_internal :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_new :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_override :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_private :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_protected :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_public :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_sealed :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _IndexerModifier_virtual :: Name
- Hydra.Csharp.Syntax: _InitializerTarget :: Name
- Hydra.Csharp.Syntax: _InitializerTarget_arguments :: Name
- Hydra.Csharp.Syntax: _InitializerTarget_identifier :: Name
- Hydra.Csharp.Syntax: _InitializerValue :: Name
- Hydra.Csharp.Syntax: _InitializerValue_expression :: Name
- Hydra.Csharp.Syntax: _InitializerValue_objectOrCollection :: Name
- Hydra.Csharp.Syntax: _IntegerLiteral :: Name
- Hydra.Csharp.Syntax: _IntegerLiteral_binary :: Name
- Hydra.Csharp.Syntax: _IntegerLiteral_decimal :: Name
- Hydra.Csharp.Syntax: _IntegerLiteral_hexadecimal :: Name
- Hydra.Csharp.Syntax: _IntegralType :: Name
- Hydra.Csharp.Syntax: _IntegralType_byte :: Name
- Hydra.Csharp.Syntax: _IntegralType_char :: Name
- Hydra.Csharp.Syntax: _IntegralType_int :: Name
- Hydra.Csharp.Syntax: _IntegralType_long :: Name
- Hydra.Csharp.Syntax: _IntegralType_sbyte :: Name
- Hydra.Csharp.Syntax: _IntegralType_short :: Name
- Hydra.Csharp.Syntax: _IntegralType_uint :: Name
- Hydra.Csharp.Syntax: _IntegralType_ulong :: Name
- Hydra.Csharp.Syntax: _IntegralType_ushort :: Name
- Hydra.Csharp.Syntax: _InterfaceAccessors :: Name
- Hydra.Csharp.Syntax: _InterfaceAccessors_attributes :: Name
- Hydra.Csharp.Syntax: _InterfaceAccessors_get :: Name
- Hydra.Csharp.Syntax: _InterfaceAccessors_set :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_base :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_body :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_constraints :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_name :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_parameters :: Name
- Hydra.Csharp.Syntax: _InterfaceDeclaration_partial :: Name
- Hydra.Csharp.Syntax: _InterfaceEventDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfaceEventDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _InterfaceEventDeclaration_name :: Name
- Hydra.Csharp.Syntax: _InterfaceEventDeclaration_new :: Name
- Hydra.Csharp.Syntax: _InterfaceEventDeclaration_type :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_accessors :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_new :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_parameters :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _InterfaceIndexerDeclaration_type :: Name
- Hydra.Csharp.Syntax: _InterfaceMemberDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfaceMemberDeclaration_event :: Name
- Hydra.Csharp.Syntax: _InterfaceMemberDeclaration_indexer :: Name
- Hydra.Csharp.Syntax: _InterfaceMemberDeclaration_method :: Name
- Hydra.Csharp.Syntax: _InterfaceMemberDeclaration_property :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration_header :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration_new :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodHeader :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodHeader_constraints :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodHeader_name :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodHeader_parameters :: Name
- Hydra.Csharp.Syntax: _InterfaceMethodHeader_typeParameters :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_internal :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_new :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_private :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_protected :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_public :: Name
- Hydra.Csharp.Syntax: _InterfaceModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_accessors :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_name :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_new :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _InterfacePropertyDeclaration_type :: Name
- Hydra.Csharp.Syntax: _InterfaceType :: Name
- Hydra.Csharp.Syntax: _InterpolatedRegularStringExpression :: Name
- Hydra.Csharp.Syntax: _InterpolatedStringExpression :: Name
- Hydra.Csharp.Syntax: _InterpolatedStringExpression_regular :: Name
- Hydra.Csharp.Syntax: _InterpolatedStringExpression_verbatim :: Name
- Hydra.Csharp.Syntax: _InterpolatedVerbatimStringExpression :: Name
- Hydra.Csharp.Syntax: _InvocationExpression :: Name
- Hydra.Csharp.Syntax: _InvocationExpression_arguments :: Name
- Hydra.Csharp.Syntax: _InvocationExpression_expression :: Name
- Hydra.Csharp.Syntax: _IsPatternExpression :: Name
- Hydra.Csharp.Syntax: _IsPatternExpression_expression :: Name
- Hydra.Csharp.Syntax: _IsPatternExpression_pattern :: Name
- Hydra.Csharp.Syntax: _IsTypeExpression :: Name
- Hydra.Csharp.Syntax: _IsTypeExpression_expression :: Name
- Hydra.Csharp.Syntax: _IsTypeExpression_type :: Name
- Hydra.Csharp.Syntax: _IterationStatement :: Name
- Hydra.Csharp.Syntax: _IterationStatement_do :: Name
- Hydra.Csharp.Syntax: _IterationStatement_for :: Name
- Hydra.Csharp.Syntax: _IterationStatement_foreach :: Name
- Hydra.Csharp.Syntax: _IterationStatement_while :: Name
- Hydra.Csharp.Syntax: _JoinClause :: Name
- Hydra.Csharp.Syntax: _JoinClause_equals :: Name
- Hydra.Csharp.Syntax: _JoinClause_identifier :: Name
- Hydra.Csharp.Syntax: _JoinClause_in :: Name
- Hydra.Csharp.Syntax: _JoinClause_into :: Name
- Hydra.Csharp.Syntax: _JoinClause_on :: Name
- Hydra.Csharp.Syntax: _JoinClause_type :: Name
- Hydra.Csharp.Syntax: _JumpStatement :: Name
- Hydra.Csharp.Syntax: _JumpStatement_break :: Name
- Hydra.Csharp.Syntax: _JumpStatement_continue :: Name
- Hydra.Csharp.Syntax: _JumpStatement_goto :: Name
- Hydra.Csharp.Syntax: _JumpStatement_return :: Name
- Hydra.Csharp.Syntax: _JumpStatement_throw :: Name
- Hydra.Csharp.Syntax: _Keyword :: Name
- Hydra.Csharp.Syntax: _LabeledStatement :: Name
- Hydra.Csharp.Syntax: _LabeledStatement_label :: Name
- Hydra.Csharp.Syntax: _LabeledStatement_statement :: Name
- Hydra.Csharp.Syntax: _LambdaExpression :: Name
- Hydra.Csharp.Syntax: _LambdaExpression_async :: Name
- Hydra.Csharp.Syntax: _LambdaExpression_body :: Name
- Hydra.Csharp.Syntax: _LambdaExpression_signature :: Name
- Hydra.Csharp.Syntax: _LetClause :: Name
- Hydra.Csharp.Syntax: _LetClause_left :: Name
- Hydra.Csharp.Syntax: _LetClause_right :: Name
- Hydra.Csharp.Syntax: _Literal :: Name
- Hydra.Csharp.Syntax: _Literal_boolean :: Name
- Hydra.Csharp.Syntax: _Literal_character :: Name
- Hydra.Csharp.Syntax: _Literal_integer :: Name
- Hydra.Csharp.Syntax: _Literal_null :: Name
- Hydra.Csharp.Syntax: _Literal_real :: Name
- Hydra.Csharp.Syntax: _Literal_string :: Name
- Hydra.Csharp.Syntax: _LocalConstantDeclaration :: Name
- Hydra.Csharp.Syntax: _LocalConstantDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _LocalConstantDeclaration_type :: Name
- Hydra.Csharp.Syntax: _LocalFunctionBody :: Name
- Hydra.Csharp.Syntax: _LocalFunctionBody_block :: Name
- Hydra.Csharp.Syntax: _LocalFunctionBody_expression :: Name
- Hydra.Csharp.Syntax: _LocalFunctionBody_nullConditionalInvocation :: Name
- Hydra.Csharp.Syntax: _LocalFunctionDeclaration :: Name
- Hydra.Csharp.Syntax: _LocalFunctionDeclaration_ref :: Name
- Hydra.Csharp.Syntax: _LocalFunctionDeclaration_standard :: Name
- Hydra.Csharp.Syntax: _LocalFunctionHeader :: Name
- Hydra.Csharp.Syntax: _LocalFunctionHeader_constraints :: Name
- Hydra.Csharp.Syntax: _LocalFunctionHeader_identifier :: Name
- Hydra.Csharp.Syntax: _LocalFunctionHeader_parameters :: Name
- Hydra.Csharp.Syntax: _LocalFunctionHeader_typeParameters :: Name
- Hydra.Csharp.Syntax: _LocalFunctionModifier :: Name
- Hydra.Csharp.Syntax: _LocalFunctionModifier_async :: Name
- Hydra.Csharp.Syntax: _LocalFunctionModifier_ref :: Name
- Hydra.Csharp.Syntax: _LocalVariableDeclaration :: Name
- Hydra.Csharp.Syntax: _LocalVariableDeclaration_explicitlyTyped :: Name
- Hydra.Csharp.Syntax: _LocalVariableDeclaration_implicitlyTyped :: Name
- Hydra.Csharp.Syntax: _LocalVariableDeclaration_ref :: Name
- Hydra.Csharp.Syntax: _LocalVariableInitializer :: Name
- Hydra.Csharp.Syntax: _LocalVariableInitializer_expression :: Name
- Hydra.Csharp.Syntax: _LocalVariableInitializer_initializer :: Name
- Hydra.Csharp.Syntax: _LocalVariableType :: Name
- Hydra.Csharp.Syntax: _LocalVariableType_type :: Name
- Hydra.Csharp.Syntax: _LocalVariableType_var :: Name
- Hydra.Csharp.Syntax: _LockStatement :: Name
- Hydra.Csharp.Syntax: _LockStatement_body :: Name
- Hydra.Csharp.Syntax: _LockStatement_expression :: Name
- Hydra.Csharp.Syntax: _MemberAccess :: Name
- Hydra.Csharp.Syntax: _MemberAccessHead :: Name
- Hydra.Csharp.Syntax: _MemberAccessHead_predefined :: Name
- Hydra.Csharp.Syntax: _MemberAccessHead_primary :: Name
- Hydra.Csharp.Syntax: _MemberAccessHead_qualifiedAlias :: Name
- Hydra.Csharp.Syntax: _MemberAccess_head :: Name
- Hydra.Csharp.Syntax: _MemberAccess_identifier :: Name
- Hydra.Csharp.Syntax: _MemberAccess_typeArguments :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator :: Name
- Hydra.Csharp.Syntax: _MemberDeclaratorList :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator_assignment :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator_baseAccess :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator_memberAccess :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator_name :: Name
- Hydra.Csharp.Syntax: _MemberDeclarator_nullConditionalProjectionInitializer :: Name
- Hydra.Csharp.Syntax: _MemberInitializer :: Name
- Hydra.Csharp.Syntax: _MemberInitializer_target :: Name
- Hydra.Csharp.Syntax: _MemberInitializer_value :: Name
- Hydra.Csharp.Syntax: _MemberName :: Name
- Hydra.Csharp.Syntax: _MemberName_identifier :: Name
- Hydra.Csharp.Syntax: _MemberName_interfaceType :: Name
- Hydra.Csharp.Syntax: _MethodBody :: Name
- Hydra.Csharp.Syntax: _MethodBody_block :: Name
- Hydra.Csharp.Syntax: _MethodBody_empty :: Name
- Hydra.Csharp.Syntax: _MethodBody_expression :: Name
- Hydra.Csharp.Syntax: _MethodBody_nullConditionalInvocation :: Name
- Hydra.Csharp.Syntax: _MethodDeclaration :: Name
- Hydra.Csharp.Syntax: _MethodDeclaration_refReturn :: Name
- Hydra.Csharp.Syntax: _MethodDeclaration_standard :: Name
- Hydra.Csharp.Syntax: _MethodHeader :: Name
- Hydra.Csharp.Syntax: _MethodHeader_constraints :: Name
- Hydra.Csharp.Syntax: _MethodHeader_name :: Name
- Hydra.Csharp.Syntax: _MethodHeader_parameters :: Name
- Hydra.Csharp.Syntax: _MethodHeader_typeParameters :: Name
- Hydra.Csharp.Syntax: _MethodModifier :: Name
- Hydra.Csharp.Syntax: _MethodModifier_async :: Name
- Hydra.Csharp.Syntax: _MethodModifier_ref :: Name
- Hydra.Csharp.Syntax: _MethodModifiers :: Name
- Hydra.Csharp.Syntax: _MethodModifiers_modifiers :: Name
- Hydra.Csharp.Syntax: _MethodModifiers_partial :: Name
- Hydra.Csharp.Syntax: _MultiplicativeExpression :: Name
- Hydra.Csharp.Syntax: _MultiplicativeExpression_binary :: Name
- Hydra.Csharp.Syntax: _MultiplicativeExpression_simple :: Name
- Hydra.Csharp.Syntax: _MultiplicativeOperator :: Name
- Hydra.Csharp.Syntax: _MultiplicativeOperator_divide :: Name
- Hydra.Csharp.Syntax: _MultiplicativeOperator_modulo :: Name
- Hydra.Csharp.Syntax: _MultiplicativeOperator_times :: Name
- Hydra.Csharp.Syntax: _NamedArgument :: Name
- Hydra.Csharp.Syntax: _NamedArgumentList :: Name
- Hydra.Csharp.Syntax: _NamedArgument_name :: Name
- Hydra.Csharp.Syntax: _NamedArgument_value :: Name
- Hydra.Csharp.Syntax: _NamedEntity :: Name
- Hydra.Csharp.Syntax: _NamedEntityPart :: Name
- Hydra.Csharp.Syntax: _NamedEntityPart_identifier :: Name
- Hydra.Csharp.Syntax: _NamedEntityPart_typeArguments :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget_base :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget_name :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget_predefinedType :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget_qualifiedAliasMember :: Name
- Hydra.Csharp.Syntax: _NamedEntityTarget_this :: Name
- Hydra.Csharp.Syntax: _NamedEntity_parts :: Name
- Hydra.Csharp.Syntax: _NamedEntity_target :: Name
- Hydra.Csharp.Syntax: _NamespaceBody :: Name
- Hydra.Csharp.Syntax: _NamespaceBody_externs :: Name
- Hydra.Csharp.Syntax: _NamespaceBody_members :: Name
- Hydra.Csharp.Syntax: _NamespaceBody_usings :: Name
- Hydra.Csharp.Syntax: _NamespaceDeclaration :: Name
- Hydra.Csharp.Syntax: _NamespaceDeclaration_body :: Name
- Hydra.Csharp.Syntax: _NamespaceDeclaration_name :: Name
- Hydra.Csharp.Syntax: _NamespaceMemberDeclaration :: Name
- Hydra.Csharp.Syntax: _NamespaceMemberDeclaration_namespace :: Name
- Hydra.Csharp.Syntax: _NamespaceMemberDeclaration_type :: Name
- Hydra.Csharp.Syntax: _NamespaceName :: Name
- Hydra.Csharp.Syntax: _NamespaceOrTypeName :: Name
- Hydra.Csharp.Syntax: _NamespaceOrTypeName_alias :: Name
- Hydra.Csharp.Syntax: _NamespaceOrTypeName_identifier :: Name
- Hydra.Csharp.Syntax: _NamespaceOrTypeName_qualified :: Name
- Hydra.Csharp.Syntax: _NonArrayType :: Name
- Hydra.Csharp.Syntax: _NonArrayTypeArrayCreationExpression :: Name
- Hydra.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_expressions :: Name
- Hydra.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_initializer :: Name
- Hydra.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_rankSpecifiers :: Name
- Hydra.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_type :: Name
- Hydra.Csharp.Syntax: _NonArrayType_class :: Name
- Hydra.Csharp.Syntax: _NonArrayType_delegate :: Name
- Hydra.Csharp.Syntax: _NonArrayType_dynamic :: Name
- Hydra.Csharp.Syntax: _NonArrayType_interface :: Name
- Hydra.Csharp.Syntax: _NonArrayType_parameter :: Name
- Hydra.Csharp.Syntax: _NonArrayType_pointer :: Name
- Hydra.Csharp.Syntax: _NonArrayType_value :: Name
- Hydra.Csharp.Syntax: _NonAssignmentExpression :: Name
- Hydra.Csharp.Syntax: _NonAssignmentExpression_conditional :: Name
- Hydra.Csharp.Syntax: _NonAssignmentExpression_declaration :: Name
- Hydra.Csharp.Syntax: _NonAssignmentExpression_lambda :: Name
- Hydra.Csharp.Syntax: _NonAssignmentExpression_query :: Name
- Hydra.Csharp.Syntax: _NullCoalescingExpression :: Name
- Hydra.Csharp.Syntax: _NullCoalescingExpression_binary :: Name
- Hydra.Csharp.Syntax: _NullCoalescingExpression_simple :: Name
- Hydra.Csharp.Syntax: _NullCoalescingExpression_throw :: Name
- Hydra.Csharp.Syntax: _NullConditionalElementAccess :: Name
- Hydra.Csharp.Syntax: _NullConditionalElementAccess_arguments :: Name
- Hydra.Csharp.Syntax: _NullConditionalElementAccess_dependentAccess :: Name
- Hydra.Csharp.Syntax: _NullConditionalElementAccess_expression :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpression :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpressionHead :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpressionHead_element :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpressionHead_member :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpression_arguments :: Name
- Hydra.Csharp.Syntax: _NullConditionalInvocationExpression_head :: Name
- Hydra.Csharp.Syntax: _NullConditionalMemberAccess :: Name
- Hydra.Csharp.Syntax: _NullConditionalMemberAccess_dependentAccess :: Name
- Hydra.Csharp.Syntax: _NullConditionalMemberAccess_expression :: Name
- Hydra.Csharp.Syntax: _NullConditionalMemberAccess_identifier :: Name
- Hydra.Csharp.Syntax: _NullConditionalMemberAccess_typeArguments :: Name
- Hydra.Csharp.Syntax: _NullConditionalProjectionInitializer :: Name
- Hydra.Csharp.Syntax: _NullConditionalProjectionInitializer_expression :: Name
- Hydra.Csharp.Syntax: _NullConditionalProjectionInitializer_identifier :: Name
- Hydra.Csharp.Syntax: _NullConditionalProjectionInitializer_typeArguments :: Name
- Hydra.Csharp.Syntax: _NumericType :: Name
- Hydra.Csharp.Syntax: _NumericType_decimal :: Name
- Hydra.Csharp.Syntax: _NumericType_floatingPoint :: Name
- Hydra.Csharp.Syntax: _NumericType_integral :: Name
- Hydra.Csharp.Syntax: _ObjectCreationExpression :: Name
- Hydra.Csharp.Syntax: _ObjectCreationExpression_arguments :: Name
- Hydra.Csharp.Syntax: _ObjectCreationExpression_initializer :: Name
- Hydra.Csharp.Syntax: _ObjectCreationExpression_type :: Name
- Hydra.Csharp.Syntax: _ObjectOrCollectionInitializer :: Name
- Hydra.Csharp.Syntax: _ObjectOrCollectionInitializer_collection :: Name
- Hydra.Csharp.Syntax: _ObjectOrCollectionInitializer_object :: Name
- Hydra.Csharp.Syntax: _OperatorBody :: Name
- Hydra.Csharp.Syntax: _OperatorBody_block :: Name
- Hydra.Csharp.Syntax: _OperatorBody_empty :: Name
- Hydra.Csharp.Syntax: _OperatorBody_expression :: Name
- Hydra.Csharp.Syntax: _OperatorDeclaration :: Name
- Hydra.Csharp.Syntax: _OperatorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _OperatorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _OperatorDeclaration_declarator :: Name
- Hydra.Csharp.Syntax: _OperatorDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _OperatorDeclarator :: Name
- Hydra.Csharp.Syntax: _OperatorDeclarator_binary :: Name
- Hydra.Csharp.Syntax: _OperatorDeclarator_conversion :: Name
- Hydra.Csharp.Syntax: _OperatorDeclarator_unary :: Name
- Hydra.Csharp.Syntax: _OperatorModifier :: Name
- Hydra.Csharp.Syntax: _OperatorModifier_extern :: Name
- Hydra.Csharp.Syntax: _OperatorModifier_public :: Name
- Hydra.Csharp.Syntax: _OperatorModifier_static :: Name
- Hydra.Csharp.Syntax: _OperatorModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _Ordering :: Name
- Hydra.Csharp.Syntax: _OrderingDirection :: Name
- Hydra.Csharp.Syntax: _OrderingDirection_ascending :: Name
- Hydra.Csharp.Syntax: _OrderingDirection_descending :: Name
- Hydra.Csharp.Syntax: _Ordering_direction :: Name
- Hydra.Csharp.Syntax: _Ordering_expression :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_add :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_and :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_divide :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_equal :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_greaterThan :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_greaterThanOrEqual :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_leftShift :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_lessThan :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_lessThanOrEqual :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_modulus :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_multiply :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_notEqual :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_or :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_rightShift :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_subtract :: Name
- Hydra.Csharp.Syntax: _OverloadableBinaryOperator_xor :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_complement :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_decrement :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_false :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_increment :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_minus :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_not :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_plus :: Name
- Hydra.Csharp.Syntax: _OverloadableUnaryOperator_true :: Name
- Hydra.Csharp.Syntax: _ParameterArray :: Name
- Hydra.Csharp.Syntax: _ParameterArray_attributes :: Name
- Hydra.Csharp.Syntax: _ParameterArray_identifier :: Name
- Hydra.Csharp.Syntax: _ParameterArray_type :: Name
- Hydra.Csharp.Syntax: _ParameterModeModifier :: Name
- Hydra.Csharp.Syntax: _ParameterModeModifier_in :: Name
- Hydra.Csharp.Syntax: _ParameterModeModifier_out :: Name
- Hydra.Csharp.Syntax: _ParameterModeModifier_ref :: Name
- Hydra.Csharp.Syntax: _ParameterModifier :: Name
- Hydra.Csharp.Syntax: _ParameterModifier_mode :: Name
- Hydra.Csharp.Syntax: _ParameterModifier_this :: Name
- Hydra.Csharp.Syntax: _Pattern :: Name
- Hydra.Csharp.Syntax: _Pattern_constant :: Name
- Hydra.Csharp.Syntax: _Pattern_declaration :: Name
- Hydra.Csharp.Syntax: _Pattern_var :: Name
- Hydra.Csharp.Syntax: _PointerElementAccess :: Name
- Hydra.Csharp.Syntax: _PointerElementAccess_index :: Name
- Hydra.Csharp.Syntax: _PointerElementAccess_pointer :: Name
- Hydra.Csharp.Syntax: _PointerMemberAccess :: Name
- Hydra.Csharp.Syntax: _PointerMemberAccess_member :: Name
- Hydra.Csharp.Syntax: _PointerMemberAccess_pointer :: Name
- Hydra.Csharp.Syntax: _PointerMemberAccess_typeArguments :: Name
- Hydra.Csharp.Syntax: _PointerType :: Name
- Hydra.Csharp.Syntax: _PointerType_pointerDepth :: Name
- Hydra.Csharp.Syntax: _PointerType_valueType :: Name
- Hydra.Csharp.Syntax: _PositionalArgument :: Name
- Hydra.Csharp.Syntax: _PositionalArgumentList :: Name
- Hydra.Csharp.Syntax: _PositionalArgument_name :: Name
- Hydra.Csharp.Syntax: _PositionalArgument_value :: Name
- Hydra.Csharp.Syntax: _PredefinedType :: Name
- Hydra.Csharp.Syntax: _PredefinedType_bool :: Name
- Hydra.Csharp.Syntax: _PredefinedType_byte :: Name
- Hydra.Csharp.Syntax: _PredefinedType_char :: Name
- Hydra.Csharp.Syntax: _PredefinedType_decimal :: Name
- Hydra.Csharp.Syntax: _PredefinedType_double :: Name
- Hydra.Csharp.Syntax: _PredefinedType_float :: Name
- Hydra.Csharp.Syntax: _PredefinedType_int :: Name
- Hydra.Csharp.Syntax: _PredefinedType_long :: Name
- Hydra.Csharp.Syntax: _PredefinedType_object :: Name
- Hydra.Csharp.Syntax: _PredefinedType_sbyte :: Name
- Hydra.Csharp.Syntax: _PredefinedType_short :: Name
- Hydra.Csharp.Syntax: _PredefinedType_string :: Name
- Hydra.Csharp.Syntax: _PredefinedType_uint :: Name
- Hydra.Csharp.Syntax: _PredefinedType_ulong :: Name
- Hydra.Csharp.Syntax: _PredefinedType_ushort :: Name
- Hydra.Csharp.Syntax: _PrimaryConstraint :: Name
- Hydra.Csharp.Syntax: _PrimaryConstraint_class :: Name
- Hydra.Csharp.Syntax: _PrimaryConstraint_classType :: Name
- Hydra.Csharp.Syntax: _PrimaryConstraint_struct :: Name
- Hydra.Csharp.Syntax: _PrimaryConstraint_unmanaged :: Name
- Hydra.Csharp.Syntax: _PrimaryExpression :: Name
- Hydra.Csharp.Syntax: _PrimaryExpression_array :: Name
- Hydra.Csharp.Syntax: _PrimaryExpression_noArray :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_anonymousMethod :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_anonymousObjectCreation :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_baseAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_checked :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_defaultValue :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_delegateCreation :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_elementAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_interpolatedString :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_invocation :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_literal :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_memberAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nameof :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nullConditionalElementAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nullConditionalMemberAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_objectCreation :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_parenthesized :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_pointerElementAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_pointerMemberAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_postDecrement :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_postIncrement :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_simpleName :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_sizeof :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_stackalloc :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_thisAccess :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_tuple :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_typeof :: Name
- Hydra.Csharp.Syntax: _PrimaryNoArrayCreationExpression_unchecked :: Name
- Hydra.Csharp.Syntax: _PropertyBody :: Name
- Hydra.Csharp.Syntax: _PropertyBody_block :: Name
- Hydra.Csharp.Syntax: _PropertyBody_expression :: Name
- Hydra.Csharp.Syntax: _PropertyDeclaration :: Name
- Hydra.Csharp.Syntax: _PropertyDeclaration_refReturn :: Name
- Hydra.Csharp.Syntax: _PropertyDeclaration_standard :: Name
- Hydra.Csharp.Syntax: _PropertyModifier :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_abstract :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_extern :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_internal :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_new :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_override :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_private :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_protected :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_public :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_sealed :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_static :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _PropertyModifier_virtual :: Name
- Hydra.Csharp.Syntax: _QualifiedAliasMember :: Name
- Hydra.Csharp.Syntax: _QualifiedAliasMember_alias :: Name
- Hydra.Csharp.Syntax: _QualifiedAliasMember_arguments :: Name
- Hydra.Csharp.Syntax: _QualifiedAliasMember_member :: Name
- Hydra.Csharp.Syntax: _QualifiedIdentifier :: Name
- Hydra.Csharp.Syntax: _QualifiedNamespaceOrTypeName :: Name
- Hydra.Csharp.Syntax: _QualifiedNamespaceOrTypeName_arguments :: Name
- Hydra.Csharp.Syntax: _QualifiedNamespaceOrTypeName_identifier :: Name
- Hydra.Csharp.Syntax: _QualifiedNamespaceOrTypeName_namespaceOrType :: Name
- Hydra.Csharp.Syntax: _QueryBody :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause_from :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause_join :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause_let :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause_orderby :: Name
- Hydra.Csharp.Syntax: _QueryBodyClause_where :: Name
- Hydra.Csharp.Syntax: _QueryBody_clauses :: Name
- Hydra.Csharp.Syntax: _QueryBody_continuation :: Name
- Hydra.Csharp.Syntax: _QueryBody_selectOrGroup :: Name
- Hydra.Csharp.Syntax: _QueryContinuation :: Name
- Hydra.Csharp.Syntax: _QueryContinuation_body :: Name
- Hydra.Csharp.Syntax: _QueryContinuation_into :: Name
- Hydra.Csharp.Syntax: _QueryExpression :: Name
- Hydra.Csharp.Syntax: _QueryExpression_body :: Name
- Hydra.Csharp.Syntax: _QueryExpression_from :: Name
- Hydra.Csharp.Syntax: _RankSpecifier :: Name
- Hydra.Csharp.Syntax: _RankSpecifierArrayCreationExpression :: Name
- Hydra.Csharp.Syntax: _RankSpecifierArrayCreationExpression_initializer :: Name
- Hydra.Csharp.Syntax: _RankSpecifierArrayCreationExpression_rankSpecifier :: Name
- Hydra.Csharp.Syntax: _RefAccessorBody :: Name
- Hydra.Csharp.Syntax: _RefAccessorBody_block :: Name
- Hydra.Csharp.Syntax: _RefAccessorBody_empty :: Name
- Hydra.Csharp.Syntax: _RefAccessorBody_ref :: Name
- Hydra.Csharp.Syntax: _RefConditionalExpression :: Name
- Hydra.Csharp.Syntax: _RefConditionalExpression_condition :: Name
- Hydra.Csharp.Syntax: _RefConditionalExpression_false :: Name
- Hydra.Csharp.Syntax: _RefConditionalExpression_true :: Name
- Hydra.Csharp.Syntax: _RefGetAccessorDeclaration :: Name
- Hydra.Csharp.Syntax: _RefGetAccessorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _RefGetAccessorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _RefGetAccessorDeclaration_modifier :: Name
- Hydra.Csharp.Syntax: _RefIndexerBody :: Name
- Hydra.Csharp.Syntax: _RefIndexerBody_block :: Name
- Hydra.Csharp.Syntax: _RefIndexerBody_ref :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration_body :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration_declarator :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _RefIndexerDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _RefKind :: Name
- Hydra.Csharp.Syntax: _RefKind_ref :: Name
- Hydra.Csharp.Syntax: _RefKind_refReadonly :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionBody :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionBody_block :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionBody_ref :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration_body :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration_header :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionModifier :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionModifier_static :: Name
- Hydra.Csharp.Syntax: _RefLocalFunctionModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclaration :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclaration_type :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclarator :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclarator_left :: Name
- Hydra.Csharp.Syntax: _RefLocalVariableDeclarator_right :: Name
- Hydra.Csharp.Syntax: _RefMethodBody :: Name
- Hydra.Csharp.Syntax: _RefMethodBody_block :: Name
- Hydra.Csharp.Syntax: _RefMethodBody_empty :: Name
- Hydra.Csharp.Syntax: _RefMethodBody_ref :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_abstract :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_extern :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_internal :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_new :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_override :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_private :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_protected :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_public :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_sealed :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_static :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _RefMethodModifier_virtual :: Name
- Hydra.Csharp.Syntax: _RefPropertyBody :: Name
- Hydra.Csharp.Syntax: _RefPropertyBody_block :: Name
- Hydra.Csharp.Syntax: _RefPropertyBody_ref :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_body :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_header :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_kind :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _RefReturnMethodDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_body :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_name :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _RefReturnPropertyDeclaration_type :: Name
- Hydra.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration :: Name
- Hydra.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration_declarator :: Name
- Hydra.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration_refKind :: Name
- Hydra.Csharp.Syntax: _ReferenceType :: Name
- Hydra.Csharp.Syntax: _ReferenceType_array :: Name
- Hydra.Csharp.Syntax: _ReferenceType_class :: Name
- Hydra.Csharp.Syntax: _ReferenceType_delegate :: Name
- Hydra.Csharp.Syntax: _ReferenceType_dynamic :: Name
- Hydra.Csharp.Syntax: _ReferenceType_interface :: Name
- Hydra.Csharp.Syntax: _RegularInterpolation :: Name
- Hydra.Csharp.Syntax: _RegularInterpolation_expression :: Name
- Hydra.Csharp.Syntax: _RegularInterpolation_format :: Name
- Hydra.Csharp.Syntax: _RegularInterpolation_width :: Name
- Hydra.Csharp.Syntax: _RelationalExpression :: Name
- Hydra.Csharp.Syntax: _RelationalExpression_asType :: Name
- Hydra.Csharp.Syntax: _RelationalExpression_binary :: Name
- Hydra.Csharp.Syntax: _RelationalExpression_isPattern :: Name
- Hydra.Csharp.Syntax: _RelationalExpression_isType :: Name
- Hydra.Csharp.Syntax: _RelationalExpression_simple :: Name
- Hydra.Csharp.Syntax: _RelationalOperator :: Name
- Hydra.Csharp.Syntax: _RelationalOperator_greaterThan :: Name
- Hydra.Csharp.Syntax: _RelationalOperator_greaterThanOrEqual :: Name
- Hydra.Csharp.Syntax: _RelationalOperator_lessThan :: Name
- Hydra.Csharp.Syntax: _RelationalOperator_lessThanOrEqual :: Name
- Hydra.Csharp.Syntax: _ResourceAcquisition :: Name
- Hydra.Csharp.Syntax: _ResourceAcquisition_expression :: Name
- Hydra.Csharp.Syntax: _ResourceAcquisition_local :: Name
- Hydra.Csharp.Syntax: _ReturnStatement :: Name
- Hydra.Csharp.Syntax: _ReturnStatement_ref :: Name
- Hydra.Csharp.Syntax: _ReturnStatement_simple :: Name
- Hydra.Csharp.Syntax: _ReturnStatement_value :: Name
- Hydra.Csharp.Syntax: _ReturnType :: Name
- Hydra.Csharp.Syntax: _ReturnType_ref :: Name
- Hydra.Csharp.Syntax: _ReturnType_void :: Name
- Hydra.Csharp.Syntax: _SecondaryConstraint :: Name
- Hydra.Csharp.Syntax: _SecondaryConstraint_interface :: Name
- Hydra.Csharp.Syntax: _SecondaryConstraint_parameter :: Name
- Hydra.Csharp.Syntax: _SecondaryConstraints :: Name
- Hydra.Csharp.Syntax: _SelectOrGroupClause :: Name
- Hydra.Csharp.Syntax: _SelectOrGroupClause_group :: Name
- Hydra.Csharp.Syntax: _SelectOrGroupClause_select :: Name
- Hydra.Csharp.Syntax: _SelectionStatement :: Name
- Hydra.Csharp.Syntax: _SelectionStatement_if :: Name
- Hydra.Csharp.Syntax: _SelectionStatement_switch :: Name
- Hydra.Csharp.Syntax: _ShiftExpression :: Name
- Hydra.Csharp.Syntax: _ShiftExpression_binary :: Name
- Hydra.Csharp.Syntax: _ShiftExpression_simple :: Name
- Hydra.Csharp.Syntax: _ShiftOperator :: Name
- Hydra.Csharp.Syntax: _ShiftOperator_left :: Name
- Hydra.Csharp.Syntax: _ShiftOperator_right :: Name
- Hydra.Csharp.Syntax: _SimpleConditionalExpression :: Name
- Hydra.Csharp.Syntax: _SimpleConditionalExpression_condition :: Name
- Hydra.Csharp.Syntax: _SimpleConditionalExpression_false :: Name
- Hydra.Csharp.Syntax: _SimpleConditionalExpression_true :: Name
- Hydra.Csharp.Syntax: _SimpleName :: Name
- Hydra.Csharp.Syntax: _SimpleName_identifier :: Name
- Hydra.Csharp.Syntax: _SimpleName_typeArguments :: Name
- Hydra.Csharp.Syntax: _SimpleType :: Name
- Hydra.Csharp.Syntax: _SimpleType_bool :: Name
- Hydra.Csharp.Syntax: _SimpleType_numeric :: Name
- Hydra.Csharp.Syntax: _SpecificCatchClause :: Name
- Hydra.Csharp.Syntax: _SpecificCatchClause_body :: Name
- Hydra.Csharp.Syntax: _SpecificCatchClause_filter :: Name
- Hydra.Csharp.Syntax: _SpecificCatchClause_specifier :: Name
- Hydra.Csharp.Syntax: _StackallocExpression :: Name
- Hydra.Csharp.Syntax: _StackallocExpression_expression :: Name
- Hydra.Csharp.Syntax: _StackallocExpression_initializer :: Name
- Hydra.Csharp.Syntax: _StackallocExpression_type :: Name
- Hydra.Csharp.Syntax: _StandardEventDeclaration :: Name
- Hydra.Csharp.Syntax: _StandardEventDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StandardEventDeclaration_declarators :: Name
- Hydra.Csharp.Syntax: _StandardEventDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StandardEventDeclaration_type :: Name
- Hydra.Csharp.Syntax: _StandardIndexerDeclaration :: Name
- Hydra.Csharp.Syntax: _StandardIndexerDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StandardIndexerDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StandardIndexerDeclaration_declarator :: Name
- Hydra.Csharp.Syntax: _StandardIndexerDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StandardLocalFunctionDeclaration :: Name
- Hydra.Csharp.Syntax: _StandardLocalFunctionDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StandardLocalFunctionDeclaration_header :: Name
- Hydra.Csharp.Syntax: _StandardLocalFunctionDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StandardLocalFunctionDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration_header :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StandardMethodDeclaration_returnType :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration_name :: Name
- Hydra.Csharp.Syntax: _StandardPropertyDeclaration_type :: Name
- Hydra.Csharp.Syntax: _Statement :: Name
- Hydra.Csharp.Syntax: _StatementExpression :: Name
- Hydra.Csharp.Syntax: _StatementExpressionList :: Name
- Hydra.Csharp.Syntax: _StatementExpression_assignment :: Name
- Hydra.Csharp.Syntax: _StatementExpression_await :: Name
- Hydra.Csharp.Syntax: _StatementExpression_invocation :: Name
- Hydra.Csharp.Syntax: _StatementExpression_nullConditionalInvocation :: Name
- Hydra.Csharp.Syntax: _StatementExpression_objectCreation :: Name
- Hydra.Csharp.Syntax: _StatementExpression_postDecrement :: Name
- Hydra.Csharp.Syntax: _StatementExpression_postIncrement :: Name
- Hydra.Csharp.Syntax: _StatementExpression_preDecrement :: Name
- Hydra.Csharp.Syntax: _StatementExpression_preIncrement :: Name
- Hydra.Csharp.Syntax: _Statement_declaration :: Name
- Hydra.Csharp.Syntax: _Statement_embedded :: Name
- Hydra.Csharp.Syntax: _Statement_labeled :: Name
- Hydra.Csharp.Syntax: _StaticConstructorBody :: Name
- Hydra.Csharp.Syntax: _StaticConstructorBody_block :: Name
- Hydra.Csharp.Syntax: _StaticConstructorBody_empty :: Name
- Hydra.Csharp.Syntax: _StaticConstructorBody_expression :: Name
- Hydra.Csharp.Syntax: _StaticConstructorDeclaration :: Name
- Hydra.Csharp.Syntax: _StaticConstructorDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StaticConstructorDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StaticConstructorDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StaticConstructorDeclaration_name :: Name
- Hydra.Csharp.Syntax: _StaticConstructorModifiers :: Name
- Hydra.Csharp.Syntax: _StaticConstructorModifiers_extern :: Name
- Hydra.Csharp.Syntax: _StaticConstructorModifiers_unsafe :: Name
- Hydra.Csharp.Syntax: _StructDeclaration :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_attributes :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_body :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_constraints :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_interfaces :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_modifiers :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_name :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_parameters :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_partial :: Name
- Hydra.Csharp.Syntax: _StructDeclaration_ref :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_constant :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_constructor :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_event :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_field :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_fixedSizeBuffer :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_indexer :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_method :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_operator :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_property :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_staticConstructor :: Name
- Hydra.Csharp.Syntax: _StructMemberDeclaration_type :: Name
- Hydra.Csharp.Syntax: _StructModifier :: Name
- Hydra.Csharp.Syntax: _StructModifier_internal :: Name
- Hydra.Csharp.Syntax: _StructModifier_new :: Name
- Hydra.Csharp.Syntax: _StructModifier_private :: Name
- Hydra.Csharp.Syntax: _StructModifier_protected :: Name
- Hydra.Csharp.Syntax: _StructModifier_public :: Name
- Hydra.Csharp.Syntax: _StructModifier_readonly :: Name
- Hydra.Csharp.Syntax: _StructModifier_unsafe :: Name
- Hydra.Csharp.Syntax: _StructOrEnumType :: Name
- Hydra.Csharp.Syntax: _StructOrEnumType_enum :: Name
- Hydra.Csharp.Syntax: _StructOrEnumType_struct :: Name
- Hydra.Csharp.Syntax: _StructType :: Name
- Hydra.Csharp.Syntax: _StructType_simple :: Name
- Hydra.Csharp.Syntax: _StructType_tuple :: Name
- Hydra.Csharp.Syntax: _StructType_typeName :: Name
- Hydra.Csharp.Syntax: _SwitchBranch :: Name
- Hydra.Csharp.Syntax: _SwitchBranch_guard :: Name
- Hydra.Csharp.Syntax: _SwitchBranch_pattern :: Name
- Hydra.Csharp.Syntax: _SwitchLabel :: Name
- Hydra.Csharp.Syntax: _SwitchLabel_branch :: Name
- Hydra.Csharp.Syntax: _SwitchLabel_default :: Name
- Hydra.Csharp.Syntax: _SwitchSection :: Name
- Hydra.Csharp.Syntax: _SwitchSection_labels :: Name
- Hydra.Csharp.Syntax: _SwitchSection_statements :: Name
- Hydra.Csharp.Syntax: _SwitchStatement :: Name
- Hydra.Csharp.Syntax: _SwitchStatement_branches :: Name
- Hydra.Csharp.Syntax: _SwitchStatement_expression :: Name
- Hydra.Csharp.Syntax: _TryStatement :: Name
- Hydra.Csharp.Syntax: _TryStatement_body :: Name
- Hydra.Csharp.Syntax: _TryStatement_catches :: Name
- Hydra.Csharp.Syntax: _TryStatement_finally :: Name
- Hydra.Csharp.Syntax: _TupleElement :: Name
- Hydra.Csharp.Syntax: _TupleElement_expression :: Name
- Hydra.Csharp.Syntax: _TupleElement_name :: Name
- Hydra.Csharp.Syntax: _TupleExpression :: Name
- Hydra.Csharp.Syntax: _TupleExpression_deconstruction :: Name
- Hydra.Csharp.Syntax: _TupleExpression_elements :: Name
- Hydra.Csharp.Syntax: _TupleType :: Name
- Hydra.Csharp.Syntax: _TupleTypeElement :: Name
- Hydra.Csharp.Syntax: _TupleTypeElement_identifier :: Name
- Hydra.Csharp.Syntax: _TupleTypeElement_type :: Name
- Hydra.Csharp.Syntax: _Type :: Name
- Hydra.Csharp.Syntax: _TypeArgumentList :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration_class :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration_delegate :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration_enum :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration_interface :: Name
- Hydra.Csharp.Syntax: _TypeDeclaration_struct :: Name
- Hydra.Csharp.Syntax: _TypeName :: Name
- Hydra.Csharp.Syntax: _TypeParameter :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraints :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraintsClause :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraintsClause_constraints :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraintsClause_parameter :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraints_constructor :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraints_primary :: Name
- Hydra.Csharp.Syntax: _TypeParameterConstraints_secondary :: Name
- Hydra.Csharp.Syntax: _TypeParameterList :: Name
- Hydra.Csharp.Syntax: _TypeParameterPart :: Name
- Hydra.Csharp.Syntax: _TypeParameterPart_attributes :: Name
- Hydra.Csharp.Syntax: _TypeParameterPart_name :: Name
- Hydra.Csharp.Syntax: _Type_param :: Name
- Hydra.Csharp.Syntax: _Type_pointer :: Name
- Hydra.Csharp.Syntax: _Type_reference :: Name
- Hydra.Csharp.Syntax: _Type_value :: Name
- Hydra.Csharp.Syntax: _TypeofExpression :: Name
- Hydra.Csharp.Syntax: _TypeofExpression_type :: Name
- Hydra.Csharp.Syntax: _TypeofExpression_unboundTypeName :: Name
- Hydra.Csharp.Syntax: _TypeofExpression_void :: Name
- Hydra.Csharp.Syntax: _UnaryExpression :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_addressOf :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_await :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_bitwiseComplement :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_cast :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_minus :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_not :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_plus :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_pointerIndirection :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_preDecrement :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_preIncrement :: Name
- Hydra.Csharp.Syntax: _UnaryExpression_primary :: Name
- Hydra.Csharp.Syntax: _UnaryOperatorDeclarator :: Name
- Hydra.Csharp.Syntax: _UnaryOperatorDeclarator_operator :: Name
- Hydra.Csharp.Syntax: _UnaryOperatorDeclarator_parameter :: Name
- Hydra.Csharp.Syntax: _UnaryOperatorDeclarator_type :: Name
- Hydra.Csharp.Syntax: _UnboundTypeName :: Name
- Hydra.Csharp.Syntax: _UnboundTypeNamePart :: Name
- Hydra.Csharp.Syntax: _UnboundTypeNamePart_aliased :: Name
- Hydra.Csharp.Syntax: _UnboundTypeNamePart_dimension :: Name
- Hydra.Csharp.Syntax: _UnboundTypeNamePart_identifier :: Name
- Hydra.Csharp.Syntax: _UnmanagedType :: Name
- Hydra.Csharp.Syntax: _UnmanagedType_pointer :: Name
- Hydra.Csharp.Syntax: _UnmanagedType_value :: Name
- Hydra.Csharp.Syntax: _UsingAliasDirective :: Name
- Hydra.Csharp.Syntax: _UsingAliasDirective_alias :: Name
- Hydra.Csharp.Syntax: _UsingAliasDirective_name :: Name
- Hydra.Csharp.Syntax: _UsingDirective :: Name
- Hydra.Csharp.Syntax: _UsingDirective_alias :: Name
- Hydra.Csharp.Syntax: _UsingDirective_namespace :: Name
- Hydra.Csharp.Syntax: _UsingDirective_static :: Name
- Hydra.Csharp.Syntax: _UsingStatement :: Name
- Hydra.Csharp.Syntax: _UsingStatement_acquisition :: Name
- Hydra.Csharp.Syntax: _UsingStatement_body :: Name
- Hydra.Csharp.Syntax: _ValueType :: Name
- Hydra.Csharp.Syntax: _ValueType_nonNullable :: Name
- Hydra.Csharp.Syntax: _ValueType_nullable :: Name
- Hydra.Csharp.Syntax: _VariableDeclarator :: Name
- Hydra.Csharp.Syntax: _VariableDeclarator_identifier :: Name
- Hydra.Csharp.Syntax: _VariableDeclarator_initializer :: Name
- Hydra.Csharp.Syntax: _VariableDeclarators :: Name
- Hydra.Csharp.Syntax: _VariableInitializer :: Name
- Hydra.Csharp.Syntax: _VariableInitializer_array :: Name
- Hydra.Csharp.Syntax: _VariableInitializer_expression :: Name
- Hydra.Csharp.Syntax: _VariableReference :: Name
- Hydra.Csharp.Syntax: _VarianceAnnotation :: Name
- Hydra.Csharp.Syntax: _VarianceAnnotation_in :: Name
- Hydra.Csharp.Syntax: _VarianceAnnotation_out :: Name
- Hydra.Csharp.Syntax: _VariantTypeParameter :: Name
- Hydra.Csharp.Syntax: _VariantTypeParameter_attributes :: Name
- Hydra.Csharp.Syntax: _VariantTypeParameter_parameter :: Name
- Hydra.Csharp.Syntax: _VariantTypeParameter_variance :: Name
- Hydra.Csharp.Syntax: _VariantTypeParameters :: Name
- Hydra.Csharp.Syntax: _VerbatimInterpolation :: Name
- Hydra.Csharp.Syntax: _VerbatimInterpolation_expression :: Name
- Hydra.Csharp.Syntax: _VerbatimInterpolation_format :: Name
- Hydra.Csharp.Syntax: _VerbatimInterpolation_width :: Name
- Hydra.Csharp.Syntax: _WhileStatement :: Name
- Hydra.Csharp.Syntax: _WhileStatement_body :: Name
- Hydra.Csharp.Syntax: _WhileStatement_condition :: Name
- Hydra.Csharp.Syntax: _YieldStatement :: Name
- Hydra.Csharp.Syntax: _YieldStatement_break :: Name
- Hydra.Csharp.Syntax: _YieldStatement_return :: Name
- Hydra.Csharp.Syntax: data AccessorBody
- Hydra.Csharp.Syntax: data AccessorDeclaration
- Hydra.Csharp.Syntax: data AccessorDeclarations
- Hydra.Csharp.Syntax: data AccessorModifier
- Hydra.Csharp.Syntax: data AccessorsEventDeclaration
- Hydra.Csharp.Syntax: data AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: data AdditiveExpression
- Hydra.Csharp.Syntax: data AdditiveOperator
- Hydra.Csharp.Syntax: data AndExpression
- Hydra.Csharp.Syntax: data AnonymousFunctionBody
- Hydra.Csharp.Syntax: data AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: data AnonymousFunctionSignature
- Hydra.Csharp.Syntax: data AnonymousMethodExpression
- Hydra.Csharp.Syntax: data Argument
- Hydra.Csharp.Syntax: data ArgumentValue
- Hydra.Csharp.Syntax: data ArrayCreationExpression
- Hydra.Csharp.Syntax: data ArrayType
- Hydra.Csharp.Syntax: data ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: data AsTypeExpression
- Hydra.Csharp.Syntax: data Assignment
- Hydra.Csharp.Syntax: data AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: data AssignmentOperator
- Hydra.Csharp.Syntax: data Attribute
- Hydra.Csharp.Syntax: data AttributeArguments
- Hydra.Csharp.Syntax: data AttributeSection
- Hydra.Csharp.Syntax: data AttributeTarget
- Hydra.Csharp.Syntax: data BaseAccess
- Hydra.Csharp.Syntax: data BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: data BinaryAdditiveExpression
- Hydra.Csharp.Syntax: data BinaryAndExpression
- Hydra.Csharp.Syntax: data BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: data BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: data BinaryEqualityExpression
- Hydra.Csharp.Syntax: data BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: data BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: data BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: data BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: data BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: data BinaryRelationalExpression
- Hydra.Csharp.Syntax: data BinaryShiftExpression
- Hydra.Csharp.Syntax: data BlockPropertyBody
- Hydra.Csharp.Syntax: data CastExpression
- Hydra.Csharp.Syntax: data CatchClauses
- Hydra.Csharp.Syntax: data ClassBase
- Hydra.Csharp.Syntax: data ClassDeclaration
- Hydra.Csharp.Syntax: data ClassMemberDeclaration
- Hydra.Csharp.Syntax: data ClassModifier
- Hydra.Csharp.Syntax: data ClassType
- Hydra.Csharp.Syntax: data CompilationUnit
- Hydra.Csharp.Syntax: data ConditionalAndExpression
- Hydra.Csharp.Syntax: data ConditionalExpression
- Hydra.Csharp.Syntax: data ConditionalOrExpression
- Hydra.Csharp.Syntax: data ConstantDeclaration
- Hydra.Csharp.Syntax: data ConstantDeclarator
- Hydra.Csharp.Syntax: data ConstantModifier
- Hydra.Csharp.Syntax: data ConstructorBody
- Hydra.Csharp.Syntax: data ConstructorDeclaration
- Hydra.Csharp.Syntax: data ConstructorDeclarator
- Hydra.Csharp.Syntax: data ConstructorInitializer
- Hydra.Csharp.Syntax: data ConstructorModifier
- Hydra.Csharp.Syntax: data ConversionKind
- Hydra.Csharp.Syntax: data ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: data DeclarationExpression
- Hydra.Csharp.Syntax: data DeclarationPattern
- Hydra.Csharp.Syntax: data DeclarationStatement
- Hydra.Csharp.Syntax: data DeconstructionElement
- Hydra.Csharp.Syntax: data DefaultValueExpression
- Hydra.Csharp.Syntax: data DelegateCreationExpression
- Hydra.Csharp.Syntax: data DelegateDeclaration
- Hydra.Csharp.Syntax: data DelegateHeader
- Hydra.Csharp.Syntax: data DelegateModifier
- Hydra.Csharp.Syntax: data DependentAccess
- Hydra.Csharp.Syntax: data DependentAccessForMember
- Hydra.Csharp.Syntax: data DoStatement
- Hydra.Csharp.Syntax: data ElementAccess
- Hydra.Csharp.Syntax: data ElementInitializer
- Hydra.Csharp.Syntax: data EmbeddedStatement
- Hydra.Csharp.Syntax: data EnumBase
- Hydra.Csharp.Syntax: data EnumDeclaration
- Hydra.Csharp.Syntax: data EnumMemberDeclaration
- Hydra.Csharp.Syntax: data EnumModifier
- Hydra.Csharp.Syntax: data EqualityExpression
- Hydra.Csharp.Syntax: data EqualityOperator
- Hydra.Csharp.Syntax: data EventAccessorDeclarations
- Hydra.Csharp.Syntax: data EventDeclaration
- Hydra.Csharp.Syntax: data EventModifier
- Hydra.Csharp.Syntax: data ExceptionSpecifier
- Hydra.Csharp.Syntax: data ExclusiveOrExpression
- Hydra.Csharp.Syntax: data ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: data ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: data ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: data Expression
- Hydra.Csharp.Syntax: data FieldDeclaration
- Hydra.Csharp.Syntax: data FieldModifier
- Hydra.Csharp.Syntax: data FinalizerBody
- Hydra.Csharp.Syntax: data FinalizerDeclaration
- Hydra.Csharp.Syntax: data FixedParameter
- Hydra.Csharp.Syntax: data FixedPointerDeclarator
- Hydra.Csharp.Syntax: data FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: data FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: data FixedSizeBufferModifier
- Hydra.Csharp.Syntax: data FixedStatement
- Hydra.Csharp.Syntax: data FloatingPointType
- Hydra.Csharp.Syntax: data ForInitializer
- Hydra.Csharp.Syntax: data ForStatement
- Hydra.Csharp.Syntax: data ForeachStatement
- Hydra.Csharp.Syntax: data FormalParameterList
- Hydra.Csharp.Syntax: data FromClause
- Hydra.Csharp.Syntax: data GlobalAttributeSection
- Hydra.Csharp.Syntax: data GotoStatement
- Hydra.Csharp.Syntax: data GroupClause
- Hydra.Csharp.Syntax: data IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: data IfStatement
- Hydra.Csharp.Syntax: data ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: data ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: data InclusiveOrExpression
- Hydra.Csharp.Syntax: data IndexerBody
- Hydra.Csharp.Syntax: data IndexerDeclaration
- Hydra.Csharp.Syntax: data IndexerDeclarator
- Hydra.Csharp.Syntax: data IndexerModifier
- Hydra.Csharp.Syntax: data InitializerTarget
- Hydra.Csharp.Syntax: data InitializerValue
- Hydra.Csharp.Syntax: data IntegerLiteral
- Hydra.Csharp.Syntax: data IntegralType
- Hydra.Csharp.Syntax: data InterfaceAccessors
- Hydra.Csharp.Syntax: data InterfaceDeclaration
- Hydra.Csharp.Syntax: data InterfaceEventDeclaration
- Hydra.Csharp.Syntax: data InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: data InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: data InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: data InterfaceMethodHeader
- Hydra.Csharp.Syntax: data InterfaceModifier
- Hydra.Csharp.Syntax: data InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: data InterpolatedStringExpression
- Hydra.Csharp.Syntax: data InvocationExpression
- Hydra.Csharp.Syntax: data IsPatternExpression
- Hydra.Csharp.Syntax: data IsTypeExpression
- Hydra.Csharp.Syntax: data IterationStatement
- Hydra.Csharp.Syntax: data JoinClause
- Hydra.Csharp.Syntax: data JumpStatement
- Hydra.Csharp.Syntax: data LabeledStatement
- Hydra.Csharp.Syntax: data LambdaExpression
- Hydra.Csharp.Syntax: data LetClause
- Hydra.Csharp.Syntax: data Literal
- Hydra.Csharp.Syntax: data LocalConstantDeclaration
- Hydra.Csharp.Syntax: data LocalFunctionBody
- Hydra.Csharp.Syntax: data LocalFunctionDeclaration
- Hydra.Csharp.Syntax: data LocalFunctionHeader
- Hydra.Csharp.Syntax: data LocalFunctionModifier
- Hydra.Csharp.Syntax: data LocalVariableDeclaration
- Hydra.Csharp.Syntax: data LocalVariableInitializer
- Hydra.Csharp.Syntax: data LocalVariableType
- Hydra.Csharp.Syntax: data LockStatement
- Hydra.Csharp.Syntax: data MemberAccess
- Hydra.Csharp.Syntax: data MemberAccessHead
- Hydra.Csharp.Syntax: data MemberDeclarator
- Hydra.Csharp.Syntax: data MemberInitializer
- Hydra.Csharp.Syntax: data MemberName
- Hydra.Csharp.Syntax: data MethodBody
- Hydra.Csharp.Syntax: data MethodDeclaration
- Hydra.Csharp.Syntax: data MethodHeader
- Hydra.Csharp.Syntax: data MethodModifier
- Hydra.Csharp.Syntax: data MethodModifiers
- Hydra.Csharp.Syntax: data MultiplicativeExpression
- Hydra.Csharp.Syntax: data MultiplicativeOperator
- Hydra.Csharp.Syntax: data NamedArgument
- Hydra.Csharp.Syntax: data NamedEntity
- Hydra.Csharp.Syntax: data NamedEntityPart
- Hydra.Csharp.Syntax: data NamedEntityTarget
- Hydra.Csharp.Syntax: data NamespaceBody
- Hydra.Csharp.Syntax: data NamespaceDeclaration
- Hydra.Csharp.Syntax: data NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: data NamespaceOrTypeName
- Hydra.Csharp.Syntax: data NonArrayType
- Hydra.Csharp.Syntax: data NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: data NonAssignmentExpression
- Hydra.Csharp.Syntax: data NullCoalescingExpression
- Hydra.Csharp.Syntax: data NullConditionalElementAccess
- Hydra.Csharp.Syntax: data NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: data NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: data NullConditionalMemberAccess
- Hydra.Csharp.Syntax: data NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: data NumericType
- Hydra.Csharp.Syntax: data ObjectCreationExpression
- Hydra.Csharp.Syntax: data ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: data OperatorBody
- Hydra.Csharp.Syntax: data OperatorDeclaration
- Hydra.Csharp.Syntax: data OperatorDeclarator
- Hydra.Csharp.Syntax: data OperatorModifier
- Hydra.Csharp.Syntax: data Ordering
- Hydra.Csharp.Syntax: data OrderingDirection
- Hydra.Csharp.Syntax: data OverloadableBinaryOperator
- Hydra.Csharp.Syntax: data OverloadableUnaryOperator
- Hydra.Csharp.Syntax: data ParameterArray
- Hydra.Csharp.Syntax: data ParameterModeModifier
- Hydra.Csharp.Syntax: data ParameterModifier
- Hydra.Csharp.Syntax: data Pattern
- Hydra.Csharp.Syntax: data PointerElementAccess
- Hydra.Csharp.Syntax: data PointerMemberAccess
- Hydra.Csharp.Syntax: data PointerType
- Hydra.Csharp.Syntax: data PositionalArgument
- Hydra.Csharp.Syntax: data PredefinedType
- Hydra.Csharp.Syntax: data PrimaryConstraint
- Hydra.Csharp.Syntax: data PrimaryExpression
- Hydra.Csharp.Syntax: data PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: data PropertyBody
- Hydra.Csharp.Syntax: data PropertyDeclaration
- Hydra.Csharp.Syntax: data PropertyModifier
- Hydra.Csharp.Syntax: data QualifiedAliasMember
- Hydra.Csharp.Syntax: data QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: data QueryBody
- Hydra.Csharp.Syntax: data QueryBodyClause
- Hydra.Csharp.Syntax: data QueryContinuation
- Hydra.Csharp.Syntax: data QueryExpression
- Hydra.Csharp.Syntax: data RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: data RefAccessorBody
- Hydra.Csharp.Syntax: data RefConditionalExpression
- Hydra.Csharp.Syntax: data RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: data RefIndexerBody
- Hydra.Csharp.Syntax: data RefIndexerDeclaration
- Hydra.Csharp.Syntax: data RefKind
- Hydra.Csharp.Syntax: data RefLocalFunctionBody
- Hydra.Csharp.Syntax: data RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: data RefLocalFunctionModifier
- Hydra.Csharp.Syntax: data RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: data RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: data RefMethodBody
- Hydra.Csharp.Syntax: data RefMethodModifier
- Hydra.Csharp.Syntax: data RefPropertyBody
- Hydra.Csharp.Syntax: data RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: data RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: data RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: data ReferenceType
- Hydra.Csharp.Syntax: data RegularInterpolation
- Hydra.Csharp.Syntax: data RelationalExpression
- Hydra.Csharp.Syntax: data RelationalOperator
- Hydra.Csharp.Syntax: data ResourceAcquisition
- Hydra.Csharp.Syntax: data ReturnStatement
- Hydra.Csharp.Syntax: data ReturnType
- Hydra.Csharp.Syntax: data SecondaryConstraint
- Hydra.Csharp.Syntax: data SelectOrGroupClause
- Hydra.Csharp.Syntax: data SelectionStatement
- Hydra.Csharp.Syntax: data ShiftExpression
- Hydra.Csharp.Syntax: data ShiftOperator
- Hydra.Csharp.Syntax: data SimpleConditionalExpression
- Hydra.Csharp.Syntax: data SimpleName
- Hydra.Csharp.Syntax: data SimpleType
- Hydra.Csharp.Syntax: data SpecificCatchClause
- Hydra.Csharp.Syntax: data StackallocExpression
- Hydra.Csharp.Syntax: data StandardEventDeclaration
- Hydra.Csharp.Syntax: data StandardIndexerDeclaration
- Hydra.Csharp.Syntax: data StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: data StandardMethodDeclaration
- Hydra.Csharp.Syntax: data StandardPropertyDeclaration
- Hydra.Csharp.Syntax: data Statement
- Hydra.Csharp.Syntax: data StatementExpression
- Hydra.Csharp.Syntax: data StaticConstructorBody
- Hydra.Csharp.Syntax: data StaticConstructorDeclaration
- Hydra.Csharp.Syntax: data StaticConstructorModifiers
- Hydra.Csharp.Syntax: data StructDeclaration
- Hydra.Csharp.Syntax: data StructMemberDeclaration
- Hydra.Csharp.Syntax: data StructModifier
- Hydra.Csharp.Syntax: data StructOrEnumType
- Hydra.Csharp.Syntax: data StructType
- Hydra.Csharp.Syntax: data SwitchBranch
- Hydra.Csharp.Syntax: data SwitchLabel
- Hydra.Csharp.Syntax: data SwitchSection
- Hydra.Csharp.Syntax: data SwitchStatement
- Hydra.Csharp.Syntax: data TryStatement
- Hydra.Csharp.Syntax: data TupleElement
- Hydra.Csharp.Syntax: data TupleExpression
- Hydra.Csharp.Syntax: data TupleTypeElement
- Hydra.Csharp.Syntax: data Type
- Hydra.Csharp.Syntax: data TypeDeclaration
- Hydra.Csharp.Syntax: data TypeParameterConstraints
- Hydra.Csharp.Syntax: data TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: data TypeParameterPart
- Hydra.Csharp.Syntax: data TypeofExpression
- Hydra.Csharp.Syntax: data UnaryExpression
- Hydra.Csharp.Syntax: data UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: data UnboundTypeNamePart
- Hydra.Csharp.Syntax: data UnmanagedType
- Hydra.Csharp.Syntax: data UsingAliasDirective
- Hydra.Csharp.Syntax: data UsingDirective
- Hydra.Csharp.Syntax: data UsingStatement
- Hydra.Csharp.Syntax: data ValueType
- Hydra.Csharp.Syntax: data VariableDeclarator
- Hydra.Csharp.Syntax: data VariableInitializer
- Hydra.Csharp.Syntax: data VarianceAnnotation
- Hydra.Csharp.Syntax: data VariantTypeParameter
- Hydra.Csharp.Syntax: data VerbatimInterpolation
- Hydra.Csharp.Syntax: data WhileStatement
- Hydra.Csharp.Syntax: data YieldStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AccessorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AccessorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AccessorsEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AdditiveOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AnonymousFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AnonymousFunctionSignature
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AnonymousMethodExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Argument
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArgumentValue
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArrayInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArrayType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Assignment
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AssignmentOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Attribute
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeArgumentExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeArguments
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.AttributeTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Attributes
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BaseAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryAdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryEqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryRelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BinaryShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Block
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BlockPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.BooleanExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.CastExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.CatchClauses
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassBase
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ClassType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.CompilationUnit
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstantDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstantExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstantModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstructorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstructorInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConstructorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConversionKind
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DeclarationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DeclarationPattern
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DeclarationStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DeconstructionElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DeconstructionTuple
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DefaultValueExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DelegateCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DelegateDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DelegateHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DelegateModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DelegateType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DependentAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DependentAccessForMember
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Designation
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.DoStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ElementInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EmbeddedStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumBase
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EnumType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EqualityOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EventAccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.EventModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExceptionSpecifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Expression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExpressionList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ExternAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FieldDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FieldModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FinalizerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FinalizerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedPointerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedSizeBufferModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FixedStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FloatingPointType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ForInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ForStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ForeachStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FormalParameterList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.FromClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.GlobalAttributeSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.GotoStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.GroupClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Identifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IfStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IndexerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IndexerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IndexerModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InitializerTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InitializerValue
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IntegerLiteral
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IntegralType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceAccessors
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceMethodHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterfaceType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterpolatedStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.InvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IsPatternExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.IterationStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.JoinClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.JumpStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Keyword
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LabeledStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LambdaExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LetClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Literal
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalFunctionHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalVariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LocalVariableType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.LockStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberAccessHead
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberDeclaratorList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MemberName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MethodBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MethodHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MethodModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MethodModifiers
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.MultiplicativeOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamedArgument
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamedArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamedEntity
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamedEntityPart
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamedEntityTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamespaceBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamespaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamespaceName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NonArrayType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NonAssignmentExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullConditionalElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullConditionalMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.NumericType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ObjectCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OperatorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OperatorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OperatorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Ordering
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OrderingDirection
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OverloadableBinaryOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.OverloadableUnaryOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ParameterArray
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ParameterModeModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Pattern
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PointerElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PointerMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PointerType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PositionalArgument
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PositionalArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PredefinedType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PrimaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PrimaryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.PropertyModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QualifiedAliasMember
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QualifiedIdentifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QueryBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QueryBodyClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QueryContinuation
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.QueryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RankSpecifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefAccessorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefIndexerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefKind
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefLocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefLocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefMethodBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefMethodModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ReferenceType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RegularInterpolation
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.RelationalOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ResourceAcquisition
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ReturnStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ReturnType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SecondaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SecondaryConstraints
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SelectOrGroupClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SelectionStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ShiftOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SimpleConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SimpleName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SimpleType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SpecificCatchClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StackallocExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StandardEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StandardIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StandardMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StandardPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Statement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StatementExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StatementExpressionList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StaticConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StaticConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StaticConstructorModifiers
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StructDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StructMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StructModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StructOrEnumType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.StructType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SwitchBranch
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SwitchLabel
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SwitchSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.SwitchStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TryStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TupleElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TupleExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TupleType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TupleTypeElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.Type
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeParameterConstraints
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeParameterList
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeParameterPart
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.TypeofExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UnaryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UnboundTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UnboundTypeNamePart
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UnmanagedType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UsingAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UsingDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.UsingStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.ValueType
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariableDeclarators
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariableReference
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VarianceAnnotation
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariantTypeParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VariantTypeParameters
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.VerbatimInterpolation
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.WhileStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Csharp.Syntax.YieldStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AccessorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AccessorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AccessorsEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AdditiveOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AnonymousFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AnonymousFunctionSignature
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AnonymousMethodExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Argument
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArgumentValue
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArrayInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArrayType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Assignment
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AssignmentOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Attribute
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeArgumentExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeArguments
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.AttributeTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Attributes
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BaseAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryAdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryEqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryRelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BinaryShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Block
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BlockPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.BooleanExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.CastExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.CatchClauses
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassBase
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ClassType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.CompilationUnit
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstantDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstantExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstantModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstructorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstructorInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConstructorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConversionKind
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DeclarationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DeclarationPattern
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DeclarationStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DeconstructionElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DeconstructionTuple
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DefaultValueExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DelegateCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DelegateDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DelegateHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DelegateModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DelegateType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DependentAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DependentAccessForMember
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Designation
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.DoStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ElementInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EmbeddedStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumBase
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EnumType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EqualityOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EventAccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.EventModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExceptionSpecifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Expression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExpressionList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ExternAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FieldDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FieldModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FinalizerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FinalizerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedPointerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedSizeBufferModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FixedStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FloatingPointType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ForInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ForStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ForeachStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FormalParameterList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.FromClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.GlobalAttributeSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.GotoStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.GroupClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Identifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IfStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IndexerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IndexerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IndexerModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InitializerTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InitializerValue
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IntegerLiteral
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IntegralType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceAccessors
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceMethodHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterfaceType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterpolatedStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.InvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IsPatternExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.IterationStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.JoinClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.JumpStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Keyword
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LabeledStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LambdaExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LetClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Literal
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalFunctionHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalVariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LocalVariableType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.LockStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberAccessHead
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberDeclaratorList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MemberName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MethodBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MethodHeader
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MethodModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MethodModifiers
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.MultiplicativeOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamedArgument
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamedArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamedEntity
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamedEntityPart
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamedEntityTarget
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamespaceBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamespaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamespaceName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NonArrayType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NonAssignmentExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullConditionalElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullConditionalMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.NumericType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ObjectCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OperatorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OperatorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OperatorModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Ordering
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OrderingDirection
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OverloadableBinaryOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.OverloadableUnaryOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ParameterArray
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ParameterModeModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Pattern
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PointerElementAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PointerMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PointerType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PositionalArgument
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PositionalArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PredefinedType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PrimaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PrimaryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.PropertyModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QualifiedAliasMember
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QualifiedIdentifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QueryBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QueryBodyClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QueryContinuation
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.QueryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RankSpecifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefAccessorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefIndexerBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefKind
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefLocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefLocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefMethodBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefMethodModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ReferenceType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RegularInterpolation
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.RelationalOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ResourceAcquisition
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ReturnStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ReturnType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SecondaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SecondaryConstraints
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SelectOrGroupClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SelectionStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ShiftOperator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SimpleConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SimpleName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SimpleType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SpecificCatchClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StackallocExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StandardEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StandardIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StandardMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StandardPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Statement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StatementExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StatementExpressionList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StaticConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StaticConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StaticConstructorModifiers
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StructDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StructMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StructModifier
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StructOrEnumType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.StructType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SwitchBranch
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SwitchLabel
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SwitchSection
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.SwitchStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TryStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TupleElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TupleExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TupleType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TupleTypeElement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.Type
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeArgumentList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeDeclaration
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeParameterConstraints
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeParameterList
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeParameterPart
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.TypeofExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UnaryExpression
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UnboundTypeName
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UnboundTypeNamePart
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UnmanagedType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UsingAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UsingDirective
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.UsingStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.ValueType
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariableDeclarators
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariableReference
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VarianceAnnotation
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariantTypeParameter
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VariantTypeParameters
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.VerbatimInterpolation
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.WhileStatement
- Hydra.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Csharp.Syntax.YieldStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AccessorBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AccessorModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AccessorsEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AdditiveOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AndExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AnonymousFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AnonymousFunctionSignature
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AnonymousMethodExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Argument
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArgumentList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArgumentValue
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArrayInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArrayType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Assignment
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AssignmentOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Attribute
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeArgumentExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeArguments
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeSection
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.AttributeTarget
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Attributes
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BaseAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryAdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryAndExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryEqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryRelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BinaryShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Block
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BlockPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.BooleanExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.CastExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.CatchClauses
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassBase
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ClassType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.CompilationUnit
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstantDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstantExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstantModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstructorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstructorInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConstructorModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConversionKind
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DeclarationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DeclarationPattern
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DeclarationStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DeconstructionElement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DeconstructionTuple
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DefaultValueExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DelegateCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DelegateDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DelegateHeader
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DelegateModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DelegateType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DependentAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DependentAccessForMember
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Designation
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.DoStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ElementAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ElementInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EmbeddedStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumBase
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EnumType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EqualityOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EventAccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.EventModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExceptionSpecifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Expression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExpressionList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ExternAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FieldDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FieldModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FinalizerBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FinalizerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedParameter
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedPointerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedSizeBufferModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FixedStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FloatingPointType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ForInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ForStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ForeachStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FormalParameterList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.FromClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.GlobalAttributeSection
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.GotoStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.GroupClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Identifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IfStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IndexerBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IndexerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IndexerModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InitializerTarget
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InitializerValue
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IntegerLiteral
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IntegralType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceAccessors
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceMethodHeader
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterfaceType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterpolatedStringExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.InvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IsPatternExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.IterationStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.JoinClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.JumpStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Keyword
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LabeledStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LambdaExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LetClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Literal
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalFunctionHeader
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalVariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LocalVariableType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.LockStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberAccessHead
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberDeclaratorList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MemberName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MethodBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MethodHeader
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MethodModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MethodModifiers
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.MultiplicativeOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamedArgument
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamedArgumentList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamedEntity
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamedEntityPart
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamedEntityTarget
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamespaceBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamespaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamespaceName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NonArrayType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NonAssignmentExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullConditionalElementAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullConditionalMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.NumericType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ObjectCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OperatorBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OperatorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OperatorModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Ordering
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OrderingDirection
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OverloadableBinaryOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.OverloadableUnaryOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ParameterArray
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ParameterModeModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Pattern
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PointerElementAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PointerMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PointerType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PositionalArgument
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PositionalArgumentList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PredefinedType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PrimaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PrimaryExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PropertyBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.PropertyModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QualifiedAliasMember
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QualifiedIdentifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QueryBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QueryBodyClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QueryContinuation
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.QueryExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RankSpecifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefAccessorBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefIndexerBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefKind
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefLocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefLocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefMethodBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefMethodModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ReferenceType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RegularInterpolation
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.RelationalOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ResourceAcquisition
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ReturnStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ReturnType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SecondaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SecondaryConstraints
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SelectOrGroupClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SelectionStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ShiftOperator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SimpleConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SimpleName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SimpleType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SpecificCatchClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StackallocExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StandardEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StandardIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StandardMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StandardPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Statement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StatementExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StatementExpressionList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StaticConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StaticConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StaticConstructorModifiers
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StructDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StructMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StructModifier
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StructOrEnumType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.StructType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SwitchBranch
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SwitchLabel
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SwitchSection
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.SwitchStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TryStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TupleElement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TupleExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TupleType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TupleTypeElement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.Type
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeArgumentList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeDeclaration
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeParameter
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeParameterConstraints
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeParameterList
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeParameterPart
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.TypeofExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UnaryExpression
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UnboundTypeName
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UnboundTypeNamePart
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UnmanagedType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UsingAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UsingDirective
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.UsingStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.ValueType
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariableDeclarators
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariableReference
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VarianceAnnotation
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariantTypeParameter
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VariantTypeParameters
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.VerbatimInterpolation
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.WhileStatement
- Hydra.Csharp.Syntax: instance GHC.Read.Read Hydra.Csharp.Syntax.YieldStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AccessorBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AccessorModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AccessorsEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AddRemoveAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AdditiveOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AndExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AnonymousFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AnonymousFunctionParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AnonymousFunctionSignature
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AnonymousMethodExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Argument
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArgumentList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArgumentValue
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArrayInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArrayType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Assignment
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AssignmentMemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AssignmentOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Attribute
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeArgumentExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeArguments
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeSection
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.AttributeTarget
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Attributes
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BaseAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BaseAccessWithIdentifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryAdditiveExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryAndExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryEqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryInclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryMultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryNullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryRelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BinaryShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Block
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BlockPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.BooleanExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.CastExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.CatchClauses
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassBase
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ClassType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.CompilationUnit
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConditionalAndExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConditionalOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstantDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstantExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstantModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstructorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstructorInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConstructorModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConversionKind
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ConversionOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DeclarationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DeclarationPattern
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DeclarationStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DeconstructionElement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DeconstructionTuple
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DefaultValueExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DelegateCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DelegateDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DelegateHeader
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DelegateModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DelegateType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DependentAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DependentAccessForMember
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Designation
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.DoStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ElementAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ElementInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EmbeddedStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumBase
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EnumType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EqualityExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EqualityOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EventAccessorDeclarations
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.EventModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExceptionSpecifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExplicitAnonymousFunctionParameter
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Expression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExpressionList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ExternAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FieldDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FieldModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FinalizerBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FinalizerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedParameter
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedPointerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedSizeBufferDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedSizeBufferDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedSizeBufferModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FixedStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FloatingPointType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ForInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ForStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ForeachStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FormalParameterList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.FromClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.GlobalAttributeSection
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.GotoStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.GroupClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Identifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IdentifierNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IfStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InclusiveOrExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IndexerBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IndexerDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IndexerModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InitializerTarget
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InitializerValue
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IntegerLiteral
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IntegralType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceAccessors
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceMethodHeader
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfacePropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterfaceType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterpolatedStringExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.InvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IsPatternExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IsTypeExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.IterationStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.JoinClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.JumpStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Keyword
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LabeledStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LambdaExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LetClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Literal
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalConstantDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalFunctionHeader
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalVariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LocalVariableType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.LockStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberAccessHead
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberDeclaratorList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MemberName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MethodBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MethodHeader
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MethodModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MethodModifiers
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MultiplicativeExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.MultiplicativeOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamedArgument
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamedArgumentList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamedEntity
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamedEntityPart
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamedEntityTarget
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamespaceBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamespaceDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamespaceMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamespaceName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NonArrayType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NonArrayTypeArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NonAssignmentExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullCoalescingExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullConditionalElementAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullConditionalInvocationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullConditionalInvocationExpressionHead
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullConditionalMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NullConditionalProjectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.NumericType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ObjectCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ObjectOrCollectionInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OperatorBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OperatorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OperatorModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Ordering
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OrderingDirection
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OverloadableBinaryOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.OverloadableUnaryOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ParameterArray
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ParameterModeModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ParameterModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Pattern
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PointerElementAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PointerMemberAccess
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PointerType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PositionalArgument
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PositionalArgumentList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PredefinedType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PrimaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PrimaryExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PrimaryNoArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PropertyBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.PropertyModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QualifiedAliasMember
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QualifiedIdentifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QualifiedNamespaceOrTypeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QueryBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QueryBodyClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QueryContinuation
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.QueryExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RankSpecifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RankSpecifierArrayCreationExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefAccessorBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefGetAccessorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefIndexerBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefKind
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefLocalFunctionBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefLocalFunctionModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefLocalVariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefMethodBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefMethodModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefPropertyBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefReturnMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefReturnPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ReferenceType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RegularInterpolation
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RelationalExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.RelationalOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ResourceAcquisition
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ReturnStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ReturnType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SecondaryConstraint
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SecondaryConstraints
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SelectOrGroupClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SelectionStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ShiftExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ShiftOperator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SimpleConditionalExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SimpleName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SimpleType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SpecificCatchClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StackallocExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StandardEventDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StandardIndexerDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StandardLocalFunctionDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StandardMethodDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StandardPropertyDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Statement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StatementExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StatementExpressionList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StaticConstructorBody
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StaticConstructorDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StaticConstructorModifiers
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StructDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StructMemberDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StructModifier
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StructOrEnumType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.StructType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SwitchBranch
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SwitchLabel
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SwitchSection
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.SwitchStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TryStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TupleElement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TupleExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TupleType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TupleTypeElement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.Type
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeArgumentList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeDeclaration
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeParameter
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeParameterConstraints
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeParameterConstraintsClause
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeParameterList
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeParameterPart
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.TypeofExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UnaryExpression
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UnaryOperatorDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UnboundTypeName
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UnboundTypeNamePart
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UnmanagedType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UsingAliasDirective
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UsingDirective
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.UsingStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.ValueType
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariableDeclarator
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariableDeclarators
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariableInitializer
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariableReference
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VarianceAnnotation
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariantTypeParameter
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VariantTypeParameters
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.VerbatimInterpolation
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.WhileStatement
- Hydra.Csharp.Syntax: instance GHC.Show.Show Hydra.Csharp.Syntax.YieldStatement
- Hydra.Csharp.Syntax: newtype ArgumentList
- Hydra.Csharp.Syntax: newtype ArrayInitializer
- Hydra.Csharp.Syntax: newtype AttributeArgumentExpression
- Hydra.Csharp.Syntax: newtype AttributeList
- Hydra.Csharp.Syntax: newtype AttributeName
- Hydra.Csharp.Syntax: newtype Attributes
- Hydra.Csharp.Syntax: newtype Block
- Hydra.Csharp.Syntax: newtype BooleanExpression
- Hydra.Csharp.Syntax: newtype ClassBody
- Hydra.Csharp.Syntax: newtype ConstantExpression
- Hydra.Csharp.Syntax: newtype DeconstructionTuple
- Hydra.Csharp.Syntax: newtype DelegateType
- Hydra.Csharp.Syntax: newtype Designation
- Hydra.Csharp.Syntax: newtype EnumBody
- Hydra.Csharp.Syntax: newtype EnumType
- Hydra.Csharp.Syntax: newtype ExpressionList
- Hydra.Csharp.Syntax: newtype ExternAliasDirective
- Hydra.Csharp.Syntax: newtype Identifier
- Hydra.Csharp.Syntax: newtype InterfaceType
- Hydra.Csharp.Syntax: newtype InterpolatedRegularStringExpression
- Hydra.Csharp.Syntax: newtype InterpolatedVerbatimStringExpression
- Hydra.Csharp.Syntax: newtype Keyword
- Hydra.Csharp.Syntax: newtype MemberDeclaratorList
- Hydra.Csharp.Syntax: newtype NamedArgumentList
- Hydra.Csharp.Syntax: newtype NamespaceName
- Hydra.Csharp.Syntax: newtype PositionalArgumentList
- Hydra.Csharp.Syntax: newtype QualifiedIdentifier
- Hydra.Csharp.Syntax: newtype RankSpecifier
- Hydra.Csharp.Syntax: newtype SecondaryConstraints
- Hydra.Csharp.Syntax: newtype StatementExpressionList
- Hydra.Csharp.Syntax: newtype TupleType
- Hydra.Csharp.Syntax: newtype TypeArgumentList
- Hydra.Csharp.Syntax: newtype TypeName
- Hydra.Csharp.Syntax: newtype TypeParameter
- Hydra.Csharp.Syntax: newtype TypeParameterList
- Hydra.Csharp.Syntax: newtype UnboundTypeName
- Hydra.Csharp.Syntax: newtype VariableDeclarators
- Hydra.Csharp.Syntax: newtype VariableReference
- Hydra.Csharp.Syntax: newtype VariantTypeParameters
- Hydra.Datalog.Syntax: Atom :: Relation -> TermList -> Atom
- Hydra.Datalog.Syntax: AtomListMany :: AtomListMultiple -> AtomList
- Hydra.Datalog.Syntax: AtomListMultiple :: Atom -> AtomList -> AtomListMultiple
- Hydra.Datalog.Syntax: AtomListSingle :: Atom -> AtomList
- Hydra.Datalog.Syntax: Constant :: String -> Constant
- Hydra.Datalog.Syntax: ConstantListMany :: ConstantListMultiple -> ConstantList
- Hydra.Datalog.Syntax: ConstantListMultiple :: Constant -> ConstantList -> ConstantListMultiple
- Hydra.Datalog.Syntax: ConstantListSingle :: Constant -> ConstantList
- Hydra.Datalog.Syntax: Fact :: Relation -> ConstantList -> Fact
- Hydra.Datalog.Syntax: Program :: [ProgramElmt] -> Program
- Hydra.Datalog.Syntax: ProgramElmtFact :: Fact -> ProgramElmt
- Hydra.Datalog.Syntax: ProgramElmtRule :: Rule -> ProgramElmt
- Hydra.Datalog.Syntax: Relation :: String -> Relation
- Hydra.Datalog.Syntax: Rule :: Atom -> AtomList -> Rule
- Hydra.Datalog.Syntax: TermConstant :: Constant -> Term
- Hydra.Datalog.Syntax: TermListMany :: TermListMultiple -> TermList
- Hydra.Datalog.Syntax: TermListMultiple :: Term -> TermList -> TermListMultiple
- Hydra.Datalog.Syntax: TermListSingle :: Term -> TermList
- Hydra.Datalog.Syntax: TermVariable :: Variable -> Term
- Hydra.Datalog.Syntax: Variable :: String -> Variable
- Hydra.Datalog.Syntax: [atomListMultipleAtomList] :: AtomListMultiple -> AtomList
- Hydra.Datalog.Syntax: [atomListMultipleAtom] :: AtomListMultiple -> Atom
- Hydra.Datalog.Syntax: [atomRelation] :: Atom -> Relation
- Hydra.Datalog.Syntax: [atomTermList] :: Atom -> TermList
- Hydra.Datalog.Syntax: [constantListMultipleConstantList] :: ConstantListMultiple -> ConstantList
- Hydra.Datalog.Syntax: [constantListMultipleConstant] :: ConstantListMultiple -> Constant
- Hydra.Datalog.Syntax: [factConstantList] :: Fact -> ConstantList
- Hydra.Datalog.Syntax: [factRelation] :: Fact -> Relation
- Hydra.Datalog.Syntax: [ruleAtomList] :: Rule -> AtomList
- Hydra.Datalog.Syntax: [ruleAtom] :: Rule -> Atom
- Hydra.Datalog.Syntax: [termListMultipleTermList] :: TermListMultiple -> TermList
- Hydra.Datalog.Syntax: [termListMultipleTerm] :: TermListMultiple -> Term
- Hydra.Datalog.Syntax: [unConstant] :: Constant -> String
- Hydra.Datalog.Syntax: [unProgram] :: Program -> [ProgramElmt]
- Hydra.Datalog.Syntax: [unRelation] :: Relation -> String
- Hydra.Datalog.Syntax: [unVariable] :: Variable -> String
- Hydra.Datalog.Syntax: _Atom :: Name
- Hydra.Datalog.Syntax: _AtomList :: Name
- Hydra.Datalog.Syntax: _AtomListMultiple :: Name
- Hydra.Datalog.Syntax: _AtomListMultiple_Atom :: Name
- Hydra.Datalog.Syntax: _AtomListMultiple_AtomList :: Name
- Hydra.Datalog.Syntax: _AtomList_many :: Name
- Hydra.Datalog.Syntax: _AtomList_single :: Name
- Hydra.Datalog.Syntax: _Atom_Relation :: Name
- Hydra.Datalog.Syntax: _Atom_TermList :: Name
- Hydra.Datalog.Syntax: _Constant :: Name
- Hydra.Datalog.Syntax: _ConstantList :: Name
- Hydra.Datalog.Syntax: _ConstantListMultiple :: Name
- Hydra.Datalog.Syntax: _ConstantListMultiple_Constant :: Name
- Hydra.Datalog.Syntax: _ConstantListMultiple_ConstantList :: Name
- Hydra.Datalog.Syntax: _ConstantList_many :: Name
- Hydra.Datalog.Syntax: _ConstantList_single :: Name
- Hydra.Datalog.Syntax: _Fact :: Name
- Hydra.Datalog.Syntax: _Fact_ConstantList :: Name
- Hydra.Datalog.Syntax: _Fact_Relation :: Name
- Hydra.Datalog.Syntax: _Program :: Name
- Hydra.Datalog.Syntax: _ProgramElmt :: Name
- Hydra.Datalog.Syntax: _ProgramElmt_Fact :: Name
- Hydra.Datalog.Syntax: _ProgramElmt_Rule :: Name
- Hydra.Datalog.Syntax: _Relation :: Name
- Hydra.Datalog.Syntax: _Rule :: Name
- Hydra.Datalog.Syntax: _Rule_Atom :: Name
- Hydra.Datalog.Syntax: _Rule_AtomList :: Name
- Hydra.Datalog.Syntax: _Term :: Name
- Hydra.Datalog.Syntax: _TermList :: Name
- Hydra.Datalog.Syntax: _TermListMultiple :: Name
- Hydra.Datalog.Syntax: _TermListMultiple_Term :: Name
- Hydra.Datalog.Syntax: _TermListMultiple_TermList :: Name
- Hydra.Datalog.Syntax: _TermList_many :: Name
- Hydra.Datalog.Syntax: _TermList_single :: Name
- Hydra.Datalog.Syntax: _Term_Constant :: Name
- Hydra.Datalog.Syntax: _Term_Variable :: Name
- Hydra.Datalog.Syntax: _Variable :: Name
- Hydra.Datalog.Syntax: data Atom
- Hydra.Datalog.Syntax: data AtomList
- Hydra.Datalog.Syntax: data AtomListMultiple
- Hydra.Datalog.Syntax: data ConstantList
- Hydra.Datalog.Syntax: data ConstantListMultiple
- Hydra.Datalog.Syntax: data Fact
- Hydra.Datalog.Syntax: data ProgramElmt
- Hydra.Datalog.Syntax: data Rule
- Hydra.Datalog.Syntax: data Term
- Hydra.Datalog.Syntax: data TermList
- Hydra.Datalog.Syntax: data TermListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Atom
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.AtomList
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.AtomListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Constant
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.ConstantList
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.ConstantListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Fact
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Program
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.ProgramElmt
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Relation
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Rule
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Term
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.TermList
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.TermListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Datalog.Syntax.Variable
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Atom
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.AtomList
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.AtomListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Constant
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.ConstantList
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.ConstantListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Fact
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Program
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.ProgramElmt
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Relation
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Rule
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Term
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.TermList
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.TermListMultiple
- Hydra.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Datalog.Syntax.Variable
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Atom
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.AtomList
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.AtomListMultiple
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Constant
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.ConstantList
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.ConstantListMultiple
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Fact
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Program
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.ProgramElmt
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Relation
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Rule
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Term
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.TermList
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.TermListMultiple
- Hydra.Datalog.Syntax: instance GHC.Read.Read Hydra.Datalog.Syntax.Variable
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Atom
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.AtomList
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.AtomListMultiple
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Constant
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.ConstantList
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.ConstantListMultiple
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Fact
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Program
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.ProgramElmt
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Relation
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Rule
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Term
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.TermList
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.TermListMultiple
- Hydra.Datalog.Syntax: instance GHC.Show.Show Hydra.Datalog.Syntax.Variable
- Hydra.Datalog.Syntax: newtype Constant
- Hydra.Datalog.Syntax: newtype Program
- Hydra.Datalog.Syntax: newtype Relation
- Hydra.Datalog.Syntax: newtype Variable
- Hydra.Delta.Parquet: ArrayType :: DataType -> Bool -> ArrayType
- Hydra.Delta.Parquet: BasePrimitiveTypeBinary :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeBoolean :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeByte :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeDate :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeDouble :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeFloat :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeInteger :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeLong :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeShort :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeString :: BasePrimitiveType
- Hydra.Delta.Parquet: BasePrimitiveTypeTimestamp :: BasePrimitiveType
- Hydra.Delta.Parquet: DataTypeArray :: ArrayType -> DataType
- Hydra.Delta.Parquet: DataTypeBase :: BasePrimitiveType -> DataType
- Hydra.Delta.Parquet: DataTypeDecimal :: DecimalType -> DataType
- Hydra.Delta.Parquet: DataTypeMap :: MapType -> DataType
- Hydra.Delta.Parquet: DataTypeStruct :: StructType -> DataType
- Hydra.Delta.Parquet: DecimalType :: Int -> Int -> DecimalType
- Hydra.Delta.Parquet: MapType :: DataType -> DataType -> Bool -> MapType
- Hydra.Delta.Parquet: StructField :: String -> DataType -> Bool -> StructField
- Hydra.Delta.Parquet: StructType :: [StructField] -> StructType
- Hydra.Delta.Parquet: [arrayTypeContainsNull] :: ArrayType -> Bool
- Hydra.Delta.Parquet: [arrayTypeElementType] :: ArrayType -> DataType
- Hydra.Delta.Parquet: [decimalTypePrecision] :: DecimalType -> Int
- Hydra.Delta.Parquet: [decimalTypeScale] :: DecimalType -> Int
- Hydra.Delta.Parquet: [mapTypeKeyType] :: MapType -> DataType
- Hydra.Delta.Parquet: [mapTypeValueContainsNull] :: MapType -> Bool
- Hydra.Delta.Parquet: [mapTypeValueType] :: MapType -> DataType
- Hydra.Delta.Parquet: [structFieldDataType] :: StructField -> DataType
- Hydra.Delta.Parquet: [structFieldName] :: StructField -> String
- Hydra.Delta.Parquet: [structFieldNullable] :: StructField -> Bool
- Hydra.Delta.Parquet: [structTypeFields] :: StructType -> [StructField]
- Hydra.Delta.Parquet: _ArrayType :: Name
- Hydra.Delta.Parquet: _ArrayType_containsNull :: Name
- Hydra.Delta.Parquet: _ArrayType_elementType :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_binary :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_boolean :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_byte :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_date :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_double :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_float :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_integer :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_long :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_short :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_string :: Name
- Hydra.Delta.Parquet: _BasePrimitiveType_timestamp :: Name
- Hydra.Delta.Parquet: _DataType :: Name
- Hydra.Delta.Parquet: _DataType_array :: Name
- Hydra.Delta.Parquet: _DataType_base :: Name
- Hydra.Delta.Parquet: _DataType_decimal :: Name
- Hydra.Delta.Parquet: _DataType_map :: Name
- Hydra.Delta.Parquet: _DataType_struct :: Name
- Hydra.Delta.Parquet: _DecimalType :: Name
- Hydra.Delta.Parquet: _DecimalType_precision :: Name
- Hydra.Delta.Parquet: _DecimalType_scale :: Name
- Hydra.Delta.Parquet: _MapType :: Name
- Hydra.Delta.Parquet: _MapType_keyType :: Name
- Hydra.Delta.Parquet: _MapType_valueContainsNull :: Name
- Hydra.Delta.Parquet: _MapType_valueType :: Name
- Hydra.Delta.Parquet: _StructField :: Name
- Hydra.Delta.Parquet: _StructField_dataType :: Name
- Hydra.Delta.Parquet: _StructField_name :: Name
- Hydra.Delta.Parquet: _StructField_nullable :: Name
- Hydra.Delta.Parquet: _StructType :: Name
- Hydra.Delta.Parquet: _StructType_fields :: Name
- Hydra.Delta.Parquet: data ArrayType
- Hydra.Delta.Parquet: data BasePrimitiveType
- Hydra.Delta.Parquet: data DataType
- Hydra.Delta.Parquet: data DecimalType
- Hydra.Delta.Parquet: data MapType
- Hydra.Delta.Parquet: data StructField
- Hydra.Delta.Parquet: data StructType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.ArrayType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.BasePrimitiveType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.DataType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.DecimalType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.MapType
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.StructField
- Hydra.Delta.Parquet: instance GHC.Classes.Eq Hydra.Delta.Parquet.StructType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.ArrayType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.BasePrimitiveType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.DataType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.DecimalType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.MapType
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.StructField
- Hydra.Delta.Parquet: instance GHC.Classes.Ord Hydra.Delta.Parquet.StructType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.ArrayType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.BasePrimitiveType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.DataType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.DecimalType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.MapType
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.StructField
- Hydra.Delta.Parquet: instance GHC.Read.Read Hydra.Delta.Parquet.StructType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.ArrayType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.BasePrimitiveType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.DataType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.DecimalType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.MapType
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.StructField
- Hydra.Delta.Parquet: instance GHC.Show.Show Hydra.Delta.Parquet.StructType
- Hydra.Geojson.Model: BoundingBox :: [CoordinateRange] -> BoundingBox
- Hydra.Geojson.Model: CoordinateRange :: Double -> Double -> CoordinateRange
- Hydra.Geojson.Model: Feature :: Maybe Geometry -> Maybe (Map String Value) -> Maybe Id -> Maybe BoundingBox -> Feature
- Hydra.Geojson.Model: FeatureCollection :: [Feature] -> Maybe BoundingBox -> FeatureCollection
- Hydra.Geojson.Model: GeometryCollection :: [Geometry] -> Maybe BoundingBox -> GeometryCollection
- Hydra.Geojson.Model: GeometryGeometryCollection :: GeometryCollection -> Geometry
- Hydra.Geojson.Model: GeometryLineString :: LineString -> Geometry
- Hydra.Geojson.Model: GeometryMultiLineString :: MultiLineString -> Geometry
- Hydra.Geojson.Model: GeometryMultiPoint :: MultiPoint -> Geometry
- Hydra.Geojson.Model: GeometryMultiPolygon :: MultiPolygon -> Geometry
- Hydra.Geojson.Model: GeometryPoint :: Point -> Geometry
- Hydra.Geojson.Model: GeometryPolygon :: Polygon -> Geometry
- Hydra.Geojson.Model: IdNumber :: Double -> Id
- Hydra.Geojson.Model: IdString :: String -> Id
- Hydra.Geojson.Model: LineString :: [Position] -> Maybe BoundingBox -> LineString
- Hydra.Geojson.Model: MultiLineString :: [LineString] -> Maybe BoundingBox -> MultiLineString
- Hydra.Geojson.Model: MultiPoint :: [Point] -> Maybe BoundingBox -> MultiPoint
- Hydra.Geojson.Model: MultiPolygon :: [Polygon] -> Maybe BoundingBox -> MultiPolygon
- Hydra.Geojson.Model: ObjectFeature :: Feature -> Object
- Hydra.Geojson.Model: ObjectFeatureCollection :: FeatureCollection -> Object
- Hydra.Geojson.Model: ObjectGeometry :: Geometry -> Object
- Hydra.Geojson.Model: Point :: Position -> Maybe BoundingBox -> Point
- Hydra.Geojson.Model: Polygon :: [Position] -> Maybe BoundingBox -> Polygon
- Hydra.Geojson.Model: Position :: Double -> Double -> Maybe Double -> Position
- Hydra.Geojson.Model: [coordinateRangeMax] :: CoordinateRange -> Double
- Hydra.Geojson.Model: [coordinateRangeMin] :: CoordinateRange -> Double
- Hydra.Geojson.Model: [featureBbox] :: Feature -> Maybe BoundingBox
- Hydra.Geojson.Model: [featureCollectionBbox] :: FeatureCollection -> Maybe BoundingBox
- Hydra.Geojson.Model: [featureCollectionFeatures] :: FeatureCollection -> [Feature]
- Hydra.Geojson.Model: [featureGeometry] :: Feature -> Maybe Geometry
- Hydra.Geojson.Model: [featureId] :: Feature -> Maybe Id
- Hydra.Geojson.Model: [featureProperties] :: Feature -> Maybe (Map String Value)
- Hydra.Geojson.Model: [geometryCollectionBbox] :: GeometryCollection -> Maybe BoundingBox
- Hydra.Geojson.Model: [geometryCollectionGeometries] :: GeometryCollection -> [Geometry]
- Hydra.Geojson.Model: [lineStringBbox] :: LineString -> Maybe BoundingBox
- Hydra.Geojson.Model: [lineStringCoordinates] :: LineString -> [Position]
- Hydra.Geojson.Model: [multiLineStringBbox] :: MultiLineString -> Maybe BoundingBox
- Hydra.Geojson.Model: [multiLineStringCoordinates] :: MultiLineString -> [LineString]
- Hydra.Geojson.Model: [multiPointBbox] :: MultiPoint -> Maybe BoundingBox
- Hydra.Geojson.Model: [multiPointCoordinates] :: MultiPoint -> [Point]
- Hydra.Geojson.Model: [multiPolygonBbox] :: MultiPolygon -> Maybe BoundingBox
- Hydra.Geojson.Model: [multiPolygonCoordinates] :: MultiPolygon -> [Polygon]
- Hydra.Geojson.Model: [pointBbox] :: Point -> Maybe BoundingBox
- Hydra.Geojson.Model: [pointCoordinates] :: Point -> Position
- Hydra.Geojson.Model: [polygonBbox] :: Polygon -> Maybe BoundingBox
- Hydra.Geojson.Model: [polygonCoordinates] :: Polygon -> [Position]
- Hydra.Geojson.Model: [positionAltitude] :: Position -> Maybe Double
- Hydra.Geojson.Model: [positionLatitude] :: Position -> Double
- Hydra.Geojson.Model: [positionLongitude] :: Position -> Double
- Hydra.Geojson.Model: [unBoundingBox] :: BoundingBox -> [CoordinateRange]
- Hydra.Geojson.Model: _BoundingBox :: Name
- Hydra.Geojson.Model: _CoordinateRange :: Name
- Hydra.Geojson.Model: _CoordinateRange_max :: Name
- Hydra.Geojson.Model: _CoordinateRange_min :: Name
- Hydra.Geojson.Model: _Feature :: Name
- Hydra.Geojson.Model: _FeatureCollection :: Name
- Hydra.Geojson.Model: _FeatureCollection_bbox :: Name
- Hydra.Geojson.Model: _FeatureCollection_features :: Name
- Hydra.Geojson.Model: _Feature_bbox :: Name
- Hydra.Geojson.Model: _Feature_geometry :: Name
- Hydra.Geojson.Model: _Feature_id :: Name
- Hydra.Geojson.Model: _Feature_properties :: Name
- Hydra.Geojson.Model: _Geometry :: Name
- Hydra.Geojson.Model: _GeometryCollection :: Name
- Hydra.Geojson.Model: _GeometryCollection_bbox :: Name
- Hydra.Geojson.Model: _GeometryCollection_geometries :: Name
- Hydra.Geojson.Model: _Geometry_geometryCollection :: Name
- Hydra.Geojson.Model: _Geometry_lineString :: Name
- Hydra.Geojson.Model: _Geometry_multiLineString :: Name
- Hydra.Geojson.Model: _Geometry_multiPoint :: Name
- Hydra.Geojson.Model: _Geometry_multiPolygon :: Name
- Hydra.Geojson.Model: _Geometry_point :: Name
- Hydra.Geojson.Model: _Geometry_polygon :: Name
- Hydra.Geojson.Model: _Id :: Name
- Hydra.Geojson.Model: _Id_number :: Name
- Hydra.Geojson.Model: _Id_string :: Name
- Hydra.Geojson.Model: _LineString :: Name
- Hydra.Geojson.Model: _LineString_bbox :: Name
- Hydra.Geojson.Model: _LineString_coordinates :: Name
- Hydra.Geojson.Model: _MultiLineString :: Name
- Hydra.Geojson.Model: _MultiLineString_bbox :: Name
- Hydra.Geojson.Model: _MultiLineString_coordinates :: Name
- Hydra.Geojson.Model: _MultiPoint :: Name
- Hydra.Geojson.Model: _MultiPoint_bbox :: Name
- Hydra.Geojson.Model: _MultiPoint_coordinates :: Name
- Hydra.Geojson.Model: _MultiPolygon :: Name
- Hydra.Geojson.Model: _MultiPolygon_bbox :: Name
- Hydra.Geojson.Model: _MultiPolygon_coordinates :: Name
- Hydra.Geojson.Model: _Object :: Name
- Hydra.Geojson.Model: _Object_feature :: Name
- Hydra.Geojson.Model: _Object_featureCollection :: Name
- Hydra.Geojson.Model: _Object_geometry :: Name
- Hydra.Geojson.Model: _Point :: Name
- Hydra.Geojson.Model: _Point_bbox :: Name
- Hydra.Geojson.Model: _Point_coordinates :: Name
- Hydra.Geojson.Model: _Polygon :: Name
- Hydra.Geojson.Model: _Polygon_bbox :: Name
- Hydra.Geojson.Model: _Polygon_coordinates :: Name
- Hydra.Geojson.Model: _Position :: Name
- Hydra.Geojson.Model: _Position_altitude :: Name
- Hydra.Geojson.Model: _Position_latitude :: Name
- Hydra.Geojson.Model: _Position_longitude :: Name
- Hydra.Geojson.Model: data CoordinateRange
- Hydra.Geojson.Model: data Feature
- Hydra.Geojson.Model: data FeatureCollection
- Hydra.Geojson.Model: data Geometry
- Hydra.Geojson.Model: data GeometryCollection
- Hydra.Geojson.Model: data Id
- Hydra.Geojson.Model: data LineString
- Hydra.Geojson.Model: data MultiLineString
- Hydra.Geojson.Model: data MultiPoint
- Hydra.Geojson.Model: data MultiPolygon
- Hydra.Geojson.Model: data Object
- Hydra.Geojson.Model: data Point
- Hydra.Geojson.Model: data Polygon
- Hydra.Geojson.Model: data Position
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.BoundingBox
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.CoordinateRange
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Feature
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.FeatureCollection
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Geometry
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.GeometryCollection
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Id
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.LineString
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.MultiLineString
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.MultiPoint
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.MultiPolygon
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Object
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Point
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Polygon
- Hydra.Geojson.Model: instance GHC.Classes.Eq Hydra.Geojson.Model.Position
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.BoundingBox
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.CoordinateRange
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Feature
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.FeatureCollection
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Geometry
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.GeometryCollection
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Id
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.LineString
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.MultiLineString
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.MultiPoint
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.MultiPolygon
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Object
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Point
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Polygon
- Hydra.Geojson.Model: instance GHC.Classes.Ord Hydra.Geojson.Model.Position
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.BoundingBox
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.CoordinateRange
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Feature
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.FeatureCollection
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Geometry
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.GeometryCollection
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Id
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.LineString
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.MultiLineString
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.MultiPoint
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.MultiPolygon
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Object
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Point
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Polygon
- Hydra.Geojson.Model: instance GHC.Read.Read Hydra.Geojson.Model.Position
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.BoundingBox
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.CoordinateRange
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Feature
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.FeatureCollection
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Geometry
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.GeometryCollection
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Id
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.LineString
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.MultiLineString
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.MultiPoint
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.MultiPolygon
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Object
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Point
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Polygon
- Hydra.Geojson.Model: instance GHC.Show.Show Hydra.Geojson.Model.Position
- Hydra.Geojson.Model: newtype BoundingBox
- Hydra.Graphql.Coder: descriptionFromType :: t0 -> Graph -> Type -> Either Error (Maybe Description)
- Hydra.Graphql.Coder: encodeEnumFieldName :: Name -> EnumValue
- Hydra.Graphql.Coder: encodeEnumFieldType :: t0 -> Graph -> FieldType -> Either Error EnumValueDefinition
- Hydra.Graphql.Coder: encodeFieldName :: Name -> Name
- Hydra.Graphql.Coder: encodeFieldType :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error FieldDefinition
- Hydra.Graphql.Coder: encodeLiteralType :: t0 -> LiteralType -> Either Error NamedType
- Hydra.Graphql.Coder: encodeNamedType :: t0 -> Graph -> Map ModuleName String -> Name -> Type -> Either Error TypeDefinition
- Hydra.Graphql.Coder: encodeType :: t0 -> t1 -> Map ModuleName String -> Type -> Either Error Type
- Hydra.Graphql.Coder: encodeTypeDefinition :: t0 -> Graph -> Map ModuleName String -> TypeDefinition -> Either Error TypeDefinition
- Hydra.Graphql.Coder: encodeTypeName :: Map ModuleName String -> Name -> Name
- Hydra.Graphql.Coder: encodeUnionFieldType :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error FieldDefinition
- Hydra.Graphql.Coder: moduleToGraphql :: Module -> [Definition] -> t0 -> Graph -> Either Error (Map String String)
- Hydra.Graphql.Coder: sanitize :: String -> String
- Hydra.Graphql.Language: graphqlLanguage :: Language
- Hydra.Graphql.Language: graphqlReservedWords :: Set String
- Hydra.Graphql.Serde: definitionToExpr :: Definition -> Expr
- Hydra.Graphql.Serde: descriptionToExpr :: Description -> Expr
- Hydra.Graphql.Serde: documentToExpr :: Document -> Expr
- Hydra.Graphql.Serde: enumTypeDefinitionToExpr :: EnumTypeDefinition -> Expr
- Hydra.Graphql.Serde: enumValueDefinitionToExpr :: EnumValueDefinition -> Expr
- Hydra.Graphql.Serde: enumValueToExpr :: EnumValue -> Expr
- Hydra.Graphql.Serde: fieldDefinitionToExpr :: FieldDefinition -> Expr
- Hydra.Graphql.Serde: listTypeToExpr :: ListType -> Expr
- Hydra.Graphql.Serde: nameToExpr :: Name -> Expr
- Hydra.Graphql.Serde: namedTypeToExpr :: NamedType -> Expr
- Hydra.Graphql.Serde: nonNullTypeToExpr :: NonNullType -> Expr
- Hydra.Graphql.Serde: objectTypeDefinitionToExpr :: ObjectTypeDefinition -> Expr
- Hydra.Graphql.Serde: typeDefinitionToExpr :: TypeDefinition -> Expr
- Hydra.Graphql.Serde: typeSystemDefinitionOrExtensionToExpr :: TypeSystemDefinitionOrExtension -> Expr
- Hydra.Graphql.Serde: typeSystemDefinitionToExpr :: TypeSystemDefinition -> Expr
- Hydra.Graphql.Serde: typeToExpr :: Type -> Expr
- Hydra.Graphql.Serde: withDescription :: Maybe Description -> Expr -> Expr
- Hydra.Graphql.Syntax: AliasColon :: Alias
- Hydra.Graphql.Syntax: AliasName :: Name -> Alias
- Hydra.Graphql.Syntax: Argument :: Name -> Value -> Argument
- Hydra.Graphql.Syntax: Arguments :: [Argument] -> Arguments
- Hydra.Graphql.Syntax: ArgumentsDefinition :: [InputValueDefinition] -> ArgumentsDefinition
- Hydra.Graphql.Syntax: BooleanValueFalse :: BooleanValue
- Hydra.Graphql.Syntax: BooleanValueTrue :: BooleanValue
- Hydra.Graphql.Syntax: DefaultValue :: Value -> DefaultValue
- Hydra.Graphql.Syntax: DefinitionExecutable :: ExecutableDefinition -> Definition
- Hydra.Graphql.Syntax: DefinitionTypeSystem :: TypeSystemDefinitionOrExtension -> Definition
- Hydra.Graphql.Syntax: Description :: StringValue -> Description
- Hydra.Graphql.Syntax: Directive :: Name -> Maybe Arguments -> Directive
- Hydra.Graphql.Syntax: DirectiveDefinition :: Maybe Description -> Name -> Maybe ArgumentsDefinition -> Maybe () -> DirectiveLocations -> DirectiveDefinition
- Hydra.Graphql.Syntax: DirectiveLocationExecutable :: ExecutableDirectiveLocation -> DirectiveLocation
- Hydra.Graphql.Syntax: DirectiveLocationTypeSystem :: TypeSystemDirectiveLocation -> DirectiveLocation
- Hydra.Graphql.Syntax: DirectiveLocationsSeq :: DirectiveLocationsSequence -> DirectiveLocations
- Hydra.Graphql.Syntax: DirectiveLocationsSeq2 :: DirectiveLocationsSequence2 -> DirectiveLocations
- Hydra.Graphql.Syntax: DirectiveLocationsSequence :: DirectiveLocations -> DirectiveLocation -> DirectiveLocationsSequence
- Hydra.Graphql.Syntax: DirectiveLocationsSequence2 :: Maybe () -> DirectiveLocation -> DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: Directives :: [Directive] -> Directives
- Hydra.Graphql.Syntax: Document :: [Definition] -> Document
- Hydra.Graphql.Syntax: EnumTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> Maybe EnumValuesDefinition -> EnumTypeDefinition
- Hydra.Graphql.Syntax: EnumTypeExtensionSeq :: EnumTypeExtensionSequence -> EnumTypeExtension
- Hydra.Graphql.Syntax: EnumTypeExtensionSeq2 :: EnumTypeExtensionSequence2 -> EnumTypeExtension
- Hydra.Graphql.Syntax: EnumTypeExtensionSequence :: Name -> Maybe Directives -> EnumValuesDefinition -> EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: EnumTypeExtensionSequence2 :: Name -> Directives -> EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: EnumValue :: Name -> EnumValue
- Hydra.Graphql.Syntax: EnumValueDefinition :: Maybe Description -> EnumValue -> Maybe Directives -> EnumValueDefinition
- Hydra.Graphql.Syntax: EnumValuesDefinition :: [EnumValueDefinition] -> EnumValuesDefinition
- Hydra.Graphql.Syntax: ExecutableDefinitionFragment :: FragmentDefinition -> ExecutableDefinition
- Hydra.Graphql.Syntax: ExecutableDefinitionOperation :: OperationDefinition -> ExecutableDefinition
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationFIELD :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationFRAGMENT_DEFINITION :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationFRAGMENT_SPREAD :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationINLINE_FRAGMENT :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationMUTATION :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationQUERY :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationSUBSCRIPTION :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDirectiveLocationVARIABLE_DEFINITION :: ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: ExecutableDocument :: [ExecutableDefinition] -> ExecutableDocument
- Hydra.Graphql.Syntax: Field :: Maybe Alias -> Name -> Maybe Arguments -> Maybe Directives -> Maybe SelectionSet -> Field
- Hydra.Graphql.Syntax: FieldDefinition :: Maybe Description -> Name -> Maybe ArgumentsDefinition -> Type -> Maybe Directives -> FieldDefinition
- Hydra.Graphql.Syntax: FieldsDefinition :: [FieldDefinition] -> FieldsDefinition
- Hydra.Graphql.Syntax: FloatValue :: String -> FloatValue
- Hydra.Graphql.Syntax: FragmentDefinition :: FragmentName -> TypeCondition -> Maybe Directives -> SelectionSet -> FragmentDefinition
- Hydra.Graphql.Syntax: FragmentName :: Name -> FragmentName
- Hydra.Graphql.Syntax: FragmentSpread :: FragmentName -> Maybe Directives -> FragmentSpread
- Hydra.Graphql.Syntax: ImplementsInterfacesSeq :: ImplementsInterfacesSequence -> ImplementsInterfaces
- Hydra.Graphql.Syntax: ImplementsInterfacesSeq2 :: ImplementsInterfacesSequence2 -> ImplementsInterfaces
- Hydra.Graphql.Syntax: ImplementsInterfacesSequence :: ImplementsInterfaces -> NamedType -> ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: ImplementsInterfacesSequence2 :: Maybe () -> NamedType -> ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: InlineFragment :: Maybe TypeCondition -> Maybe Directives -> SelectionSet -> InlineFragment
- Hydra.Graphql.Syntax: InputFieldsDefinition :: [InputValueDefinition] -> InputFieldsDefinition
- Hydra.Graphql.Syntax: InputObjectTypeDefinitionSeq :: InputObjectTypeDefinitionSequence -> InputObjectTypeDefinition
- Hydra.Graphql.Syntax: InputObjectTypeDefinitionSeq2 :: InputObjectTypeDefinitionSequence2 -> InputObjectTypeDefinition
- Hydra.Graphql.Syntax: InputObjectTypeDefinitionSequence :: Maybe Description -> Name -> Maybe Directives -> InputFieldsDefinition -> InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: InputObjectTypeDefinitionSequence2 :: Maybe Description -> Name -> Maybe Directives -> InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: InputObjectTypeExtensionSeq :: InputObjectTypeExtensionSequence -> InputObjectTypeExtension
- Hydra.Graphql.Syntax: InputObjectTypeExtensionSeq2 :: InputObjectTypeExtensionSequence2 -> InputObjectTypeExtension
- Hydra.Graphql.Syntax: InputObjectTypeExtensionSequence :: Name -> Maybe Directives -> InputFieldsDefinition -> InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: InputObjectTypeExtensionSequence2 :: Name -> Directives -> InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: InputValueDefinition :: Maybe Description -> Name -> Type -> Maybe DefaultValue -> Maybe Directives -> InputValueDefinition
- Hydra.Graphql.Syntax: IntValue :: String -> IntValue
- Hydra.Graphql.Syntax: InterfaceTypeDefinitionSeq :: InterfaceTypeDefinitionSequence -> InterfaceTypeDefinition
- Hydra.Graphql.Syntax: InterfaceTypeDefinitionSeq2 :: InterfaceTypeDefinitionSequence2 -> InterfaceTypeDefinition
- Hydra.Graphql.Syntax: InterfaceTypeDefinitionSequence :: Maybe Description -> Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: InterfaceTypeDefinitionSequence2 :: Maybe Description -> Name -> ImplementsInterfaces -> Maybe Directives -> InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSeq :: InterfaceTypeExtensionSequence -> InterfaceTypeExtension
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSeq2 :: InterfaceTypeExtensionSequence2 -> InterfaceTypeExtension
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSeq3 :: InterfaceTypeExtensionSequence3 -> InterfaceTypeExtension
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSequence :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSequence2 :: Name -> Maybe ImplementsInterfaces -> Directives -> InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: InterfaceTypeExtensionSequence3 :: Name -> ImplementsInterfaces -> InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: ListType :: Type -> ListType
- Hydra.Graphql.Syntax: ListValueSeq :: ListValueSequence -> ListValue
- Hydra.Graphql.Syntax: ListValueSequence2 :: [Value] -> ListValue
- Hydra.Graphql.Syntax: Name :: String -> Name
- Hydra.Graphql.Syntax: NamedType :: Name -> NamedType
- Hydra.Graphql.Syntax: NonNullTypeList :: ListType -> NonNullType
- Hydra.Graphql.Syntax: NonNullTypeNamed :: NamedType -> NonNullType
- Hydra.Graphql.Syntax: NullValue :: () -> NullValue
- Hydra.Graphql.Syntax: ObjectField :: Name -> Value -> ObjectField
- Hydra.Graphql.Syntax: ObjectTypeDefinition :: Maybe Description -> Name -> Maybe ImplementsInterfaces -> Maybe Directives -> Maybe FieldsDefinition -> ObjectTypeDefinition
- Hydra.Graphql.Syntax: ObjectTypeExtensionSeq :: ObjectTypeExtensionSequence -> ObjectTypeExtension
- Hydra.Graphql.Syntax: ObjectTypeExtensionSeq2 :: ObjectTypeExtensionSequence2 -> ObjectTypeExtension
- Hydra.Graphql.Syntax: ObjectTypeExtensionSeq3 :: ObjectTypeExtensionSequence3 -> ObjectTypeExtension
- Hydra.Graphql.Syntax: ObjectTypeExtensionSequence :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: ObjectTypeExtensionSequence2 :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: ObjectTypeExtensionSequence3 :: Name -> ImplementsInterfaces -> ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: ObjectValueSeq :: ObjectValueSequence -> ObjectValue
- Hydra.Graphql.Syntax: ObjectValueSequence2 :: [ObjectField] -> ObjectValue
- Hydra.Graphql.Syntax: OperationDefinitionSelectionSet :: SelectionSet -> OperationDefinition
- Hydra.Graphql.Syntax: OperationDefinitionSeq :: OperationDefinitionSequence -> OperationDefinition
- Hydra.Graphql.Syntax: OperationDefinitionSequence :: OperationType -> Maybe Name -> Maybe VariablesDefinition -> Maybe Directives -> SelectionSet -> OperationDefinitionSequence
- Hydra.Graphql.Syntax: OperationTypeMutation :: OperationType
- Hydra.Graphql.Syntax: OperationTypeQuery :: OperationType
- Hydra.Graphql.Syntax: OperationTypeSubscription :: OperationType
- Hydra.Graphql.Syntax: RootOperationTypeDefinition :: OperationType -> NamedType -> RootOperationTypeDefinition
- Hydra.Graphql.Syntax: ScalarTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> ScalarTypeDefinition
- Hydra.Graphql.Syntax: ScalarTypeExtension :: Name -> Directives -> ScalarTypeExtension
- Hydra.Graphql.Syntax: SchemaDefinition :: Maybe Description -> Maybe Directives -> RootOperationTypeDefinition -> SchemaDefinition
- Hydra.Graphql.Syntax: SchemaExtensionSeq :: SchemaExtensionSequence -> SchemaExtension
- Hydra.Graphql.Syntax: SchemaExtensionSequence :: Maybe Directives -> RootOperationTypeDefinition -> SchemaExtensionSequence
- Hydra.Graphql.Syntax: SchemaExtensionSequence2 :: Directives -> SchemaExtension
- Hydra.Graphql.Syntax: SelectionField :: Field -> Selection
- Hydra.Graphql.Syntax: SelectionFragmentSpread :: FragmentSpread -> Selection
- Hydra.Graphql.Syntax: SelectionInlineFragment :: InlineFragment -> Selection
- Hydra.Graphql.Syntax: SelectionSet :: [Selection] -> SelectionSet
- Hydra.Graphql.Syntax: StringValue :: String -> StringValue
- Hydra.Graphql.Syntax: TypeConditionNamedType :: NamedType -> TypeCondition
- Hydra.Graphql.Syntax: TypeConditionOn :: TypeCondition
- Hydra.Graphql.Syntax: TypeDefinitionEnum :: EnumTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeDefinitionInputObject :: InputObjectTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeDefinitionInterface :: InterfaceTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeDefinitionObject :: ObjectTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeDefinitionScalar :: ScalarTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeDefinitionUnion :: UnionTypeDefinition -> TypeDefinition
- Hydra.Graphql.Syntax: TypeExtensionEnum :: EnumTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeExtensionInputObject :: InputObjectTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeExtensionInterface :: InterfaceTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeExtensionObject :: ObjectTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeExtensionScalar :: ScalarTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeExtensionUnion :: UnionTypeExtension -> TypeExtension
- Hydra.Graphql.Syntax: TypeList :: ListType -> Type
- Hydra.Graphql.Syntax: TypeNamed :: NamedType -> Type
- Hydra.Graphql.Syntax: TypeNonNull :: NonNullType -> Type
- Hydra.Graphql.Syntax: TypeSystemDefinitionDirective :: DirectiveDefinition -> TypeSystemDefinition
- Hydra.Graphql.Syntax: TypeSystemDefinitionOrExtensionDefinition :: TypeSystemDefinition -> TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: TypeSystemDefinitionOrExtensionExtension :: TypeSystemExtension -> TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: TypeSystemDefinitionSchema :: SchemaDefinition -> TypeSystemDefinition
- Hydra.Graphql.Syntax: TypeSystemDefinitionType :: TypeDefinition -> TypeSystemDefinition
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationARGUMENT_DEFINITION :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationENUM :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationENUM_VALUE :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationFIELD_DEFINITION :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationINPUT_FIELD_DEFINITION :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationINPUT_OBJECT :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationINTERFACE :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationOBJECT :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationSCALAR :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationSCHEMA :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDirectiveLocationUNION :: TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: TypeSystemDocment :: [TypeSystemDefinition] -> TypeSystemDocment
- Hydra.Graphql.Syntax: TypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension] -> TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: TypeSystemExtensionSchema :: SchemaExtension -> TypeSystemExtension
- Hydra.Graphql.Syntax: TypeSystemExtensionType :: TypeExtension -> TypeSystemExtension
- Hydra.Graphql.Syntax: UnionMemberTypesSeq :: UnionMemberTypesSequence -> UnionMemberTypes
- Hydra.Graphql.Syntax: UnionMemberTypesSeq2 :: UnionMemberTypesSequence2 -> UnionMemberTypes
- Hydra.Graphql.Syntax: UnionMemberTypesSequence :: UnionMemberTypes -> NamedType -> UnionMemberTypesSequence
- Hydra.Graphql.Syntax: UnionMemberTypesSequence2 :: Maybe () -> NamedType -> UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: UnionTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> Maybe UnionMemberTypes -> UnionTypeDefinition
- Hydra.Graphql.Syntax: UnionTypeExtensionSeq :: UnionTypeExtensionSequence -> UnionTypeExtension
- Hydra.Graphql.Syntax: UnionTypeExtensionSeq2 :: UnionTypeExtensionSequence2 -> UnionTypeExtension
- Hydra.Graphql.Syntax: UnionTypeExtensionSequence :: Name -> Maybe Directives -> UnionMemberTypes -> UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: UnionTypeExtensionSequence2 :: Name -> Directives -> UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: ValueBoolean :: BooleanValue -> Value
- Hydra.Graphql.Syntax: ValueEnum :: EnumValue -> Value
- Hydra.Graphql.Syntax: ValueFloat :: FloatValue -> Value
- Hydra.Graphql.Syntax: ValueInt :: IntValue -> Value
- Hydra.Graphql.Syntax: ValueList :: ListValue -> Value
- Hydra.Graphql.Syntax: ValueNull :: NullValue -> Value
- Hydra.Graphql.Syntax: ValueObject :: ObjectValue -> Value
- Hydra.Graphql.Syntax: ValueString :: StringValue -> Value
- Hydra.Graphql.Syntax: ValueVariable :: Variable -> Value
- Hydra.Graphql.Syntax: Variable :: Name -> Variable
- Hydra.Graphql.Syntax: VariablesDefinition :: Variable -> Type -> Maybe DefaultValue -> Maybe Directives -> VariablesDefinition
- Hydra.Graphql.Syntax: [argumentName] :: Argument -> Name
- Hydra.Graphql.Syntax: [argumentValue] :: Argument -> Value
- Hydra.Graphql.Syntax: [directiveArguments] :: Directive -> Maybe Arguments
- Hydra.Graphql.Syntax: [directiveDefinitionArgumentsDefinition] :: DirectiveDefinition -> Maybe ArgumentsDefinition
- Hydra.Graphql.Syntax: [directiveDefinitionDescription] :: DirectiveDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [directiveDefinitionDirectiveLocations] :: DirectiveDefinition -> DirectiveLocations
- Hydra.Graphql.Syntax: [directiveDefinitionName] :: DirectiveDefinition -> Name
- Hydra.Graphql.Syntax: [directiveDefinitionRepeatable] :: DirectiveDefinition -> Maybe ()
- Hydra.Graphql.Syntax: [directiveLocationsSequence2DirectiveLocation] :: DirectiveLocationsSequence2 -> DirectiveLocation
- Hydra.Graphql.Syntax: [directiveLocationsSequence2Or] :: DirectiveLocationsSequence2 -> Maybe ()
- Hydra.Graphql.Syntax: [directiveLocationsSequenceDirectiveLocation] :: DirectiveLocationsSequence -> DirectiveLocation
- Hydra.Graphql.Syntax: [directiveLocationsSequenceDirectiveLocations] :: DirectiveLocationsSequence -> DirectiveLocations
- Hydra.Graphql.Syntax: [directiveName] :: Directive -> Name
- Hydra.Graphql.Syntax: [enumTypeDefinitionDescription] :: EnumTypeDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [enumTypeDefinitionDirectives] :: EnumTypeDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [enumTypeDefinitionEnumValuesDefinition] :: EnumTypeDefinition -> Maybe EnumValuesDefinition
- Hydra.Graphql.Syntax: [enumTypeDefinitionName] :: EnumTypeDefinition -> Name
- Hydra.Graphql.Syntax: [enumTypeExtensionSequence2Directives] :: EnumTypeExtensionSequence2 -> Directives
- Hydra.Graphql.Syntax: [enumTypeExtensionSequence2Name] :: EnumTypeExtensionSequence2 -> Name
- Hydra.Graphql.Syntax: [enumTypeExtensionSequenceDirectives] :: EnumTypeExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [enumTypeExtensionSequenceEnumValuesDefinition] :: EnumTypeExtensionSequence -> EnumValuesDefinition
- Hydra.Graphql.Syntax: [enumTypeExtensionSequenceName] :: EnumTypeExtensionSequence -> Name
- Hydra.Graphql.Syntax: [enumValueDefinitionDescription] :: EnumValueDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [enumValueDefinitionDirectives] :: EnumValueDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [enumValueDefinitionEnumValue] :: EnumValueDefinition -> EnumValue
- Hydra.Graphql.Syntax: [fieldAlias] :: Field -> Maybe Alias
- Hydra.Graphql.Syntax: [fieldArguments] :: Field -> Maybe Arguments
- Hydra.Graphql.Syntax: [fieldDefinitionArgumentsDefinition] :: FieldDefinition -> Maybe ArgumentsDefinition
- Hydra.Graphql.Syntax: [fieldDefinitionDescription] :: FieldDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [fieldDefinitionDirectives] :: FieldDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [fieldDefinitionName] :: FieldDefinition -> Name
- Hydra.Graphql.Syntax: [fieldDefinitionType] :: FieldDefinition -> Type
- Hydra.Graphql.Syntax: [fieldDirectives] :: Field -> Maybe Directives
- Hydra.Graphql.Syntax: [fieldName] :: Field -> Name
- Hydra.Graphql.Syntax: [fieldSelectionSet] :: Field -> Maybe SelectionSet
- Hydra.Graphql.Syntax: [fragmentDefinitionDirectives] :: FragmentDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [fragmentDefinitionFragmentName] :: FragmentDefinition -> FragmentName
- Hydra.Graphql.Syntax: [fragmentDefinitionSelectionSet] :: FragmentDefinition -> SelectionSet
- Hydra.Graphql.Syntax: [fragmentDefinitionTypeCondition] :: FragmentDefinition -> TypeCondition
- Hydra.Graphql.Syntax: [fragmentSpreadDirectives] :: FragmentSpread -> Maybe Directives
- Hydra.Graphql.Syntax: [fragmentSpreadFragmentName] :: FragmentSpread -> FragmentName
- Hydra.Graphql.Syntax: [implementsInterfacesSequence2Amp] :: ImplementsInterfacesSequence2 -> Maybe ()
- Hydra.Graphql.Syntax: [implementsInterfacesSequence2NamedType] :: ImplementsInterfacesSequence2 -> NamedType
- Hydra.Graphql.Syntax: [implementsInterfacesSequenceImplementsInterfaces] :: ImplementsInterfacesSequence -> ImplementsInterfaces
- Hydra.Graphql.Syntax: [implementsInterfacesSequenceNamedType] :: ImplementsInterfacesSequence -> NamedType
- Hydra.Graphql.Syntax: [inlineFragmentDirectives] :: InlineFragment -> Maybe Directives
- Hydra.Graphql.Syntax: [inlineFragmentSelectionSet] :: InlineFragment -> SelectionSet
- Hydra.Graphql.Syntax: [inlineFragmentTypeCondition] :: InlineFragment -> Maybe TypeCondition
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Description] :: InputObjectTypeDefinitionSequence2 -> Maybe Description
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Directives] :: InputObjectTypeDefinitionSequence2 -> Maybe Directives
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Name] :: InputObjectTypeDefinitionSequence2 -> Name
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequenceDescription] :: InputObjectTypeDefinitionSequence -> Maybe Description
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequenceDirectives] :: InputObjectTypeDefinitionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequenceInputFieldsDefinition] :: InputObjectTypeDefinitionSequence -> InputFieldsDefinition
- Hydra.Graphql.Syntax: [inputObjectTypeDefinitionSequenceName] :: InputObjectTypeDefinitionSequence -> Name
- Hydra.Graphql.Syntax: [inputObjectTypeExtensionSequence2Directives] :: InputObjectTypeExtensionSequence2 -> Directives
- Hydra.Graphql.Syntax: [inputObjectTypeExtensionSequence2Name] :: InputObjectTypeExtensionSequence2 -> Name
- Hydra.Graphql.Syntax: [inputObjectTypeExtensionSequenceDirectives] :: InputObjectTypeExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [inputObjectTypeExtensionSequenceInputFieldsDefinition] :: InputObjectTypeExtensionSequence -> InputFieldsDefinition
- Hydra.Graphql.Syntax: [inputObjectTypeExtensionSequenceName] :: InputObjectTypeExtensionSequence -> Name
- Hydra.Graphql.Syntax: [inputValueDefinitionDefaultValue] :: InputValueDefinition -> Maybe DefaultValue
- Hydra.Graphql.Syntax: [inputValueDefinitionDescription] :: InputValueDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [inputValueDefinitionDirectives] :: InputValueDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [inputValueDefinitionName] :: InputValueDefinition -> Name
- Hydra.Graphql.Syntax: [inputValueDefinitionType] :: InputValueDefinition -> Type
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequence2Description] :: InterfaceTypeDefinitionSequence2 -> Maybe Description
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequence2Directives] :: InterfaceTypeDefinitionSequence2 -> Maybe Directives
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequence2ImplementsInterfaces] :: InterfaceTypeDefinitionSequence2 -> ImplementsInterfaces
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequence2Name] :: InterfaceTypeDefinitionSequence2 -> Name
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequenceDescription] :: InterfaceTypeDefinitionSequence -> Maybe Description
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequenceDirectives] :: InterfaceTypeDefinitionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequenceFieldsDefinition] :: InterfaceTypeDefinitionSequence -> FieldsDefinition
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequenceImplementsInterfaces] :: InterfaceTypeDefinitionSequence -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [interfaceTypeDefinitionSequenceName] :: InterfaceTypeDefinitionSequence -> Name
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequence2Directives] :: InterfaceTypeExtensionSequence2 -> Directives
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequence2ImplementsInterfaces] :: InterfaceTypeExtensionSequence2 -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequence2Name] :: InterfaceTypeExtensionSequence2 -> Name
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequence3ImplementsInterfaces] :: InterfaceTypeExtensionSequence3 -> ImplementsInterfaces
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequence3Name] :: InterfaceTypeExtensionSequence3 -> Name
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequenceDirectives] :: InterfaceTypeExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequenceFieldsDefinition] :: InterfaceTypeExtensionSequence -> FieldsDefinition
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequenceImplementsInterfaces] :: InterfaceTypeExtensionSequence -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [interfaceTypeExtensionSequenceName] :: InterfaceTypeExtensionSequence -> Name
- Hydra.Graphql.Syntax: [objectFieldName] :: ObjectField -> Name
- Hydra.Graphql.Syntax: [objectFieldValue] :: ObjectField -> Value
- Hydra.Graphql.Syntax: [objectTypeDefinitionDescription] :: ObjectTypeDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [objectTypeDefinitionDirectives] :: ObjectTypeDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [objectTypeDefinitionFieldsDefinition] :: ObjectTypeDefinition -> Maybe FieldsDefinition
- Hydra.Graphql.Syntax: [objectTypeDefinitionImplementsInterfaces] :: ObjectTypeDefinition -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [objectTypeDefinitionName] :: ObjectTypeDefinition -> Name
- Hydra.Graphql.Syntax: [objectTypeExtensionSequence2Directives] :: ObjectTypeExtensionSequence2 -> Maybe Directives
- Hydra.Graphql.Syntax: [objectTypeExtensionSequence2ImplementsInterfaces] :: ObjectTypeExtensionSequence2 -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [objectTypeExtensionSequence2Name] :: ObjectTypeExtensionSequence2 -> Name
- Hydra.Graphql.Syntax: [objectTypeExtensionSequence3ImplementsInterfaces] :: ObjectTypeExtensionSequence3 -> ImplementsInterfaces
- Hydra.Graphql.Syntax: [objectTypeExtensionSequence3Name] :: ObjectTypeExtensionSequence3 -> Name
- Hydra.Graphql.Syntax: [objectTypeExtensionSequenceDirectives] :: ObjectTypeExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [objectTypeExtensionSequenceFieldsDefinition] :: ObjectTypeExtensionSequence -> FieldsDefinition
- Hydra.Graphql.Syntax: [objectTypeExtensionSequenceImplementsInterfaces] :: ObjectTypeExtensionSequence -> Maybe ImplementsInterfaces
- Hydra.Graphql.Syntax: [objectTypeExtensionSequenceName] :: ObjectTypeExtensionSequence -> Name
- Hydra.Graphql.Syntax: [operationDefinitionSequenceDirectives] :: OperationDefinitionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [operationDefinitionSequenceName] :: OperationDefinitionSequence -> Maybe Name
- Hydra.Graphql.Syntax: [operationDefinitionSequenceOperationType] :: OperationDefinitionSequence -> OperationType
- Hydra.Graphql.Syntax: [operationDefinitionSequenceSelectionSet] :: OperationDefinitionSequence -> SelectionSet
- Hydra.Graphql.Syntax: [operationDefinitionSequenceVariablesDefinition] :: OperationDefinitionSequence -> Maybe VariablesDefinition
- Hydra.Graphql.Syntax: [rootOperationTypeDefinitionNamedType] :: RootOperationTypeDefinition -> NamedType
- Hydra.Graphql.Syntax: [rootOperationTypeDefinitionOperationType] :: RootOperationTypeDefinition -> OperationType
- Hydra.Graphql.Syntax: [scalarTypeDefinitionDescription] :: ScalarTypeDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [scalarTypeDefinitionDirectives] :: ScalarTypeDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [scalarTypeDefinitionName] :: ScalarTypeDefinition -> Name
- Hydra.Graphql.Syntax: [scalarTypeExtensionDirectives] :: ScalarTypeExtension -> Directives
- Hydra.Graphql.Syntax: [scalarTypeExtensionName] :: ScalarTypeExtension -> Name
- Hydra.Graphql.Syntax: [schemaDefinitionDescription] :: SchemaDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [schemaDefinitionDirectives] :: SchemaDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [schemaDefinitionRootOperationTypeDefinition] :: SchemaDefinition -> RootOperationTypeDefinition
- Hydra.Graphql.Syntax: [schemaExtensionSequenceDirectives] :: SchemaExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [schemaExtensionSequenceRootOperationTypeDefinition] :: SchemaExtensionSequence -> RootOperationTypeDefinition
- Hydra.Graphql.Syntax: [unArgumentsDefinition] :: ArgumentsDefinition -> [InputValueDefinition]
- Hydra.Graphql.Syntax: [unArguments] :: Arguments -> [Argument]
- Hydra.Graphql.Syntax: [unDefaultValue] :: DefaultValue -> Value
- Hydra.Graphql.Syntax: [unDescription] :: Description -> StringValue
- Hydra.Graphql.Syntax: [unDirectives] :: Directives -> [Directive]
- Hydra.Graphql.Syntax: [unDocument] :: Document -> [Definition]
- Hydra.Graphql.Syntax: [unEnumValue] :: EnumValue -> Name
- Hydra.Graphql.Syntax: [unEnumValuesDefinition] :: EnumValuesDefinition -> [EnumValueDefinition]
- Hydra.Graphql.Syntax: [unExecutableDocument] :: ExecutableDocument -> [ExecutableDefinition]
- Hydra.Graphql.Syntax: [unFieldsDefinition] :: FieldsDefinition -> [FieldDefinition]
- Hydra.Graphql.Syntax: [unFloatValue] :: FloatValue -> String
- Hydra.Graphql.Syntax: [unFragmentName] :: FragmentName -> Name
- Hydra.Graphql.Syntax: [unInputFieldsDefinition] :: InputFieldsDefinition -> [InputValueDefinition]
- Hydra.Graphql.Syntax: [unIntValue] :: IntValue -> String
- Hydra.Graphql.Syntax: [unListType] :: ListType -> Type
- Hydra.Graphql.Syntax: [unName] :: Name -> String
- Hydra.Graphql.Syntax: [unNamedType] :: NamedType -> Name
- Hydra.Graphql.Syntax: [unNullValue] :: NullValue -> ()
- Hydra.Graphql.Syntax: [unSelectionSet] :: SelectionSet -> [Selection]
- Hydra.Graphql.Syntax: [unStringValue] :: StringValue -> String
- Hydra.Graphql.Syntax: [unTypeSystemDocment] :: TypeSystemDocment -> [TypeSystemDefinition]
- Hydra.Graphql.Syntax: [unTypeSystemExtensionDocument] :: TypeSystemExtensionDocument -> [TypeSystemDefinitionOrExtension]
- Hydra.Graphql.Syntax: [unVariable] :: Variable -> Name
- Hydra.Graphql.Syntax: [unionMemberTypesSequence2NamedType] :: UnionMemberTypesSequence2 -> NamedType
- Hydra.Graphql.Syntax: [unionMemberTypesSequence2Or] :: UnionMemberTypesSequence2 -> Maybe ()
- Hydra.Graphql.Syntax: [unionMemberTypesSequenceNamedType] :: UnionMemberTypesSequence -> NamedType
- Hydra.Graphql.Syntax: [unionMemberTypesSequenceUnionMemberTypes] :: UnionMemberTypesSequence -> UnionMemberTypes
- Hydra.Graphql.Syntax: [unionTypeDefinitionDescription] :: UnionTypeDefinition -> Maybe Description
- Hydra.Graphql.Syntax: [unionTypeDefinitionDirectives] :: UnionTypeDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [unionTypeDefinitionName] :: UnionTypeDefinition -> Name
- Hydra.Graphql.Syntax: [unionTypeDefinitionUnionMemberTypes] :: UnionTypeDefinition -> Maybe UnionMemberTypes
- Hydra.Graphql.Syntax: [unionTypeExtensionSequence2Directives] :: UnionTypeExtensionSequence2 -> Directives
- Hydra.Graphql.Syntax: [unionTypeExtensionSequence2Name] :: UnionTypeExtensionSequence2 -> Name
- Hydra.Graphql.Syntax: [unionTypeExtensionSequenceDirectives] :: UnionTypeExtensionSequence -> Maybe Directives
- Hydra.Graphql.Syntax: [unionTypeExtensionSequenceName] :: UnionTypeExtensionSequence -> Name
- Hydra.Graphql.Syntax: [unionTypeExtensionSequenceUnionMemberTypes] :: UnionTypeExtensionSequence -> UnionMemberTypes
- Hydra.Graphql.Syntax: [variablesDefinitionDefaultValue] :: VariablesDefinition -> Maybe DefaultValue
- Hydra.Graphql.Syntax: [variablesDefinitionDirectives] :: VariablesDefinition -> Maybe Directives
- Hydra.Graphql.Syntax: [variablesDefinitionType] :: VariablesDefinition -> Type
- Hydra.Graphql.Syntax: [variablesDefinitionVariable] :: VariablesDefinition -> Variable
- Hydra.Graphql.Syntax: _Alias :: Name
- Hydra.Graphql.Syntax: _Alias_Colon :: Name
- Hydra.Graphql.Syntax: _Alias_Name :: Name
- Hydra.Graphql.Syntax: _Argument :: Name
- Hydra.Graphql.Syntax: _Argument_Name :: Name
- Hydra.Graphql.Syntax: _Argument_Value :: Name
- Hydra.Graphql.Syntax: _Arguments :: Name
- Hydra.Graphql.Syntax: _ArgumentsDefinition :: Name
- Hydra.Graphql.Syntax: _BooleanValue :: Name
- Hydra.Graphql.Syntax: _BooleanValue_False :: Name
- Hydra.Graphql.Syntax: _BooleanValue_True :: Name
- Hydra.Graphql.Syntax: _DefaultValue :: Name
- Hydra.Graphql.Syntax: _Definition :: Name
- Hydra.Graphql.Syntax: _Definition_executable :: Name
- Hydra.Graphql.Syntax: _Definition_typeSystem :: Name
- Hydra.Graphql.Syntax: _Description :: Name
- Hydra.Graphql.Syntax: _Directive :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition_ArgumentsDefinition :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition_Description :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition_DirectiveLocations :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition_Name :: Name
- Hydra.Graphql.Syntax: _DirectiveDefinition_Repeatable :: Name
- Hydra.Graphql.Syntax: _DirectiveLocation :: Name
- Hydra.Graphql.Syntax: _DirectiveLocation_executable :: Name
- Hydra.Graphql.Syntax: _DirectiveLocation_typeSystem :: Name
- Hydra.Graphql.Syntax: _DirectiveLocations :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence2 :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence2_DirectiveLocation :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence2_Or :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence_DirectiveLocation :: Name
- Hydra.Graphql.Syntax: _DirectiveLocationsSequence_DirectiveLocations :: Name
- Hydra.Graphql.Syntax: _DirectiveLocations_seq :: Name
- Hydra.Graphql.Syntax: _DirectiveLocations_seq2 :: Name
- Hydra.Graphql.Syntax: _Directive_Arguments :: Name
- Hydra.Graphql.Syntax: _Directive_Name :: Name
- Hydra.Graphql.Syntax: _Directives :: Name
- Hydra.Graphql.Syntax: _Document :: Name
- Hydra.Graphql.Syntax: _EnumTypeDefinition :: Name
- Hydra.Graphql.Syntax: _EnumTypeDefinition_Description :: Name
- Hydra.Graphql.Syntax: _EnumTypeDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _EnumTypeDefinition_EnumValuesDefinition :: Name
- Hydra.Graphql.Syntax: _EnumTypeDefinition_Name :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtension :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence2 :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence_EnumValuesDefinition :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtensionSequence_Name :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtension_seq :: Name
- Hydra.Graphql.Syntax: _EnumTypeExtension_seq2 :: Name
- Hydra.Graphql.Syntax: _EnumValue :: Name
- Hydra.Graphql.Syntax: _EnumValueDefinition :: Name
- Hydra.Graphql.Syntax: _EnumValueDefinition_Description :: Name
- Hydra.Graphql.Syntax: _EnumValueDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _EnumValueDefinition_EnumValue :: Name
- Hydra.Graphql.Syntax: _EnumValuesDefinition :: Name
- Hydra.Graphql.Syntax: _ExecutableDefinition :: Name
- Hydra.Graphql.Syntax: _ExecutableDefinition_fragment :: Name
- Hydra.Graphql.Syntax: _ExecutableDefinition_operation :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_FIELD :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_FRAGMENT_DEFINITION :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_FRAGMENT_SPREAD :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_INLINE_FRAGMENT :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_MUTATION :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_QUERY :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_SUBSCRIPTION :: Name
- Hydra.Graphql.Syntax: _ExecutableDirectiveLocation_VARIABLE_DEFINITION :: Name
- Hydra.Graphql.Syntax: _ExecutableDocument :: Name
- Hydra.Graphql.Syntax: _Field :: Name
- Hydra.Graphql.Syntax: _FieldDefinition :: Name
- Hydra.Graphql.Syntax: _FieldDefinition_ArgumentsDefinition :: Name
- Hydra.Graphql.Syntax: _FieldDefinition_Description :: Name
- Hydra.Graphql.Syntax: _FieldDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _FieldDefinition_Name :: Name
- Hydra.Graphql.Syntax: _FieldDefinition_Type :: Name
- Hydra.Graphql.Syntax: _Field_Alias :: Name
- Hydra.Graphql.Syntax: _Field_Arguments :: Name
- Hydra.Graphql.Syntax: _Field_Directives :: Name
- Hydra.Graphql.Syntax: _Field_Name :: Name
- Hydra.Graphql.Syntax: _Field_SelectionSet :: Name
- Hydra.Graphql.Syntax: _FieldsDefinition :: Name
- Hydra.Graphql.Syntax: _FloatValue :: Name
- Hydra.Graphql.Syntax: _FragmentDefinition :: Name
- Hydra.Graphql.Syntax: _FragmentDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _FragmentDefinition_FragmentName :: Name
- Hydra.Graphql.Syntax: _FragmentDefinition_SelectionSet :: Name
- Hydra.Graphql.Syntax: _FragmentDefinition_TypeCondition :: Name
- Hydra.Graphql.Syntax: _FragmentName :: Name
- Hydra.Graphql.Syntax: _FragmentSpread :: Name
- Hydra.Graphql.Syntax: _FragmentSpread_Directives :: Name
- Hydra.Graphql.Syntax: _FragmentSpread_FragmentName :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence2 :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence2_Amp :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence2_NamedType :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfacesSequence_NamedType :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfaces_seq :: Name
- Hydra.Graphql.Syntax: _ImplementsInterfaces_seq2 :: Name
- Hydra.Graphql.Syntax: _InlineFragment :: Name
- Hydra.Graphql.Syntax: _InlineFragment_Directives :: Name
- Hydra.Graphql.Syntax: _InlineFragment_SelectionSet :: Name
- Hydra.Graphql.Syntax: _InlineFragment_TypeCondition :: Name
- Hydra.Graphql.Syntax: _InputFieldsDefinition :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinition :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence2 :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Description :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Description :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence_InputFieldsDefinition :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Name :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinition_seq :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeDefinition_seq2 :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtension :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence2 :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence_InputFieldsDefinition :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtensionSequence_Name :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtension_seq :: Name
- Hydra.Graphql.Syntax: _InputObjectTypeExtension_seq2 :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition_DefaultValue :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition_Description :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition_Name :: Name
- Hydra.Graphql.Syntax: _InputValueDefinition_Type :: Name
- Hydra.Graphql.Syntax: _IntValue :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinition :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence2 :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Description :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Description :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence_FieldsDefinition :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Name :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinition_seq :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeDefinition_seq2 :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtension :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence2 :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence2_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence3 :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence3_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence3_Name :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence_FieldsDefinition :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtensionSequence_Name :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtension_seq :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtension_seq2 :: Name
- Hydra.Graphql.Syntax: _InterfaceTypeExtension_seq3 :: Name
- Hydra.Graphql.Syntax: _ListType :: Name
- Hydra.Graphql.Syntax: _ListValue :: Name
- Hydra.Graphql.Syntax: _ListValueSequence :: Name
- Hydra.Graphql.Syntax: _ListValue_seq :: Name
- Hydra.Graphql.Syntax: _ListValue_sequence2 :: Name
- Hydra.Graphql.Syntax: _Name :: Name
- Hydra.Graphql.Syntax: _NamedType :: Name
- Hydra.Graphql.Syntax: _NonNullType :: Name
- Hydra.Graphql.Syntax: _NonNullType_list :: Name
- Hydra.Graphql.Syntax: _NonNullType_named :: Name
- Hydra.Graphql.Syntax: _NullValue :: Name
- Hydra.Graphql.Syntax: _ObjectField :: Name
- Hydra.Graphql.Syntax: _ObjectField_Name :: Name
- Hydra.Graphql.Syntax: _ObjectField_Value :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition_Description :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition_FieldsDefinition :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ObjectTypeDefinition_Name :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtension :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence2 :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence2_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence3 :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence3_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence3_Name :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence_FieldsDefinition :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence_ImplementsInterfaces :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtensionSequence_Name :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtension_seq :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtension_seq2 :: Name
- Hydra.Graphql.Syntax: _ObjectTypeExtension_seq3 :: Name
- Hydra.Graphql.Syntax: _ObjectValue :: Name
- Hydra.Graphql.Syntax: _ObjectValueSequence :: Name
- Hydra.Graphql.Syntax: _ObjectValue_seq :: Name
- Hydra.Graphql.Syntax: _ObjectValue_sequence2 :: Name
- Hydra.Graphql.Syntax: _OperationDefinition :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence_Name :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence_OperationType :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence_SelectionSet :: Name
- Hydra.Graphql.Syntax: _OperationDefinitionSequence_VariablesDefinition :: Name
- Hydra.Graphql.Syntax: _OperationDefinition_SelectionSet :: Name
- Hydra.Graphql.Syntax: _OperationDefinition_seq :: Name
- Hydra.Graphql.Syntax: _OperationType :: Name
- Hydra.Graphql.Syntax: _OperationType_Mutation :: Name
- Hydra.Graphql.Syntax: _OperationType_Query :: Name
- Hydra.Graphql.Syntax: _OperationType_Subscription :: Name
- Hydra.Graphql.Syntax: _RootOperationTypeDefinition :: Name
- Hydra.Graphql.Syntax: _RootOperationTypeDefinition_NamedType :: Name
- Hydra.Graphql.Syntax: _RootOperationTypeDefinition_OperationType :: Name
- Hydra.Graphql.Syntax: _ScalarTypeDefinition :: Name
- Hydra.Graphql.Syntax: _ScalarTypeDefinition_Description :: Name
- Hydra.Graphql.Syntax: _ScalarTypeDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _ScalarTypeDefinition_Name :: Name
- Hydra.Graphql.Syntax: _ScalarTypeExtension :: Name
- Hydra.Graphql.Syntax: _ScalarTypeExtension_Directives :: Name
- Hydra.Graphql.Syntax: _ScalarTypeExtension_Name :: Name
- Hydra.Graphql.Syntax: _SchemaDefinition :: Name
- Hydra.Graphql.Syntax: _SchemaDefinition_Description :: Name
- Hydra.Graphql.Syntax: _SchemaDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _SchemaDefinition_RootOperationTypeDefinition :: Name
- Hydra.Graphql.Syntax: _SchemaExtension :: Name
- Hydra.Graphql.Syntax: _SchemaExtensionSequence :: Name
- Hydra.Graphql.Syntax: _SchemaExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _SchemaExtensionSequence_RootOperationTypeDefinition :: Name
- Hydra.Graphql.Syntax: _SchemaExtension_seq :: Name
- Hydra.Graphql.Syntax: _SchemaExtension_sequence2 :: Name
- Hydra.Graphql.Syntax: _Selection :: Name
- Hydra.Graphql.Syntax: _SelectionSet :: Name
- Hydra.Graphql.Syntax: _Selection_Field :: Name
- Hydra.Graphql.Syntax: _Selection_FragmentSpread :: Name
- Hydra.Graphql.Syntax: _Selection_InlineFragment :: Name
- Hydra.Graphql.Syntax: _StringValue :: Name
- Hydra.Graphql.Syntax: _Type :: Name
- Hydra.Graphql.Syntax: _TypeCondition :: Name
- Hydra.Graphql.Syntax: _TypeCondition_NamedType :: Name
- Hydra.Graphql.Syntax: _TypeCondition_On :: Name
- Hydra.Graphql.Syntax: _TypeDefinition :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_enum :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_inputObject :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_interface :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_object :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_scalar :: Name
- Hydra.Graphql.Syntax: _TypeDefinition_union :: Name
- Hydra.Graphql.Syntax: _TypeExtension :: Name
- Hydra.Graphql.Syntax: _TypeExtension_enum :: Name
- Hydra.Graphql.Syntax: _TypeExtension_inputObject :: Name
- Hydra.Graphql.Syntax: _TypeExtension_interface :: Name
- Hydra.Graphql.Syntax: _TypeExtension_object :: Name
- Hydra.Graphql.Syntax: _TypeExtension_scalar :: Name
- Hydra.Graphql.Syntax: _TypeExtension_union :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinition :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinitionOrExtension :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinitionOrExtension_definition :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinitionOrExtension_extension :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinition_directive :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinition_schema :: Name
- Hydra.Graphql.Syntax: _TypeSystemDefinition_type :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_ARGUMENT_DEFINITION :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_ENUM :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_ENUM_VALUE :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_FIELD_DEFINITION :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_INPUT_OBJECT :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_INTERFACE :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_OBJECT :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_SCALAR :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_SCHEMA :: Name
- Hydra.Graphql.Syntax: _TypeSystemDirectiveLocation_UNION :: Name
- Hydra.Graphql.Syntax: _TypeSystemDocment :: Name
- Hydra.Graphql.Syntax: _TypeSystemExtension :: Name
- Hydra.Graphql.Syntax: _TypeSystemExtensionDocument :: Name
- Hydra.Graphql.Syntax: _TypeSystemExtension_schema :: Name
- Hydra.Graphql.Syntax: _TypeSystemExtension_type :: Name
- Hydra.Graphql.Syntax: _Type_list :: Name
- Hydra.Graphql.Syntax: _Type_named :: Name
- Hydra.Graphql.Syntax: _Type_nonNull :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypes :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence2 :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence2_NamedType :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence2_Or :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence_NamedType :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypesSequence_UnionMemberTypes :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypes_seq :: Name
- Hydra.Graphql.Syntax: _UnionMemberTypes_seq2 :: Name
- Hydra.Graphql.Syntax: _UnionTypeDefinition :: Name
- Hydra.Graphql.Syntax: _UnionTypeDefinition_Description :: Name
- Hydra.Graphql.Syntax: _UnionTypeDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _UnionTypeDefinition_Name :: Name
- Hydra.Graphql.Syntax: _UnionTypeDefinition_UnionMemberTypes :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtension :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence2 :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence2_Directives :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence2_Name :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence_Directives :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence_Name :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtensionSequence_UnionMemberTypes :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtension_seq :: Name
- Hydra.Graphql.Syntax: _UnionTypeExtension_seq2 :: Name
- Hydra.Graphql.Syntax: _Value :: Name
- Hydra.Graphql.Syntax: _Value_Variable :: Name
- Hydra.Graphql.Syntax: _Value_boolean :: Name
- Hydra.Graphql.Syntax: _Value_enum :: Name
- Hydra.Graphql.Syntax: _Value_float :: Name
- Hydra.Graphql.Syntax: _Value_int :: Name
- Hydra.Graphql.Syntax: _Value_list :: Name
- Hydra.Graphql.Syntax: _Value_null :: Name
- Hydra.Graphql.Syntax: _Value_object :: Name
- Hydra.Graphql.Syntax: _Value_string :: Name
- Hydra.Graphql.Syntax: _Variable :: Name
- Hydra.Graphql.Syntax: _VariablesDefinition :: Name
- Hydra.Graphql.Syntax: _VariablesDefinition_DefaultValue :: Name
- Hydra.Graphql.Syntax: _VariablesDefinition_Directives :: Name
- Hydra.Graphql.Syntax: _VariablesDefinition_Type :: Name
- Hydra.Graphql.Syntax: _VariablesDefinition_Variable :: Name
- Hydra.Graphql.Syntax: data Alias
- Hydra.Graphql.Syntax: data Argument
- Hydra.Graphql.Syntax: data BooleanValue
- Hydra.Graphql.Syntax: data Definition
- Hydra.Graphql.Syntax: data Directive
- Hydra.Graphql.Syntax: data DirectiveDefinition
- Hydra.Graphql.Syntax: data DirectiveLocation
- Hydra.Graphql.Syntax: data DirectiveLocations
- Hydra.Graphql.Syntax: data DirectiveLocationsSequence
- Hydra.Graphql.Syntax: data DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: data EnumTypeDefinition
- Hydra.Graphql.Syntax: data EnumTypeExtension
- Hydra.Graphql.Syntax: data EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: data EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: data EnumValueDefinition
- Hydra.Graphql.Syntax: data ExecutableDefinition
- Hydra.Graphql.Syntax: data ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: data Field
- Hydra.Graphql.Syntax: data FieldDefinition
- Hydra.Graphql.Syntax: data FragmentDefinition
- Hydra.Graphql.Syntax: data FragmentSpread
- Hydra.Graphql.Syntax: data ImplementsInterfaces
- Hydra.Graphql.Syntax: data ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: data ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: data InlineFragment
- Hydra.Graphql.Syntax: data InputObjectTypeDefinition
- Hydra.Graphql.Syntax: data InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: data InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: data InputObjectTypeExtension
- Hydra.Graphql.Syntax: data InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: data InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: data InputValueDefinition
- Hydra.Graphql.Syntax: data InterfaceTypeDefinition
- Hydra.Graphql.Syntax: data InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: data InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: data InterfaceTypeExtension
- Hydra.Graphql.Syntax: data InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: data InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: data InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: data ListValue
- Hydra.Graphql.Syntax: data NonNullType
- Hydra.Graphql.Syntax: data ObjectField
- Hydra.Graphql.Syntax: data ObjectTypeDefinition
- Hydra.Graphql.Syntax: data ObjectTypeExtension
- Hydra.Graphql.Syntax: data ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: data ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: data ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: data ObjectValue
- Hydra.Graphql.Syntax: data OperationDefinition
- Hydra.Graphql.Syntax: data OperationDefinitionSequence
- Hydra.Graphql.Syntax: data OperationType
- Hydra.Graphql.Syntax: data RootOperationTypeDefinition
- Hydra.Graphql.Syntax: data ScalarTypeDefinition
- Hydra.Graphql.Syntax: data ScalarTypeExtension
- Hydra.Graphql.Syntax: data SchemaDefinition
- Hydra.Graphql.Syntax: data SchemaExtension
- Hydra.Graphql.Syntax: data SchemaExtensionSequence
- Hydra.Graphql.Syntax: data Selection
- Hydra.Graphql.Syntax: data Type
- Hydra.Graphql.Syntax: data TypeCondition
- Hydra.Graphql.Syntax: data TypeDefinition
- Hydra.Graphql.Syntax: data TypeExtension
- Hydra.Graphql.Syntax: data TypeSystemDefinition
- Hydra.Graphql.Syntax: data TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: data TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: data TypeSystemExtension
- Hydra.Graphql.Syntax: data UnionMemberTypes
- Hydra.Graphql.Syntax: data UnionMemberTypesSequence
- Hydra.Graphql.Syntax: data UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: data UnionTypeDefinition
- Hydra.Graphql.Syntax: data UnionTypeExtension
- Hydra.Graphql.Syntax: data UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: data UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: data Value
- Hydra.Graphql.Syntax: data VariablesDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Alias
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Argument
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Arguments
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ArgumentsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.BooleanValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DefaultValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Definition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Description
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Directive
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DirectiveDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DirectiveLocations
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DirectiveLocationsSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Directives
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Document
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.EnumValuesDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ExecutableDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ExecutableDocument
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Field
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FieldDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FloatValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FragmentDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FragmentName
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.FragmentSpread
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ImplementsInterfaces
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InlineFragment
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputFieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InputValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.IntValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ListType
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ListValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Name
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.NamedType
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.NonNullType
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.NullValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectField
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ObjectValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.OperationDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.OperationDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.OperationType
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.RootOperationTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ScalarTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.ScalarTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.SchemaDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.SchemaExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.SchemaExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Selection
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.SelectionSet
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.StringValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Type
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeCondition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemDocment
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionMemberTypes
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionMemberTypesSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Value
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.Variable
- Hydra.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Graphql.Syntax.VariablesDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Alias
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Argument
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Arguments
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ArgumentsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.BooleanValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DefaultValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Definition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Description
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Directive
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DirectiveDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DirectiveLocations
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DirectiveLocationsSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Directives
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Document
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.EnumValuesDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ExecutableDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ExecutableDocument
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Field
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FieldDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FloatValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FragmentDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FragmentName
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.FragmentSpread
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ImplementsInterfaces
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InlineFragment
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputFieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InputValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.IntValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ListType
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ListValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Name
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.NamedType
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.NonNullType
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.NullValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectField
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ObjectValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.OperationDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.OperationDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.OperationType
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.RootOperationTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ScalarTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.ScalarTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.SchemaDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.SchemaExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.SchemaExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Selection
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.SelectionSet
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.StringValue
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Type
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeCondition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemDocment
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionMemberTypes
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionMemberTypesSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Value
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.Variable
- Hydra.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Graphql.Syntax.VariablesDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Alias
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Argument
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Arguments
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ArgumentsDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.BooleanValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DefaultValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Definition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Description
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Directive
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DirectiveDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DirectiveLocations
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DirectiveLocationsSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Directives
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Document
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.EnumValuesDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ExecutableDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ExecutableDocument
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Field
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FieldDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FloatValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FragmentDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FragmentName
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.FragmentSpread
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ImplementsInterfaces
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InlineFragment
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputFieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InputValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.IntValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ListType
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ListValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Name
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.NamedType
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.NonNullType
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.NullValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectField
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ObjectValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.OperationDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.OperationDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.OperationType
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.RootOperationTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ScalarTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.ScalarTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.SchemaDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.SchemaExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.SchemaExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Selection
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.SelectionSet
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.StringValue
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Type
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeCondition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemDocment
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionMemberTypes
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionMemberTypesSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Value
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.Variable
- Hydra.Graphql.Syntax: instance GHC.Read.Read Hydra.Graphql.Syntax.VariablesDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Alias
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Argument
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Arguments
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ArgumentsDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.BooleanValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DefaultValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Definition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Description
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Directive
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DirectiveDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DirectiveLocations
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DirectiveLocationsSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.DirectiveLocationsSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Directives
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Document
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.EnumValuesDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ExecutableDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ExecutableDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ExecutableDocument
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Field
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FieldDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FloatValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FragmentDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FragmentName
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.FragmentSpread
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ImplementsInterfaces
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ImplementsInterfacesSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ImplementsInterfacesSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InlineFragment
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputFieldsDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InputValueDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.IntValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeDefinitionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.InterfaceTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ListType
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ListValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Name
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.NamedType
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.NonNullType
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.NullValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectField
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectTypeExtensionSequence3
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ObjectValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.OperationDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.OperationDefinitionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.OperationType
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.RootOperationTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ScalarTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.ScalarTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.SchemaDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.SchemaExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.SchemaExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Selection
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.SelectionSet
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.StringValue
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Type
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeCondition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemDefinitionOrExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemDirectiveLocation
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemDocment
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionMemberTypes
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionMemberTypesSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionMemberTypesSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionTypeDefinition
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionTypeExtension
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionTypeExtensionSequence
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.UnionTypeExtensionSequence2
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Value
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.Variable
- Hydra.Graphql.Syntax: instance GHC.Show.Show Hydra.Graphql.Syntax.VariablesDefinition
- Hydra.Graphql.Syntax: newtype Arguments
- Hydra.Graphql.Syntax: newtype ArgumentsDefinition
- Hydra.Graphql.Syntax: newtype DefaultValue
- Hydra.Graphql.Syntax: newtype Description
- Hydra.Graphql.Syntax: newtype Directives
- Hydra.Graphql.Syntax: newtype Document
- Hydra.Graphql.Syntax: newtype EnumValue
- Hydra.Graphql.Syntax: newtype EnumValuesDefinition
- Hydra.Graphql.Syntax: newtype ExecutableDocument
- Hydra.Graphql.Syntax: newtype FieldsDefinition
- Hydra.Graphql.Syntax: newtype FloatValue
- Hydra.Graphql.Syntax: newtype FragmentName
- Hydra.Graphql.Syntax: newtype InputFieldsDefinition
- Hydra.Graphql.Syntax: newtype IntValue
- Hydra.Graphql.Syntax: newtype ListType
- Hydra.Graphql.Syntax: newtype Name
- Hydra.Graphql.Syntax: newtype NamedType
- Hydra.Graphql.Syntax: newtype NullValue
- Hydra.Graphql.Syntax: newtype SelectionSet
- Hydra.Graphql.Syntax: newtype StringValue
- Hydra.Graphql.Syntax: newtype TypeSystemDocment
- Hydra.Graphql.Syntax: newtype TypeSystemExtensionDocument
- Hydra.Graphql.Syntax: newtype Variable
- Hydra.Graphql.Syntax: type ListValueSequence = ()
- Hydra.Graphql.Syntax: type ObjectValueSequence = ()
- Hydra.Iana.Linkrelations: LinkRelationTypeAbout :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeAcl :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeAlternate :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeAmphtml :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeAppendix :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeApple_touch_icon :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeApple_touch_startup_image :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeArchives :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeAuthor :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeBlocked_by :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeBookmark :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCanonical :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeChapter :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCite_as :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCollection :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeContents :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeConvertedfrom :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCopyright :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCreate_form :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeCurrent :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeDescribedby :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeDescribes :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeDisclosure :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeDns_prefetch :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeDuplicate :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeEdit :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeEdit_form :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeEdit_media :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeEnclosure :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeExternal :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeFirst :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeGlossary :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeHelp :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeHosts :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeHub :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIcon :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIndex :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalafter :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalbefore :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalcontains :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervaldisjoint :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalduring :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalequals :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalfinishedby :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalfinishes :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalin :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalmeets :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalmetby :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervaloverlappedby :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervaloverlaps :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalstartedby :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeIntervalstarts :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeItem :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeLast :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeLatest_version :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeLicense :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeLinkset :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeLrdd :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeManifest :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMask_icon :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMedia_feed :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMemento :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMicropub :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeModulepreload :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMonitor :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeMonitor_group :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeNext :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeNext_archive :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeNofollow :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeNoopener :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeNoreferrer :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeOpener :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeOpenid2_local_id :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeOpenid2_provider :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeOriginal :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeP3pv1 :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePayment :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePingback :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePreconnect :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePredecessor_version :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrefetch :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePreload :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrerender :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrev :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrev_archive :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePreview :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrevious :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePrivacy_policy :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeProfile :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypePublication :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeRelated :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeReplies :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeRestconf :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeRuleinput :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSearch :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSection :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSelf :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeService :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeService_desc :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeService_doc :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeService_meta :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSiptrunkingcapability :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSponsored :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeStart :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeStatus :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeStylesheet :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSubsection :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSuccessor_version :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeSunset :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeTag :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeTerms_of_service :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeTimegate :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeTimemap :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeType :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeUgc :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeUp :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeVersion_history :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeVia :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeWebmention :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeWorking_copy :: LinkRelationType
- Hydra.Iana.Linkrelations: LinkRelationTypeWorking_copy_of :: LinkRelationType
- Hydra.Iana.Linkrelations: _LinkRelationType :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_about :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_acl :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_alternate :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_amphtml :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_appendix :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_apple_touch_icon :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_apple_touch_startup_image :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_archives :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_author :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_blocked_by :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_bookmark :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_canonical :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_chapter :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_cite_as :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_collection :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_contents :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_convertedfrom :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_copyright :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_create_form :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_current :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_describedby :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_describes :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_disclosure :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_dns_prefetch :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_duplicate :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_edit :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_edit_form :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_edit_media :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_enclosure :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_external :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_first :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_glossary :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_help :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_hosts :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_hub :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_icon :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_index :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalafter :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalbefore :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalcontains :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervaldisjoint :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalduring :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalequals :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalfinishedby :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalfinishes :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalin :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalmeets :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalmetby :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervaloverlappedby :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervaloverlaps :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalstartedby :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_intervalstarts :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_item :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_last :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_latest_version :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_license :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_linkset :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_lrdd :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_manifest :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_mask_icon :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_media_feed :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_memento :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_micropub :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_modulepreload :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_monitor :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_monitor_group :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_next :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_next_archive :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_nofollow :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_noopener :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_noreferrer :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_opener :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_openid2_local_id :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_openid2_provider :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_original :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_p3pv1 :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_payment :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_pingback :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_preconnect :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_predecessor_version :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_prefetch :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_preload :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_prerender :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_prev :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_prev_archive :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_preview :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_previous :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_privacy_policy :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_profile :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_publication :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_related :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_replies :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_restconf :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_ruleinput :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_search :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_section :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_self :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_service :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_service_desc :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_service_doc :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_service_meta :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_siptrunkingcapability :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_sponsored :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_start :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_status :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_stylesheet :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_subsection :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_successor_version :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_sunset :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_tag :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_terms_of_service :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_timegate :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_timemap :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_type :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_ugc :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_up :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_version_history :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_via :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_webmention :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_working_copy :: Name
- Hydra.Iana.Linkrelations: _LinkRelationType_working_copy_of :: Name
- Hydra.Iana.Linkrelations: data LinkRelationType
- Hydra.Iana.Linkrelations: instance GHC.Classes.Eq Hydra.Iana.Linkrelations.LinkRelationType
- Hydra.Iana.Linkrelations: instance GHC.Classes.Ord Hydra.Iana.Linkrelations.LinkRelationType
- Hydra.Iana.Linkrelations: instance GHC.Read.Read Hydra.Iana.Linkrelations.LinkRelationType
- Hydra.Iana.Linkrelations: instance GHC.Show.Show Hydra.Iana.Linkrelations.LinkRelationType
- Hydra.Json.Schema.Coder: constructModule :: t0 -> Graph -> t1 -> [TypeDefinition] -> Either Error (Map String Document)
- Hydra.Json.Schema.Coder: eitherBranch :: String -> [Restriction] -> Schema
- Hydra.Json.Schema.Coder: encodeField :: t0 -> Graph -> FieldType -> Either Error (Keyword, Schema)
- Hydra.Json.Schema.Coder: encodeName :: Name -> String
- Hydra.Json.Schema.Coder: encodeNamedType :: t0 -> Graph -> Name -> Type -> Either Error [Restriction]
- Hydra.Json.Schema.Coder: encodeRecordOrUnion :: t0 -> Graph -> Bool -> Bool -> [FieldType] -> Either Error [Restriction]
- Hydra.Json.Schema.Coder: encodeUnion :: t0 -> Graph -> Bool -> [FieldType] -> Either Error [Restriction]
- Hydra.Json.Schema.Coder: isRequiredField :: FieldType -> Bool
- Hydra.Json.Schema.Coder: jsType :: Bool -> TypeName -> [Restriction]
- Hydra.Json.Schema.Coder: literalTypeName :: LiteralType -> TypeName
- Hydra.Json.Schema.Coder: moduleToJsonSchema :: t0 -> [Definition] -> t1 -> Graph -> Either Error (Map String String)
- Hydra.Json.Schema.Coder: nameToPath :: Name -> String
- Hydra.Json.Schema.Coder: pairRestrictions :: Bool -> [Restriction] -> [Restriction] -> [Restriction]
- Hydra.Json.Schema.Coder: referenceRestriction :: Name -> Restriction
- Hydra.Json.Schema.Coder: transitiveTypeDeps :: Map Name Type -> Set Name -> Type -> Set Name
- Hydra.Json.Schema.Coder: typeDefToDocument :: t0 -> Graph -> Map Name Type -> Name -> Type -> Either Error (String, Document)
- Hydra.Json.Schema.Coder: typeToExpr :: t0 -> Graph -> Bool -> Type -> Either Error [Restriction]
- Hydra.Json.Schema.Coder: typeToKeywordSchemaPair :: t0 -> Graph -> Name -> Type -> Either Error (Keyword, Schema)
- Hydra.Json.Schema.Language: jsonSchemaLanguage :: Language
- Hydra.Json.Schema.Model: AdditionalItemsAny :: Bool -> AdditionalItems
- Hydra.Json.Schema.Model: AdditionalItemsSchema :: Schema -> AdditionalItems
- Hydra.Json.Schema.Model: ArrayRestrictionAdditionalItems :: AdditionalItems -> ArrayRestriction
- Hydra.Json.Schema.Model: ArrayRestrictionItems :: Items -> ArrayRestriction
- Hydra.Json.Schema.Model: ArrayRestrictionMaxItems :: Int -> ArrayRestriction
- Hydra.Json.Schema.Model: ArrayRestrictionMinItems :: Int -> ArrayRestriction
- Hydra.Json.Schema.Model: ArrayRestrictionUniqueItems :: Bool -> ArrayRestriction
- Hydra.Json.Schema.Model: Document :: Maybe String -> Maybe (Map Keyword Schema) -> Schema -> Document
- Hydra.Json.Schema.Model: ItemsSameItems :: Schema -> Items
- Hydra.Json.Schema.Model: ItemsVarItems :: [Schema] -> Items
- Hydra.Json.Schema.Model: Keyword :: String -> Keyword
- Hydra.Json.Schema.Model: Limit :: Int -> Bool -> Limit
- Hydra.Json.Schema.Model: MultipleRestrictionAllOf :: [Schema] -> MultipleRestriction
- Hydra.Json.Schema.Model: MultipleRestrictionAnyOf :: [Schema] -> MultipleRestriction
- Hydra.Json.Schema.Model: MultipleRestrictionEnum :: [Value] -> MultipleRestriction
- Hydra.Json.Schema.Model: MultipleRestrictionNot :: Schema -> MultipleRestriction
- Hydra.Json.Schema.Model: MultipleRestrictionOneOf :: [Schema] -> MultipleRestriction
- Hydra.Json.Schema.Model: NumericRestrictionMaximum :: Limit -> NumericRestriction
- Hydra.Json.Schema.Model: NumericRestrictionMinimum :: Limit -> NumericRestriction
- Hydra.Json.Schema.Model: NumericRestrictionMultipleOf :: Int -> NumericRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionAdditionalProperties :: AdditionalItems -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionDependencies :: Map Keyword SchemaOrArray -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionMaxProperties :: Int -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionMinProperties :: Int -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionPatternProperties :: Map RegularExpression Schema -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionProperties :: Map Keyword Schema -> ObjectRestriction
- Hydra.Json.Schema.Model: ObjectRestrictionRequired :: [Keyword] -> ObjectRestriction
- Hydra.Json.Schema.Model: RegularExpression :: String -> RegularExpression
- Hydra.Json.Schema.Model: RestrictionArray :: ArrayRestriction -> Restriction
- Hydra.Json.Schema.Model: RestrictionDescription :: String -> Restriction
- Hydra.Json.Schema.Model: RestrictionMultiple :: MultipleRestriction -> Restriction
- Hydra.Json.Schema.Model: RestrictionNumber :: NumericRestriction -> Restriction
- Hydra.Json.Schema.Model: RestrictionObject :: ObjectRestriction -> Restriction
- Hydra.Json.Schema.Model: RestrictionReference :: SchemaReference -> Restriction
- Hydra.Json.Schema.Model: RestrictionString :: StringRestriction -> Restriction
- Hydra.Json.Schema.Model: RestrictionTitle :: String -> Restriction
- Hydra.Json.Schema.Model: RestrictionType :: Type -> Restriction
- Hydra.Json.Schema.Model: Schema :: [Restriction] -> Schema
- Hydra.Json.Schema.Model: SchemaOrArrayArray :: [Keyword] -> SchemaOrArray
- Hydra.Json.Schema.Model: SchemaOrArraySchema :: Schema -> SchemaOrArray
- Hydra.Json.Schema.Model: SchemaReference :: String -> SchemaReference
- Hydra.Json.Schema.Model: StringRestrictionMaxLength :: Int -> StringRestriction
- Hydra.Json.Schema.Model: StringRestrictionMinLength :: Int -> StringRestriction
- Hydra.Json.Schema.Model: StringRestrictionPattern :: RegularExpression -> StringRestriction
- Hydra.Json.Schema.Model: TypeMultiple :: [TypeName] -> Type
- Hydra.Json.Schema.Model: TypeNameArray :: TypeName
- Hydra.Json.Schema.Model: TypeNameBoolean :: TypeName
- Hydra.Json.Schema.Model: TypeNameInteger :: TypeName
- Hydra.Json.Schema.Model: TypeNameNull :: TypeName
- Hydra.Json.Schema.Model: TypeNameNumber :: TypeName
- Hydra.Json.Schema.Model: TypeNameObject :: TypeName
- Hydra.Json.Schema.Model: TypeNameString :: TypeName
- Hydra.Json.Schema.Model: TypeSingle :: TypeName -> Type
- Hydra.Json.Schema.Model: [documentDefinitions] :: Document -> Maybe (Map Keyword Schema)
- Hydra.Json.Schema.Model: [documentId] :: Document -> Maybe String
- Hydra.Json.Schema.Model: [documentRoot] :: Document -> Schema
- Hydra.Json.Schema.Model: [limitExclusive] :: Limit -> Bool
- Hydra.Json.Schema.Model: [limitValue] :: Limit -> Int
- Hydra.Json.Schema.Model: [unKeyword] :: Keyword -> String
- Hydra.Json.Schema.Model: [unRegularExpression] :: RegularExpression -> String
- Hydra.Json.Schema.Model: [unSchemaReference] :: SchemaReference -> String
- Hydra.Json.Schema.Model: [unSchema] :: Schema -> [Restriction]
- Hydra.Json.Schema.Model: _AdditionalItems :: Name
- Hydra.Json.Schema.Model: _AdditionalItems_any :: Name
- Hydra.Json.Schema.Model: _AdditionalItems_schema :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction_additionalItems :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction_items :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction_maxItems :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction_minItems :: Name
- Hydra.Json.Schema.Model: _ArrayRestriction_uniqueItems :: Name
- Hydra.Json.Schema.Model: _Document :: Name
- Hydra.Json.Schema.Model: _Document_definitions :: Name
- Hydra.Json.Schema.Model: _Document_id :: Name
- Hydra.Json.Schema.Model: _Document_root :: Name
- Hydra.Json.Schema.Model: _Items :: Name
- Hydra.Json.Schema.Model: _Items_sameItems :: Name
- Hydra.Json.Schema.Model: _Items_varItems :: Name
- Hydra.Json.Schema.Model: _Keyword :: Name
- Hydra.Json.Schema.Model: _Limit :: Name
- Hydra.Json.Schema.Model: _Limit_exclusive :: Name
- Hydra.Json.Schema.Model: _Limit_value :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction_allOf :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction_anyOf :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction_enum :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction_not :: Name
- Hydra.Json.Schema.Model: _MultipleRestriction_oneOf :: Name
- Hydra.Json.Schema.Model: _NumericRestriction :: Name
- Hydra.Json.Schema.Model: _NumericRestriction_maximum :: Name
- Hydra.Json.Schema.Model: _NumericRestriction_minimum :: Name
- Hydra.Json.Schema.Model: _NumericRestriction_multipleOf :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_additionalProperties :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_dependencies :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_maxProperties :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_minProperties :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_patternProperties :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_properties :: Name
- Hydra.Json.Schema.Model: _ObjectRestriction_required :: Name
- Hydra.Json.Schema.Model: _RegularExpression :: Name
- Hydra.Json.Schema.Model: _Restriction :: Name
- Hydra.Json.Schema.Model: _Restriction_array :: Name
- Hydra.Json.Schema.Model: _Restriction_description :: Name
- Hydra.Json.Schema.Model: _Restriction_multiple :: Name
- Hydra.Json.Schema.Model: _Restriction_number :: Name
- Hydra.Json.Schema.Model: _Restriction_object :: Name
- Hydra.Json.Schema.Model: _Restriction_reference :: Name
- Hydra.Json.Schema.Model: _Restriction_string :: Name
- Hydra.Json.Schema.Model: _Restriction_title :: Name
- Hydra.Json.Schema.Model: _Restriction_type :: Name
- Hydra.Json.Schema.Model: _Schema :: Name
- Hydra.Json.Schema.Model: _SchemaOrArray :: Name
- Hydra.Json.Schema.Model: _SchemaOrArray_array :: Name
- Hydra.Json.Schema.Model: _SchemaOrArray_schema :: Name
- Hydra.Json.Schema.Model: _SchemaReference :: Name
- Hydra.Json.Schema.Model: _StringRestriction :: Name
- Hydra.Json.Schema.Model: _StringRestriction_maxLength :: Name
- Hydra.Json.Schema.Model: _StringRestriction_minLength :: Name
- Hydra.Json.Schema.Model: _StringRestriction_pattern :: Name
- Hydra.Json.Schema.Model: _Type :: Name
- Hydra.Json.Schema.Model: _TypeName :: Name
- Hydra.Json.Schema.Model: _TypeName_array :: Name
- Hydra.Json.Schema.Model: _TypeName_boolean :: Name
- Hydra.Json.Schema.Model: _TypeName_integer :: Name
- Hydra.Json.Schema.Model: _TypeName_null :: Name
- Hydra.Json.Schema.Model: _TypeName_number :: Name
- Hydra.Json.Schema.Model: _TypeName_object :: Name
- Hydra.Json.Schema.Model: _TypeName_string :: Name
- Hydra.Json.Schema.Model: _Type_multiple :: Name
- Hydra.Json.Schema.Model: _Type_single :: Name
- Hydra.Json.Schema.Model: data AdditionalItems
- Hydra.Json.Schema.Model: data ArrayRestriction
- Hydra.Json.Schema.Model: data Document
- Hydra.Json.Schema.Model: data Items
- Hydra.Json.Schema.Model: data Limit
- Hydra.Json.Schema.Model: data MultipleRestriction
- Hydra.Json.Schema.Model: data NumericRestriction
- Hydra.Json.Schema.Model: data ObjectRestriction
- Hydra.Json.Schema.Model: data Restriction
- Hydra.Json.Schema.Model: data SchemaOrArray
- Hydra.Json.Schema.Model: data StringRestriction
- Hydra.Json.Schema.Model: data Type
- Hydra.Json.Schema.Model: data TypeName
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.AdditionalItems
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.ArrayRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Document
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Items
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Keyword
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Limit
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.MultipleRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.NumericRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.ObjectRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.RegularExpression
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Restriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Schema
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.SchemaOrArray
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.SchemaReference
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.StringRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.Type
- Hydra.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Json.Schema.Model.TypeName
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.AdditionalItems
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.ArrayRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Document
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Items
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Keyword
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Limit
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.MultipleRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.NumericRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.ObjectRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.RegularExpression
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Restriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Schema
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.SchemaOrArray
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.SchemaReference
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.StringRestriction
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.Type
- Hydra.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Json.Schema.Model.TypeName
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.AdditionalItems
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.ArrayRestriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Document
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Items
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Keyword
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Limit
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.MultipleRestriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.NumericRestriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.ObjectRestriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.RegularExpression
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Restriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Schema
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.SchemaOrArray
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.SchemaReference
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.StringRestriction
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.Type
- Hydra.Json.Schema.Model: instance GHC.Read.Read Hydra.Json.Schema.Model.TypeName
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.AdditionalItems
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.ArrayRestriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Document
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Items
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Keyword
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Limit
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.MultipleRestriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.NumericRestriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.ObjectRestriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.RegularExpression
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Restriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Schema
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.SchemaOrArray
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.SchemaReference
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.StringRestriction
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.Type
- Hydra.Json.Schema.Model: instance GHC.Show.Show Hydra.Json.Schema.Model.TypeName
- Hydra.Json.Schema.Model: newtype Keyword
- Hydra.Json.Schema.Model: newtype RegularExpression
- Hydra.Json.Schema.Model: newtype Schema
- Hydra.Json.Schema.Model: newtype SchemaReference
- Hydra.Json.Schema.Serde: additionalItemsToExpr :: AdditionalItems -> Value
- Hydra.Json.Schema.Serde: arrayRestrictionToExpr :: ArrayRestriction -> (String, Value)
- Hydra.Json.Schema.Serde: fromObject :: Value -> Map String Value
- Hydra.Json.Schema.Serde: integerToExpr :: Int -> Value
- Hydra.Json.Schema.Serde: itemsToExpr :: Items -> (String, Value)
- Hydra.Json.Schema.Serde: jsonSchemaDocumentToJsonValue :: Document -> Value
- Hydra.Json.Schema.Serde: jsonSchemaDocumentToString :: Document -> String
- Hydra.Json.Schema.Serde: keyAdditionalItems :: String
- Hydra.Json.Schema.Serde: keyAdditionalProperties :: String
- Hydra.Json.Schema.Serde: keyAllOf :: String
- Hydra.Json.Schema.Serde: keyAnyOf :: String
- Hydra.Json.Schema.Serde: keyDefinitions :: String
- Hydra.Json.Schema.Serde: keyDependencies :: String
- Hydra.Json.Schema.Serde: keyDescription :: String
- Hydra.Json.Schema.Serde: keyEnum :: String
- Hydra.Json.Schema.Serde: keyExclusiveMaximum :: String
- Hydra.Json.Schema.Serde: keyExclusiveMinimum :: String
- Hydra.Json.Schema.Serde: keyId :: String
- Hydra.Json.Schema.Serde: keyItems :: String
- Hydra.Json.Schema.Serde: keyLabel :: String
- Hydra.Json.Schema.Serde: keyMaxItems :: String
- Hydra.Json.Schema.Serde: keyMaxLength :: String
- Hydra.Json.Schema.Serde: keyMaxProperties :: String
- Hydra.Json.Schema.Serde: keyMaximum :: String
- Hydra.Json.Schema.Serde: keyMinItems :: String
- Hydra.Json.Schema.Serde: keyMinLength :: String
- Hydra.Json.Schema.Serde: keyMinProperties :: String
- Hydra.Json.Schema.Serde: keyMinimum :: String
- Hydra.Json.Schema.Serde: keyMultipleOf :: String
- Hydra.Json.Schema.Serde: keyNot :: String
- Hydra.Json.Schema.Serde: keyOneOf :: String
- Hydra.Json.Schema.Serde: keyPattern :: String
- Hydra.Json.Schema.Serde: keyPatternProperties :: String
- Hydra.Json.Schema.Serde: keyProperties :: String
- Hydra.Json.Schema.Serde: keyRef :: String
- Hydra.Json.Schema.Serde: keyRequired :: String
- Hydra.Json.Schema.Serde: keySchema :: String
- Hydra.Json.Schema.Serde: keyTitle :: String
- Hydra.Json.Schema.Serde: keyType :: String
- Hydra.Json.Schema.Serde: keyUniqueItems :: String
- Hydra.Json.Schema.Serde: keywordSchemaOrArrayToExpr :: (Keyword, SchemaOrArray) -> (String, Value)
- Hydra.Json.Schema.Serde: keywordToExpr :: Keyword -> Value
- Hydra.Json.Schema.Serde: multipleRestrictionToExpr :: MultipleRestriction -> (String, Value)
- Hydra.Json.Schema.Serde: numericRestrictionToExpr :: NumericRestriction -> [(String, Value)]
- Hydra.Json.Schema.Serde: objectRestrictionToExpr :: ObjectRestriction -> (String, Value)
- Hydra.Json.Schema.Serde: patternPropertyToExpr :: (RegularExpression, Schema) -> (String, Value)
- Hydra.Json.Schema.Serde: propertyToExpr :: (Keyword, Schema) -> (String, Value)
- Hydra.Json.Schema.Serde: restrictionToExpr :: Restriction -> [(String, Value)]
- Hydra.Json.Schema.Serde: schemaOrArrayToExpr :: SchemaOrArray -> Value
- Hydra.Json.Schema.Serde: schemaReferenceToExpr :: SchemaReference -> Value
- Hydra.Json.Schema.Serde: schemaToExpr :: Schema -> Value
- Hydra.Json.Schema.Serde: stringRestrictionToExpr :: StringRestriction -> (String, Value)
- Hydra.Json.Schema.Serde: toObject :: [(String, Maybe Value)] -> Value
- Hydra.Json.Schema.Serde: typeNameToExpr :: TypeName -> Value
- Hydra.Json.Schema.Serde: typeToExpr :: Type -> Value
- Hydra.Kusto.Kql: BetweenExpression :: Bool -> Expression -> Expression -> Expression -> BetweenExpression
- Hydra.Kusto.Kql: BinaryExpression :: Expression -> BinaryOperator -> Expression -> BinaryExpression
- Hydra.Kusto.Kql: BinaryOperatorCaseInsensitiveEqual :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorContains :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorDivide :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorEndsWith :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorEqual :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorGreater :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorGreaterOrEqual :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorHas :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorHasPrefix :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorHasSuffix :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorLess :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorLessOrEqual :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorMatchesRegex :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorMinus :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorNotEqual :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorPlus :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorStartsWith :: BinaryOperator
- Hydra.Kusto.Kql: BinaryOperatorTimes :: BinaryOperator
- Hydra.Kusto.Kql: BuiltInFunctionAgo :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionBin :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionCount :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionDcount :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionEndofday :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionExtract :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionFormat_datetime :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionMaterialize :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionNow :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionRange :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionStartofday :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionStrcat :: BuiltInFunction
- Hydra.Kusto.Kql: BuiltInFunctionTodynamic :: BuiltInFunction
- Hydra.Kusto.Kql: ColumnAlias :: ColumnName -> ColumnName -> ColumnAlias
- Hydra.Kusto.Kql: ColumnAssignment :: ColumnName -> Expression -> ColumnAssignment
- Hydra.Kusto.Kql: ColumnName :: String -> ColumnName
- Hydra.Kusto.Kql: ColumnsAll :: Columns
- Hydra.Kusto.Kql: ColumnsSingle :: ColumnName -> Columns
- Hydra.Kusto.Kql: CommandCount :: Command
- Hydra.Kusto.Kql: CommandDistinct :: [ColumnName] -> Command
- Hydra.Kusto.Kql: CommandExtend :: [ColumnAssignment] -> Command
- Hydra.Kusto.Kql: CommandJoin :: JoinCommand -> Command
- Hydra.Kusto.Kql: CommandLimit :: Int -> Command
- Hydra.Kusto.Kql: CommandMvexpand :: ColumnName -> Command
- Hydra.Kusto.Kql: CommandOrderBy :: [SortBy] -> Command
- Hydra.Kusto.Kql: CommandParse :: ParseCommand -> Command
- Hydra.Kusto.Kql: CommandPrint :: PrintCommand -> Command
- Hydra.Kusto.Kql: CommandProject :: [Projection] -> Command
- Hydra.Kusto.Kql: CommandProjectAway :: [ColumnName] -> Command
- Hydra.Kusto.Kql: CommandProjectRename :: [ColumnAlias] -> Command
- Hydra.Kusto.Kql: CommandRender :: String -> Command
- Hydra.Kusto.Kql: CommandSearch :: SearchCommand -> Command
- Hydra.Kusto.Kql: CommandSortBy :: [SortBy] -> Command
- Hydra.Kusto.Kql: CommandSummarize :: SummarizeCommand -> Command
- Hydra.Kusto.Kql: CommandTake :: Int -> Command
- Hydra.Kusto.Kql: CommandTop :: TopCommand -> Command
- Hydra.Kusto.Kql: CommandUnion :: UnionCommand -> Command
- Hydra.Kusto.Kql: CommandWhere :: Expression -> Command
- Hydra.Kusto.Kql: Datetime :: String -> Datetime
- Hydra.Kusto.Kql: Duration :: Int -> DurationUnit -> Duration
- Hydra.Kusto.Kql: DurationUnitHour :: DurationUnit
- Hydra.Kusto.Kql: DurationUnitMinute :: DurationUnit
- Hydra.Kusto.Kql: DurationUnitSecond :: DurationUnit
- Hydra.Kusto.Kql: ExpressionAnd :: [Expression] -> Expression
- Hydra.Kusto.Kql: ExpressionAny :: Expression
- Hydra.Kusto.Kql: ExpressionBetween :: BetweenExpression -> Expression
- Hydra.Kusto.Kql: ExpressionBinary :: BinaryExpression -> Expression
- Hydra.Kusto.Kql: ExpressionBraces :: Expression -> Expression
- Hydra.Kusto.Kql: ExpressionColumn :: ColumnName -> Expression
- Hydra.Kusto.Kql: ExpressionDataset :: TableName -> Expression
- Hydra.Kusto.Kql: ExpressionIndex :: IndexExpression -> Expression
- Hydra.Kusto.Kql: ExpressionList :: [Expression] -> Expression
- Hydra.Kusto.Kql: ExpressionLiteral :: Literal -> Expression
- Hydra.Kusto.Kql: ExpressionOr :: [Expression] -> Expression
- Hydra.Kusto.Kql: ExpressionParentheses :: Expression -> Expression
- Hydra.Kusto.Kql: ExpressionProperty :: PropertyExpression -> Expression
- Hydra.Kusto.Kql: ExpressionUnary :: UnaryExpression -> Expression
- Hydra.Kusto.Kql: FunctionBuiltIn :: BuiltInFunction -> Function
- Hydra.Kusto.Kql: FunctionCustom :: FunctionName -> Function
- Hydra.Kusto.Kql: FunctionExpression :: Function -> [Expression] -> FunctionExpression
- Hydra.Kusto.Kql: FunctionName :: String -> FunctionName
- Hydra.Kusto.Kql: IndexExpression :: Expression -> String -> IndexExpression
- Hydra.Kusto.Kql: JoinCommand :: JoinKind -> TableName -> Expression -> JoinCommand
- Hydra.Kusto.Kql: JoinKindFullouter :: JoinKind
- Hydra.Kusto.Kql: JoinKindInner :: JoinKind
- Hydra.Kusto.Kql: JoinKindInnerunique :: JoinKind
- Hydra.Kusto.Kql: JoinKindLeftanti :: JoinKind
- Hydra.Kusto.Kql: JoinKindLeftouter :: JoinKind
- Hydra.Kusto.Kql: JoinKindLeftsemi :: JoinKind
- Hydra.Kusto.Kql: JoinKindRightanti :: JoinKind
- Hydra.Kusto.Kql: JoinKindRightouter :: JoinKind
- Hydra.Kusto.Kql: JoinKindRightsemi :: JoinKind
- Hydra.Kusto.Kql: KeyValuePair :: String -> Expression -> KeyValuePair
- Hydra.Kusto.Kql: LetBinding :: ColumnName -> Expression -> LetBinding
- Hydra.Kusto.Kql: LetExpression :: [LetBinding] -> TabularExpression -> LetExpression
- Hydra.Kusto.Kql: LiteralBoolean :: Bool -> Literal
- Hydra.Kusto.Kql: LiteralDatetime :: Datetime -> Literal
- Hydra.Kusto.Kql: LiteralDouble :: Double -> Literal
- Hydra.Kusto.Kql: LiteralDuration :: Duration -> Literal
- Hydra.Kusto.Kql: LiteralInt :: Int -> Literal
- Hydra.Kusto.Kql: LiteralLong :: Int64 -> Literal
- Hydra.Kusto.Kql: LiteralString :: String -> Literal
- Hydra.Kusto.Kql: OrderAscending :: Order
- Hydra.Kusto.Kql: OrderDescending :: Order
- Hydra.Kusto.Kql: Parameter :: String -> Literal -> Parameter
- Hydra.Kusto.Kql: ParseCommand :: ColumnName -> [KeyValuePair] -> ParseCommand
- Hydra.Kusto.Kql: PipelineExpression :: [TabularExpression] -> PipelineExpression
- Hydra.Kusto.Kql: PrintCommand :: Maybe ColumnName -> Expression -> PrintCommand
- Hydra.Kusto.Kql: Projection :: Expression -> Maybe ColumnName -> Projection
- Hydra.Kusto.Kql: PropertyExpression :: Expression -> String -> PropertyExpression
- Hydra.Kusto.Kql: Query :: TabularExpression -> Query
- Hydra.Kusto.Kql: SearchCommand :: [TableName] -> Expression -> SearchCommand
- Hydra.Kusto.Kql: SortBy :: ColumnName -> Maybe Order -> SortBy
- Hydra.Kusto.Kql: SummarizeCommand :: [ColumnAssignment] -> [ColumnName] -> SummarizeCommand
- Hydra.Kusto.Kql: TableName :: String -> TableName
- Hydra.Kusto.Kql: TabularExpressionCommand :: Command -> TabularExpression
- Hydra.Kusto.Kql: TabularExpressionLet :: LetExpression -> TabularExpression
- Hydra.Kusto.Kql: TabularExpressionPipeline :: PipelineExpression -> TabularExpression
- Hydra.Kusto.Kql: TabularExpressionTable :: TableName -> TabularExpression
- Hydra.Kusto.Kql: TopCommand :: Int -> [SortBy] -> TopCommand
- Hydra.Kusto.Kql: UnaryExpression :: UnaryOperator -> Expression -> UnaryExpression
- Hydra.Kusto.Kql: UnaryOperatorNot :: UnaryOperator
- Hydra.Kusto.Kql: UnionCommand :: [Parameter] -> Maybe UnionKind -> Maybe ColumnName -> Maybe Bool -> [TableName] -> UnionCommand
- Hydra.Kusto.Kql: UnionKindInner :: UnionKind
- Hydra.Kusto.Kql: UnionKindOuter :: UnionKind
- Hydra.Kusto.Kql: [betweenExpressionExpression] :: BetweenExpression -> Expression
- Hydra.Kusto.Kql: [betweenExpressionLowerBound] :: BetweenExpression -> Expression
- Hydra.Kusto.Kql: [betweenExpressionNot] :: BetweenExpression -> Bool
- Hydra.Kusto.Kql: [betweenExpressionUpperBound] :: BetweenExpression -> Expression
- Hydra.Kusto.Kql: [binaryExpressionLeft] :: BinaryExpression -> Expression
- Hydra.Kusto.Kql: [binaryExpressionOperator] :: BinaryExpression -> BinaryOperator
- Hydra.Kusto.Kql: [binaryExpressionRight] :: BinaryExpression -> Expression
- Hydra.Kusto.Kql: [columnAliasAlias] :: ColumnAlias -> ColumnName
- Hydra.Kusto.Kql: [columnAliasColumn] :: ColumnAlias -> ColumnName
- Hydra.Kusto.Kql: [columnAssignmentColumn] :: ColumnAssignment -> ColumnName
- Hydra.Kusto.Kql: [columnAssignmentExpression] :: ColumnAssignment -> Expression
- Hydra.Kusto.Kql: [durationUnit] :: Duration -> DurationUnit
- Hydra.Kusto.Kql: [durationValue] :: Duration -> Int
- Hydra.Kusto.Kql: [functionExpressionArguments] :: FunctionExpression -> [Expression]
- Hydra.Kusto.Kql: [functionExpressionFunction] :: FunctionExpression -> Function
- Hydra.Kusto.Kql: [indexExpressionExpression] :: IndexExpression -> Expression
- Hydra.Kusto.Kql: [indexExpressionIndex] :: IndexExpression -> String
- Hydra.Kusto.Kql: [joinCommandExpression] :: JoinCommand -> TableName
- Hydra.Kusto.Kql: [joinCommandKind] :: JoinCommand -> JoinKind
- Hydra.Kusto.Kql: [joinCommandOn] :: JoinCommand -> Expression
- Hydra.Kusto.Kql: [keyValuePairKey] :: KeyValuePair -> String
- Hydra.Kusto.Kql: [keyValuePairValue] :: KeyValuePair -> Expression
- Hydra.Kusto.Kql: [letBindingExpression] :: LetBinding -> Expression
- Hydra.Kusto.Kql: [letBindingName] :: LetBinding -> ColumnName
- Hydra.Kusto.Kql: [letExpressionBindings] :: LetExpression -> [LetBinding]
- Hydra.Kusto.Kql: [letExpressionExpression] :: LetExpression -> TabularExpression
- Hydra.Kusto.Kql: [parameterKey] :: Parameter -> String
- Hydra.Kusto.Kql: [parameterValue] :: Parameter -> Literal
- Hydra.Kusto.Kql: [parseCommandColumn] :: ParseCommand -> ColumnName
- Hydra.Kusto.Kql: [parseCommandPairs] :: ParseCommand -> [KeyValuePair]
- Hydra.Kusto.Kql: [printCommandColumn] :: PrintCommand -> Maybe ColumnName
- Hydra.Kusto.Kql: [printCommandExpression] :: PrintCommand -> Expression
- Hydra.Kusto.Kql: [projectionAlias] :: Projection -> Maybe ColumnName
- Hydra.Kusto.Kql: [projectionExpression] :: Projection -> Expression
- Hydra.Kusto.Kql: [propertyExpressionExpression] :: PropertyExpression -> Expression
- Hydra.Kusto.Kql: [propertyExpressionProperty] :: PropertyExpression -> String
- Hydra.Kusto.Kql: [searchCommandDatasets] :: SearchCommand -> [TableName]
- Hydra.Kusto.Kql: [searchCommandPattern] :: SearchCommand -> Expression
- Hydra.Kusto.Kql: [sortByColumn] :: SortBy -> ColumnName
- Hydra.Kusto.Kql: [sortByOrder] :: SortBy -> Maybe Order
- Hydra.Kusto.Kql: [summarizeCommandBy] :: SummarizeCommand -> [ColumnName]
- Hydra.Kusto.Kql: [summarizeCommandColumns] :: SummarizeCommand -> [ColumnAssignment]
- Hydra.Kusto.Kql: [topCommandCount] :: TopCommand -> Int
- Hydra.Kusto.Kql: [topCommandSort] :: TopCommand -> [SortBy]
- Hydra.Kusto.Kql: [unColumnName] :: ColumnName -> String
- Hydra.Kusto.Kql: [unDatetime] :: Datetime -> String
- Hydra.Kusto.Kql: [unFunctionName] :: FunctionName -> String
- Hydra.Kusto.Kql: [unPipelineExpression] :: PipelineExpression -> [TabularExpression]
- Hydra.Kusto.Kql: [unQuery] :: Query -> TabularExpression
- Hydra.Kusto.Kql: [unTableName] :: TableName -> String
- Hydra.Kusto.Kql: [unaryExpressionExpression] :: UnaryExpression -> Expression
- Hydra.Kusto.Kql: [unaryExpressionOperator] :: UnaryExpression -> UnaryOperator
- Hydra.Kusto.Kql: [unionCommandIsFuzzy] :: UnionCommand -> Maybe Bool
- Hydra.Kusto.Kql: [unionCommandKind] :: UnionCommand -> Maybe UnionKind
- Hydra.Kusto.Kql: [unionCommandParameters] :: UnionCommand -> [Parameter]
- Hydra.Kusto.Kql: [unionCommandTables] :: UnionCommand -> [TableName]
- Hydra.Kusto.Kql: [unionCommandWithSource] :: UnionCommand -> Maybe ColumnName
- Hydra.Kusto.Kql: _BetweenExpression :: Name
- Hydra.Kusto.Kql: _BetweenExpression_expression :: Name
- Hydra.Kusto.Kql: _BetweenExpression_lowerBound :: Name
- Hydra.Kusto.Kql: _BetweenExpression_not :: Name
- Hydra.Kusto.Kql: _BetweenExpression_upperBound :: Name
- Hydra.Kusto.Kql: _BinaryExpression :: Name
- Hydra.Kusto.Kql: _BinaryExpression_left :: Name
- Hydra.Kusto.Kql: _BinaryExpression_operator :: Name
- Hydra.Kusto.Kql: _BinaryExpression_right :: Name
- Hydra.Kusto.Kql: _BinaryOperator :: Name
- Hydra.Kusto.Kql: _BinaryOperator_caseInsensitiveEqual :: Name
- Hydra.Kusto.Kql: _BinaryOperator_contains :: Name
- Hydra.Kusto.Kql: _BinaryOperator_divide :: Name
- Hydra.Kusto.Kql: _BinaryOperator_endsWith :: Name
- Hydra.Kusto.Kql: _BinaryOperator_equal :: Name
- Hydra.Kusto.Kql: _BinaryOperator_greater :: Name
- Hydra.Kusto.Kql: _BinaryOperator_greaterOrEqual :: Name
- Hydra.Kusto.Kql: _BinaryOperator_has :: Name
- Hydra.Kusto.Kql: _BinaryOperator_hasPrefix :: Name
- Hydra.Kusto.Kql: _BinaryOperator_hasSuffix :: Name
- Hydra.Kusto.Kql: _BinaryOperator_less :: Name
- Hydra.Kusto.Kql: _BinaryOperator_lessOrEqual :: Name
- Hydra.Kusto.Kql: _BinaryOperator_matchesRegex :: Name
- Hydra.Kusto.Kql: _BinaryOperator_minus :: Name
- Hydra.Kusto.Kql: _BinaryOperator_notEqual :: Name
- Hydra.Kusto.Kql: _BinaryOperator_plus :: Name
- Hydra.Kusto.Kql: _BinaryOperator_startsWith :: Name
- Hydra.Kusto.Kql: _BinaryOperator_times :: Name
- Hydra.Kusto.Kql: _BuiltInFunction :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_ago :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_bin :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_count :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_dcount :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_endofday :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_extract :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_format_datetime :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_materialize :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_now :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_range :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_startofday :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_strcat :: Name
- Hydra.Kusto.Kql: _BuiltInFunction_todynamic :: Name
- Hydra.Kusto.Kql: _ColumnAlias :: Name
- Hydra.Kusto.Kql: _ColumnAlias_alias :: Name
- Hydra.Kusto.Kql: _ColumnAlias_column :: Name
- Hydra.Kusto.Kql: _ColumnAssignment :: Name
- Hydra.Kusto.Kql: _ColumnAssignment_column :: Name
- Hydra.Kusto.Kql: _ColumnAssignment_expression :: Name
- Hydra.Kusto.Kql: _ColumnName :: Name
- Hydra.Kusto.Kql: _Columns :: Name
- Hydra.Kusto.Kql: _Columns_all :: Name
- Hydra.Kusto.Kql: _Columns_single :: Name
- Hydra.Kusto.Kql: _Command :: Name
- Hydra.Kusto.Kql: _Command_count :: Name
- Hydra.Kusto.Kql: _Command_distinct :: Name
- Hydra.Kusto.Kql: _Command_extend :: Name
- Hydra.Kusto.Kql: _Command_join :: Name
- Hydra.Kusto.Kql: _Command_limit :: Name
- Hydra.Kusto.Kql: _Command_mvexpand :: Name
- Hydra.Kusto.Kql: _Command_orderBy :: Name
- Hydra.Kusto.Kql: _Command_parse :: Name
- Hydra.Kusto.Kql: _Command_print :: Name
- Hydra.Kusto.Kql: _Command_project :: Name
- Hydra.Kusto.Kql: _Command_projectAway :: Name
- Hydra.Kusto.Kql: _Command_projectRename :: Name
- Hydra.Kusto.Kql: _Command_render :: Name
- Hydra.Kusto.Kql: _Command_search :: Name
- Hydra.Kusto.Kql: _Command_sortBy :: Name
- Hydra.Kusto.Kql: _Command_summarize :: Name
- Hydra.Kusto.Kql: _Command_take :: Name
- Hydra.Kusto.Kql: _Command_top :: Name
- Hydra.Kusto.Kql: _Command_union :: Name
- Hydra.Kusto.Kql: _Command_where :: Name
- Hydra.Kusto.Kql: _Datetime :: Name
- Hydra.Kusto.Kql: _Duration :: Name
- Hydra.Kusto.Kql: _DurationUnit :: Name
- Hydra.Kusto.Kql: _DurationUnit_hour :: Name
- Hydra.Kusto.Kql: _DurationUnit_minute :: Name
- Hydra.Kusto.Kql: _DurationUnit_second :: Name
- Hydra.Kusto.Kql: _Duration_unit :: Name
- Hydra.Kusto.Kql: _Duration_value :: Name
- Hydra.Kusto.Kql: _Expression :: Name
- Hydra.Kusto.Kql: _Expression_and :: Name
- Hydra.Kusto.Kql: _Expression_any :: Name
- Hydra.Kusto.Kql: _Expression_between :: Name
- Hydra.Kusto.Kql: _Expression_binary :: Name
- Hydra.Kusto.Kql: _Expression_braces :: Name
- Hydra.Kusto.Kql: _Expression_column :: Name
- Hydra.Kusto.Kql: _Expression_dataset :: Name
- Hydra.Kusto.Kql: _Expression_index :: Name
- Hydra.Kusto.Kql: _Expression_list :: Name
- Hydra.Kusto.Kql: _Expression_literal :: Name
- Hydra.Kusto.Kql: _Expression_or :: Name
- Hydra.Kusto.Kql: _Expression_parentheses :: Name
- Hydra.Kusto.Kql: _Expression_property :: Name
- Hydra.Kusto.Kql: _Expression_unary :: Name
- Hydra.Kusto.Kql: _Function :: Name
- Hydra.Kusto.Kql: _FunctionExpression :: Name
- Hydra.Kusto.Kql: _FunctionExpression_arguments :: Name
- Hydra.Kusto.Kql: _FunctionExpression_function :: Name
- Hydra.Kusto.Kql: _FunctionName :: Name
- Hydra.Kusto.Kql: _Function_builtIn :: Name
- Hydra.Kusto.Kql: _Function_custom :: Name
- Hydra.Kusto.Kql: _IndexExpression :: Name
- Hydra.Kusto.Kql: _IndexExpression_expression :: Name
- Hydra.Kusto.Kql: _IndexExpression_index :: Name
- Hydra.Kusto.Kql: _JoinCommand :: Name
- Hydra.Kusto.Kql: _JoinCommand_expression :: Name
- Hydra.Kusto.Kql: _JoinCommand_kind :: Name
- Hydra.Kusto.Kql: _JoinCommand_on :: Name
- Hydra.Kusto.Kql: _JoinKind :: Name
- Hydra.Kusto.Kql: _JoinKind_fullouter :: Name
- Hydra.Kusto.Kql: _JoinKind_inner :: Name
- Hydra.Kusto.Kql: _JoinKind_innerunique :: Name
- Hydra.Kusto.Kql: _JoinKind_leftanti :: Name
- Hydra.Kusto.Kql: _JoinKind_leftouter :: Name
- Hydra.Kusto.Kql: _JoinKind_leftsemi :: Name
- Hydra.Kusto.Kql: _JoinKind_rightanti :: Name
- Hydra.Kusto.Kql: _JoinKind_rightouter :: Name
- Hydra.Kusto.Kql: _JoinKind_rightsemi :: Name
- Hydra.Kusto.Kql: _KeyValuePair :: Name
- Hydra.Kusto.Kql: _KeyValuePair_key :: Name
- Hydra.Kusto.Kql: _KeyValuePair_value :: Name
- Hydra.Kusto.Kql: _LetBinding :: Name
- Hydra.Kusto.Kql: _LetBinding_expression :: Name
- Hydra.Kusto.Kql: _LetBinding_name :: Name
- Hydra.Kusto.Kql: _LetExpression :: Name
- Hydra.Kusto.Kql: _LetExpression_bindings :: Name
- Hydra.Kusto.Kql: _LetExpression_expression :: Name
- Hydra.Kusto.Kql: _Literal :: Name
- Hydra.Kusto.Kql: _Literal_boolean :: Name
- Hydra.Kusto.Kql: _Literal_datetime :: Name
- Hydra.Kusto.Kql: _Literal_double :: Name
- Hydra.Kusto.Kql: _Literal_duration :: Name
- Hydra.Kusto.Kql: _Literal_int :: Name
- Hydra.Kusto.Kql: _Literal_long :: Name
- Hydra.Kusto.Kql: _Literal_string :: Name
- Hydra.Kusto.Kql: _Order :: Name
- Hydra.Kusto.Kql: _Order_ascending :: Name
- Hydra.Kusto.Kql: _Order_descending :: Name
- Hydra.Kusto.Kql: _Parameter :: Name
- Hydra.Kusto.Kql: _Parameter_key :: Name
- Hydra.Kusto.Kql: _Parameter_value :: Name
- Hydra.Kusto.Kql: _ParseCommand :: Name
- Hydra.Kusto.Kql: _ParseCommand_column :: Name
- Hydra.Kusto.Kql: _ParseCommand_pairs :: Name
- Hydra.Kusto.Kql: _PipelineExpression :: Name
- Hydra.Kusto.Kql: _PrintCommand :: Name
- Hydra.Kusto.Kql: _PrintCommand_column :: Name
- Hydra.Kusto.Kql: _PrintCommand_expression :: Name
- Hydra.Kusto.Kql: _Projection :: Name
- Hydra.Kusto.Kql: _Projection_alias :: Name
- Hydra.Kusto.Kql: _Projection_expression :: Name
- Hydra.Kusto.Kql: _PropertyExpression :: Name
- Hydra.Kusto.Kql: _PropertyExpression_expression :: Name
- Hydra.Kusto.Kql: _PropertyExpression_property :: Name
- Hydra.Kusto.Kql: _Query :: Name
- Hydra.Kusto.Kql: _SearchCommand :: Name
- Hydra.Kusto.Kql: _SearchCommand_datasets :: Name
- Hydra.Kusto.Kql: _SearchCommand_pattern :: Name
- Hydra.Kusto.Kql: _SortBy :: Name
- Hydra.Kusto.Kql: _SortBy_column :: Name
- Hydra.Kusto.Kql: _SortBy_order :: Name
- Hydra.Kusto.Kql: _SummarizeCommand :: Name
- Hydra.Kusto.Kql: _SummarizeCommand_by :: Name
- Hydra.Kusto.Kql: _SummarizeCommand_columns :: Name
- Hydra.Kusto.Kql: _TableName :: Name
- Hydra.Kusto.Kql: _TabularExpression :: Name
- Hydra.Kusto.Kql: _TabularExpression_command :: Name
- Hydra.Kusto.Kql: _TabularExpression_let :: Name
- Hydra.Kusto.Kql: _TabularExpression_pipeline :: Name
- Hydra.Kusto.Kql: _TabularExpression_table :: Name
- Hydra.Kusto.Kql: _TopCommand :: Name
- Hydra.Kusto.Kql: _TopCommand_count :: Name
- Hydra.Kusto.Kql: _TopCommand_sort :: Name
- Hydra.Kusto.Kql: _UnaryExpression :: Name
- Hydra.Kusto.Kql: _UnaryExpression_expression :: Name
- Hydra.Kusto.Kql: _UnaryExpression_operator :: Name
- Hydra.Kusto.Kql: _UnaryOperator :: Name
- Hydra.Kusto.Kql: _UnaryOperator_not :: Name
- Hydra.Kusto.Kql: _UnionCommand :: Name
- Hydra.Kusto.Kql: _UnionCommand_isFuzzy :: Name
- Hydra.Kusto.Kql: _UnionCommand_kind :: Name
- Hydra.Kusto.Kql: _UnionCommand_parameters :: Name
- Hydra.Kusto.Kql: _UnionCommand_tables :: Name
- Hydra.Kusto.Kql: _UnionCommand_withSource :: Name
- Hydra.Kusto.Kql: _UnionKind :: Name
- Hydra.Kusto.Kql: _UnionKind_inner :: Name
- Hydra.Kusto.Kql: _UnionKind_outer :: Name
- Hydra.Kusto.Kql: data BetweenExpression
- Hydra.Kusto.Kql: data BinaryExpression
- Hydra.Kusto.Kql: data BinaryOperator
- Hydra.Kusto.Kql: data BuiltInFunction
- Hydra.Kusto.Kql: data ColumnAlias
- Hydra.Kusto.Kql: data ColumnAssignment
- Hydra.Kusto.Kql: data Columns
- Hydra.Kusto.Kql: data Command
- Hydra.Kusto.Kql: data Duration
- Hydra.Kusto.Kql: data DurationUnit
- Hydra.Kusto.Kql: data Expression
- Hydra.Kusto.Kql: data Function
- Hydra.Kusto.Kql: data FunctionExpression
- Hydra.Kusto.Kql: data IndexExpression
- Hydra.Kusto.Kql: data JoinCommand
- Hydra.Kusto.Kql: data JoinKind
- Hydra.Kusto.Kql: data KeyValuePair
- Hydra.Kusto.Kql: data LetBinding
- Hydra.Kusto.Kql: data LetExpression
- Hydra.Kusto.Kql: data Literal
- Hydra.Kusto.Kql: data Order
- Hydra.Kusto.Kql: data Parameter
- Hydra.Kusto.Kql: data ParseCommand
- Hydra.Kusto.Kql: data PrintCommand
- Hydra.Kusto.Kql: data Projection
- Hydra.Kusto.Kql: data PropertyExpression
- Hydra.Kusto.Kql: data SearchCommand
- Hydra.Kusto.Kql: data SortBy
- Hydra.Kusto.Kql: data SummarizeCommand
- Hydra.Kusto.Kql: data TabularExpression
- Hydra.Kusto.Kql: data TopCommand
- Hydra.Kusto.Kql: data UnaryExpression
- Hydra.Kusto.Kql: data UnaryOperator
- Hydra.Kusto.Kql: data UnionCommand
- Hydra.Kusto.Kql: data UnionKind
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.BetweenExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.BinaryExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.BinaryOperator
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.BuiltInFunction
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.ColumnAlias
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.ColumnAssignment
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.ColumnName
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Columns
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Command
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Datetime
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Duration
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.DurationUnit
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Expression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Function
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.FunctionExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.FunctionName
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.IndexExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.JoinCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.JoinKind
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.KeyValuePair
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.LetBinding
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.LetExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Literal
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Order
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Parameter
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.ParseCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.PipelineExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.PrintCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Projection
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.PropertyExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.Query
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.SearchCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.SortBy
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.SummarizeCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.TableName
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.TabularExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.TopCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.UnaryExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.UnaryOperator
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.UnionCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Eq Hydra.Kusto.Kql.UnionKind
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.BetweenExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.BinaryExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.BinaryOperator
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.BuiltInFunction
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.ColumnAlias
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.ColumnAssignment
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.ColumnName
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Columns
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Command
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Datetime
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Duration
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.DurationUnit
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Expression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Function
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.FunctionExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.FunctionName
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.IndexExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.JoinCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.JoinKind
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.KeyValuePair
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.LetBinding
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.LetExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Literal
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Order
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Parameter
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.ParseCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.PipelineExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.PrintCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Projection
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.PropertyExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.Query
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.SearchCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.SortBy
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.SummarizeCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.TableName
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.TabularExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.TopCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.UnaryExpression
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.UnaryOperator
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.UnionCommand
- Hydra.Kusto.Kql: instance GHC.Classes.Ord Hydra.Kusto.Kql.UnionKind
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.BetweenExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.BinaryExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.BinaryOperator
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.BuiltInFunction
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.ColumnAlias
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.ColumnAssignment
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.ColumnName
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Columns
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Command
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Datetime
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Duration
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.DurationUnit
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Expression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Function
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.FunctionExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.FunctionName
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.IndexExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.JoinCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.JoinKind
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.KeyValuePair
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.LetBinding
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.LetExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Literal
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Order
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Parameter
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.ParseCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.PipelineExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.PrintCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Projection
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.PropertyExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.Query
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.SearchCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.SortBy
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.SummarizeCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.TableName
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.TabularExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.TopCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.UnaryExpression
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.UnaryOperator
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.UnionCommand
- Hydra.Kusto.Kql: instance GHC.Read.Read Hydra.Kusto.Kql.UnionKind
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.BetweenExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.BinaryExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.BinaryOperator
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.BuiltInFunction
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.ColumnAlias
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.ColumnAssignment
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.ColumnName
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Columns
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Command
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Datetime
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Duration
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.DurationUnit
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Expression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Function
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.FunctionExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.FunctionName
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.IndexExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.JoinCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.JoinKind
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.KeyValuePair
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.LetBinding
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.LetExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Literal
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Order
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Parameter
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.ParseCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.PipelineExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.PrintCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Projection
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.PropertyExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.Query
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.SearchCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.SortBy
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.SummarizeCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.TableName
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.TabularExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.TopCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.UnaryExpression
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.UnaryOperator
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.UnionCommand
- Hydra.Kusto.Kql: instance GHC.Show.Show Hydra.Kusto.Kql.UnionKind
- Hydra.Kusto.Kql: newtype ColumnName
- Hydra.Kusto.Kql: newtype Datetime
- Hydra.Kusto.Kql: newtype FunctionName
- Hydra.Kusto.Kql: newtype PipelineExpression
- Hydra.Kusto.Kql: newtype Query
- Hydra.Kusto.Kql: newtype TableName
- Hydra.Osv.Schema: Credited :: String -> Maybe [Url] -> Credited
- Hydra.Osv.Schema: Ecosystem :: String -> Ecosystem
- Hydra.Osv.Schema: Entry :: Maybe OsvVersion -> Id -> Timestamp -> Maybe Timestamp -> Maybe Timestamp -> Maybe [Id] -> Maybe [Id] -> Maybe String -> Maybe Markdown -> Maybe [Severity] -> Maybe [PackageVersions] -> Maybe [Reference] -> Maybe [Credited] -> Entry
- Hydra.Osv.Schema: EventFixed :: Version -> Event
- Hydra.Osv.Schema: EventIntroduced :: VersionOrZero -> Event
- Hydra.Osv.Schema: EventLastAffected :: Version -> Event
- Hydra.Osv.Schema: EventLimit :: VersionOrStar -> Event
- Hydra.Osv.Schema: Id :: String -> Id
- Hydra.Osv.Schema: Markdown :: String -> Markdown
- Hydra.Osv.Schema: OsvVersion :: String -> OsvVersion
- Hydra.Osv.Schema: Package :: Ecosystem -> String -> Maybe Url -> Package
- Hydra.Osv.Schema: PackageVersions :: Package -> Maybe [VersionRange] -> Maybe [Version] -> PackageVersions
- Hydra.Osv.Schema: Reference :: ReferenceType -> Url -> Reference
- Hydra.Osv.Schema: ReferenceType :: String -> ReferenceType
- Hydra.Osv.Schema: Severity :: SeverityType -> SeverityScore -> Severity
- Hydra.Osv.Schema: SeverityScore :: String -> SeverityScore
- Hydra.Osv.Schema: SeverityType :: String -> SeverityType
- Hydra.Osv.Schema: Timestamp :: String -> Timestamp
- Hydra.Osv.Schema: Url :: String -> Url
- Hydra.Osv.Schema: Version :: String -> Version
- Hydra.Osv.Schema: VersionOrStar :: String -> VersionOrStar
- Hydra.Osv.Schema: VersionOrZero :: String -> VersionOrZero
- Hydra.Osv.Schema: VersionRange :: VersionType -> Maybe Url -> [Event] -> VersionRange
- Hydra.Osv.Schema: VersionType :: String -> VersionType
- Hydra.Osv.Schema: [creditedContact] :: Credited -> Maybe [Url]
- Hydra.Osv.Schema: [creditedName] :: Credited -> String
- Hydra.Osv.Schema: [entryAffected] :: Entry -> Maybe [PackageVersions]
- Hydra.Osv.Schema: [entryAliases] :: Entry -> Maybe [Id]
- Hydra.Osv.Schema: [entryCredits] :: Entry -> Maybe [Credited]
- Hydra.Osv.Schema: [entryDetails] :: Entry -> Maybe Markdown
- Hydra.Osv.Schema: [entryId] :: Entry -> Id
- Hydra.Osv.Schema: [entryModified] :: Entry -> Timestamp
- Hydra.Osv.Schema: [entryPublished] :: Entry -> Maybe Timestamp
- Hydra.Osv.Schema: [entryReferences] :: Entry -> Maybe [Reference]
- Hydra.Osv.Schema: [entryRelated] :: Entry -> Maybe [Id]
- Hydra.Osv.Schema: [entrySchemaVersion] :: Entry -> Maybe OsvVersion
- Hydra.Osv.Schema: [entrySeverity] :: Entry -> Maybe [Severity]
- Hydra.Osv.Schema: [entrySummary] :: Entry -> Maybe String
- Hydra.Osv.Schema: [entryWithdrawn] :: Entry -> Maybe Timestamp
- Hydra.Osv.Schema: [packageEcosystem] :: Package -> Ecosystem
- Hydra.Osv.Schema: [packageName] :: Package -> String
- Hydra.Osv.Schema: [packagePurl] :: Package -> Maybe Url
- Hydra.Osv.Schema: [packageVersionsPackage] :: PackageVersions -> Package
- Hydra.Osv.Schema: [packageVersionsRanges] :: PackageVersions -> Maybe [VersionRange]
- Hydra.Osv.Schema: [packageVersionsVersions] :: PackageVersions -> Maybe [Version]
- Hydra.Osv.Schema: [referenceType] :: Reference -> ReferenceType
- Hydra.Osv.Schema: [referenceUrl] :: Reference -> Url
- Hydra.Osv.Schema: [severityScore] :: Severity -> SeverityScore
- Hydra.Osv.Schema: [severityType] :: Severity -> SeverityType
- Hydra.Osv.Schema: [unEcosystem] :: Ecosystem -> String
- Hydra.Osv.Schema: [unId] :: Id -> String
- Hydra.Osv.Schema: [unMarkdown] :: Markdown -> String
- Hydra.Osv.Schema: [unOsvVersion] :: OsvVersion -> String
- Hydra.Osv.Schema: [unReferenceType] :: ReferenceType -> String
- Hydra.Osv.Schema: [unSeverityScore] :: SeverityScore -> String
- Hydra.Osv.Schema: [unSeverityType] :: SeverityType -> String
- Hydra.Osv.Schema: [unTimestamp] :: Timestamp -> String
- Hydra.Osv.Schema: [unUrl] :: Url -> String
- Hydra.Osv.Schema: [unVersionOrStar] :: VersionOrStar -> String
- Hydra.Osv.Schema: [unVersionOrZero] :: VersionOrZero -> String
- Hydra.Osv.Schema: [unVersionType] :: VersionType -> String
- Hydra.Osv.Schema: [unVersion] :: Version -> String
- Hydra.Osv.Schema: [versionRangeEvents] :: VersionRange -> [Event]
- Hydra.Osv.Schema: [versionRangeRepo] :: VersionRange -> Maybe Url
- Hydra.Osv.Schema: [versionRangeType] :: VersionRange -> VersionType
- Hydra.Osv.Schema: _Credited :: Name
- Hydra.Osv.Schema: _Credited_contact :: Name
- Hydra.Osv.Schema: _Credited_name :: Name
- Hydra.Osv.Schema: _Ecosystem :: Name
- Hydra.Osv.Schema: _Entry :: Name
- Hydra.Osv.Schema: _Entry_affected :: Name
- Hydra.Osv.Schema: _Entry_aliases :: Name
- Hydra.Osv.Schema: _Entry_credits :: Name
- Hydra.Osv.Schema: _Entry_details :: Name
- Hydra.Osv.Schema: _Entry_id :: Name
- Hydra.Osv.Schema: _Entry_modified :: Name
- Hydra.Osv.Schema: _Entry_published :: Name
- Hydra.Osv.Schema: _Entry_references :: Name
- Hydra.Osv.Schema: _Entry_related :: Name
- Hydra.Osv.Schema: _Entry_schemaVersion :: Name
- Hydra.Osv.Schema: _Entry_severity :: Name
- Hydra.Osv.Schema: _Entry_summary :: Name
- Hydra.Osv.Schema: _Entry_withdrawn :: Name
- Hydra.Osv.Schema: _Event :: Name
- Hydra.Osv.Schema: _Event_fixed :: Name
- Hydra.Osv.Schema: _Event_introduced :: Name
- Hydra.Osv.Schema: _Event_lastAffected :: Name
- Hydra.Osv.Schema: _Event_limit :: Name
- Hydra.Osv.Schema: _Id :: Name
- Hydra.Osv.Schema: _Markdown :: Name
- Hydra.Osv.Schema: _OsvVersion :: Name
- Hydra.Osv.Schema: _Package :: Name
- Hydra.Osv.Schema: _PackageVersions :: Name
- Hydra.Osv.Schema: _PackageVersions_package :: Name
- Hydra.Osv.Schema: _PackageVersions_ranges :: Name
- Hydra.Osv.Schema: _PackageVersions_versions :: Name
- Hydra.Osv.Schema: _Package_ecosystem :: Name
- Hydra.Osv.Schema: _Package_name :: Name
- Hydra.Osv.Schema: _Package_purl :: Name
- Hydra.Osv.Schema: _Reference :: Name
- Hydra.Osv.Schema: _ReferenceType :: Name
- Hydra.Osv.Schema: _Reference_type :: Name
- Hydra.Osv.Schema: _Reference_url :: Name
- Hydra.Osv.Schema: _Severity :: Name
- Hydra.Osv.Schema: _SeverityScore :: Name
- Hydra.Osv.Schema: _SeverityType :: Name
- Hydra.Osv.Schema: _Severity_score :: Name
- Hydra.Osv.Schema: _Severity_type :: Name
- Hydra.Osv.Schema: _Timestamp :: Name
- Hydra.Osv.Schema: _Url :: Name
- Hydra.Osv.Schema: _Version :: Name
- Hydra.Osv.Schema: _VersionOrStar :: Name
- Hydra.Osv.Schema: _VersionOrZero :: Name
- Hydra.Osv.Schema: _VersionRange :: Name
- Hydra.Osv.Schema: _VersionRange_events :: Name
- Hydra.Osv.Schema: _VersionRange_repo :: Name
- Hydra.Osv.Schema: _VersionRange_type :: Name
- Hydra.Osv.Schema: _VersionType :: Name
- Hydra.Osv.Schema: data Credited
- Hydra.Osv.Schema: data Entry
- Hydra.Osv.Schema: data Event
- Hydra.Osv.Schema: data Package
- Hydra.Osv.Schema: data PackageVersions
- Hydra.Osv.Schema: data Reference
- Hydra.Osv.Schema: data Severity
- Hydra.Osv.Schema: data VersionRange
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Credited
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Ecosystem
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Entry
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Event
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Id
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Markdown
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.OsvVersion
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Package
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.PackageVersions
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Reference
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.ReferenceType
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Severity
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.SeverityScore
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.SeverityType
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Timestamp
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Url
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.Version
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.VersionOrStar
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.VersionOrZero
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.VersionRange
- Hydra.Osv.Schema: instance GHC.Classes.Eq Hydra.Osv.Schema.VersionType
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Credited
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Ecosystem
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Entry
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Event
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Id
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Markdown
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.OsvVersion
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Package
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.PackageVersions
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Reference
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.ReferenceType
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Severity
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.SeverityScore
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.SeverityType
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Timestamp
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Url
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.Version
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.VersionOrStar
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.VersionOrZero
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.VersionRange
- Hydra.Osv.Schema: instance GHC.Classes.Ord Hydra.Osv.Schema.VersionType
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Credited
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Ecosystem
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Entry
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Event
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Id
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Markdown
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.OsvVersion
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Package
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.PackageVersions
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Reference
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.ReferenceType
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Severity
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.SeverityScore
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.SeverityType
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Timestamp
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Url
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.Version
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.VersionOrStar
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.VersionOrZero
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.VersionRange
- Hydra.Osv.Schema: instance GHC.Read.Read Hydra.Osv.Schema.VersionType
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Credited
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Ecosystem
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Entry
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Event
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Id
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Markdown
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.OsvVersion
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Package
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.PackageVersions
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Reference
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.ReferenceType
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Severity
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.SeverityScore
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.SeverityType
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Timestamp
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Url
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.Version
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.VersionOrStar
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.VersionOrZero
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.VersionRange
- Hydra.Osv.Schema: instance GHC.Show.Show Hydra.Osv.Schema.VersionType
- Hydra.Osv.Schema: newtype Ecosystem
- Hydra.Osv.Schema: newtype Id
- Hydra.Osv.Schema: newtype Markdown
- Hydra.Osv.Schema: newtype OsvVersion
- Hydra.Osv.Schema: newtype ReferenceType
- Hydra.Osv.Schema: newtype SeverityScore
- Hydra.Osv.Schema: newtype SeverityType
- Hydra.Osv.Schema: newtype Timestamp
- Hydra.Osv.Schema: newtype Url
- Hydra.Osv.Schema: newtype Version
- Hydra.Osv.Schema: newtype VersionOrStar
- Hydra.Osv.Schema: newtype VersionOrZero
- Hydra.Osv.Schema: newtype VersionType
- Hydra.Parquet.Format: AesGcmCtrV1 :: Maybe ByteString -> Maybe ByteString -> Maybe Bool -> AesGcmCtrV1
- Hydra.Parquet.Format: AesGcmV1 :: Maybe ByteString -> Maybe ByteString -> Maybe Bool -> AesGcmV1
- Hydra.Parquet.Format: BloomFilterAlgorithmBlock :: BloomFilterAlgorithm
- Hydra.Parquet.Format: BloomFilterCompressionUncompressed :: BloomFilterCompression
- Hydra.Parquet.Format: BloomFilterHashXxhash :: BloomFilterHash
- Hydra.Parquet.Format: BloomFilterHeader :: Int -> BloomFilterAlgorithm -> BloomFilterHash -> BloomFilterCompression -> BloomFilterHeader
- Hydra.Parquet.Format: BoundaryOrderAscending :: BoundaryOrder
- Hydra.Parquet.Format: BoundaryOrderDescending :: BoundaryOrder
- Hydra.Parquet.Format: BoundaryOrderUnordered :: BoundaryOrder
- Hydra.Parquet.Format: ColumnChunk :: Maybe String -> Int64 -> Maybe ColumnMetaData -> Maybe Int64 -> Maybe Int -> Maybe Int64 -> Maybe Int -> Maybe ColumnCryptoMetaData -> Maybe ByteString -> ColumnChunk
- Hydra.Parquet.Format: ColumnCryptoMetaDataEncryptionWithColumnKey :: EncryptionWithColumnKey -> ColumnCryptoMetaData
- Hydra.Parquet.Format: ColumnCryptoMetaDataEncryptionWithFooterKey :: EncryptionWithFooterKey -> ColumnCryptoMetaData
- Hydra.Parquet.Format: ColumnIndex :: [Bool] -> [ByteString] -> [ByteString] -> BoundaryOrder -> Maybe [Int64] -> ColumnIndex
- Hydra.Parquet.Format: ColumnMetaData :: Type -> [Encoding] -> [String] -> CompressionCodec -> Int64 -> Int64 -> Int64 -> Maybe [KeyValue] -> Int64 -> Maybe Int64 -> Maybe Int64 -> Maybe Statistics -> Maybe [PageEncodingStats] -> Maybe Int64 -> ColumnMetaData
- Hydra.Parquet.Format: ColumnOrderTypeOrder :: ColumnOrder
- Hydra.Parquet.Format: CompressionCodecBrotli :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecGzip :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecLz4Raw :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecLzo :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecSnappy :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecUncompressed :: CompressionCodec
- Hydra.Parquet.Format: CompressionCodecZstd :: CompressionCodec
- Hydra.Parquet.Format: DataPageHeader :: Int -> Encoding -> Encoding -> Encoding -> Maybe Statistics -> DataPageHeader
- Hydra.Parquet.Format: DataPageHeaderV2 :: Int -> Int -> Int -> Encoding -> Int -> Int -> Maybe Bool -> Maybe Statistics -> DataPageHeaderV2
- Hydra.Parquet.Format: DecimalType :: Int -> Int -> DecimalType
- Hydra.Parquet.Format: DictionaryPageHeader :: Int -> Encoding -> Maybe Bool -> DictionaryPageHeader
- Hydra.Parquet.Format: EncodingBitPacked :: Encoding
- Hydra.Parquet.Format: EncodingByteStreamSplit :: Encoding
- Hydra.Parquet.Format: EncodingDeltaBinaryPacked :: Encoding
- Hydra.Parquet.Format: EncodingDeltaByteArray :: Encoding
- Hydra.Parquet.Format: EncodingDeltaLengthByteArray :: Encoding
- Hydra.Parquet.Format: EncodingPlain :: Encoding
- Hydra.Parquet.Format: EncodingRle :: Encoding
- Hydra.Parquet.Format: EncodingRleDictionary :: Encoding
- Hydra.Parquet.Format: EncryptionAlgorithmAesGcmCtrV1 :: AesGcmCtrV1 -> EncryptionAlgorithm
- Hydra.Parquet.Format: EncryptionAlgorithmAesGcmV1 :: AesGcmV1 -> EncryptionAlgorithm
- Hydra.Parquet.Format: EncryptionWithColumnKey :: [String] -> Maybe ByteString -> EncryptionWithColumnKey
- Hydra.Parquet.Format: FieldRepetitionTypeOptional :: FieldRepetitionType
- Hydra.Parquet.Format: FieldRepetitionTypeRepeated :: FieldRepetitionType
- Hydra.Parquet.Format: FieldRepetitionTypeRequired :: FieldRepetitionType
- Hydra.Parquet.Format: FileCryptoMetaData :: EncryptionAlgorithm -> Maybe ByteString -> FileCryptoMetaData
- Hydra.Parquet.Format: FileMetaData :: Int -> [SchemaElement] -> Int64 -> [RowGroup] -> Maybe [KeyValue] -> Maybe String -> Maybe [ColumnOrder] -> Maybe EncryptionAlgorithm -> Maybe ByteString -> FileMetaData
- Hydra.Parquet.Format: IntType :: Int16 -> Bool -> IntType
- Hydra.Parquet.Format: KeyValue :: String -> Maybe String -> KeyValue
- Hydra.Parquet.Format: LogicalTypeBson :: LogicalType
- Hydra.Parquet.Format: LogicalTypeDate :: LogicalType
- Hydra.Parquet.Format: LogicalTypeDecimal :: DecimalType -> LogicalType
- Hydra.Parquet.Format: LogicalTypeEnum :: LogicalType
- Hydra.Parquet.Format: LogicalTypeInteger :: IntType -> LogicalType
- Hydra.Parquet.Format: LogicalTypeJson :: LogicalType
- Hydra.Parquet.Format: LogicalTypeList :: LogicalType
- Hydra.Parquet.Format: LogicalTypeMap :: LogicalType
- Hydra.Parquet.Format: LogicalTypeString :: LogicalType
- Hydra.Parquet.Format: LogicalTypeTime :: TimeType -> LogicalType
- Hydra.Parquet.Format: LogicalTypeTimestamp :: TimestampType -> LogicalType
- Hydra.Parquet.Format: LogicalTypeUnknown :: LogicalType
- Hydra.Parquet.Format: LogicalTypeUuid :: LogicalType
- Hydra.Parquet.Format: OffsetIndex :: [PageLocation] -> OffsetIndex
- Hydra.Parquet.Format: PageEncodingStats :: PageType -> Encoding -> Int -> PageEncodingStats
- Hydra.Parquet.Format: PageHeader :: PageType -> Int -> Int -> Maybe Int -> Maybe DataPageHeader -> Maybe IndexPageHeader -> Maybe DictionaryPageHeader -> Maybe DataPageHeaderV2 -> PageHeader
- Hydra.Parquet.Format: PageLocation :: Int64 -> Int -> Int64 -> PageLocation
- Hydra.Parquet.Format: PageTypeDataPage :: PageType
- Hydra.Parquet.Format: PageTypeDataPageV2 :: PageType
- Hydra.Parquet.Format: PageTypeDictionaryPage :: PageType
- Hydra.Parquet.Format: PageTypeIndexPage :: PageType
- Hydra.Parquet.Format: RowGroup :: [ColumnChunk] -> Int64 -> Int64 -> Maybe [SortingColumn] -> Maybe Int64 -> Maybe Int64 -> Maybe Int16 -> RowGroup
- Hydra.Parquet.Format: SchemaElement :: Maybe Type -> Maybe Int -> Maybe FieldRepetitionType -> String -> Maybe Int -> Maybe Int -> Maybe LogicalType -> SchemaElement
- Hydra.Parquet.Format: SortingColumn :: Int -> Bool -> Bool -> SortingColumn
- Hydra.Parquet.Format: Statistics :: Maybe Integer -> Maybe Integer -> Maybe ByteString -> Maybe ByteString -> Statistics
- Hydra.Parquet.Format: TimeType :: Bool -> TimeUnit -> TimeType
- Hydra.Parquet.Format: TimeUnitMicros :: TimeUnit
- Hydra.Parquet.Format: TimeUnitMillis :: TimeUnit
- Hydra.Parquet.Format: TimeUnitNanos :: TimeUnit
- Hydra.Parquet.Format: TimestampType :: Bool -> TimeUnit -> TimestampType
- Hydra.Parquet.Format: TypeBoolean :: Type
- Hydra.Parquet.Format: TypeByteArray :: Type
- Hydra.Parquet.Format: TypeDouble :: Type
- Hydra.Parquet.Format: TypeFixedLenByteArray :: Type
- Hydra.Parquet.Format: TypeFloat :: Type
- Hydra.Parquet.Format: TypeInt32 :: Type
- Hydra.Parquet.Format: TypeInt64 :: Type
- Hydra.Parquet.Format: [aesGcmCtrV1AadFileUnique] :: AesGcmCtrV1 -> Maybe ByteString
- Hydra.Parquet.Format: [aesGcmCtrV1AadPrefix] :: AesGcmCtrV1 -> Maybe ByteString
- Hydra.Parquet.Format: [aesGcmCtrV1SupplyAadPrefix] :: AesGcmCtrV1 -> Maybe Bool
- Hydra.Parquet.Format: [aesGcmV1AadFileUnique] :: AesGcmV1 -> Maybe ByteString
- Hydra.Parquet.Format: [aesGcmV1AadPrefix] :: AesGcmV1 -> Maybe ByteString
- Hydra.Parquet.Format: [aesGcmV1SupplyAadPrefix] :: AesGcmV1 -> Maybe Bool
- Hydra.Parquet.Format: [bloomFilterHeaderAlgorithm] :: BloomFilterHeader -> BloomFilterAlgorithm
- Hydra.Parquet.Format: [bloomFilterHeaderCompression] :: BloomFilterHeader -> BloomFilterCompression
- Hydra.Parquet.Format: [bloomFilterHeaderHash] :: BloomFilterHeader -> BloomFilterHash
- Hydra.Parquet.Format: [bloomFilterHeaderNumBytes] :: BloomFilterHeader -> Int
- Hydra.Parquet.Format: [columnChunkColumnIndexLength] :: ColumnChunk -> Maybe Int
- Hydra.Parquet.Format: [columnChunkColumnIndexOffset] :: ColumnChunk -> Maybe Int64
- Hydra.Parquet.Format: [columnChunkCryptoMetadata] :: ColumnChunk -> Maybe ColumnCryptoMetaData
- Hydra.Parquet.Format: [columnChunkEncryptedColumnMetadata] :: ColumnChunk -> Maybe ByteString
- Hydra.Parquet.Format: [columnChunkFileOffset] :: ColumnChunk -> Int64
- Hydra.Parquet.Format: [columnChunkFilePath] :: ColumnChunk -> Maybe String
- Hydra.Parquet.Format: [columnChunkMetaData] :: ColumnChunk -> Maybe ColumnMetaData
- Hydra.Parquet.Format: [columnChunkOffsetIndexLength] :: ColumnChunk -> Maybe Int
- Hydra.Parquet.Format: [columnChunkOffsetIndexOffset] :: ColumnChunk -> Maybe Int64
- Hydra.Parquet.Format: [columnIndexBoundaryOrder] :: ColumnIndex -> BoundaryOrder
- Hydra.Parquet.Format: [columnIndexMaxValues] :: ColumnIndex -> [ByteString]
- Hydra.Parquet.Format: [columnIndexMinValues] :: ColumnIndex -> [ByteString]
- Hydra.Parquet.Format: [columnIndexNullCounts] :: ColumnIndex -> Maybe [Int64]
- Hydra.Parquet.Format: [columnIndexNullPages] :: ColumnIndex -> [Bool]
- Hydra.Parquet.Format: [columnMetaDataBloomFilterOffset] :: ColumnMetaData -> Maybe Int64
- Hydra.Parquet.Format: [columnMetaDataCodec] :: ColumnMetaData -> CompressionCodec
- Hydra.Parquet.Format: [columnMetaDataDataPageOffset] :: ColumnMetaData -> Int64
- Hydra.Parquet.Format: [columnMetaDataDictionaryPageOffset] :: ColumnMetaData -> Maybe Int64
- Hydra.Parquet.Format: [columnMetaDataEncodingStats] :: ColumnMetaData -> Maybe [PageEncodingStats]
- Hydra.Parquet.Format: [columnMetaDataEncodings] :: ColumnMetaData -> [Encoding]
- Hydra.Parquet.Format: [columnMetaDataIndexPageOffset] :: ColumnMetaData -> Maybe Int64
- Hydra.Parquet.Format: [columnMetaDataKeyValueMetadata] :: ColumnMetaData -> Maybe [KeyValue]
- Hydra.Parquet.Format: [columnMetaDataNumValues] :: ColumnMetaData -> Int64
- Hydra.Parquet.Format: [columnMetaDataPathInSchema] :: ColumnMetaData -> [String]
- Hydra.Parquet.Format: [columnMetaDataStatistics] :: ColumnMetaData -> Maybe Statistics
- Hydra.Parquet.Format: [columnMetaDataTotalCompressedSize] :: ColumnMetaData -> Int64
- Hydra.Parquet.Format: [columnMetaDataTotalUncompressedSize] :: ColumnMetaData -> Int64
- Hydra.Parquet.Format: [columnMetaDataType] :: ColumnMetaData -> Type
- Hydra.Parquet.Format: [dataPageHeaderDefinitionLevelEncoding] :: DataPageHeader -> Encoding
- Hydra.Parquet.Format: [dataPageHeaderEncoding] :: DataPageHeader -> Encoding
- Hydra.Parquet.Format: [dataPageHeaderNumValues] :: DataPageHeader -> Int
- Hydra.Parquet.Format: [dataPageHeaderRepetitionLevelEncoding] :: DataPageHeader -> Encoding
- Hydra.Parquet.Format: [dataPageHeaderStatistics] :: DataPageHeader -> Maybe Statistics
- Hydra.Parquet.Format: [dataPageHeaderV2DefinitionLevelsByteLength] :: DataPageHeaderV2 -> Int
- Hydra.Parquet.Format: [dataPageHeaderV2Encoding] :: DataPageHeaderV2 -> Encoding
- Hydra.Parquet.Format: [dataPageHeaderV2IsCompressed] :: DataPageHeaderV2 -> Maybe Bool
- Hydra.Parquet.Format: [dataPageHeaderV2NumNulls] :: DataPageHeaderV2 -> Int
- Hydra.Parquet.Format: [dataPageHeaderV2NumRows] :: DataPageHeaderV2 -> Int
- Hydra.Parquet.Format: [dataPageHeaderV2NumValues] :: DataPageHeaderV2 -> Int
- Hydra.Parquet.Format: [dataPageHeaderV2RepetitionLevelsByteLength] :: DataPageHeaderV2 -> Int
- Hydra.Parquet.Format: [dataPageHeaderV2Statistics] :: DataPageHeaderV2 -> Maybe Statistics
- Hydra.Parquet.Format: [decimalTypePrecision] :: DecimalType -> Int
- Hydra.Parquet.Format: [decimalTypeScale] :: DecimalType -> Int
- Hydra.Parquet.Format: [dictionaryPageHeaderEncoding] :: DictionaryPageHeader -> Encoding
- Hydra.Parquet.Format: [dictionaryPageHeaderIsSorted] :: DictionaryPageHeader -> Maybe Bool
- Hydra.Parquet.Format: [dictionaryPageHeaderNumValues] :: DictionaryPageHeader -> Int
- Hydra.Parquet.Format: [encryptionWithColumnKeyKeyMetadata] :: EncryptionWithColumnKey -> Maybe ByteString
- Hydra.Parquet.Format: [encryptionWithColumnKeyPathInSchema] :: EncryptionWithColumnKey -> [String]
- Hydra.Parquet.Format: [fileCryptoMetaDataEncryptionAlgorithm] :: FileCryptoMetaData -> EncryptionAlgorithm
- Hydra.Parquet.Format: [fileCryptoMetaDataKeyMetadata] :: FileCryptoMetaData -> Maybe ByteString
- Hydra.Parquet.Format: [fileMetaDataColumnOrders] :: FileMetaData -> Maybe [ColumnOrder]
- Hydra.Parquet.Format: [fileMetaDataCreatedBy] :: FileMetaData -> Maybe String
- Hydra.Parquet.Format: [fileMetaDataEncryptionAlgorithm] :: FileMetaData -> Maybe EncryptionAlgorithm
- Hydra.Parquet.Format: [fileMetaDataFooterSigningKeyMetadata] :: FileMetaData -> Maybe ByteString
- Hydra.Parquet.Format: [fileMetaDataKeyValueMetadata] :: FileMetaData -> Maybe [KeyValue]
- Hydra.Parquet.Format: [fileMetaDataNumRows] :: FileMetaData -> Int64
- Hydra.Parquet.Format: [fileMetaDataRowGroups] :: FileMetaData -> [RowGroup]
- Hydra.Parquet.Format: [fileMetaDataSchema] :: FileMetaData -> [SchemaElement]
- Hydra.Parquet.Format: [fileMetaDataVersion] :: FileMetaData -> Int
- Hydra.Parquet.Format: [intTypeBitWidth] :: IntType -> Int16
- Hydra.Parquet.Format: [intTypeIsSigned] :: IntType -> Bool
- Hydra.Parquet.Format: [keyValueKey] :: KeyValue -> String
- Hydra.Parquet.Format: [keyValueValue] :: KeyValue -> Maybe String
- Hydra.Parquet.Format: [offsetIndexPageLocations] :: OffsetIndex -> [PageLocation]
- Hydra.Parquet.Format: [pageEncodingStatsCount] :: PageEncodingStats -> Int
- Hydra.Parquet.Format: [pageEncodingStatsEncoding] :: PageEncodingStats -> Encoding
- Hydra.Parquet.Format: [pageEncodingStatsPageType] :: PageEncodingStats -> PageType
- Hydra.Parquet.Format: [pageHeaderCompressedPageSize] :: PageHeader -> Int
- Hydra.Parquet.Format: [pageHeaderCrc] :: PageHeader -> Maybe Int
- Hydra.Parquet.Format: [pageHeaderDataPageHeaderV2] :: PageHeader -> Maybe DataPageHeaderV2
- Hydra.Parquet.Format: [pageHeaderDataPageHeader] :: PageHeader -> Maybe DataPageHeader
- Hydra.Parquet.Format: [pageHeaderDictionaryPageHeader] :: PageHeader -> Maybe DictionaryPageHeader
- Hydra.Parquet.Format: [pageHeaderIndexPageHeader] :: PageHeader -> Maybe IndexPageHeader
- Hydra.Parquet.Format: [pageHeaderType] :: PageHeader -> PageType
- Hydra.Parquet.Format: [pageHeaderUncompressedPageSize] :: PageHeader -> Int
- Hydra.Parquet.Format: [pageLocationCompressedPageSize] :: PageLocation -> Int
- Hydra.Parquet.Format: [pageLocationFirstRowIndex] :: PageLocation -> Int64
- Hydra.Parquet.Format: [pageLocationOffset] :: PageLocation -> Int64
- Hydra.Parquet.Format: [rowGroupColumns] :: RowGroup -> [ColumnChunk]
- Hydra.Parquet.Format: [rowGroupFileOffset] :: RowGroup -> Maybe Int64
- Hydra.Parquet.Format: [rowGroupNumRows] :: RowGroup -> Int64
- Hydra.Parquet.Format: [rowGroupOrdinal] :: RowGroup -> Maybe Int16
- Hydra.Parquet.Format: [rowGroupSortingColumns] :: RowGroup -> Maybe [SortingColumn]
- Hydra.Parquet.Format: [rowGroupTotalByteSize] :: RowGroup -> Int64
- Hydra.Parquet.Format: [rowGroupTotalCompressedSize] :: RowGroup -> Maybe Int64
- Hydra.Parquet.Format: [schemaElementFieldId] :: SchemaElement -> Maybe Int
- Hydra.Parquet.Format: [schemaElementLogicalType] :: SchemaElement -> Maybe LogicalType
- Hydra.Parquet.Format: [schemaElementName] :: SchemaElement -> String
- Hydra.Parquet.Format: [schemaElementNumChildren] :: SchemaElement -> Maybe Int
- Hydra.Parquet.Format: [schemaElementRepetitionType] :: SchemaElement -> Maybe FieldRepetitionType
- Hydra.Parquet.Format: [schemaElementTypeLength] :: SchemaElement -> Maybe Int
- Hydra.Parquet.Format: [schemaElementType] :: SchemaElement -> Maybe Type
- Hydra.Parquet.Format: [sortingColumnColumnIdx] :: SortingColumn -> Int
- Hydra.Parquet.Format: [sortingColumnDescending] :: SortingColumn -> Bool
- Hydra.Parquet.Format: [sortingColumnNullsFirst] :: SortingColumn -> Bool
- Hydra.Parquet.Format: [statisticsDistinctCount] :: Statistics -> Maybe Integer
- Hydra.Parquet.Format: [statisticsMaxValue] :: Statistics -> Maybe ByteString
- Hydra.Parquet.Format: [statisticsMinValue] :: Statistics -> Maybe ByteString
- Hydra.Parquet.Format: [statisticsNullCount] :: Statistics -> Maybe Integer
- Hydra.Parquet.Format: [timeTypeIsAdjustedToUtc] :: TimeType -> Bool
- Hydra.Parquet.Format: [timeTypeUnit] :: TimeType -> TimeUnit
- Hydra.Parquet.Format: [timestampTypeIsAdjustedToUtc] :: TimestampType -> Bool
- Hydra.Parquet.Format: [timestampTypeUnit] :: TimestampType -> TimeUnit
- Hydra.Parquet.Format: _AesGcmCtrV1 :: Name
- Hydra.Parquet.Format: _AesGcmCtrV1_aadFileUnique :: Name
- Hydra.Parquet.Format: _AesGcmCtrV1_aadPrefix :: Name
- Hydra.Parquet.Format: _AesGcmCtrV1_supplyAadPrefix :: Name
- Hydra.Parquet.Format: _AesGcmV1 :: Name
- Hydra.Parquet.Format: _AesGcmV1_aadFileUnique :: Name
- Hydra.Parquet.Format: _AesGcmV1_aadPrefix :: Name
- Hydra.Parquet.Format: _AesGcmV1_supplyAadPrefix :: Name
- Hydra.Parquet.Format: _BloomFilterAlgorithm :: Name
- Hydra.Parquet.Format: _BloomFilterAlgorithm_block :: Name
- Hydra.Parquet.Format: _BloomFilterCompression :: Name
- Hydra.Parquet.Format: _BloomFilterCompression_uncompressed :: Name
- Hydra.Parquet.Format: _BloomFilterHash :: Name
- Hydra.Parquet.Format: _BloomFilterHash_xxhash :: Name
- Hydra.Parquet.Format: _BloomFilterHeader :: Name
- Hydra.Parquet.Format: _BloomFilterHeader_algorithm :: Name
- Hydra.Parquet.Format: _BloomFilterHeader_compression :: Name
- Hydra.Parquet.Format: _BloomFilterHeader_hash :: Name
- Hydra.Parquet.Format: _BloomFilterHeader_numBytes :: Name
- Hydra.Parquet.Format: _BoundaryOrder :: Name
- Hydra.Parquet.Format: _BoundaryOrder_ascending :: Name
- Hydra.Parquet.Format: _BoundaryOrder_descending :: Name
- Hydra.Parquet.Format: _BoundaryOrder_unordered :: Name
- Hydra.Parquet.Format: _ColumnChunk :: Name
- Hydra.Parquet.Format: _ColumnChunk_columnIndexLength :: Name
- Hydra.Parquet.Format: _ColumnChunk_columnIndexOffset :: Name
- Hydra.Parquet.Format: _ColumnChunk_cryptoMetadata :: Name
- Hydra.Parquet.Format: _ColumnChunk_encryptedColumnMetadata :: Name
- Hydra.Parquet.Format: _ColumnChunk_fileOffset :: Name
- Hydra.Parquet.Format: _ColumnChunk_filePath :: Name
- Hydra.Parquet.Format: _ColumnChunk_metaData :: Name
- Hydra.Parquet.Format: _ColumnChunk_offsetIndexLength :: Name
- Hydra.Parquet.Format: _ColumnChunk_offsetIndexOffset :: Name
- Hydra.Parquet.Format: _ColumnCryptoMetaData :: Name
- Hydra.Parquet.Format: _ColumnCryptoMetaData_encryptionWithColumnKey :: Name
- Hydra.Parquet.Format: _ColumnCryptoMetaData_encryptionWithFooterKey :: Name
- Hydra.Parquet.Format: _ColumnIndex :: Name
- Hydra.Parquet.Format: _ColumnIndex_boundaryOrder :: Name
- Hydra.Parquet.Format: _ColumnIndex_maxValues :: Name
- Hydra.Parquet.Format: _ColumnIndex_minValues :: Name
- Hydra.Parquet.Format: _ColumnIndex_nullCounts :: Name
- Hydra.Parquet.Format: _ColumnIndex_nullPages :: Name
- Hydra.Parquet.Format: _ColumnMetaData :: Name
- Hydra.Parquet.Format: _ColumnMetaData_bloomFilterOffset :: Name
- Hydra.Parquet.Format: _ColumnMetaData_codec :: Name
- Hydra.Parquet.Format: _ColumnMetaData_dataPageOffset :: Name
- Hydra.Parquet.Format: _ColumnMetaData_dictionaryPageOffset :: Name
- Hydra.Parquet.Format: _ColumnMetaData_encodingStats :: Name
- Hydra.Parquet.Format: _ColumnMetaData_encodings :: Name
- Hydra.Parquet.Format: _ColumnMetaData_indexPageOffset :: Name
- Hydra.Parquet.Format: _ColumnMetaData_keyValueMetadata :: Name
- Hydra.Parquet.Format: _ColumnMetaData_numValues :: Name
- Hydra.Parquet.Format: _ColumnMetaData_pathInSchema :: Name
- Hydra.Parquet.Format: _ColumnMetaData_statistics :: Name
- Hydra.Parquet.Format: _ColumnMetaData_totalCompressedSize :: Name
- Hydra.Parquet.Format: _ColumnMetaData_totalUncompressedSize :: Name
- Hydra.Parquet.Format: _ColumnMetaData_type :: Name
- Hydra.Parquet.Format: _ColumnOrder :: Name
- Hydra.Parquet.Format: _ColumnOrder_typeOrder :: Name
- Hydra.Parquet.Format: _CompressionCodec :: Name
- Hydra.Parquet.Format: _CompressionCodec_brotli :: Name
- Hydra.Parquet.Format: _CompressionCodec_gzip :: Name
- Hydra.Parquet.Format: _CompressionCodec_lz4Raw :: Name
- Hydra.Parquet.Format: _CompressionCodec_lzo :: Name
- Hydra.Parquet.Format: _CompressionCodec_snappy :: Name
- Hydra.Parquet.Format: _CompressionCodec_uncompressed :: Name
- Hydra.Parquet.Format: _CompressionCodec_zstd :: Name
- Hydra.Parquet.Format: _DataPageHeader :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2 :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_definitionLevelsByteLength :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_encoding :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_isCompressed :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_numNulls :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_numRows :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_numValues :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_repetitionLevelsByteLength :: Name
- Hydra.Parquet.Format: _DataPageHeaderV2_statistics :: Name
- Hydra.Parquet.Format: _DataPageHeader_definitionLevelEncoding :: Name
- Hydra.Parquet.Format: _DataPageHeader_encoding :: Name
- Hydra.Parquet.Format: _DataPageHeader_numValues :: Name
- Hydra.Parquet.Format: _DataPageHeader_repetitionLevelEncoding :: Name
- Hydra.Parquet.Format: _DataPageHeader_statistics :: Name
- Hydra.Parquet.Format: _DecimalType :: Name
- Hydra.Parquet.Format: _DecimalType_precision :: Name
- Hydra.Parquet.Format: _DecimalType_scale :: Name
- Hydra.Parquet.Format: _DictionaryPageHeader :: Name
- Hydra.Parquet.Format: _DictionaryPageHeader_encoding :: Name
- Hydra.Parquet.Format: _DictionaryPageHeader_isSorted :: Name
- Hydra.Parquet.Format: _DictionaryPageHeader_numValues :: Name
- Hydra.Parquet.Format: _Encoding :: Name
- Hydra.Parquet.Format: _Encoding_bitPacked :: Name
- Hydra.Parquet.Format: _Encoding_byteStreamSplit :: Name
- Hydra.Parquet.Format: _Encoding_deltaBinaryPacked :: Name
- Hydra.Parquet.Format: _Encoding_deltaByteArray :: Name
- Hydra.Parquet.Format: _Encoding_deltaLengthByteArray :: Name
- Hydra.Parquet.Format: _Encoding_plain :: Name
- Hydra.Parquet.Format: _Encoding_rle :: Name
- Hydra.Parquet.Format: _Encoding_rleDictionary :: Name
- Hydra.Parquet.Format: _EncryptionAlgorithm :: Name
- Hydra.Parquet.Format: _EncryptionAlgorithm_aesGcmCtrV1 :: Name
- Hydra.Parquet.Format: _EncryptionAlgorithm_aesGcmV1 :: Name
- Hydra.Parquet.Format: _EncryptionWithColumnKey :: Name
- Hydra.Parquet.Format: _EncryptionWithColumnKey_keyMetadata :: Name
- Hydra.Parquet.Format: _EncryptionWithColumnKey_pathInSchema :: Name
- Hydra.Parquet.Format: _EncryptionWithFooterKey :: Name
- Hydra.Parquet.Format: _FieldRepetitionType :: Name
- Hydra.Parquet.Format: _FieldRepetitionType_optional :: Name
- Hydra.Parquet.Format: _FieldRepetitionType_repeated :: Name
- Hydra.Parquet.Format: _FieldRepetitionType_required :: Name
- Hydra.Parquet.Format: _FileCryptoMetaData :: Name
- Hydra.Parquet.Format: _FileCryptoMetaData_encryptionAlgorithm :: Name
- Hydra.Parquet.Format: _FileCryptoMetaData_keyMetadata :: Name
- Hydra.Parquet.Format: _FileMetaData :: Name
- Hydra.Parquet.Format: _FileMetaData_columnOrders :: Name
- Hydra.Parquet.Format: _FileMetaData_createdBy :: Name
- Hydra.Parquet.Format: _FileMetaData_encryptionAlgorithm :: Name
- Hydra.Parquet.Format: _FileMetaData_footerSigningKeyMetadata :: Name
- Hydra.Parquet.Format: _FileMetaData_keyValueMetadata :: Name
- Hydra.Parquet.Format: _FileMetaData_numRows :: Name
- Hydra.Parquet.Format: _FileMetaData_rowGroups :: Name
- Hydra.Parquet.Format: _FileMetaData_schema :: Name
- Hydra.Parquet.Format: _FileMetaData_version :: Name
- Hydra.Parquet.Format: _IndexPageHeader :: Name
- Hydra.Parquet.Format: _IntType :: Name
- Hydra.Parquet.Format: _IntType_bitWidth :: Name
- Hydra.Parquet.Format: _IntType_isSigned :: Name
- Hydra.Parquet.Format: _KeyValue :: Name
- Hydra.Parquet.Format: _KeyValue_key :: Name
- Hydra.Parquet.Format: _KeyValue_value :: Name
- Hydra.Parquet.Format: _LogicalType :: Name
- Hydra.Parquet.Format: _LogicalType_bson :: Name
- Hydra.Parquet.Format: _LogicalType_date :: Name
- Hydra.Parquet.Format: _LogicalType_decimal :: Name
- Hydra.Parquet.Format: _LogicalType_enum :: Name
- Hydra.Parquet.Format: _LogicalType_integer :: Name
- Hydra.Parquet.Format: _LogicalType_json :: Name
- Hydra.Parquet.Format: _LogicalType_list :: Name
- Hydra.Parquet.Format: _LogicalType_map :: Name
- Hydra.Parquet.Format: _LogicalType_string :: Name
- Hydra.Parquet.Format: _LogicalType_time :: Name
- Hydra.Parquet.Format: _LogicalType_timestamp :: Name
- Hydra.Parquet.Format: _LogicalType_unknown :: Name
- Hydra.Parquet.Format: _LogicalType_uuid :: Name
- Hydra.Parquet.Format: _OffsetIndex :: Name
- Hydra.Parquet.Format: _OffsetIndex_pageLocations :: Name
- Hydra.Parquet.Format: _PageEncodingStats :: Name
- Hydra.Parquet.Format: _PageEncodingStats_count :: Name
- Hydra.Parquet.Format: _PageEncodingStats_encoding :: Name
- Hydra.Parquet.Format: _PageEncodingStats_pageType :: Name
- Hydra.Parquet.Format: _PageHeader :: Name
- Hydra.Parquet.Format: _PageHeader_compressedPageSize :: Name
- Hydra.Parquet.Format: _PageHeader_crc :: Name
- Hydra.Parquet.Format: _PageHeader_dataPageHeader :: Name
- Hydra.Parquet.Format: _PageHeader_dataPageHeaderV2 :: Name
- Hydra.Parquet.Format: _PageHeader_dictionaryPageHeader :: Name
- Hydra.Parquet.Format: _PageHeader_indexPageHeader :: Name
- Hydra.Parquet.Format: _PageHeader_type :: Name
- Hydra.Parquet.Format: _PageHeader_uncompressedPageSize :: Name
- Hydra.Parquet.Format: _PageLocation :: Name
- Hydra.Parquet.Format: _PageLocation_compressedPageSize :: Name
- Hydra.Parquet.Format: _PageLocation_firstRowIndex :: Name
- Hydra.Parquet.Format: _PageLocation_offset :: Name
- Hydra.Parquet.Format: _PageType :: Name
- Hydra.Parquet.Format: _PageType_dataPage :: Name
- Hydra.Parquet.Format: _PageType_dataPageV2 :: Name
- Hydra.Parquet.Format: _PageType_dictionaryPage :: Name
- Hydra.Parquet.Format: _PageType_indexPage :: Name
- Hydra.Parquet.Format: _RowGroup :: Name
- Hydra.Parquet.Format: _RowGroup_columns :: Name
- Hydra.Parquet.Format: _RowGroup_fileOffset :: Name
- Hydra.Parquet.Format: _RowGroup_numRows :: Name
- Hydra.Parquet.Format: _RowGroup_ordinal :: Name
- Hydra.Parquet.Format: _RowGroup_sortingColumns :: Name
- Hydra.Parquet.Format: _RowGroup_totalByteSize :: Name
- Hydra.Parquet.Format: _RowGroup_totalCompressedSize :: Name
- Hydra.Parquet.Format: _SchemaElement :: Name
- Hydra.Parquet.Format: _SchemaElement_fieldId :: Name
- Hydra.Parquet.Format: _SchemaElement_logicalType :: Name
- Hydra.Parquet.Format: _SchemaElement_name :: Name
- Hydra.Parquet.Format: _SchemaElement_numChildren :: Name
- Hydra.Parquet.Format: _SchemaElement_repetitionType :: Name
- Hydra.Parquet.Format: _SchemaElement_type :: Name
- Hydra.Parquet.Format: _SchemaElement_typeLength :: Name
- Hydra.Parquet.Format: _SortingColumn :: Name
- Hydra.Parquet.Format: _SortingColumn_columnIdx :: Name
- Hydra.Parquet.Format: _SortingColumn_descending :: Name
- Hydra.Parquet.Format: _SortingColumn_nullsFirst :: Name
- Hydra.Parquet.Format: _Statistics :: Name
- Hydra.Parquet.Format: _Statistics_distinctCount :: Name
- Hydra.Parquet.Format: _Statistics_maxValue :: Name
- Hydra.Parquet.Format: _Statistics_minValue :: Name
- Hydra.Parquet.Format: _Statistics_nullCount :: Name
- Hydra.Parquet.Format: _TimeType :: Name
- Hydra.Parquet.Format: _TimeType_isAdjustedToUtc :: Name
- Hydra.Parquet.Format: _TimeType_unit :: Name
- Hydra.Parquet.Format: _TimeUnit :: Name
- Hydra.Parquet.Format: _TimeUnit_micros :: Name
- Hydra.Parquet.Format: _TimeUnit_millis :: Name
- Hydra.Parquet.Format: _TimeUnit_nanos :: Name
- Hydra.Parquet.Format: _TimestampType :: Name
- Hydra.Parquet.Format: _TimestampType_isAdjustedToUtc :: Name
- Hydra.Parquet.Format: _TimestampType_unit :: Name
- Hydra.Parquet.Format: _Type :: Name
- Hydra.Parquet.Format: _Type_boolean :: Name
- Hydra.Parquet.Format: _Type_byteArray :: Name
- Hydra.Parquet.Format: _Type_double :: Name
- Hydra.Parquet.Format: _Type_fixedLenByteArray :: Name
- Hydra.Parquet.Format: _Type_float :: Name
- Hydra.Parquet.Format: _Type_int32 :: Name
- Hydra.Parquet.Format: _Type_int64 :: Name
- Hydra.Parquet.Format: data AesGcmCtrV1
- Hydra.Parquet.Format: data AesGcmV1
- Hydra.Parquet.Format: data BloomFilterAlgorithm
- Hydra.Parquet.Format: data BloomFilterCompression
- Hydra.Parquet.Format: data BloomFilterHash
- Hydra.Parquet.Format: data BloomFilterHeader
- Hydra.Parquet.Format: data BoundaryOrder
- Hydra.Parquet.Format: data ColumnChunk
- Hydra.Parquet.Format: data ColumnCryptoMetaData
- Hydra.Parquet.Format: data ColumnIndex
- Hydra.Parquet.Format: data ColumnMetaData
- Hydra.Parquet.Format: data ColumnOrder
- Hydra.Parquet.Format: data CompressionCodec
- Hydra.Parquet.Format: data DataPageHeader
- Hydra.Parquet.Format: data DataPageHeaderV2
- Hydra.Parquet.Format: data DecimalType
- Hydra.Parquet.Format: data DictionaryPageHeader
- Hydra.Parquet.Format: data Encoding
- Hydra.Parquet.Format: data EncryptionAlgorithm
- Hydra.Parquet.Format: data EncryptionWithColumnKey
- Hydra.Parquet.Format: data FieldRepetitionType
- Hydra.Parquet.Format: data FileCryptoMetaData
- Hydra.Parquet.Format: data FileMetaData
- Hydra.Parquet.Format: data IntType
- Hydra.Parquet.Format: data KeyValue
- Hydra.Parquet.Format: data LogicalType
- Hydra.Parquet.Format: data OffsetIndex
- Hydra.Parquet.Format: data PageEncodingStats
- Hydra.Parquet.Format: data PageHeader
- Hydra.Parquet.Format: data PageLocation
- Hydra.Parquet.Format: data PageType
- Hydra.Parquet.Format: data RowGroup
- Hydra.Parquet.Format: data SchemaElement
- Hydra.Parquet.Format: data SortingColumn
- Hydra.Parquet.Format: data Statistics
- Hydra.Parquet.Format: data TimeType
- Hydra.Parquet.Format: data TimeUnit
- Hydra.Parquet.Format: data TimestampType
- Hydra.Parquet.Format: data Type
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.AesGcmCtrV1
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.AesGcmV1
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.BloomFilterAlgorithm
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.BloomFilterCompression
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.BloomFilterHash
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.BloomFilterHeader
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.BoundaryOrder
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.ColumnChunk
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.ColumnCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.ColumnIndex
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.ColumnMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.ColumnOrder
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.CompressionCodec
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.DataPageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.DataPageHeaderV2
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.DecimalType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.DictionaryPageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.Encoding
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.EncryptionAlgorithm
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.EncryptionWithColumnKey
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.FieldRepetitionType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.FileCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.FileMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.IntType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.KeyValue
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.LogicalType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.OffsetIndex
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.PageEncodingStats
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.PageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.PageLocation
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.PageType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.RowGroup
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.SchemaElement
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.SortingColumn
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.Statistics
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.TimeType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.TimeUnit
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.TimestampType
- Hydra.Parquet.Format: instance GHC.Classes.Eq Hydra.Parquet.Format.Type
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.AesGcmCtrV1
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.AesGcmV1
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.BloomFilterAlgorithm
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.BloomFilterCompression
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.BloomFilterHash
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.BloomFilterHeader
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.BoundaryOrder
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.ColumnChunk
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.ColumnCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.ColumnIndex
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.ColumnMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.ColumnOrder
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.CompressionCodec
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.DataPageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.DataPageHeaderV2
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.DecimalType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.DictionaryPageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.Encoding
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.EncryptionAlgorithm
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.EncryptionWithColumnKey
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.FieldRepetitionType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.FileCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.FileMetaData
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.IntType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.KeyValue
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.LogicalType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.OffsetIndex
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.PageEncodingStats
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.PageHeader
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.PageLocation
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.PageType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.RowGroup
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.SchemaElement
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.SortingColumn
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.Statistics
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.TimeType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.TimeUnit
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.TimestampType
- Hydra.Parquet.Format: instance GHC.Classes.Ord Hydra.Parquet.Format.Type
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.AesGcmCtrV1
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.AesGcmV1
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.BloomFilterAlgorithm
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.BloomFilterCompression
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.BloomFilterHash
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.BloomFilterHeader
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.BoundaryOrder
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.ColumnChunk
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.ColumnCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.ColumnIndex
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.ColumnMetaData
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.ColumnOrder
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.CompressionCodec
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.DataPageHeader
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.DataPageHeaderV2
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.DecimalType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.DictionaryPageHeader
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.Encoding
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.EncryptionAlgorithm
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.EncryptionWithColumnKey
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.FieldRepetitionType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.FileCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.FileMetaData
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.IntType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.KeyValue
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.LogicalType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.OffsetIndex
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.PageEncodingStats
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.PageHeader
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.PageLocation
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.PageType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.RowGroup
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.SchemaElement
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.SortingColumn
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.Statistics
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.TimeType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.TimeUnit
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.TimestampType
- Hydra.Parquet.Format: instance GHC.Read.Read Hydra.Parquet.Format.Type
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.AesGcmCtrV1
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.AesGcmV1
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.BloomFilterAlgorithm
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.BloomFilterCompression
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.BloomFilterHash
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.BloomFilterHeader
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.BoundaryOrder
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.ColumnChunk
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.ColumnCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.ColumnIndex
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.ColumnMetaData
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.ColumnOrder
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.CompressionCodec
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.DataPageHeader
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.DataPageHeaderV2
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.DecimalType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.DictionaryPageHeader
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.Encoding
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.EncryptionAlgorithm
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.EncryptionWithColumnKey
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.FieldRepetitionType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.FileCryptoMetaData
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.FileMetaData
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.IntType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.KeyValue
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.LogicalType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.OffsetIndex
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.PageEncodingStats
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.PageHeader
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.PageLocation
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.PageType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.RowGroup
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.SchemaElement
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.SortingColumn
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.Statistics
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.TimeType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.TimeUnit
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.TimestampType
- Hydra.Parquet.Format: instance GHC.Show.Show Hydra.Parquet.Format.Type
- Hydra.Parquet.Format: type EncryptionWithFooterKey = ()
- Hydra.Parquet.Format: type IndexPageHeader = ()
- Hydra.Pegasus.Coder: constructModule :: t0 -> Graph -> Map ModuleName String -> Module -> [TypeDefinition] -> Either Error (Map String SchemaFile)
- Hydra.Pegasus.Coder: doc :: Maybe String -> Annotations
- Hydra.Pegasus.Coder: encode :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error Schema
- Hydra.Pegasus.Coder: encodeEnumField :: t0 -> Graph -> FieldType -> Either Error EnumField
- Hydra.Pegasus.Coder: encodePossiblyOptionalType :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error (Schema, Bool)
- Hydra.Pegasus.Coder: encodeRecordField :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error RecordField
- Hydra.Pegasus.Coder: encodeType :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error (Either Schema NamedSchemaType)
- Hydra.Pegasus.Coder: encodeUnionField :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error UnionMember
- Hydra.Pegasus.Coder: getAnns :: t0 -> Graph -> Type -> Either Error Annotations
- Hydra.Pegasus.Coder: importAliasesForModule :: t0 -> Graph -> Module -> Either Error (Map ModuleName String)
- Hydra.Pegasus.Coder: moduleToPdl :: Module -> [Definition] -> t0 -> Graph -> Either Error (Map String String)
- Hydra.Pegasus.Coder: moduleToPegasusSchemas :: t0 -> Graph -> Module -> [Definition] -> Either Error (Map String SchemaFile)
- Hydra.Pegasus.Coder: noAnnotations :: Annotations
- Hydra.Pegasus.Coder: pdlNameForElement :: Map ModuleName String -> Bool -> Name -> QualifiedName
- Hydra.Pegasus.Coder: pdlNameForModule :: Module -> Namespace
- Hydra.Pegasus.Coder: simpleUnionMember :: Schema -> UnionMember
- Hydra.Pegasus.Coder: slashesToDots :: String -> String
- Hydra.Pegasus.Coder: toPair :: Module -> t0 -> (NamedSchema, [QualifiedName]) -> (String, SchemaFile)
- Hydra.Pegasus.Coder: typeToSchema :: t0 -> Graph -> Map ModuleName String -> t1 -> TypeDefinition -> Either Error (NamedSchema, [t2])
- Hydra.Pegasus.Language: pdlLanguage :: Language
- Hydra.Pegasus.Pdl: Annotations :: Maybe String -> Bool -> Annotations
- Hydra.Pegasus.Pdl: EnumField :: EnumFieldName -> Annotations -> EnumField
- Hydra.Pegasus.Pdl: EnumFieldName :: String -> EnumFieldName
- Hydra.Pegasus.Pdl: EnumSchema :: [EnumField] -> EnumSchema
- Hydra.Pegasus.Pdl: FieldName :: String -> FieldName
- Hydra.Pegasus.Pdl: Name :: String -> Name
- Hydra.Pegasus.Pdl: NamedSchema :: QualifiedName -> NamedSchemaType -> Annotations -> NamedSchema
- Hydra.Pegasus.Pdl: NamedSchemaTypeEnum :: EnumSchema -> NamedSchemaType
- Hydra.Pegasus.Pdl: NamedSchemaTypeRecord :: RecordSchema -> NamedSchemaType
- Hydra.Pegasus.Pdl: NamedSchemaTypeTyperef :: Schema -> NamedSchemaType
- Hydra.Pegasus.Pdl: Namespace :: String -> Namespace
- Hydra.Pegasus.Pdl: Package :: String -> Package
- Hydra.Pegasus.Pdl: PrimitiveTypeBoolean :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeBytes :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeDouble :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeFloat :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeInt :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeLong :: PrimitiveType
- Hydra.Pegasus.Pdl: PrimitiveTypeString :: PrimitiveType
- Hydra.Pegasus.Pdl: Property :: PropertyKey -> Maybe Value -> Property
- Hydra.Pegasus.Pdl: PropertyKey :: String -> PropertyKey
- Hydra.Pegasus.Pdl: QualifiedName :: Name -> Maybe Namespace -> QualifiedName
- Hydra.Pegasus.Pdl: RecordField :: FieldName -> Schema -> Bool -> Maybe Value -> Annotations -> RecordField
- Hydra.Pegasus.Pdl: RecordSchema :: [RecordField] -> [NamedSchema] -> RecordSchema
- Hydra.Pegasus.Pdl: SchemaArray :: Schema -> Schema
- Hydra.Pegasus.Pdl: SchemaFile :: Namespace -> Maybe Package -> [QualifiedName] -> [NamedSchema] -> SchemaFile
- Hydra.Pegasus.Pdl: SchemaFixed :: Int -> Schema
- Hydra.Pegasus.Pdl: SchemaInline :: NamedSchema -> Schema
- Hydra.Pegasus.Pdl: SchemaMap :: Schema -> Schema
- Hydra.Pegasus.Pdl: SchemaNamed :: QualifiedName -> Schema
- Hydra.Pegasus.Pdl: SchemaNull :: Schema
- Hydra.Pegasus.Pdl: SchemaPrimitive :: PrimitiveType -> Schema
- Hydra.Pegasus.Pdl: SchemaUnion :: UnionSchema -> Schema
- Hydra.Pegasus.Pdl: UnionMember :: Maybe FieldName -> Schema -> Annotations -> UnionMember
- Hydra.Pegasus.Pdl: UnionSchema :: [UnionMember] -> UnionSchema
- Hydra.Pegasus.Pdl: [annotationsDeprecated] :: Annotations -> Bool
- Hydra.Pegasus.Pdl: [annotationsDoc] :: Annotations -> Maybe String
- Hydra.Pegasus.Pdl: [enumFieldAnnotations] :: EnumField -> Annotations
- Hydra.Pegasus.Pdl: [enumFieldName] :: EnumField -> EnumFieldName
- Hydra.Pegasus.Pdl: [enumSchemaFields] :: EnumSchema -> [EnumField]
- Hydra.Pegasus.Pdl: [namedSchemaAnnotations] :: NamedSchema -> Annotations
- Hydra.Pegasus.Pdl: [namedSchemaQualifiedName] :: NamedSchema -> QualifiedName
- Hydra.Pegasus.Pdl: [namedSchemaType] :: NamedSchema -> NamedSchemaType
- Hydra.Pegasus.Pdl: [propertyKey] :: Property -> PropertyKey
- Hydra.Pegasus.Pdl: [propertyValue] :: Property -> Maybe Value
- Hydra.Pegasus.Pdl: [qualifiedNameName] :: QualifiedName -> Name
- Hydra.Pegasus.Pdl: [qualifiedNameNamespace] :: QualifiedName -> Maybe Namespace
- Hydra.Pegasus.Pdl: [recordFieldAnnotations] :: RecordField -> Annotations
- Hydra.Pegasus.Pdl: [recordFieldDefault] :: RecordField -> Maybe Value
- Hydra.Pegasus.Pdl: [recordFieldName] :: RecordField -> FieldName
- Hydra.Pegasus.Pdl: [recordFieldOptional] :: RecordField -> Bool
- Hydra.Pegasus.Pdl: [recordFieldValue] :: RecordField -> Schema
- Hydra.Pegasus.Pdl: [recordSchemaFields] :: RecordSchema -> [RecordField]
- Hydra.Pegasus.Pdl: [recordSchemaIncludes] :: RecordSchema -> [NamedSchema]
- Hydra.Pegasus.Pdl: [schemaFileImports] :: SchemaFile -> [QualifiedName]
- Hydra.Pegasus.Pdl: [schemaFileNamespace] :: SchemaFile -> Namespace
- Hydra.Pegasus.Pdl: [schemaFilePackage] :: SchemaFile -> Maybe Package
- Hydra.Pegasus.Pdl: [schemaFileSchemas] :: SchemaFile -> [NamedSchema]
- Hydra.Pegasus.Pdl: [unEnumFieldName] :: EnumFieldName -> String
- Hydra.Pegasus.Pdl: [unFieldName] :: FieldName -> String
- Hydra.Pegasus.Pdl: [unName] :: Name -> String
- Hydra.Pegasus.Pdl: [unNamespace] :: Namespace -> String
- Hydra.Pegasus.Pdl: [unPackage] :: Package -> String
- Hydra.Pegasus.Pdl: [unPropertyKey] :: PropertyKey -> String
- Hydra.Pegasus.Pdl: [unUnionSchema] :: UnionSchema -> [UnionMember]
- Hydra.Pegasus.Pdl: [unionMemberAlias] :: UnionMember -> Maybe FieldName
- Hydra.Pegasus.Pdl: [unionMemberAnnotations] :: UnionMember -> Annotations
- Hydra.Pegasus.Pdl: [unionMemberValue] :: UnionMember -> Schema
- Hydra.Pegasus.Pdl: _Annotations :: Name
- Hydra.Pegasus.Pdl: _Annotations_deprecated :: Name
- Hydra.Pegasus.Pdl: _Annotations_doc :: Name
- Hydra.Pegasus.Pdl: _EnumField :: Name
- Hydra.Pegasus.Pdl: _EnumFieldName :: Name
- Hydra.Pegasus.Pdl: _EnumField_annotations :: Name
- Hydra.Pegasus.Pdl: _EnumField_name :: Name
- Hydra.Pegasus.Pdl: _EnumSchema :: Name
- Hydra.Pegasus.Pdl: _EnumSchema_fields :: Name
- Hydra.Pegasus.Pdl: _FieldName :: Name
- Hydra.Pegasus.Pdl: _Name :: Name
- Hydra.Pegasus.Pdl: _NamedSchema :: Name
- Hydra.Pegasus.Pdl: _NamedSchemaType :: Name
- Hydra.Pegasus.Pdl: _NamedSchemaType_enum :: Name
- Hydra.Pegasus.Pdl: _NamedSchemaType_record :: Name
- Hydra.Pegasus.Pdl: _NamedSchemaType_typeref :: Name
- Hydra.Pegasus.Pdl: _NamedSchema_annotations :: Name
- Hydra.Pegasus.Pdl: _NamedSchema_qualifiedName :: Name
- Hydra.Pegasus.Pdl: _NamedSchema_type :: Name
- Hydra.Pegasus.Pdl: _Namespace :: Name
- Hydra.Pegasus.Pdl: _Package :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_boolean :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_bytes :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_double :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_float :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_int :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_long :: Name
- Hydra.Pegasus.Pdl: _PrimitiveType_string :: Name
- Hydra.Pegasus.Pdl: _Property :: Name
- Hydra.Pegasus.Pdl: _PropertyKey :: Name
- Hydra.Pegasus.Pdl: _Property_key :: Name
- Hydra.Pegasus.Pdl: _Property_value :: Name
- Hydra.Pegasus.Pdl: _QualifiedName :: Name
- Hydra.Pegasus.Pdl: _QualifiedName_name :: Name
- Hydra.Pegasus.Pdl: _QualifiedName_namespace :: Name
- Hydra.Pegasus.Pdl: _RecordField :: Name
- Hydra.Pegasus.Pdl: _RecordField_annotations :: Name
- Hydra.Pegasus.Pdl: _RecordField_default :: Name
- Hydra.Pegasus.Pdl: _RecordField_name :: Name
- Hydra.Pegasus.Pdl: _RecordField_optional :: Name
- Hydra.Pegasus.Pdl: _RecordField_value :: Name
- Hydra.Pegasus.Pdl: _RecordSchema :: Name
- Hydra.Pegasus.Pdl: _RecordSchema_fields :: Name
- Hydra.Pegasus.Pdl: _RecordSchema_includes :: Name
- Hydra.Pegasus.Pdl: _Schema :: Name
- Hydra.Pegasus.Pdl: _SchemaFile :: Name
- Hydra.Pegasus.Pdl: _SchemaFile_imports :: Name
- Hydra.Pegasus.Pdl: _SchemaFile_namespace :: Name
- Hydra.Pegasus.Pdl: _SchemaFile_package :: Name
- Hydra.Pegasus.Pdl: _SchemaFile_schemas :: Name
- Hydra.Pegasus.Pdl: _Schema_array :: Name
- Hydra.Pegasus.Pdl: _Schema_fixed :: Name
- Hydra.Pegasus.Pdl: _Schema_inline :: Name
- Hydra.Pegasus.Pdl: _Schema_map :: Name
- Hydra.Pegasus.Pdl: _Schema_named :: Name
- Hydra.Pegasus.Pdl: _Schema_null :: Name
- Hydra.Pegasus.Pdl: _Schema_primitive :: Name
- Hydra.Pegasus.Pdl: _Schema_union :: Name
- Hydra.Pegasus.Pdl: _UnionMember :: Name
- Hydra.Pegasus.Pdl: _UnionMember_alias :: Name
- Hydra.Pegasus.Pdl: _UnionMember_annotations :: Name
- Hydra.Pegasus.Pdl: _UnionMember_value :: Name
- Hydra.Pegasus.Pdl: _UnionSchema :: Name
- Hydra.Pegasus.Pdl: data Annotations
- Hydra.Pegasus.Pdl: data EnumField
- Hydra.Pegasus.Pdl: data EnumSchema
- Hydra.Pegasus.Pdl: data NamedSchema
- Hydra.Pegasus.Pdl: data NamedSchemaType
- Hydra.Pegasus.Pdl: data PrimitiveType
- Hydra.Pegasus.Pdl: data Property
- Hydra.Pegasus.Pdl: data QualifiedName
- Hydra.Pegasus.Pdl: data RecordField
- Hydra.Pegasus.Pdl: data RecordSchema
- Hydra.Pegasus.Pdl: data Schema
- Hydra.Pegasus.Pdl: data SchemaFile
- Hydra.Pegasus.Pdl: data UnionMember
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Annotations
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.EnumField
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.EnumFieldName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.EnumSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.FieldName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Name
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.NamedSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.NamedSchemaType
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Namespace
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Package
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.PrimitiveType
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Property
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.PropertyKey
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.QualifiedName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.RecordField
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.RecordSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.Schema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.SchemaFile
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.UnionMember
- Hydra.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Pegasus.Pdl.UnionSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Annotations
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.EnumField
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.EnumFieldName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.EnumSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.FieldName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Name
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.NamedSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.NamedSchemaType
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Namespace
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Package
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.PrimitiveType
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Property
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.PropertyKey
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.QualifiedName
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.RecordField
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.RecordSchema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.Schema
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.SchemaFile
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.UnionMember
- Hydra.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Pegasus.Pdl.UnionSchema
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Annotations
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.EnumField
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.EnumFieldName
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.EnumSchema
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.FieldName
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Name
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.NamedSchema
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.NamedSchemaType
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Namespace
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Package
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.PrimitiveType
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Property
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.PropertyKey
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.QualifiedName
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.RecordField
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.RecordSchema
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.Schema
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.SchemaFile
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.UnionMember
- Hydra.Pegasus.Pdl: instance GHC.Read.Read Hydra.Pegasus.Pdl.UnionSchema
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Annotations
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.EnumField
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.EnumFieldName
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.EnumSchema
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.FieldName
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Name
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.NamedSchema
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.NamedSchemaType
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Namespace
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Package
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.PrimitiveType
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Property
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.PropertyKey
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.QualifiedName
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.RecordField
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.RecordSchema
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.Schema
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.SchemaFile
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.UnionMember
- Hydra.Pegasus.Pdl: instance GHC.Show.Show Hydra.Pegasus.Pdl.UnionSchema
- Hydra.Pegasus.Pdl: newtype EnumFieldName
- Hydra.Pegasus.Pdl: newtype FieldName
- Hydra.Pegasus.Pdl: newtype Name
- Hydra.Pegasus.Pdl: newtype Namespace
- Hydra.Pegasus.Pdl: newtype Package
- Hydra.Pegasus.Pdl: newtype PropertyKey
- Hydra.Pegasus.Pdl: newtype UnionSchema
- Hydra.Pegasus.Serde: annotationsToExpr :: Annotations -> Maybe Expr
- Hydra.Pegasus.Serde: enumFieldToExpr :: EnumField -> Expr
- Hydra.Pegasus.Serde: importToExpr :: QualifiedName -> Expr
- Hydra.Pegasus.Serde: namedSchemaToExpr :: NamedSchema -> Expr
- Hydra.Pegasus.Serde: primitiveTypeToExpr :: PrimitiveType -> Expr
- Hydra.Pegasus.Serde: qualifiedNameToExpr :: QualifiedName -> Expr
- Hydra.Pegasus.Serde: recordFieldToExpr :: RecordField -> Expr
- Hydra.Pegasus.Serde: schemaFileToExpr :: SchemaFile -> Expr
- Hydra.Pegasus.Serde: schemaToExpr :: Schema -> Expr
- Hydra.Pegasus.Serde: unionMemberToExpr :: UnionMember -> Expr
- Hydra.Pegasus.Serde: withAnnotations :: Annotations -> Expr -> Expr
- Hydra.Protobuf.Any: Any :: String -> ByteString -> Any
- Hydra.Protobuf.Any: [anyTypeUrl] :: Any -> String
- Hydra.Protobuf.Any: [anyValue] :: Any -> ByteString
- Hydra.Protobuf.Any: _Any :: Name
- Hydra.Protobuf.Any: _Any_typeUrl :: Name
- Hydra.Protobuf.Any: _Any_value :: Name
- Hydra.Protobuf.Any: data Any
- Hydra.Protobuf.Any: instance GHC.Classes.Eq Hydra.Protobuf.Any.Any
- Hydra.Protobuf.Any: instance GHC.Classes.Ord Hydra.Protobuf.Any.Any
- Hydra.Protobuf.Any: instance GHC.Read.Read Hydra.Protobuf.Any.Any
- Hydra.Protobuf.Any: instance GHC.Show.Show Hydra.Protobuf.Any.Any
- Hydra.Protobuf.Coder: collectStructuralTypes :: [Type] -> Set StructuralTypeRef
- Hydra.Protobuf.Coder: collectStructuralTypesFromType :: Type -> Set StructuralTypeRef
- Hydra.Protobuf.Coder: constructModule :: EncoderState -> Graph -> Module -> [TypeDefinition] -> Either Error ProtoFile
- Hydra.Protobuf.Coder: encodeDefinition :: EncoderState -> Graph -> ModuleName -> Name -> Type -> Either Error Definition
- Hydra.Protobuf.Coder: encodeEnumDefinition :: EncoderState -> Graph -> [Option] -> Name -> [FieldType] -> Either Error EnumDefinition
- Hydra.Protobuf.Coder: encodeEnumValueName :: Name -> Name -> EnumValueName
- Hydra.Protobuf.Coder: encodeFieldName :: Bool -> Name -> FieldName
- Hydra.Protobuf.Coder: encodeFieldType :: EncoderState -> Graph -> ModuleName -> FieldType -> Either Error (Field, EncoderState)
- Hydra.Protobuf.Coder: encodeRecordType :: EncoderState -> Graph -> ModuleName -> [Option] -> Name -> [FieldType] -> Either Error MessageDefinition
- Hydra.Protobuf.Coder: encodeScalarType :: t0 -> LiteralType -> Either Error ScalarType
- Hydra.Protobuf.Coder: encodeScalarTypeWrapped :: t0 -> LiteralType -> Either Error SimpleType
- Hydra.Protobuf.Coder: encodeSimpleTypeForHelper :: t0 -> ModuleName -> Type -> Either Error SimpleType
- Hydra.Protobuf.Coder: encodeTypeName :: Name -> TypeName
- Hydra.Protobuf.Coder: encodeTypeReference :: ModuleName -> Name -> TypeName
- Hydra.Protobuf.Coder: err :: t0 -> String -> Either Error t1
- Hydra.Protobuf.Coder: findOptions :: EncoderState -> Graph -> Type -> Either Error [Option]
- Hydra.Protobuf.Coder: flattenType :: Type -> Type
- Hydra.Protobuf.Coder: fromEitherString :: t0 -> Either String t1 -> Either Error t1
- Hydra.Protobuf.Coder: generateStructuralTypeMessage :: EncoderState -> t0 -> ModuleName -> StructuralTypeRef -> Either Error (Definition, EncoderState)
- Hydra.Protobuf.Coder: isEnumDefinition :: Type -> Bool
- Hydra.Protobuf.Coder: isEnumFields :: [FieldType] -> Bool
- Hydra.Protobuf.Coder: javaMultipleFilesOptionName :: String
- Hydra.Protobuf.Coder: javaPackageOptionName :: String
- Hydra.Protobuf.Coder: keyProtoFieldIndex :: Name
- Hydra.Protobuf.Coder: mapAccumResult :: (t0 -> t1 -> Either t2 (t3, t0)) -> t0 -> [t1] -> Either t2 ([t3], t0)
- Hydra.Protobuf.Coder: moduleToProtobuf :: Module -> [Definition] -> InferenceContext -> Graph -> Either Error (Map String String)
- Hydra.Protobuf.Coder: namespaceToFileReference :: ModuleName -> FileReference
- Hydra.Protobuf.Coder: namespaceToPackageName :: ModuleName -> PackageName
- Hydra.Protobuf.Coder: readBooleanAnnotation :: t0 -> Graph -> Name -> Type -> Either Error Bool
- Hydra.Protobuf.Coder: simplifyType :: Type -> Type
- Hydra.Protobuf.Coder: structuralTypeName :: t0 -> StructuralTypeRef -> TypeName
- Hydra.Protobuf.Coder: unexpectedE :: t0 -> String -> String -> Either Error t1
- Hydra.Protobuf.Environment: EncoderState :: InferenceContext -> Int -> EncoderState
- Hydra.Protobuf.Environment: StructuralTypeRefEither :: (Type, Type) -> StructuralTypeRef
- Hydra.Protobuf.Environment: StructuralTypeRefPair :: (Type, Type) -> StructuralTypeRef
- Hydra.Protobuf.Environment: [encoderStateContext] :: EncoderState -> InferenceContext
- Hydra.Protobuf.Environment: [encoderStateFieldIndex] :: EncoderState -> Int
- Hydra.Protobuf.Environment: _EncoderState :: Name
- Hydra.Protobuf.Environment: _EncoderState_context :: Name
- Hydra.Protobuf.Environment: _EncoderState_fieldIndex :: Name
- Hydra.Protobuf.Environment: _StructuralTypeRef :: Name
- Hydra.Protobuf.Environment: _StructuralTypeRef_either :: Name
- Hydra.Protobuf.Environment: _StructuralTypeRef_pair :: Name
- Hydra.Protobuf.Environment: data EncoderState
- Hydra.Protobuf.Environment: data StructuralTypeRef
- Hydra.Protobuf.Environment: instance GHC.Classes.Eq Hydra.Protobuf.Environment.EncoderState
- Hydra.Protobuf.Environment: instance GHC.Classes.Eq Hydra.Protobuf.Environment.StructuralTypeRef
- Hydra.Protobuf.Environment: instance GHC.Classes.Ord Hydra.Protobuf.Environment.EncoderState
- Hydra.Protobuf.Environment: instance GHC.Classes.Ord Hydra.Protobuf.Environment.StructuralTypeRef
- Hydra.Protobuf.Environment: instance GHC.Read.Read Hydra.Protobuf.Environment.EncoderState
- Hydra.Protobuf.Environment: instance GHC.Read.Read Hydra.Protobuf.Environment.StructuralTypeRef
- Hydra.Protobuf.Environment: instance GHC.Show.Show Hydra.Protobuf.Environment.EncoderState
- Hydra.Protobuf.Environment: instance GHC.Show.Show Hydra.Protobuf.Environment.StructuralTypeRef
- Hydra.Protobuf.Language: protobufLanguage :: Language
- Hydra.Protobuf.Language: protobufReservedWords :: Set String
- Hydra.Protobuf.Proto3: DefinitionEnum :: EnumDefinition -> Definition
- Hydra.Protobuf.Proto3: DefinitionMessage :: MessageDefinition -> Definition
- Hydra.Protobuf.Proto3: EnumDefinition :: TypeName -> [EnumValue] -> [Option] -> EnumDefinition
- Hydra.Protobuf.Proto3: EnumValue :: EnumValueName -> Int -> [Option] -> EnumValue
- Hydra.Protobuf.Proto3: EnumValueName :: String -> EnumValueName
- Hydra.Protobuf.Proto3: Field :: FieldName -> Maybe String -> FieldType -> Int -> [Option] -> Field
- Hydra.Protobuf.Proto3: FieldName :: String -> FieldName
- Hydra.Protobuf.Proto3: FieldTypeMap :: MapType -> FieldType
- Hydra.Protobuf.Proto3: FieldTypeOneof :: [Field] -> FieldType
- Hydra.Protobuf.Proto3: FieldTypeRepeated :: SimpleType -> FieldType
- Hydra.Protobuf.Proto3: FieldTypeSimple :: SimpleType -> FieldType
- Hydra.Protobuf.Proto3: FileReference :: String -> FileReference
- Hydra.Protobuf.Proto3: MapType :: SimpleType -> SimpleType -> MapType
- Hydra.Protobuf.Proto3: MessageDefinition :: TypeName -> [Field] -> [Option] -> MessageDefinition
- Hydra.Protobuf.Proto3: Option :: String -> Value -> Option
- Hydra.Protobuf.Proto3: PackageName :: String -> PackageName
- Hydra.Protobuf.Proto3: ProtoFile :: PackageName -> [FileReference] -> [Definition] -> [Option] -> ProtoFile
- Hydra.Protobuf.Proto3: ScalarTypeBool :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeBytes :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeDouble :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeFixed32 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeFixed64 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeFloat :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeInt32 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeInt64 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeSfixed32 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeSfixed64 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeSint32 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeSint64 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeString :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeUint32 :: ScalarType
- Hydra.Protobuf.Proto3: ScalarTypeUint64 :: ScalarType
- Hydra.Protobuf.Proto3: SimpleTypeReference :: TypeName -> SimpleType
- Hydra.Protobuf.Proto3: SimpleTypeScalar :: ScalarType -> SimpleType
- Hydra.Protobuf.Proto3: TypeName :: String -> TypeName
- Hydra.Protobuf.Proto3: TypeReference :: String -> TypeReference
- Hydra.Protobuf.Proto3: ValueBoolean :: Bool -> Value
- Hydra.Protobuf.Proto3: ValueString :: String -> Value
- Hydra.Protobuf.Proto3: [enumDefinitionName] :: EnumDefinition -> TypeName
- Hydra.Protobuf.Proto3: [enumDefinitionOptions] :: EnumDefinition -> [Option]
- Hydra.Protobuf.Proto3: [enumDefinitionValues] :: EnumDefinition -> [EnumValue]
- Hydra.Protobuf.Proto3: [enumValueName] :: EnumValue -> EnumValueName
- Hydra.Protobuf.Proto3: [enumValueNumber] :: EnumValue -> Int
- Hydra.Protobuf.Proto3: [enumValueOptions] :: EnumValue -> [Option]
- Hydra.Protobuf.Proto3: [fieldJsonName] :: Field -> Maybe String
- Hydra.Protobuf.Proto3: [fieldName] :: Field -> FieldName
- Hydra.Protobuf.Proto3: [fieldNumber] :: Field -> Int
- Hydra.Protobuf.Proto3: [fieldOptions] :: Field -> [Option]
- Hydra.Protobuf.Proto3: [fieldType] :: Field -> FieldType
- Hydra.Protobuf.Proto3: [mapTypeKeys] :: MapType -> SimpleType
- Hydra.Protobuf.Proto3: [mapTypeValues] :: MapType -> SimpleType
- Hydra.Protobuf.Proto3: [messageDefinitionFields] :: MessageDefinition -> [Field]
- Hydra.Protobuf.Proto3: [messageDefinitionName] :: MessageDefinition -> TypeName
- Hydra.Protobuf.Proto3: [messageDefinitionOptions] :: MessageDefinition -> [Option]
- Hydra.Protobuf.Proto3: [optionName] :: Option -> String
- Hydra.Protobuf.Proto3: [optionValue] :: Option -> Value
- Hydra.Protobuf.Proto3: [protoFileImports] :: ProtoFile -> [FileReference]
- Hydra.Protobuf.Proto3: [protoFileOptions] :: ProtoFile -> [Option]
- Hydra.Protobuf.Proto3: [protoFilePackage] :: ProtoFile -> PackageName
- Hydra.Protobuf.Proto3: [protoFileTypes] :: ProtoFile -> [Definition]
- Hydra.Protobuf.Proto3: [unEnumValueName] :: EnumValueName -> String
- Hydra.Protobuf.Proto3: [unFieldName] :: FieldName -> String
- Hydra.Protobuf.Proto3: [unFileReference] :: FileReference -> String
- Hydra.Protobuf.Proto3: [unPackageName] :: PackageName -> String
- Hydra.Protobuf.Proto3: [unTypeName] :: TypeName -> String
- Hydra.Protobuf.Proto3: [unTypeReference] :: TypeReference -> String
- Hydra.Protobuf.Proto3: _Definition :: Name
- Hydra.Protobuf.Proto3: _Definition_enum :: Name
- Hydra.Protobuf.Proto3: _Definition_message :: Name
- Hydra.Protobuf.Proto3: _EnumDefinition :: Name
- Hydra.Protobuf.Proto3: _EnumDefinition_name :: Name
- Hydra.Protobuf.Proto3: _EnumDefinition_options :: Name
- Hydra.Protobuf.Proto3: _EnumDefinition_values :: Name
- Hydra.Protobuf.Proto3: _EnumValue :: Name
- Hydra.Protobuf.Proto3: _EnumValueName :: Name
- Hydra.Protobuf.Proto3: _EnumValue_name :: Name
- Hydra.Protobuf.Proto3: _EnumValue_number :: Name
- Hydra.Protobuf.Proto3: _EnumValue_options :: Name
- Hydra.Protobuf.Proto3: _Field :: Name
- Hydra.Protobuf.Proto3: _FieldName :: Name
- Hydra.Protobuf.Proto3: _FieldType :: Name
- Hydra.Protobuf.Proto3: _FieldType_map :: Name
- Hydra.Protobuf.Proto3: _FieldType_oneof :: Name
- Hydra.Protobuf.Proto3: _FieldType_repeated :: Name
- Hydra.Protobuf.Proto3: _FieldType_simple :: Name
- Hydra.Protobuf.Proto3: _Field_jsonName :: Name
- Hydra.Protobuf.Proto3: _Field_name :: Name
- Hydra.Protobuf.Proto3: _Field_number :: Name
- Hydra.Protobuf.Proto3: _Field_options :: Name
- Hydra.Protobuf.Proto3: _Field_type :: Name
- Hydra.Protobuf.Proto3: _FileReference :: Name
- Hydra.Protobuf.Proto3: _MapType :: Name
- Hydra.Protobuf.Proto3: _MapType_keys :: Name
- Hydra.Protobuf.Proto3: _MapType_values :: Name
- Hydra.Protobuf.Proto3: _MessageDefinition :: Name
- Hydra.Protobuf.Proto3: _MessageDefinition_fields :: Name
- Hydra.Protobuf.Proto3: _MessageDefinition_name :: Name
- Hydra.Protobuf.Proto3: _MessageDefinition_options :: Name
- Hydra.Protobuf.Proto3: _Option :: Name
- Hydra.Protobuf.Proto3: _Option_name :: Name
- Hydra.Protobuf.Proto3: _Option_value :: Name
- Hydra.Protobuf.Proto3: _PackageName :: Name
- Hydra.Protobuf.Proto3: _ProtoFile :: Name
- Hydra.Protobuf.Proto3: _ProtoFile_imports :: Name
- Hydra.Protobuf.Proto3: _ProtoFile_options :: Name
- Hydra.Protobuf.Proto3: _ProtoFile_package :: Name
- Hydra.Protobuf.Proto3: _ProtoFile_types :: Name
- Hydra.Protobuf.Proto3: _ScalarType :: Name
- Hydra.Protobuf.Proto3: _ScalarType_bool :: Name
- Hydra.Protobuf.Proto3: _ScalarType_bytes :: Name
- Hydra.Protobuf.Proto3: _ScalarType_double :: Name
- Hydra.Protobuf.Proto3: _ScalarType_fixed32 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_fixed64 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_float :: Name
- Hydra.Protobuf.Proto3: _ScalarType_int32 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_int64 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_sfixed32 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_sfixed64 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_sint32 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_sint64 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_string :: Name
- Hydra.Protobuf.Proto3: _ScalarType_uint32 :: Name
- Hydra.Protobuf.Proto3: _ScalarType_uint64 :: Name
- Hydra.Protobuf.Proto3: _SimpleType :: Name
- Hydra.Protobuf.Proto3: _SimpleType_reference :: Name
- Hydra.Protobuf.Proto3: _SimpleType_scalar :: Name
- Hydra.Protobuf.Proto3: _TypeName :: Name
- Hydra.Protobuf.Proto3: _TypeReference :: Name
- Hydra.Protobuf.Proto3: _Value :: Name
- Hydra.Protobuf.Proto3: _Value_boolean :: Name
- Hydra.Protobuf.Proto3: _Value_string :: Name
- Hydra.Protobuf.Proto3: data Definition
- Hydra.Protobuf.Proto3: data EnumDefinition
- Hydra.Protobuf.Proto3: data EnumValue
- Hydra.Protobuf.Proto3: data Field
- Hydra.Protobuf.Proto3: data FieldType
- Hydra.Protobuf.Proto3: data MapType
- Hydra.Protobuf.Proto3: data MessageDefinition
- Hydra.Protobuf.Proto3: data Option
- Hydra.Protobuf.Proto3: data ProtoFile
- Hydra.Protobuf.Proto3: data ScalarType
- Hydra.Protobuf.Proto3: data SimpleType
- Hydra.Protobuf.Proto3: data Value
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.Definition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.EnumDefinition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.EnumValue
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.EnumValueName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.Field
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.FieldName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.FieldType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.FileReference
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.MapType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.MessageDefinition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.Option
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.PackageName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.ProtoFile
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.ScalarType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.SimpleType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.TypeName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.TypeReference
- Hydra.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Protobuf.Proto3.Value
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.Definition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.EnumDefinition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.EnumValue
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.EnumValueName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.Field
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.FieldName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.FieldType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.FileReference
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.MapType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.MessageDefinition
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.Option
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.PackageName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.ProtoFile
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.ScalarType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.SimpleType
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.TypeName
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.TypeReference
- Hydra.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Protobuf.Proto3.Value
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.Definition
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.EnumDefinition
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.EnumValue
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.EnumValueName
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.Field
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.FieldName
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.FieldType
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.FileReference
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.MapType
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.MessageDefinition
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.Option
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.PackageName
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.ProtoFile
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.ScalarType
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.SimpleType
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.TypeName
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.TypeReference
- Hydra.Protobuf.Proto3: instance GHC.Read.Read Hydra.Protobuf.Proto3.Value
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.Definition
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.EnumDefinition
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.EnumValue
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.EnumValueName
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.Field
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.FieldName
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.FieldType
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.FileReference
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.MapType
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.MessageDefinition
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.Option
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.PackageName
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.ProtoFile
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.ScalarType
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.SimpleType
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.TypeName
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.TypeReference
- Hydra.Protobuf.Proto3: instance GHC.Show.Show Hydra.Protobuf.Proto3.Value
- Hydra.Protobuf.Proto3: newtype EnumValueName
- Hydra.Protobuf.Proto3: newtype FieldName
- Hydra.Protobuf.Proto3: newtype FileReference
- Hydra.Protobuf.Proto3: newtype PackageName
- Hydra.Protobuf.Proto3: newtype TypeName
- Hydra.Protobuf.Proto3: newtype TypeReference
- Hydra.Protobuf.Serde: definitionToExpr :: Definition -> Expr
- Hydra.Protobuf.Serde: deprecatedOptionName :: String
- Hydra.Protobuf.Serde: descriptionOptionName :: String
- Hydra.Protobuf.Serde: enumDefinitionToExpr :: EnumDefinition -> Expr
- Hydra.Protobuf.Serde: enumValueToExpr :: EnumValue -> Expr
- Hydra.Protobuf.Serde: excludeInternalOptions :: [Option] -> [Option]
- Hydra.Protobuf.Serde: fieldOptionToExpr :: Option -> Expr
- Hydra.Protobuf.Serde: fieldOptionsToExpr :: [Option] -> Maybe Expr
- Hydra.Protobuf.Serde: fieldToExpr :: Field -> Expr
- Hydra.Protobuf.Serde: fieldTypeToExpr :: FieldType -> Expr
- Hydra.Protobuf.Serde: fileOptionToExpr :: Option -> Expr
- Hydra.Protobuf.Serde: fileOptionsToExpr :: [Option] -> Maybe Expr
- Hydra.Protobuf.Serde: importToExpr :: FileReference -> Expr
- Hydra.Protobuf.Serde: messageDefinitionToExpr :: MessageDefinition -> Expr
- Hydra.Protobuf.Serde: optDesc :: Bool -> [Option] -> Expr -> Expr
- Hydra.Protobuf.Serde: protoBlock :: [Expr] -> Expr
- Hydra.Protobuf.Serde: protoFileToExpr :: ProtoFile -> Expr
- Hydra.Protobuf.Serde: scalarTypeToExpr :: ScalarType -> Expr
- Hydra.Protobuf.Serde: semi :: Expr -> Expr
- Hydra.Protobuf.Serde: simpleTypeToExpr :: SimpleType -> Expr
- Hydra.Protobuf.Serde: valueToExpr :: Value -> Expr
- Hydra.Protobuf.SourceContext: SourceContext :: String -> SourceContext
- Hydra.Protobuf.SourceContext: [sourceContextFileName] :: SourceContext -> String
- Hydra.Protobuf.SourceContext: _SourceContext :: Name
- Hydra.Protobuf.SourceContext: _SourceContext_fileName :: Name
- Hydra.Protobuf.SourceContext: data SourceContext
- Hydra.Protobuf.SourceContext: instance GHC.Classes.Eq Hydra.Protobuf.SourceContext.SourceContext
- Hydra.Protobuf.SourceContext: instance GHC.Classes.Ord Hydra.Protobuf.SourceContext.SourceContext
- Hydra.Protobuf.SourceContext: instance GHC.Read.Read Hydra.Protobuf.SourceContext.SourceContext
- Hydra.Protobuf.SourceContext: instance GHC.Show.Show Hydra.Protobuf.SourceContext.SourceContext
- Hydra.Rust.Coder: encodeEnumVariant :: t0 -> t1 -> FieldType -> Either Error EnumVariant
- Hydra.Rust.Coder: encodeLiteral :: Literal -> Expression
- Hydra.Rust.Coder: encodeLiteralType :: LiteralType -> Type
- Hydra.Rust.Coder: encodeProjectionElim :: t0 -> t1 -> Projection -> Maybe Term -> Either Error Expression
- Hydra.Rust.Coder: encodeStructField :: t0 -> t1 -> FieldType -> Either Error StructField
- Hydra.Rust.Coder: encodeTerm :: t0 -> t1 -> Term -> Either Error Expression
- Hydra.Rust.Coder: encodeTermDefinition :: t0 -> t1 -> TermDefinition -> Either Error ItemWithComments
- Hydra.Rust.Coder: encodeType :: t0 -> t1 -> Type -> Either Error Type
- Hydra.Rust.Coder: encodeTypeDefinition :: t0 -> t1 -> TypeDefinition -> Either Error ItemWithComments
- Hydra.Rust.Coder: encodeUnionElim :: t0 -> t1 -> CaseStatement -> Maybe Term -> Either Error Expression
- Hydra.Rust.Coder: encodeUnwrapElim :: t0 -> t1 -> Name -> Maybe Term -> Either Error Expression
- Hydra.Rust.Coder: moduleToRust :: Module -> [Definition] -> t0 -> t1 -> Either Error (Map String String)
- Hydra.Rust.Coder: rustApply1 :: String -> Type -> Type
- Hydra.Rust.Coder: rustApply2 :: String -> Type -> Type -> Type
- Hydra.Rust.Coder: rustBlock :: [Statement] -> Expression -> Expression
- Hydra.Rust.Coder: rustCall :: Expression -> [Expression] -> Expression
- Hydra.Rust.Coder: rustClosure :: [String] -> Expression -> Expression
- Hydra.Rust.Coder: rustExprPath :: String -> Expression
- Hydra.Rust.Coder: rustLetStmt :: String -> Expression -> Statement
- Hydra.Rust.Coder: rustPath :: String -> Type
- Hydra.Rust.Coder: rustPathSegmented :: [String] -> Type
- Hydra.Rust.Coder: rustUnit :: Type
- Hydra.Rust.Coder: standardDerives :: [String]
- Hydra.Rust.Language: rustLanguage :: Language
- Hydra.Rust.Language: rustReservedWords :: Set String
- Hydra.Rust.Operators: addAssignOp :: Op
- Hydra.Rust.Operators: addOp :: Op
- Hydra.Rust.Operators: andOp :: Op
- Hydra.Rust.Operators: appOp :: Op
- Hydra.Rust.Operators: arrowOp :: Op
- Hydra.Rust.Operators: asOp :: Op
- Hydra.Rust.Operators: assignOp :: Op
- Hydra.Rust.Operators: bitAndAssignOp :: Op
- Hydra.Rust.Operators: bitAndOp :: Op
- Hydra.Rust.Operators: bitOrAssignOp :: Op
- Hydra.Rust.Operators: bitOrOp :: Op
- Hydra.Rust.Operators: bitXorAssignOp :: Op
- Hydra.Rust.Operators: bitXorOp :: Op
- Hydra.Rust.Operators: colonColonOp :: Op
- Hydra.Rust.Operators: colonOp :: Op
- Hydra.Rust.Operators: derefOp :: Op
- Hydra.Rust.Operators: divAssignOp :: Op
- Hydra.Rust.Operators: divOp :: Op
- Hydra.Rust.Operators: doubleColonOp :: Op
- Hydra.Rust.Operators: eqOp :: Op
- Hydra.Rust.Operators: fatArrowOp :: Op
- Hydra.Rust.Operators: fieldOp :: Op
- Hydra.Rust.Operators: geOp :: Op
- Hydra.Rust.Operators: gtOp :: Op
- Hydra.Rust.Operators: leOp :: Op
- Hydra.Rust.Operators: ltOp :: Op
- Hydra.Rust.Operators: methodOp :: Op
- Hydra.Rust.Operators: mulAssignOp :: Op
- Hydra.Rust.Operators: mulOp :: Op
- Hydra.Rust.Operators: neOp :: Op
- Hydra.Rust.Operators: negOp :: Op
- Hydra.Rust.Operators: notOp :: Op
- Hydra.Rust.Operators: orOp :: Op
- Hydra.Rust.Operators: rangeInclusiveOp :: Op
- Hydra.Rust.Operators: rangeOp :: Op
- Hydra.Rust.Operators: refOp :: Op
- Hydra.Rust.Operators: remAssignOp :: Op
- Hydra.Rust.Operators: remOp :: Op
- Hydra.Rust.Operators: shlAssignOp :: Op
- Hydra.Rust.Operators: shlOp :: Op
- Hydra.Rust.Operators: shrAssignOp :: Op
- Hydra.Rust.Operators: shrOp :: Op
- Hydra.Rust.Operators: subAssignOp :: Op
- Hydra.Rust.Operators: subOp :: Op
- Hydra.Rust.Serde: arrayExprToExpr :: ArrayExpr -> Expr
- Hydra.Rust.Serde: assignExprToExpr :: AssignExpr -> Expr
- Hydra.Rust.Serde: attributeToExpr :: Attribute -> Expr
- Hydra.Rust.Serde: binaryExprToExpr :: BinaryExpr -> Expr
- Hydra.Rust.Serde: binaryOpToExpr :: BinaryOp -> Expr
- Hydra.Rust.Serde: blockToExpr :: Block -> Expr
- Hydra.Rust.Serde: callExprToExpr :: CallExpr -> Expr
- Hydra.Rust.Serde: castExprToExpr :: CastExpr -> Expr
- Hydra.Rust.Serde: closureExprToExpr :: ClosureExpr -> Expr
- Hydra.Rust.Serde: closureParamToStr :: ClosureParam -> String
- Hydra.Rust.Serde: compoundAssignExprToExpr :: CompoundAssignExpr -> Expr
- Hydra.Rust.Serde: constDefToExpr :: ConstDef -> Expr
- Hydra.Rust.Serde: crateToExpr :: Crate -> Expr
- Hydra.Rust.Serde: derivesToExpr :: [String] -> Maybe Expr
- Hydra.Rust.Serde: enumDefToExpr :: EnumDef -> Expr
- Hydra.Rust.Serde: enumVariantBodyToExpr :: EnumVariantBody -> Expr
- Hydra.Rust.Serde: enumVariantToExpr :: EnumVariant -> Expr
- Hydra.Rust.Serde: exprPathToExpr :: ExprPath -> Expr
- Hydra.Rust.Serde: expressionToExpr :: Expression -> Expr
- Hydra.Rust.Serde: fieldAccessExprToExpr :: FieldAccessExpr -> Expr
- Hydra.Rust.Serde: fieldPatternToExpr :: FieldPattern -> Expr
- Hydra.Rust.Serde: fieldValueToExpr :: FieldValue -> Expr
- Hydra.Rust.Serde: floatLiteralToExpr :: FloatLiteral -> Expr
- Hydra.Rust.Serde: fnDefToExpr :: FnDef -> Expr
- Hydra.Rust.Serde: fnParamToExpr :: FnParam -> Expr
- Hydra.Rust.Serde: forExprToExpr :: ForExpr -> Expr
- Hydra.Rust.Serde: genericArgToExpr :: GenericArg -> Expr
- Hydra.Rust.Serde: genericArgumentsToExpr :: GenericArguments -> Maybe Expr
- Hydra.Rust.Serde: genericParamToExpr :: GenericParam -> Expr
- Hydra.Rust.Serde: genericParamsToExpr :: [GenericParam] -> Maybe Expr
- Hydra.Rust.Serde: identifierPatternToExpr :: IdentifierPattern -> Expr
- Hydra.Rust.Serde: ifExprToExpr :: IfExpr -> Expr
- Hydra.Rust.Serde: implBlockToExpr :: ImplBlock -> Expr
- Hydra.Rust.Serde: implItemToExpr :: ImplItem -> Expr
- Hydra.Rust.Serde: implMethodToExpr :: ImplMethod -> Expr
- Hydra.Rust.Serde: indexExprToExpr :: IndexExpr -> Expr
- Hydra.Rust.Serde: integerLiteralToExpr :: IntegerLiteral -> Expr
- Hydra.Rust.Serde: itemToExpr :: Item -> Expr
- Hydra.Rust.Serde: itemWithCommentsToExpr :: ItemWithComments -> Expr
- Hydra.Rust.Serde: letStatementToExpr :: LetStatement -> Expr
- Hydra.Rust.Serde: literalToExpr :: Literal -> Expr
- Hydra.Rust.Serde: loopExprToExpr :: LoopExpr -> Expr
- Hydra.Rust.Serde: macroInvocationToExpr :: MacroInvocation -> Expr
- Hydra.Rust.Serde: matchArmToExpr :: MatchArm -> Expr
- Hydra.Rust.Serde: matchExprToExpr :: MatchExpr -> Expr
- Hydra.Rust.Serde: methodCallExprToExpr :: MethodCallExpr -> Expr
- Hydra.Rust.Serde: methodParamToExpr :: MethodParam -> Expr
- Hydra.Rust.Serde: modDefToExpr :: ModDef -> Expr
- Hydra.Rust.Serde: pathSegmentToExpr :: PathSegment -> Expr
- Hydra.Rust.Serde: patternToExpr :: Pattern -> Expr
- Hydra.Rust.Serde: rangeExprToExpr :: RangeExpr -> Expr
- Hydra.Rust.Serde: rangePatternToExpr :: RangePattern -> Expr
- Hydra.Rust.Serde: refExprToExpr :: RefExpr -> Expr
- Hydra.Rust.Serde: refPatternToExpr :: RefPattern -> Expr
- Hydra.Rust.Serde: referenceTypeToExpr :: ReferenceType -> Expr
- Hydra.Rust.Serde: statementToExpr :: Statement -> Expr
- Hydra.Rust.Serde: staticDefToExpr :: StaticDef -> Expr
- Hydra.Rust.Serde: structBodyToExpr :: StructBody -> Expr
- Hydra.Rust.Serde: structDefToExpr :: StructDef -> Expr
- Hydra.Rust.Serde: structExprToExpr :: StructExpr -> Expr
- Hydra.Rust.Serde: structFieldToExpr :: StructField -> Expr
- Hydra.Rust.Serde: structPatternToExpr :: StructPattern -> Expr
- Hydra.Rust.Serde: toRustComment :: String -> String
- Hydra.Rust.Serde: toRustDocComment :: String -> String
- Hydra.Rust.Serde: traitConstToExpr :: TraitConst -> Expr
- Hydra.Rust.Serde: traitDefToExpr :: TraitDef -> Expr
- Hydra.Rust.Serde: traitItemToExpr :: TraitItem -> Expr
- Hydra.Rust.Serde: traitMethodToExpr :: TraitMethod -> Expr
- Hydra.Rust.Serde: traitTypeToExpr :: TraitType -> Expr
- Hydra.Rust.Serde: tupleIndexExprToExpr :: TupleIndexExpr -> Expr
- Hydra.Rust.Serde: tupleStructPatternToExpr :: TupleStructPattern -> Expr
- Hydra.Rust.Serde: typeAliasToExpr :: TypeAlias -> Expr
- Hydra.Rust.Serde: typeAscriptionExprToExpr :: TypeAscriptionExpr -> Expr
- Hydra.Rust.Serde: typeParamBoundToExpr :: TypeParamBound -> Expr
- Hydra.Rust.Serde: typePathToExpr :: TypePath -> Expr
- Hydra.Rust.Serde: typeToExpr :: Type -> Expr
- Hydra.Rust.Serde: unaryExprToExpr :: UnaryExpr -> Expr
- Hydra.Rust.Serde: useDeclarationToExpr :: UseDeclaration -> Expr
- Hydra.Rust.Serde: useTreeToExpr :: UseTree -> Expr
- Hydra.Rust.Serde: visibilityToExpr :: Visibility -> Maybe Expr
- Hydra.Rust.Serde: whereClauseToExpr :: WhereClause -> Expr
- Hydra.Rust.Serde: whileExprToExpr :: WhileExpr -> Expr
- Hydra.Rust.Syntax: AngleBracketedArgs :: [GenericArg] -> AngleBracketedArgs
- Hydra.Rust.Syntax: ArrayExprElements :: [Expression] -> ArrayExpr
- Hydra.Rust.Syntax: ArrayExprRepeat :: ArrayRepeat -> ArrayExpr
- Hydra.Rust.Syntax: ArrayRepeat :: Expression -> Expression -> ArrayRepeat
- Hydra.Rust.Syntax: ArrayType :: Type -> Expression -> ArrayType
- Hydra.Rust.Syntax: AssignExpr :: Expression -> Expression -> AssignExpr
- Hydra.Rust.Syntax: Attribute :: Bool -> [String] -> Maybe String -> Attribute
- Hydra.Rust.Syntax: BinaryExpr :: Expression -> BinaryOp -> Expression -> BinaryExpr
- Hydra.Rust.Syntax: BinaryOpAdd :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpAnd :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpBitAnd :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpBitOr :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpBitXor :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpDiv :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpEq :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpGe :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpGt :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpLe :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpLt :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpMul :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpNe :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpOr :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpRem :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpShl :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpShr :: BinaryOp
- Hydra.Rust.Syntax: BinaryOpSub :: BinaryOp
- Hydra.Rust.Syntax: Block :: [Statement] -> Maybe Expression -> Block
- Hydra.Rust.Syntax: CallExpr :: Expression -> [Expression] -> CallExpr
- Hydra.Rust.Syntax: CastExpr :: Expression -> Type -> CastExpr
- Hydra.Rust.Syntax: ClosureExpr :: Bool -> [ClosureParam] -> Maybe Type -> Expression -> ClosureExpr
- Hydra.Rust.Syntax: ClosureParam :: Pattern -> Maybe Type -> ClosureParam
- Hydra.Rust.Syntax: CompoundAssignExpr :: Expression -> CompoundAssignOp -> Expression -> CompoundAssignExpr
- Hydra.Rust.Syntax: CompoundAssignOpAddAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpBitAndAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpBitOrAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpBitXorAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpDivAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpMulAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpRemAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpShlAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpShrAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: CompoundAssignOpSubAssign :: CompoundAssignOp
- Hydra.Rust.Syntax: ConstDef :: String -> Type -> Expression -> Bool -> Maybe String -> ConstDef
- Hydra.Rust.Syntax: Crate :: [ItemWithComments] -> Crate
- Hydra.Rust.Syntax: EnumDef :: String -> [GenericParam] -> Maybe WhereClause -> [EnumVariant] -> [String] -> Bool -> Maybe String -> EnumDef
- Hydra.Rust.Syntax: EnumVariant :: String -> EnumVariantBody -> Maybe String -> EnumVariant
- Hydra.Rust.Syntax: EnumVariantBodyStruct :: [StructField] -> EnumVariantBody
- Hydra.Rust.Syntax: EnumVariantBodyTuple :: [Type] -> EnumVariantBody
- Hydra.Rust.Syntax: EnumVariantBodyUnit :: EnumVariantBody
- Hydra.Rust.Syntax: ExprPath :: Bool -> [PathSegment] -> ExprPath
- Hydra.Rust.Syntax: ExpressionArray :: ArrayExpr -> Expression
- Hydra.Rust.Syntax: ExpressionAssign :: AssignExpr -> Expression
- Hydra.Rust.Syntax: ExpressionAwait :: Expression -> Expression
- Hydra.Rust.Syntax: ExpressionBinary :: BinaryExpr -> Expression
- Hydra.Rust.Syntax: ExpressionBlock :: Block -> Expression
- Hydra.Rust.Syntax: ExpressionBreak :: Maybe Expression -> Expression
- Hydra.Rust.Syntax: ExpressionCall :: CallExpr -> Expression
- Hydra.Rust.Syntax: ExpressionCast :: CastExpr -> Expression
- Hydra.Rust.Syntax: ExpressionClosure :: ClosureExpr -> Expression
- Hydra.Rust.Syntax: ExpressionCompoundAssign :: CompoundAssignExpr -> Expression
- Hydra.Rust.Syntax: ExpressionContinue :: Expression
- Hydra.Rust.Syntax: ExpressionDereference :: Expression -> Expression
- Hydra.Rust.Syntax: ExpressionFieldAccess :: FieldAccessExpr -> Expression
- Hydra.Rust.Syntax: ExpressionFor :: ForExpr -> Expression
- Hydra.Rust.Syntax: ExpressionIf :: IfExpr -> Expression
- Hydra.Rust.Syntax: ExpressionIndex :: IndexExpr -> Expression
- Hydra.Rust.Syntax: ExpressionLiteral :: Literal -> Expression
- Hydra.Rust.Syntax: ExpressionLoop :: LoopExpr -> Expression
- Hydra.Rust.Syntax: ExpressionMacro :: MacroInvocation -> Expression
- Hydra.Rust.Syntax: ExpressionMatch :: MatchExpr -> Expression
- Hydra.Rust.Syntax: ExpressionMethodCall :: MethodCallExpr -> Expression
- Hydra.Rust.Syntax: ExpressionParen :: Expression -> Expression
- Hydra.Rust.Syntax: ExpressionPath :: ExprPath -> Expression
- Hydra.Rust.Syntax: ExpressionRange :: RangeExpr -> Expression
- Hydra.Rust.Syntax: ExpressionReference :: RefExpr -> Expression
- Hydra.Rust.Syntax: ExpressionReturn :: Maybe Expression -> Expression
- Hydra.Rust.Syntax: ExpressionStruct :: StructExpr -> Expression
- Hydra.Rust.Syntax: ExpressionTry :: Expression -> Expression
- Hydra.Rust.Syntax: ExpressionTuple :: [Expression] -> Expression
- Hydra.Rust.Syntax: ExpressionTupleIndex :: TupleIndexExpr -> Expression
- Hydra.Rust.Syntax: ExpressionTypeAscription :: TypeAscriptionExpr -> Expression
- Hydra.Rust.Syntax: ExpressionUnary :: UnaryExpr -> Expression
- Hydra.Rust.Syntax: ExpressionWhile :: WhileExpr -> Expression
- Hydra.Rust.Syntax: FieldAccessExpr :: Expression -> String -> FieldAccessExpr
- Hydra.Rust.Syntax: FieldPattern :: String -> Maybe Pattern -> FieldPattern
- Hydra.Rust.Syntax: FieldValue :: String -> Maybe Expression -> FieldValue
- Hydra.Rust.Syntax: FloatLiteral :: Double -> Maybe String -> FloatLiteral
- Hydra.Rust.Syntax: FnDef :: String -> [GenericParam] -> Maybe WhereClause -> [FnParam] -> Maybe Type -> Block -> Bool -> Bool -> Bool -> Bool -> Maybe String -> FnDef
- Hydra.Rust.Syntax: FnParam :: Pattern -> Type -> FnParam
- Hydra.Rust.Syntax: FnPointerType :: [Type] -> Type -> FnPointerType
- Hydra.Rust.Syntax: ForExpr :: Maybe String -> Pattern -> Expression -> Block -> ForExpr
- Hydra.Rust.Syntax: GenericArgBinding :: TypeBinding -> GenericArg
- Hydra.Rust.Syntax: GenericArgConst :: Expression -> GenericArg
- Hydra.Rust.Syntax: GenericArgLifetime :: Lifetime -> GenericArg
- Hydra.Rust.Syntax: GenericArgType :: Type -> GenericArg
- Hydra.Rust.Syntax: GenericArgumentsAngleBracketed :: AngleBracketedArgs -> GenericArguments
- Hydra.Rust.Syntax: GenericArgumentsNone :: GenericArguments
- Hydra.Rust.Syntax: GenericArgumentsParenthesized :: ParenthesizedArgs -> GenericArguments
- Hydra.Rust.Syntax: GenericParam :: String -> [TypeParamBound] -> GenericParam
- Hydra.Rust.Syntax: IdentifierPattern :: String -> Bool -> Maybe Pattern -> IdentifierPattern
- Hydra.Rust.Syntax: IfConditionBool :: Expression -> IfCondition
- Hydra.Rust.Syntax: IfConditionLet :: LetCondition -> IfCondition
- Hydra.Rust.Syntax: IfExpr :: IfCondition -> Block -> Maybe Expression -> IfExpr
- Hydra.Rust.Syntax: ImplBlock :: [GenericParam] -> Maybe WhereClause -> Maybe TypePath -> Bool -> Type -> [ImplItem] -> ImplBlock
- Hydra.Rust.Syntax: ImplItemConst :: ConstDef -> ImplItem
- Hydra.Rust.Syntax: ImplItemMethod :: ImplMethod -> ImplItem
- Hydra.Rust.Syntax: ImplItemType :: TypeAlias -> ImplItem
- Hydra.Rust.Syntax: ImplMethod :: String -> [GenericParam] -> Maybe WhereClause -> [MethodParam] -> Maybe Type -> Block -> Bool -> Bool -> Maybe String -> ImplMethod
- Hydra.Rust.Syntax: IndexExpr :: Expression -> Expression -> IndexExpr
- Hydra.Rust.Syntax: IntegerLiteral :: Integer -> Maybe String -> IntegerLiteral
- Hydra.Rust.Syntax: ItemConst :: ConstDef -> Item
- Hydra.Rust.Syntax: ItemEnum :: EnumDef -> Item
- Hydra.Rust.Syntax: ItemFn :: FnDef -> Item
- Hydra.Rust.Syntax: ItemImpl :: ImplBlock -> Item
- Hydra.Rust.Syntax: ItemMacro :: MacroInvocation -> Item
- Hydra.Rust.Syntax: ItemMod :: ModDef -> Item
- Hydra.Rust.Syntax: ItemStatic :: StaticDef -> Item
- Hydra.Rust.Syntax: ItemStruct :: StructDef -> Item
- Hydra.Rust.Syntax: ItemTrait :: TraitDef -> Item
- Hydra.Rust.Syntax: ItemTypeAlias :: TypeAlias -> Item
- Hydra.Rust.Syntax: ItemUse :: UseDeclaration -> Item
- Hydra.Rust.Syntax: ItemWithComments :: Maybe String -> Visibility -> Item -> ItemWithComments
- Hydra.Rust.Syntax: LetCondition :: Pattern -> Expression -> LetCondition
- Hydra.Rust.Syntax: LetStatement :: Pattern -> Bool -> Maybe Type -> Maybe Expression -> LetStatement
- Hydra.Rust.Syntax: Lifetime :: String -> Lifetime
- Hydra.Rust.Syntax: LiteralBool :: Bool -> Literal
- Hydra.Rust.Syntax: LiteralByte :: Int16 -> Literal
- Hydra.Rust.Syntax: LiteralByteString :: ByteString -> Literal
- Hydra.Rust.Syntax: LiteralChar :: Int64 -> Literal
- Hydra.Rust.Syntax: LiteralFloat :: FloatLiteral -> Literal
- Hydra.Rust.Syntax: LiteralInteger :: IntegerLiteral -> Literal
- Hydra.Rust.Syntax: LiteralRawString :: String -> Literal
- Hydra.Rust.Syntax: LiteralString :: String -> Literal
- Hydra.Rust.Syntax: LoopExpr :: Maybe String -> Block -> LoopExpr
- Hydra.Rust.Syntax: MacroDelimiterBrace :: MacroDelimiter
- Hydra.Rust.Syntax: MacroDelimiterBracket :: MacroDelimiter
- Hydra.Rust.Syntax: MacroDelimiterParen :: MacroDelimiter
- Hydra.Rust.Syntax: MacroInvocation :: [String] -> MacroDelimiter -> String -> MacroInvocation
- Hydra.Rust.Syntax: MatchArm :: Pattern -> Maybe Expression -> Expression -> MatchArm
- Hydra.Rust.Syntax: MatchExpr :: Expression -> [MatchArm] -> MatchExpr
- Hydra.Rust.Syntax: MethodCallExpr :: Expression -> String -> [Type] -> [Expression] -> MethodCallExpr
- Hydra.Rust.Syntax: MethodParamRegular :: FnParam -> MethodParam
- Hydra.Rust.Syntax: MethodParamSelf :: SelfParam -> MethodParam
- Hydra.Rust.Syntax: ModDef :: String -> Maybe [Item] -> Bool -> Maybe String -> ModDef
- Hydra.Rust.Syntax: ParenthesizedArgs :: [Type] -> Maybe Type -> ParenthesizedArgs
- Hydra.Rust.Syntax: PathSegment :: String -> GenericArguments -> PathSegment
- Hydra.Rust.Syntax: PatternIdentifier :: IdentifierPattern -> Pattern
- Hydra.Rust.Syntax: PatternLiteral :: Literal -> Pattern
- Hydra.Rust.Syntax: PatternOr :: [Pattern] -> Pattern
- Hydra.Rust.Syntax: PatternParen :: Pattern -> Pattern
- Hydra.Rust.Syntax: PatternPath :: ExprPath -> Pattern
- Hydra.Rust.Syntax: PatternRange :: RangePattern -> Pattern
- Hydra.Rust.Syntax: PatternReference :: RefPattern -> Pattern
- Hydra.Rust.Syntax: PatternRest :: Pattern
- Hydra.Rust.Syntax: PatternSlice :: [Pattern] -> Pattern
- Hydra.Rust.Syntax: PatternStruct :: StructPattern -> Pattern
- Hydra.Rust.Syntax: PatternTuple :: [Pattern] -> Pattern
- Hydra.Rust.Syntax: PatternTupleStruct :: TupleStructPattern -> Pattern
- Hydra.Rust.Syntax: PatternWildcard :: Pattern
- Hydra.Rust.Syntax: RangeExpr :: Maybe Expression -> Maybe Expression -> Bool -> RangeExpr
- Hydra.Rust.Syntax: RangePattern :: Maybe Pattern -> Maybe Pattern -> Bool -> RangePattern
- Hydra.Rust.Syntax: RawPointerType :: Bool -> Type -> RawPointerType
- Hydra.Rust.Syntax: RefExpr :: Bool -> Expression -> RefExpr
- Hydra.Rust.Syntax: RefPattern :: Bool -> Pattern -> RefPattern
- Hydra.Rust.Syntax: ReferenceType :: Maybe Lifetime -> Bool -> Type -> ReferenceType
- Hydra.Rust.Syntax: SelfParamOwned :: SelfParam
- Hydra.Rust.Syntax: SelfParamRef :: SelfParam
- Hydra.Rust.Syntax: SelfParamRefMut :: SelfParam
- Hydra.Rust.Syntax: StatementEmpty :: Statement
- Hydra.Rust.Syntax: StatementExpression :: Expression -> Statement
- Hydra.Rust.Syntax: StatementItem :: Item -> Statement
- Hydra.Rust.Syntax: StatementLet :: LetStatement -> Statement
- Hydra.Rust.Syntax: StaticDef :: String -> Type -> Expression -> Bool -> Bool -> Maybe String -> StaticDef
- Hydra.Rust.Syntax: StructBodyNamed :: [StructField] -> StructBody
- Hydra.Rust.Syntax: StructBodyTuple :: [TupleField] -> StructBody
- Hydra.Rust.Syntax: StructBodyUnit :: StructBody
- Hydra.Rust.Syntax: StructDef :: String -> [GenericParam] -> Maybe WhereClause -> StructBody -> [String] -> Bool -> Maybe String -> StructDef
- Hydra.Rust.Syntax: StructExpr :: ExprPath -> [FieldValue] -> Maybe Expression -> StructExpr
- Hydra.Rust.Syntax: StructField :: String -> Type -> Bool -> Maybe String -> StructField
- Hydra.Rust.Syntax: StructPattern :: ExprPath -> [FieldPattern] -> Bool -> StructPattern
- Hydra.Rust.Syntax: TraitConst :: String -> Type -> Maybe Expression -> Maybe String -> TraitConst
- Hydra.Rust.Syntax: TraitDef :: String -> [GenericParam] -> Maybe WhereClause -> [TypeParamBound] -> [TraitItem] -> Bool -> Bool -> Maybe String -> TraitDef
- Hydra.Rust.Syntax: TraitItemConst :: TraitConst -> TraitItem
- Hydra.Rust.Syntax: TraitItemMethod :: TraitMethod -> TraitItem
- Hydra.Rust.Syntax: TraitItemType :: TraitType -> TraitItem
- Hydra.Rust.Syntax: TraitMethod :: String -> [GenericParam] -> Maybe WhereClause -> [MethodParam] -> Maybe Type -> Maybe Block -> Maybe String -> TraitMethod
- Hydra.Rust.Syntax: TraitType :: String -> [TypeParamBound] -> Maybe Type -> Maybe String -> TraitType
- Hydra.Rust.Syntax: TupleField :: Type -> Bool -> TupleField
- Hydra.Rust.Syntax: TupleIndexExpr :: Expression -> Int -> TupleIndexExpr
- Hydra.Rust.Syntax: TupleStructPattern :: ExprPath -> [Pattern] -> TupleStructPattern
- Hydra.Rust.Syntax: TypeAlias :: String -> [GenericParam] -> Type -> Bool -> Maybe String -> TypeAlias
- Hydra.Rust.Syntax: TypeArray :: ArrayType -> Type
- Hydra.Rust.Syntax: TypeAscriptionExpr :: Expression -> Type -> TypeAscriptionExpr
- Hydra.Rust.Syntax: TypeBinding :: String -> Type -> TypeBinding
- Hydra.Rust.Syntax: TypeDynTrait :: [TypeParamBound] -> Type
- Hydra.Rust.Syntax: TypeFnPointer :: FnPointerType -> Type
- Hydra.Rust.Syntax: TypeImplTrait :: [TypeParamBound] -> Type
- Hydra.Rust.Syntax: TypeInferred :: Type
- Hydra.Rust.Syntax: TypeMacro :: MacroInvocation -> Type
- Hydra.Rust.Syntax: TypeNever :: Type
- Hydra.Rust.Syntax: TypeParamBoundLifetime :: Lifetime -> TypeParamBound
- Hydra.Rust.Syntax: TypeParamBoundTrait :: TypePath -> TypeParamBound
- Hydra.Rust.Syntax: TypePath :: Bool -> [PathSegment] -> TypePath
- Hydra.Rust.Syntax: TypePath_ :: TypePath -> Type
- Hydra.Rust.Syntax: TypeRawPointer :: RawPointerType -> Type
- Hydra.Rust.Syntax: TypeReference :: ReferenceType -> Type
- Hydra.Rust.Syntax: TypeSlice :: Type -> Type
- Hydra.Rust.Syntax: TypeTuple :: [Type] -> Type
- Hydra.Rust.Syntax: TypeUnit :: Type
- Hydra.Rust.Syntax: UnaryExpr :: UnaryOp -> Expression -> UnaryExpr
- Hydra.Rust.Syntax: UnaryOpNeg :: UnaryOp
- Hydra.Rust.Syntax: UnaryOpNot :: UnaryOp
- Hydra.Rust.Syntax: UseDeclaration :: Bool -> UseTree -> UseDeclaration
- Hydra.Rust.Syntax: UseGroup :: [String] -> [UseTree] -> UseGroup
- Hydra.Rust.Syntax: UsePath :: [String] -> UsePath
- Hydra.Rust.Syntax: UseRename :: [String] -> String -> UseRename
- Hydra.Rust.Syntax: UseTreeGlob :: [String] -> UseTree
- Hydra.Rust.Syntax: UseTreeGroup :: UseGroup -> UseTree
- Hydra.Rust.Syntax: UseTreePath :: UsePath -> UseTree
- Hydra.Rust.Syntax: UseTreeRename :: UseRename -> UseTree
- Hydra.Rust.Syntax: VisibilityCrate :: Visibility
- Hydra.Rust.Syntax: VisibilityPrivate :: Visibility
- Hydra.Rust.Syntax: VisibilityPublic :: Visibility
- Hydra.Rust.Syntax: VisibilityRestricted :: [String] -> Visibility
- Hydra.Rust.Syntax: WhereClause :: [WherePredicate] -> WhereClause
- Hydra.Rust.Syntax: WherePredicate :: Type -> [TypeParamBound] -> WherePredicate
- Hydra.Rust.Syntax: WhileExpr :: Maybe String -> IfCondition -> Block -> WhileExpr
- Hydra.Rust.Syntax: [angleBracketedArgsArgs] :: AngleBracketedArgs -> [GenericArg]
- Hydra.Rust.Syntax: [arrayRepeatElement] :: ArrayRepeat -> Expression
- Hydra.Rust.Syntax: [arrayRepeatLength] :: ArrayRepeat -> Expression
- Hydra.Rust.Syntax: [arrayTypeElement] :: ArrayType -> Type
- Hydra.Rust.Syntax: [arrayTypeLength] :: ArrayType -> Expression
- Hydra.Rust.Syntax: [assignExprTarget] :: AssignExpr -> Expression
- Hydra.Rust.Syntax: [assignExprValue] :: AssignExpr -> Expression
- Hydra.Rust.Syntax: [attributeInner] :: Attribute -> Bool
- Hydra.Rust.Syntax: [attributePath] :: Attribute -> [String]
- Hydra.Rust.Syntax: [attributeTokens] :: Attribute -> Maybe String
- Hydra.Rust.Syntax: [binaryExprLeft] :: BinaryExpr -> Expression
- Hydra.Rust.Syntax: [binaryExprOp] :: BinaryExpr -> BinaryOp
- Hydra.Rust.Syntax: [binaryExprRight] :: BinaryExpr -> Expression
- Hydra.Rust.Syntax: [blockExpression] :: Block -> Maybe Expression
- Hydra.Rust.Syntax: [blockStatements] :: Block -> [Statement]
- Hydra.Rust.Syntax: [callExprArgs] :: CallExpr -> [Expression]
- Hydra.Rust.Syntax: [callExprFunction] :: CallExpr -> Expression
- Hydra.Rust.Syntax: [castExprExpr] :: CastExpr -> Expression
- Hydra.Rust.Syntax: [castExprType] :: CastExpr -> Type
- Hydra.Rust.Syntax: [closureExprBody] :: ClosureExpr -> Expression
- Hydra.Rust.Syntax: [closureExprMove] :: ClosureExpr -> Bool
- Hydra.Rust.Syntax: [closureExprParams] :: ClosureExpr -> [ClosureParam]
- Hydra.Rust.Syntax: [closureExprReturnType] :: ClosureExpr -> Maybe Type
- Hydra.Rust.Syntax: [closureParamPattern] :: ClosureParam -> Pattern
- Hydra.Rust.Syntax: [closureParamType] :: ClosureParam -> Maybe Type
- Hydra.Rust.Syntax: [compoundAssignExprOp] :: CompoundAssignExpr -> CompoundAssignOp
- Hydra.Rust.Syntax: [compoundAssignExprTarget] :: CompoundAssignExpr -> Expression
- Hydra.Rust.Syntax: [compoundAssignExprValue] :: CompoundAssignExpr -> Expression
- Hydra.Rust.Syntax: [constDefDoc] :: ConstDef -> Maybe String
- Hydra.Rust.Syntax: [constDefName] :: ConstDef -> String
- Hydra.Rust.Syntax: [constDefPublic] :: ConstDef -> Bool
- Hydra.Rust.Syntax: [constDefType] :: ConstDef -> Type
- Hydra.Rust.Syntax: [constDefValue] :: ConstDef -> Expression
- Hydra.Rust.Syntax: [crateItems] :: Crate -> [ItemWithComments]
- Hydra.Rust.Syntax: [enumDefDerives] :: EnumDef -> [String]
- Hydra.Rust.Syntax: [enumDefDoc] :: EnumDef -> Maybe String
- Hydra.Rust.Syntax: [enumDefGenerics] :: EnumDef -> [GenericParam]
- Hydra.Rust.Syntax: [enumDefName] :: EnumDef -> String
- Hydra.Rust.Syntax: [enumDefPublic] :: EnumDef -> Bool
- Hydra.Rust.Syntax: [enumDefVariants] :: EnumDef -> [EnumVariant]
- Hydra.Rust.Syntax: [enumDefWhereClause] :: EnumDef -> Maybe WhereClause
- Hydra.Rust.Syntax: [enumVariantBody] :: EnumVariant -> EnumVariantBody
- Hydra.Rust.Syntax: [enumVariantDoc] :: EnumVariant -> Maybe String
- Hydra.Rust.Syntax: [enumVariantName] :: EnumVariant -> String
- Hydra.Rust.Syntax: [exprPathGlobal] :: ExprPath -> Bool
- Hydra.Rust.Syntax: [exprPathSegments] :: ExprPath -> [PathSegment]
- Hydra.Rust.Syntax: [fieldAccessExprField] :: FieldAccessExpr -> String
- Hydra.Rust.Syntax: [fieldAccessExprObject] :: FieldAccessExpr -> Expression
- Hydra.Rust.Syntax: [fieldPatternName] :: FieldPattern -> String
- Hydra.Rust.Syntax: [fieldPatternPattern] :: FieldPattern -> Maybe Pattern
- Hydra.Rust.Syntax: [fieldValueName] :: FieldValue -> String
- Hydra.Rust.Syntax: [fieldValueValue] :: FieldValue -> Maybe Expression
- Hydra.Rust.Syntax: [floatLiteralSuffix] :: FloatLiteral -> Maybe String
- Hydra.Rust.Syntax: [floatLiteralValue] :: FloatLiteral -> Double
- Hydra.Rust.Syntax: [fnDefAsync] :: FnDef -> Bool
- Hydra.Rust.Syntax: [fnDefBody] :: FnDef -> Block
- Hydra.Rust.Syntax: [fnDefConst] :: FnDef -> Bool
- Hydra.Rust.Syntax: [fnDefDoc] :: FnDef -> Maybe String
- Hydra.Rust.Syntax: [fnDefGenerics] :: FnDef -> [GenericParam]
- Hydra.Rust.Syntax: [fnDefName] :: FnDef -> String
- Hydra.Rust.Syntax: [fnDefParams] :: FnDef -> [FnParam]
- Hydra.Rust.Syntax: [fnDefPublic] :: FnDef -> Bool
- Hydra.Rust.Syntax: [fnDefReturnType] :: FnDef -> Maybe Type
- Hydra.Rust.Syntax: [fnDefUnsafe] :: FnDef -> Bool
- Hydra.Rust.Syntax: [fnDefWhereClause] :: FnDef -> Maybe WhereClause
- Hydra.Rust.Syntax: [fnParamPattern] :: FnParam -> Pattern
- Hydra.Rust.Syntax: [fnParamType] :: FnParam -> Type
- Hydra.Rust.Syntax: [fnPointerTypeParams] :: FnPointerType -> [Type]
- Hydra.Rust.Syntax: [fnPointerTypeReturnType] :: FnPointerType -> Type
- Hydra.Rust.Syntax: [forExprBody] :: ForExpr -> Block
- Hydra.Rust.Syntax: [forExprIter] :: ForExpr -> Expression
- Hydra.Rust.Syntax: [forExprLabel] :: ForExpr -> Maybe String
- Hydra.Rust.Syntax: [forExprPattern] :: ForExpr -> Pattern
- Hydra.Rust.Syntax: [genericParamBounds] :: GenericParam -> [TypeParamBound]
- Hydra.Rust.Syntax: [genericParamName] :: GenericParam -> String
- Hydra.Rust.Syntax: [identifierPatternAtPattern] :: IdentifierPattern -> Maybe Pattern
- Hydra.Rust.Syntax: [identifierPatternMutable] :: IdentifierPattern -> Bool
- Hydra.Rust.Syntax: [identifierPatternName] :: IdentifierPattern -> String
- Hydra.Rust.Syntax: [ifExprCondition] :: IfExpr -> IfCondition
- Hydra.Rust.Syntax: [ifExprElseBranch] :: IfExpr -> Maybe Expression
- Hydra.Rust.Syntax: [ifExprThenBlock] :: IfExpr -> Block
- Hydra.Rust.Syntax: [implBlockGenerics] :: ImplBlock -> [GenericParam]
- Hydra.Rust.Syntax: [implBlockItems] :: ImplBlock -> [ImplItem]
- Hydra.Rust.Syntax: [implBlockNegative] :: ImplBlock -> Bool
- Hydra.Rust.Syntax: [implBlockSelfType] :: ImplBlock -> Type
- Hydra.Rust.Syntax: [implBlockTrait] :: ImplBlock -> Maybe TypePath
- Hydra.Rust.Syntax: [implBlockWhereClause] :: ImplBlock -> Maybe WhereClause
- Hydra.Rust.Syntax: [implMethodBody] :: ImplMethod -> Block
- Hydra.Rust.Syntax: [implMethodDefault] :: ImplMethod -> Bool
- Hydra.Rust.Syntax: [implMethodDoc] :: ImplMethod -> Maybe String
- Hydra.Rust.Syntax: [implMethodGenerics] :: ImplMethod -> [GenericParam]
- Hydra.Rust.Syntax: [implMethodName] :: ImplMethod -> String
- Hydra.Rust.Syntax: [implMethodParams] :: ImplMethod -> [MethodParam]
- Hydra.Rust.Syntax: [implMethodPublic] :: ImplMethod -> Bool
- Hydra.Rust.Syntax: [implMethodReturnType] :: ImplMethod -> Maybe Type
- Hydra.Rust.Syntax: [implMethodWhereClause] :: ImplMethod -> Maybe WhereClause
- Hydra.Rust.Syntax: [indexExprIndex] :: IndexExpr -> Expression
- Hydra.Rust.Syntax: [indexExprObject] :: IndexExpr -> Expression
- Hydra.Rust.Syntax: [integerLiteralSuffix] :: IntegerLiteral -> Maybe String
- Hydra.Rust.Syntax: [integerLiteralValue] :: IntegerLiteral -> Integer
- Hydra.Rust.Syntax: [itemWithCommentsDoc] :: ItemWithComments -> Maybe String
- Hydra.Rust.Syntax: [itemWithCommentsItem] :: ItemWithComments -> Item
- Hydra.Rust.Syntax: [itemWithCommentsVisibility] :: ItemWithComments -> Visibility
- Hydra.Rust.Syntax: [letConditionExpr] :: LetCondition -> Expression
- Hydra.Rust.Syntax: [letConditionPattern] :: LetCondition -> Pattern
- Hydra.Rust.Syntax: [letStatementInit] :: LetStatement -> Maybe Expression
- Hydra.Rust.Syntax: [letStatementMutable] :: LetStatement -> Bool
- Hydra.Rust.Syntax: [letStatementPattern] :: LetStatement -> Pattern
- Hydra.Rust.Syntax: [letStatementType] :: LetStatement -> Maybe Type
- Hydra.Rust.Syntax: [lifetimeName] :: Lifetime -> String
- Hydra.Rust.Syntax: [loopExprBody] :: LoopExpr -> Block
- Hydra.Rust.Syntax: [loopExprLabel] :: LoopExpr -> Maybe String
- Hydra.Rust.Syntax: [macroInvocationDelimiter] :: MacroInvocation -> MacroDelimiter
- Hydra.Rust.Syntax: [macroInvocationPath] :: MacroInvocation -> [String]
- Hydra.Rust.Syntax: [macroInvocationTokens] :: MacroInvocation -> String
- Hydra.Rust.Syntax: [matchArmBody] :: MatchArm -> Expression
- Hydra.Rust.Syntax: [matchArmGuard] :: MatchArm -> Maybe Expression
- Hydra.Rust.Syntax: [matchArmPattern] :: MatchArm -> Pattern
- Hydra.Rust.Syntax: [matchExprArms] :: MatchExpr -> [MatchArm]
- Hydra.Rust.Syntax: [matchExprScrutinee] :: MatchExpr -> Expression
- Hydra.Rust.Syntax: [methodCallExprArgs] :: MethodCallExpr -> [Expression]
- Hydra.Rust.Syntax: [methodCallExprMethod] :: MethodCallExpr -> String
- Hydra.Rust.Syntax: [methodCallExprReceiver] :: MethodCallExpr -> Expression
- Hydra.Rust.Syntax: [methodCallExprTurbofish] :: MethodCallExpr -> [Type]
- Hydra.Rust.Syntax: [modDefBody] :: ModDef -> Maybe [Item]
- Hydra.Rust.Syntax: [modDefDoc] :: ModDef -> Maybe String
- Hydra.Rust.Syntax: [modDefName] :: ModDef -> String
- Hydra.Rust.Syntax: [modDefPublic] :: ModDef -> Bool
- Hydra.Rust.Syntax: [parenthesizedArgsInputs] :: ParenthesizedArgs -> [Type]
- Hydra.Rust.Syntax: [parenthesizedArgsOutput] :: ParenthesizedArgs -> Maybe Type
- Hydra.Rust.Syntax: [pathSegmentArguments] :: PathSegment -> GenericArguments
- Hydra.Rust.Syntax: [pathSegmentName] :: PathSegment -> String
- Hydra.Rust.Syntax: [rangeExprFrom] :: RangeExpr -> Maybe Expression
- Hydra.Rust.Syntax: [rangeExprInclusive] :: RangeExpr -> Bool
- Hydra.Rust.Syntax: [rangeExprTo] :: RangeExpr -> Maybe Expression
- Hydra.Rust.Syntax: [rangePatternFrom] :: RangePattern -> Maybe Pattern
- Hydra.Rust.Syntax: [rangePatternInclusive] :: RangePattern -> Bool
- Hydra.Rust.Syntax: [rangePatternTo] :: RangePattern -> Maybe Pattern
- Hydra.Rust.Syntax: [rawPointerTypeMutable] :: RawPointerType -> Bool
- Hydra.Rust.Syntax: [rawPointerTypeType] :: RawPointerType -> Type
- Hydra.Rust.Syntax: [refExprExpr] :: RefExpr -> Expression
- Hydra.Rust.Syntax: [refExprMutable] :: RefExpr -> Bool
- Hydra.Rust.Syntax: [refPatternMutable] :: RefPattern -> Bool
- Hydra.Rust.Syntax: [refPatternPattern] :: RefPattern -> Pattern
- Hydra.Rust.Syntax: [referenceTypeLifetime] :: ReferenceType -> Maybe Lifetime
- Hydra.Rust.Syntax: [referenceTypeMutable] :: ReferenceType -> Bool
- Hydra.Rust.Syntax: [referenceTypeType] :: ReferenceType -> Type
- Hydra.Rust.Syntax: [staticDefDoc] :: StaticDef -> Maybe String
- Hydra.Rust.Syntax: [staticDefMutable] :: StaticDef -> Bool
- Hydra.Rust.Syntax: [staticDefName] :: StaticDef -> String
- Hydra.Rust.Syntax: [staticDefPublic] :: StaticDef -> Bool
- Hydra.Rust.Syntax: [staticDefType] :: StaticDef -> Type
- Hydra.Rust.Syntax: [staticDefValue] :: StaticDef -> Expression
- Hydra.Rust.Syntax: [structDefBody] :: StructDef -> StructBody
- Hydra.Rust.Syntax: [structDefDerives] :: StructDef -> [String]
- Hydra.Rust.Syntax: [structDefDoc] :: StructDef -> Maybe String
- Hydra.Rust.Syntax: [structDefGenerics] :: StructDef -> [GenericParam]
- Hydra.Rust.Syntax: [structDefName] :: StructDef -> String
- Hydra.Rust.Syntax: [structDefPublic] :: StructDef -> Bool
- Hydra.Rust.Syntax: [structDefWhereClause] :: StructDef -> Maybe WhereClause
- Hydra.Rust.Syntax: [structExprFields] :: StructExpr -> [FieldValue]
- Hydra.Rust.Syntax: [structExprPath] :: StructExpr -> ExprPath
- Hydra.Rust.Syntax: [structExprRest] :: StructExpr -> Maybe Expression
- Hydra.Rust.Syntax: [structFieldDoc] :: StructField -> Maybe String
- Hydra.Rust.Syntax: [structFieldName] :: StructField -> String
- Hydra.Rust.Syntax: [structFieldPublic] :: StructField -> Bool
- Hydra.Rust.Syntax: [structFieldType] :: StructField -> Type
- Hydra.Rust.Syntax: [structPatternFields] :: StructPattern -> [FieldPattern]
- Hydra.Rust.Syntax: [structPatternPath] :: StructPattern -> ExprPath
- Hydra.Rust.Syntax: [structPatternRest] :: StructPattern -> Bool
- Hydra.Rust.Syntax: [traitConstDefault] :: TraitConst -> Maybe Expression
- Hydra.Rust.Syntax: [traitConstDoc] :: TraitConst -> Maybe String
- Hydra.Rust.Syntax: [traitConstName] :: TraitConst -> String
- Hydra.Rust.Syntax: [traitConstType] :: TraitConst -> Type
- Hydra.Rust.Syntax: [traitDefDoc] :: TraitDef -> Maybe String
- Hydra.Rust.Syntax: [traitDefGenerics] :: TraitDef -> [GenericParam]
- Hydra.Rust.Syntax: [traitDefItems] :: TraitDef -> [TraitItem]
- Hydra.Rust.Syntax: [traitDefName] :: TraitDef -> String
- Hydra.Rust.Syntax: [traitDefPublic] :: TraitDef -> Bool
- Hydra.Rust.Syntax: [traitDefSuperTraits] :: TraitDef -> [TypeParamBound]
- Hydra.Rust.Syntax: [traitDefUnsafe] :: TraitDef -> Bool
- Hydra.Rust.Syntax: [traitDefWhereClause] :: TraitDef -> Maybe WhereClause
- Hydra.Rust.Syntax: [traitMethodDefaultBody] :: TraitMethod -> Maybe Block
- Hydra.Rust.Syntax: [traitMethodDoc] :: TraitMethod -> Maybe String
- Hydra.Rust.Syntax: [traitMethodGenerics] :: TraitMethod -> [GenericParam]
- Hydra.Rust.Syntax: [traitMethodName] :: TraitMethod -> String
- Hydra.Rust.Syntax: [traitMethodParams] :: TraitMethod -> [MethodParam]
- Hydra.Rust.Syntax: [traitMethodReturnType] :: TraitMethod -> Maybe Type
- Hydra.Rust.Syntax: [traitMethodWhereClause] :: TraitMethod -> Maybe WhereClause
- Hydra.Rust.Syntax: [traitTypeBounds] :: TraitType -> [TypeParamBound]
- Hydra.Rust.Syntax: [traitTypeDefault] :: TraitType -> Maybe Type
- Hydra.Rust.Syntax: [traitTypeDoc] :: TraitType -> Maybe String
- Hydra.Rust.Syntax: [traitTypeName] :: TraitType -> String
- Hydra.Rust.Syntax: [tupleFieldPublic] :: TupleField -> Bool
- Hydra.Rust.Syntax: [tupleFieldType] :: TupleField -> Type
- Hydra.Rust.Syntax: [tupleIndexExprIndex] :: TupleIndexExpr -> Int
- Hydra.Rust.Syntax: [tupleIndexExprTuple] :: TupleIndexExpr -> Expression
- Hydra.Rust.Syntax: [tupleStructPatternElements] :: TupleStructPattern -> [Pattern]
- Hydra.Rust.Syntax: [tupleStructPatternPath] :: TupleStructPattern -> ExprPath
- Hydra.Rust.Syntax: [typeAliasDoc] :: TypeAlias -> Maybe String
- Hydra.Rust.Syntax: [typeAliasGenerics] :: TypeAlias -> [GenericParam]
- Hydra.Rust.Syntax: [typeAliasName] :: TypeAlias -> String
- Hydra.Rust.Syntax: [typeAliasPublic] :: TypeAlias -> Bool
- Hydra.Rust.Syntax: [typeAliasType] :: TypeAlias -> Type
- Hydra.Rust.Syntax: [typeAscriptionExprExpr] :: TypeAscriptionExpr -> Expression
- Hydra.Rust.Syntax: [typeAscriptionExprType] :: TypeAscriptionExpr -> Type
- Hydra.Rust.Syntax: [typeBindingName] :: TypeBinding -> String
- Hydra.Rust.Syntax: [typeBindingType] :: TypeBinding -> Type
- Hydra.Rust.Syntax: [typePathGlobal] :: TypePath -> Bool
- Hydra.Rust.Syntax: [typePathSegments] :: TypePath -> [PathSegment]
- Hydra.Rust.Syntax: [unaryExprOp] :: UnaryExpr -> UnaryOp
- Hydra.Rust.Syntax: [unaryExprOperand] :: UnaryExpr -> Expression
- Hydra.Rust.Syntax: [useDeclarationPublic] :: UseDeclaration -> Bool
- Hydra.Rust.Syntax: [useDeclarationTree] :: UseDeclaration -> UseTree
- Hydra.Rust.Syntax: [useGroupPrefix] :: UseGroup -> [String]
- Hydra.Rust.Syntax: [useGroupTrees] :: UseGroup -> [UseTree]
- Hydra.Rust.Syntax: [usePathSegments] :: UsePath -> [String]
- Hydra.Rust.Syntax: [useRenameAlias] :: UseRename -> String
- Hydra.Rust.Syntax: [useRenamePath] :: UseRename -> [String]
- Hydra.Rust.Syntax: [whereClausePredicates] :: WhereClause -> [WherePredicate]
- Hydra.Rust.Syntax: [wherePredicateBounds] :: WherePredicate -> [TypeParamBound]
- Hydra.Rust.Syntax: [wherePredicateType] :: WherePredicate -> Type
- Hydra.Rust.Syntax: [whileExprBody] :: WhileExpr -> Block
- Hydra.Rust.Syntax: [whileExprCondition] :: WhileExpr -> IfCondition
- Hydra.Rust.Syntax: [whileExprLabel] :: WhileExpr -> Maybe String
- Hydra.Rust.Syntax: _AngleBracketedArgs :: Name
- Hydra.Rust.Syntax: _AngleBracketedArgs_args :: Name
- Hydra.Rust.Syntax: _ArrayExpr :: Name
- Hydra.Rust.Syntax: _ArrayExpr_elements :: Name
- Hydra.Rust.Syntax: _ArrayExpr_repeat :: Name
- Hydra.Rust.Syntax: _ArrayRepeat :: Name
- Hydra.Rust.Syntax: _ArrayRepeat_element :: Name
- Hydra.Rust.Syntax: _ArrayRepeat_length :: Name
- Hydra.Rust.Syntax: _ArrayType :: Name
- Hydra.Rust.Syntax: _ArrayType_element :: Name
- Hydra.Rust.Syntax: _ArrayType_length :: Name
- Hydra.Rust.Syntax: _AssignExpr :: Name
- Hydra.Rust.Syntax: _AssignExpr_target :: Name
- Hydra.Rust.Syntax: _AssignExpr_value :: Name
- Hydra.Rust.Syntax: _Attribute :: Name
- Hydra.Rust.Syntax: _Attribute_inner :: Name
- Hydra.Rust.Syntax: _Attribute_path :: Name
- Hydra.Rust.Syntax: _Attribute_tokens :: Name
- Hydra.Rust.Syntax: _BinaryExpr :: Name
- Hydra.Rust.Syntax: _BinaryExpr_left :: Name
- Hydra.Rust.Syntax: _BinaryExpr_op :: Name
- Hydra.Rust.Syntax: _BinaryExpr_right :: Name
- Hydra.Rust.Syntax: _BinaryOp :: Name
- Hydra.Rust.Syntax: _BinaryOp_add :: Name
- Hydra.Rust.Syntax: _BinaryOp_and :: Name
- Hydra.Rust.Syntax: _BinaryOp_bitAnd :: Name
- Hydra.Rust.Syntax: _BinaryOp_bitOr :: Name
- Hydra.Rust.Syntax: _BinaryOp_bitXor :: Name
- Hydra.Rust.Syntax: _BinaryOp_div :: Name
- Hydra.Rust.Syntax: _BinaryOp_eq :: Name
- Hydra.Rust.Syntax: _BinaryOp_ge :: Name
- Hydra.Rust.Syntax: _BinaryOp_gt :: Name
- Hydra.Rust.Syntax: _BinaryOp_le :: Name
- Hydra.Rust.Syntax: _BinaryOp_lt :: Name
- Hydra.Rust.Syntax: _BinaryOp_mul :: Name
- Hydra.Rust.Syntax: _BinaryOp_ne :: Name
- Hydra.Rust.Syntax: _BinaryOp_or :: Name
- Hydra.Rust.Syntax: _BinaryOp_rem :: Name
- Hydra.Rust.Syntax: _BinaryOp_shl :: Name
- Hydra.Rust.Syntax: _BinaryOp_shr :: Name
- Hydra.Rust.Syntax: _BinaryOp_sub :: Name
- Hydra.Rust.Syntax: _Block :: Name
- Hydra.Rust.Syntax: _Block_expression :: Name
- Hydra.Rust.Syntax: _Block_statements :: Name
- Hydra.Rust.Syntax: _CallExpr :: Name
- Hydra.Rust.Syntax: _CallExpr_args :: Name
- Hydra.Rust.Syntax: _CallExpr_function :: Name
- Hydra.Rust.Syntax: _CastExpr :: Name
- Hydra.Rust.Syntax: _CastExpr_expr :: Name
- Hydra.Rust.Syntax: _CastExpr_type :: Name
- Hydra.Rust.Syntax: _ClosureExpr :: Name
- Hydra.Rust.Syntax: _ClosureExpr_body :: Name
- Hydra.Rust.Syntax: _ClosureExpr_move :: Name
- Hydra.Rust.Syntax: _ClosureExpr_params :: Name
- Hydra.Rust.Syntax: _ClosureExpr_returnType :: Name
- Hydra.Rust.Syntax: _ClosureParam :: Name
- Hydra.Rust.Syntax: _ClosureParam_pattern :: Name
- Hydra.Rust.Syntax: _ClosureParam_type :: Name
- Hydra.Rust.Syntax: _CompoundAssignExpr :: Name
- Hydra.Rust.Syntax: _CompoundAssignExpr_op :: Name
- Hydra.Rust.Syntax: _CompoundAssignExpr_target :: Name
- Hydra.Rust.Syntax: _CompoundAssignExpr_value :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_addAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_bitAndAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_bitOrAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_bitXorAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_divAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_mulAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_remAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_shlAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_shrAssign :: Name
- Hydra.Rust.Syntax: _CompoundAssignOp_subAssign :: Name
- Hydra.Rust.Syntax: _ConstDef :: Name
- Hydra.Rust.Syntax: _ConstDef_doc :: Name
- Hydra.Rust.Syntax: _ConstDef_name :: Name
- Hydra.Rust.Syntax: _ConstDef_public :: Name
- Hydra.Rust.Syntax: _ConstDef_type :: Name
- Hydra.Rust.Syntax: _ConstDef_value :: Name
- Hydra.Rust.Syntax: _Crate :: Name
- Hydra.Rust.Syntax: _Crate_items :: Name
- Hydra.Rust.Syntax: _EnumDef :: Name
- Hydra.Rust.Syntax: _EnumDef_derives :: Name
- Hydra.Rust.Syntax: _EnumDef_doc :: Name
- Hydra.Rust.Syntax: _EnumDef_generics :: Name
- Hydra.Rust.Syntax: _EnumDef_name :: Name
- Hydra.Rust.Syntax: _EnumDef_public :: Name
- Hydra.Rust.Syntax: _EnumDef_variants :: Name
- Hydra.Rust.Syntax: _EnumDef_whereClause :: Name
- Hydra.Rust.Syntax: _EnumVariant :: Name
- Hydra.Rust.Syntax: _EnumVariantBody :: Name
- Hydra.Rust.Syntax: _EnumVariantBody_struct :: Name
- Hydra.Rust.Syntax: _EnumVariantBody_tuple :: Name
- Hydra.Rust.Syntax: _EnumVariantBody_unit :: Name
- Hydra.Rust.Syntax: _EnumVariant_body :: Name
- Hydra.Rust.Syntax: _EnumVariant_doc :: Name
- Hydra.Rust.Syntax: _EnumVariant_name :: Name
- Hydra.Rust.Syntax: _ExprPath :: Name
- Hydra.Rust.Syntax: _ExprPath_global :: Name
- Hydra.Rust.Syntax: _ExprPath_segments :: Name
- Hydra.Rust.Syntax: _Expression :: Name
- Hydra.Rust.Syntax: _Expression_array :: Name
- Hydra.Rust.Syntax: _Expression_assign :: Name
- Hydra.Rust.Syntax: _Expression_await :: Name
- Hydra.Rust.Syntax: _Expression_binary :: Name
- Hydra.Rust.Syntax: _Expression_block :: Name
- Hydra.Rust.Syntax: _Expression_break :: Name
- Hydra.Rust.Syntax: _Expression_call :: Name
- Hydra.Rust.Syntax: _Expression_cast :: Name
- Hydra.Rust.Syntax: _Expression_closure :: Name
- Hydra.Rust.Syntax: _Expression_compoundAssign :: Name
- Hydra.Rust.Syntax: _Expression_continue :: Name
- Hydra.Rust.Syntax: _Expression_dereference :: Name
- Hydra.Rust.Syntax: _Expression_fieldAccess :: Name
- Hydra.Rust.Syntax: _Expression_for :: Name
- Hydra.Rust.Syntax: _Expression_if :: Name
- Hydra.Rust.Syntax: _Expression_index :: Name
- Hydra.Rust.Syntax: _Expression_literal :: Name
- Hydra.Rust.Syntax: _Expression_loop :: Name
- Hydra.Rust.Syntax: _Expression_macro :: Name
- Hydra.Rust.Syntax: _Expression_match :: Name
- Hydra.Rust.Syntax: _Expression_methodCall :: Name
- Hydra.Rust.Syntax: _Expression_paren :: Name
- Hydra.Rust.Syntax: _Expression_path :: Name
- Hydra.Rust.Syntax: _Expression_range :: Name
- Hydra.Rust.Syntax: _Expression_reference :: Name
- Hydra.Rust.Syntax: _Expression_return :: Name
- Hydra.Rust.Syntax: _Expression_struct :: Name
- Hydra.Rust.Syntax: _Expression_try :: Name
- Hydra.Rust.Syntax: _Expression_tuple :: Name
- Hydra.Rust.Syntax: _Expression_tupleIndex :: Name
- Hydra.Rust.Syntax: _Expression_typeAscription :: Name
- Hydra.Rust.Syntax: _Expression_unary :: Name
- Hydra.Rust.Syntax: _Expression_while :: Name
- Hydra.Rust.Syntax: _FieldAccessExpr :: Name
- Hydra.Rust.Syntax: _FieldAccessExpr_field :: Name
- Hydra.Rust.Syntax: _FieldAccessExpr_object :: Name
- Hydra.Rust.Syntax: _FieldPattern :: Name
- Hydra.Rust.Syntax: _FieldPattern_name :: Name
- Hydra.Rust.Syntax: _FieldPattern_pattern :: Name
- Hydra.Rust.Syntax: _FieldValue :: Name
- Hydra.Rust.Syntax: _FieldValue_name :: Name
- Hydra.Rust.Syntax: _FieldValue_value :: Name
- Hydra.Rust.Syntax: _FloatLiteral :: Name
- Hydra.Rust.Syntax: _FloatLiteral_suffix :: Name
- Hydra.Rust.Syntax: _FloatLiteral_value :: Name
- Hydra.Rust.Syntax: _FnDef :: Name
- Hydra.Rust.Syntax: _FnDef_async :: Name
- Hydra.Rust.Syntax: _FnDef_body :: Name
- Hydra.Rust.Syntax: _FnDef_const :: Name
- Hydra.Rust.Syntax: _FnDef_doc :: Name
- Hydra.Rust.Syntax: _FnDef_generics :: Name
- Hydra.Rust.Syntax: _FnDef_name :: Name
- Hydra.Rust.Syntax: _FnDef_params :: Name
- Hydra.Rust.Syntax: _FnDef_public :: Name
- Hydra.Rust.Syntax: _FnDef_returnType :: Name
- Hydra.Rust.Syntax: _FnDef_unsafe :: Name
- Hydra.Rust.Syntax: _FnDef_whereClause :: Name
- Hydra.Rust.Syntax: _FnParam :: Name
- Hydra.Rust.Syntax: _FnParam_pattern :: Name
- Hydra.Rust.Syntax: _FnParam_type :: Name
- Hydra.Rust.Syntax: _FnPointerType :: Name
- Hydra.Rust.Syntax: _FnPointerType_params :: Name
- Hydra.Rust.Syntax: _FnPointerType_returnType :: Name
- Hydra.Rust.Syntax: _ForExpr :: Name
- Hydra.Rust.Syntax: _ForExpr_body :: Name
- Hydra.Rust.Syntax: _ForExpr_iter :: Name
- Hydra.Rust.Syntax: _ForExpr_label :: Name
- Hydra.Rust.Syntax: _ForExpr_pattern :: Name
- Hydra.Rust.Syntax: _GenericArg :: Name
- Hydra.Rust.Syntax: _GenericArg_binding :: Name
- Hydra.Rust.Syntax: _GenericArg_const :: Name
- Hydra.Rust.Syntax: _GenericArg_lifetime :: Name
- Hydra.Rust.Syntax: _GenericArg_type :: Name
- Hydra.Rust.Syntax: _GenericArguments :: Name
- Hydra.Rust.Syntax: _GenericArguments_angleBracketed :: Name
- Hydra.Rust.Syntax: _GenericArguments_none :: Name
- Hydra.Rust.Syntax: _GenericArguments_parenthesized :: Name
- Hydra.Rust.Syntax: _GenericParam :: Name
- Hydra.Rust.Syntax: _GenericParam_bounds :: Name
- Hydra.Rust.Syntax: _GenericParam_name :: Name
- Hydra.Rust.Syntax: _IdentifierPattern :: Name
- Hydra.Rust.Syntax: _IdentifierPattern_atPattern :: Name
- Hydra.Rust.Syntax: _IdentifierPattern_mutable :: Name
- Hydra.Rust.Syntax: _IdentifierPattern_name :: Name
- Hydra.Rust.Syntax: _IfCondition :: Name
- Hydra.Rust.Syntax: _IfCondition_bool :: Name
- Hydra.Rust.Syntax: _IfCondition_let :: Name
- Hydra.Rust.Syntax: _IfExpr :: Name
- Hydra.Rust.Syntax: _IfExpr_condition :: Name
- Hydra.Rust.Syntax: _IfExpr_elseBranch :: Name
- Hydra.Rust.Syntax: _IfExpr_thenBlock :: Name
- Hydra.Rust.Syntax: _ImplBlock :: Name
- Hydra.Rust.Syntax: _ImplBlock_generics :: Name
- Hydra.Rust.Syntax: _ImplBlock_items :: Name
- Hydra.Rust.Syntax: _ImplBlock_negative :: Name
- Hydra.Rust.Syntax: _ImplBlock_selfType :: Name
- Hydra.Rust.Syntax: _ImplBlock_trait :: Name
- Hydra.Rust.Syntax: _ImplBlock_whereClause :: Name
- Hydra.Rust.Syntax: _ImplItem :: Name
- Hydra.Rust.Syntax: _ImplItem_const :: Name
- Hydra.Rust.Syntax: _ImplItem_method :: Name
- Hydra.Rust.Syntax: _ImplItem_type :: Name
- Hydra.Rust.Syntax: _ImplMethod :: Name
- Hydra.Rust.Syntax: _ImplMethod_body :: Name
- Hydra.Rust.Syntax: _ImplMethod_default :: Name
- Hydra.Rust.Syntax: _ImplMethod_doc :: Name
- Hydra.Rust.Syntax: _ImplMethod_generics :: Name
- Hydra.Rust.Syntax: _ImplMethod_name :: Name
- Hydra.Rust.Syntax: _ImplMethod_params :: Name
- Hydra.Rust.Syntax: _ImplMethod_public :: Name
- Hydra.Rust.Syntax: _ImplMethod_returnType :: Name
- Hydra.Rust.Syntax: _ImplMethod_whereClause :: Name
- Hydra.Rust.Syntax: _IndexExpr :: Name
- Hydra.Rust.Syntax: _IndexExpr_index :: Name
- Hydra.Rust.Syntax: _IndexExpr_object :: Name
- Hydra.Rust.Syntax: _IntegerLiteral :: Name
- Hydra.Rust.Syntax: _IntegerLiteral_suffix :: Name
- Hydra.Rust.Syntax: _IntegerLiteral_value :: Name
- Hydra.Rust.Syntax: _Item :: Name
- Hydra.Rust.Syntax: _ItemWithComments :: Name
- Hydra.Rust.Syntax: _ItemWithComments_doc :: Name
- Hydra.Rust.Syntax: _ItemWithComments_item :: Name
- Hydra.Rust.Syntax: _ItemWithComments_visibility :: Name
- Hydra.Rust.Syntax: _Item_const :: Name
- Hydra.Rust.Syntax: _Item_enum :: Name
- Hydra.Rust.Syntax: _Item_fn :: Name
- Hydra.Rust.Syntax: _Item_impl :: Name
- Hydra.Rust.Syntax: _Item_macro :: Name
- Hydra.Rust.Syntax: _Item_mod :: Name
- Hydra.Rust.Syntax: _Item_static :: Name
- Hydra.Rust.Syntax: _Item_struct :: Name
- Hydra.Rust.Syntax: _Item_trait :: Name
- Hydra.Rust.Syntax: _Item_typeAlias :: Name
- Hydra.Rust.Syntax: _Item_use :: Name
- Hydra.Rust.Syntax: _LetCondition :: Name
- Hydra.Rust.Syntax: _LetCondition_expr :: Name
- Hydra.Rust.Syntax: _LetCondition_pattern :: Name
- Hydra.Rust.Syntax: _LetStatement :: Name
- Hydra.Rust.Syntax: _LetStatement_init :: Name
- Hydra.Rust.Syntax: _LetStatement_mutable :: Name
- Hydra.Rust.Syntax: _LetStatement_pattern :: Name
- Hydra.Rust.Syntax: _LetStatement_type :: Name
- Hydra.Rust.Syntax: _Lifetime :: Name
- Hydra.Rust.Syntax: _Lifetime_name :: Name
- Hydra.Rust.Syntax: _Literal :: Name
- Hydra.Rust.Syntax: _Literal_bool :: Name
- Hydra.Rust.Syntax: _Literal_byte :: Name
- Hydra.Rust.Syntax: _Literal_byteString :: Name
- Hydra.Rust.Syntax: _Literal_char :: Name
- Hydra.Rust.Syntax: _Literal_float :: Name
- Hydra.Rust.Syntax: _Literal_integer :: Name
- Hydra.Rust.Syntax: _Literal_rawString :: Name
- Hydra.Rust.Syntax: _Literal_string :: Name
- Hydra.Rust.Syntax: _LoopExpr :: Name
- Hydra.Rust.Syntax: _LoopExpr_body :: Name
- Hydra.Rust.Syntax: _LoopExpr_label :: Name
- Hydra.Rust.Syntax: _MacroDelimiter :: Name
- Hydra.Rust.Syntax: _MacroDelimiter_brace :: Name
- Hydra.Rust.Syntax: _MacroDelimiter_bracket :: Name
- Hydra.Rust.Syntax: _MacroDelimiter_paren :: Name
- Hydra.Rust.Syntax: _MacroInvocation :: Name
- Hydra.Rust.Syntax: _MacroInvocation_delimiter :: Name
- Hydra.Rust.Syntax: _MacroInvocation_path :: Name
- Hydra.Rust.Syntax: _MacroInvocation_tokens :: Name
- Hydra.Rust.Syntax: _MatchArm :: Name
- Hydra.Rust.Syntax: _MatchArm_body :: Name
- Hydra.Rust.Syntax: _MatchArm_guard :: Name
- Hydra.Rust.Syntax: _MatchArm_pattern :: Name
- Hydra.Rust.Syntax: _MatchExpr :: Name
- Hydra.Rust.Syntax: _MatchExpr_arms :: Name
- Hydra.Rust.Syntax: _MatchExpr_scrutinee :: Name
- Hydra.Rust.Syntax: _MethodCallExpr :: Name
- Hydra.Rust.Syntax: _MethodCallExpr_args :: Name
- Hydra.Rust.Syntax: _MethodCallExpr_method :: Name
- Hydra.Rust.Syntax: _MethodCallExpr_receiver :: Name
- Hydra.Rust.Syntax: _MethodCallExpr_turbofish :: Name
- Hydra.Rust.Syntax: _MethodParam :: Name
- Hydra.Rust.Syntax: _MethodParam_regular :: Name
- Hydra.Rust.Syntax: _MethodParam_self :: Name
- Hydra.Rust.Syntax: _ModDef :: Name
- Hydra.Rust.Syntax: _ModDef_body :: Name
- Hydra.Rust.Syntax: _ModDef_doc :: Name
- Hydra.Rust.Syntax: _ModDef_name :: Name
- Hydra.Rust.Syntax: _ModDef_public :: Name
- Hydra.Rust.Syntax: _ParenthesizedArgs :: Name
- Hydra.Rust.Syntax: _ParenthesizedArgs_inputs :: Name
- Hydra.Rust.Syntax: _ParenthesizedArgs_output :: Name
- Hydra.Rust.Syntax: _PathSegment :: Name
- Hydra.Rust.Syntax: _PathSegment_arguments :: Name
- Hydra.Rust.Syntax: _PathSegment_name :: Name
- Hydra.Rust.Syntax: _Pattern :: Name
- Hydra.Rust.Syntax: _Pattern_identifier :: Name
- Hydra.Rust.Syntax: _Pattern_literal :: Name
- Hydra.Rust.Syntax: _Pattern_or :: Name
- Hydra.Rust.Syntax: _Pattern_paren :: Name
- Hydra.Rust.Syntax: _Pattern_path :: Name
- Hydra.Rust.Syntax: _Pattern_range :: Name
- Hydra.Rust.Syntax: _Pattern_reference :: Name
- Hydra.Rust.Syntax: _Pattern_rest :: Name
- Hydra.Rust.Syntax: _Pattern_slice :: Name
- Hydra.Rust.Syntax: _Pattern_struct :: Name
- Hydra.Rust.Syntax: _Pattern_tuple :: Name
- Hydra.Rust.Syntax: _Pattern_tupleStruct :: Name
- Hydra.Rust.Syntax: _Pattern_wildcard :: Name
- Hydra.Rust.Syntax: _RangeExpr :: Name
- Hydra.Rust.Syntax: _RangeExpr_from :: Name
- Hydra.Rust.Syntax: _RangeExpr_inclusive :: Name
- Hydra.Rust.Syntax: _RangeExpr_to :: Name
- Hydra.Rust.Syntax: _RangePattern :: Name
- Hydra.Rust.Syntax: _RangePattern_from :: Name
- Hydra.Rust.Syntax: _RangePattern_inclusive :: Name
- Hydra.Rust.Syntax: _RangePattern_to :: Name
- Hydra.Rust.Syntax: _RawPointerType :: Name
- Hydra.Rust.Syntax: _RawPointerType_mutable :: Name
- Hydra.Rust.Syntax: _RawPointerType_type :: Name
- Hydra.Rust.Syntax: _RefExpr :: Name
- Hydra.Rust.Syntax: _RefExpr_expr :: Name
- Hydra.Rust.Syntax: _RefExpr_mutable :: Name
- Hydra.Rust.Syntax: _RefPattern :: Name
- Hydra.Rust.Syntax: _RefPattern_mutable :: Name
- Hydra.Rust.Syntax: _RefPattern_pattern :: Name
- Hydra.Rust.Syntax: _ReferenceType :: Name
- Hydra.Rust.Syntax: _ReferenceType_lifetime :: Name
- Hydra.Rust.Syntax: _ReferenceType_mutable :: Name
- Hydra.Rust.Syntax: _ReferenceType_type :: Name
- Hydra.Rust.Syntax: _SelfParam :: Name
- Hydra.Rust.Syntax: _SelfParam_owned :: Name
- Hydra.Rust.Syntax: _SelfParam_ref :: Name
- Hydra.Rust.Syntax: _SelfParam_refMut :: Name
- Hydra.Rust.Syntax: _Statement :: Name
- Hydra.Rust.Syntax: _Statement_empty :: Name
- Hydra.Rust.Syntax: _Statement_expression :: Name
- Hydra.Rust.Syntax: _Statement_item :: Name
- Hydra.Rust.Syntax: _Statement_let :: Name
- Hydra.Rust.Syntax: _StaticDef :: Name
- Hydra.Rust.Syntax: _StaticDef_doc :: Name
- Hydra.Rust.Syntax: _StaticDef_mutable :: Name
- Hydra.Rust.Syntax: _StaticDef_name :: Name
- Hydra.Rust.Syntax: _StaticDef_public :: Name
- Hydra.Rust.Syntax: _StaticDef_type :: Name
- Hydra.Rust.Syntax: _StaticDef_value :: Name
- Hydra.Rust.Syntax: _StructBody :: Name
- Hydra.Rust.Syntax: _StructBody_named :: Name
- Hydra.Rust.Syntax: _StructBody_tuple :: Name
- Hydra.Rust.Syntax: _StructBody_unit :: Name
- Hydra.Rust.Syntax: _StructDef :: Name
- Hydra.Rust.Syntax: _StructDef_body :: Name
- Hydra.Rust.Syntax: _StructDef_derives :: Name
- Hydra.Rust.Syntax: _StructDef_doc :: Name
- Hydra.Rust.Syntax: _StructDef_generics :: Name
- Hydra.Rust.Syntax: _StructDef_name :: Name
- Hydra.Rust.Syntax: _StructDef_public :: Name
- Hydra.Rust.Syntax: _StructDef_whereClause :: Name
- Hydra.Rust.Syntax: _StructExpr :: Name
- Hydra.Rust.Syntax: _StructExpr_fields :: Name
- Hydra.Rust.Syntax: _StructExpr_path :: Name
- Hydra.Rust.Syntax: _StructExpr_rest :: Name
- Hydra.Rust.Syntax: _StructField :: Name
- Hydra.Rust.Syntax: _StructField_doc :: Name
- Hydra.Rust.Syntax: _StructField_name :: Name
- Hydra.Rust.Syntax: _StructField_public :: Name
- Hydra.Rust.Syntax: _StructField_type :: Name
- Hydra.Rust.Syntax: _StructPattern :: Name
- Hydra.Rust.Syntax: _StructPattern_fields :: Name
- Hydra.Rust.Syntax: _StructPattern_path :: Name
- Hydra.Rust.Syntax: _StructPattern_rest :: Name
- Hydra.Rust.Syntax: _TraitConst :: Name
- Hydra.Rust.Syntax: _TraitConst_default :: Name
- Hydra.Rust.Syntax: _TraitConst_doc :: Name
- Hydra.Rust.Syntax: _TraitConst_name :: Name
- Hydra.Rust.Syntax: _TraitConst_type :: Name
- Hydra.Rust.Syntax: _TraitDef :: Name
- Hydra.Rust.Syntax: _TraitDef_doc :: Name
- Hydra.Rust.Syntax: _TraitDef_generics :: Name
- Hydra.Rust.Syntax: _TraitDef_items :: Name
- Hydra.Rust.Syntax: _TraitDef_name :: Name
- Hydra.Rust.Syntax: _TraitDef_public :: Name
- Hydra.Rust.Syntax: _TraitDef_superTraits :: Name
- Hydra.Rust.Syntax: _TraitDef_unsafe :: Name
- Hydra.Rust.Syntax: _TraitDef_whereClause :: Name
- Hydra.Rust.Syntax: _TraitItem :: Name
- Hydra.Rust.Syntax: _TraitItem_const :: Name
- Hydra.Rust.Syntax: _TraitItem_method :: Name
- Hydra.Rust.Syntax: _TraitItem_type :: Name
- Hydra.Rust.Syntax: _TraitMethod :: Name
- Hydra.Rust.Syntax: _TraitMethod_defaultBody :: Name
- Hydra.Rust.Syntax: _TraitMethod_doc :: Name
- Hydra.Rust.Syntax: _TraitMethod_generics :: Name
- Hydra.Rust.Syntax: _TraitMethod_name :: Name
- Hydra.Rust.Syntax: _TraitMethod_params :: Name
- Hydra.Rust.Syntax: _TraitMethod_returnType :: Name
- Hydra.Rust.Syntax: _TraitMethod_whereClause :: Name
- Hydra.Rust.Syntax: _TraitType :: Name
- Hydra.Rust.Syntax: _TraitType_bounds :: Name
- Hydra.Rust.Syntax: _TraitType_default :: Name
- Hydra.Rust.Syntax: _TraitType_doc :: Name
- Hydra.Rust.Syntax: _TraitType_name :: Name
- Hydra.Rust.Syntax: _TupleField :: Name
- Hydra.Rust.Syntax: _TupleField_public :: Name
- Hydra.Rust.Syntax: _TupleField_type :: Name
- Hydra.Rust.Syntax: _TupleIndexExpr :: Name
- Hydra.Rust.Syntax: _TupleIndexExpr_index :: Name
- Hydra.Rust.Syntax: _TupleIndexExpr_tuple :: Name
- Hydra.Rust.Syntax: _TupleStructPattern :: Name
- Hydra.Rust.Syntax: _TupleStructPattern_elements :: Name
- Hydra.Rust.Syntax: _TupleStructPattern_path :: Name
- Hydra.Rust.Syntax: _Type :: Name
- Hydra.Rust.Syntax: _TypeAlias :: Name
- Hydra.Rust.Syntax: _TypeAlias_doc :: Name
- Hydra.Rust.Syntax: _TypeAlias_generics :: Name
- Hydra.Rust.Syntax: _TypeAlias_name :: Name
- Hydra.Rust.Syntax: _TypeAlias_public :: Name
- Hydra.Rust.Syntax: _TypeAlias_type :: Name
- Hydra.Rust.Syntax: _TypeAscriptionExpr :: Name
- Hydra.Rust.Syntax: _TypeAscriptionExpr_expr :: Name
- Hydra.Rust.Syntax: _TypeAscriptionExpr_type :: Name
- Hydra.Rust.Syntax: _TypeBinding :: Name
- Hydra.Rust.Syntax: _TypeBinding_name :: Name
- Hydra.Rust.Syntax: _TypeBinding_type :: Name
- Hydra.Rust.Syntax: _TypeParamBound :: Name
- Hydra.Rust.Syntax: _TypeParamBound_lifetime :: Name
- Hydra.Rust.Syntax: _TypeParamBound_trait :: Name
- Hydra.Rust.Syntax: _TypePath :: Name
- Hydra.Rust.Syntax: _TypePath_global :: Name
- Hydra.Rust.Syntax: _TypePath_segments :: Name
- Hydra.Rust.Syntax: _Type_array :: Name
- Hydra.Rust.Syntax: _Type_dynTrait :: Name
- Hydra.Rust.Syntax: _Type_fnPointer :: Name
- Hydra.Rust.Syntax: _Type_implTrait :: Name
- Hydra.Rust.Syntax: _Type_inferred :: Name
- Hydra.Rust.Syntax: _Type_macro :: Name
- Hydra.Rust.Syntax: _Type_never :: Name
- Hydra.Rust.Syntax: _Type_path :: Name
- Hydra.Rust.Syntax: _Type_rawPointer :: Name
- Hydra.Rust.Syntax: _Type_reference :: Name
- Hydra.Rust.Syntax: _Type_slice :: Name
- Hydra.Rust.Syntax: _Type_tuple :: Name
- Hydra.Rust.Syntax: _Type_unit :: Name
- Hydra.Rust.Syntax: _UnaryExpr :: Name
- Hydra.Rust.Syntax: _UnaryExpr_op :: Name
- Hydra.Rust.Syntax: _UnaryExpr_operand :: Name
- Hydra.Rust.Syntax: _UnaryOp :: Name
- Hydra.Rust.Syntax: _UnaryOp_neg :: Name
- Hydra.Rust.Syntax: _UnaryOp_not :: Name
- Hydra.Rust.Syntax: _UseDeclaration :: Name
- Hydra.Rust.Syntax: _UseDeclaration_public :: Name
- Hydra.Rust.Syntax: _UseDeclaration_tree :: Name
- Hydra.Rust.Syntax: _UseGroup :: Name
- Hydra.Rust.Syntax: _UseGroup_prefix :: Name
- Hydra.Rust.Syntax: _UseGroup_trees :: Name
- Hydra.Rust.Syntax: _UsePath :: Name
- Hydra.Rust.Syntax: _UsePath_segments :: Name
- Hydra.Rust.Syntax: _UseRename :: Name
- Hydra.Rust.Syntax: _UseRename_alias :: Name
- Hydra.Rust.Syntax: _UseRename_path :: Name
- Hydra.Rust.Syntax: _UseTree :: Name
- Hydra.Rust.Syntax: _UseTree_glob :: Name
- Hydra.Rust.Syntax: _UseTree_group :: Name
- Hydra.Rust.Syntax: _UseTree_path :: Name
- Hydra.Rust.Syntax: _UseTree_rename :: Name
- Hydra.Rust.Syntax: _Visibility :: Name
- Hydra.Rust.Syntax: _Visibility_crate :: Name
- Hydra.Rust.Syntax: _Visibility_private :: Name
- Hydra.Rust.Syntax: _Visibility_public :: Name
- Hydra.Rust.Syntax: _Visibility_restricted :: Name
- Hydra.Rust.Syntax: _WhereClause :: Name
- Hydra.Rust.Syntax: _WhereClause_predicates :: Name
- Hydra.Rust.Syntax: _WherePredicate :: Name
- Hydra.Rust.Syntax: _WherePredicate_bounds :: Name
- Hydra.Rust.Syntax: _WherePredicate_type :: Name
- Hydra.Rust.Syntax: _WhileExpr :: Name
- Hydra.Rust.Syntax: _WhileExpr_body :: Name
- Hydra.Rust.Syntax: _WhileExpr_condition :: Name
- Hydra.Rust.Syntax: _WhileExpr_label :: Name
- Hydra.Rust.Syntax: data AngleBracketedArgs
- Hydra.Rust.Syntax: data ArrayExpr
- Hydra.Rust.Syntax: data ArrayRepeat
- Hydra.Rust.Syntax: data ArrayType
- Hydra.Rust.Syntax: data AssignExpr
- Hydra.Rust.Syntax: data Attribute
- Hydra.Rust.Syntax: data BinaryExpr
- Hydra.Rust.Syntax: data BinaryOp
- Hydra.Rust.Syntax: data Block
- Hydra.Rust.Syntax: data CallExpr
- Hydra.Rust.Syntax: data CastExpr
- Hydra.Rust.Syntax: data ClosureExpr
- Hydra.Rust.Syntax: data ClosureParam
- Hydra.Rust.Syntax: data CompoundAssignExpr
- Hydra.Rust.Syntax: data CompoundAssignOp
- Hydra.Rust.Syntax: data ConstDef
- Hydra.Rust.Syntax: data Crate
- Hydra.Rust.Syntax: data EnumDef
- Hydra.Rust.Syntax: data EnumVariant
- Hydra.Rust.Syntax: data EnumVariantBody
- Hydra.Rust.Syntax: data ExprPath
- Hydra.Rust.Syntax: data Expression
- Hydra.Rust.Syntax: data FieldAccessExpr
- Hydra.Rust.Syntax: data FieldPattern
- Hydra.Rust.Syntax: data FieldValue
- Hydra.Rust.Syntax: data FloatLiteral
- Hydra.Rust.Syntax: data FnDef
- Hydra.Rust.Syntax: data FnParam
- Hydra.Rust.Syntax: data FnPointerType
- Hydra.Rust.Syntax: data ForExpr
- Hydra.Rust.Syntax: data GenericArg
- Hydra.Rust.Syntax: data GenericArguments
- Hydra.Rust.Syntax: data GenericParam
- Hydra.Rust.Syntax: data IdentifierPattern
- Hydra.Rust.Syntax: data IfCondition
- Hydra.Rust.Syntax: data IfExpr
- Hydra.Rust.Syntax: data ImplBlock
- Hydra.Rust.Syntax: data ImplItem
- Hydra.Rust.Syntax: data ImplMethod
- Hydra.Rust.Syntax: data IndexExpr
- Hydra.Rust.Syntax: data IntegerLiteral
- Hydra.Rust.Syntax: data Item
- Hydra.Rust.Syntax: data ItemWithComments
- Hydra.Rust.Syntax: data LetCondition
- Hydra.Rust.Syntax: data LetStatement
- Hydra.Rust.Syntax: data Lifetime
- Hydra.Rust.Syntax: data Literal
- Hydra.Rust.Syntax: data LoopExpr
- Hydra.Rust.Syntax: data MacroDelimiter
- Hydra.Rust.Syntax: data MacroInvocation
- Hydra.Rust.Syntax: data MatchArm
- Hydra.Rust.Syntax: data MatchExpr
- Hydra.Rust.Syntax: data MethodCallExpr
- Hydra.Rust.Syntax: data MethodParam
- Hydra.Rust.Syntax: data ModDef
- Hydra.Rust.Syntax: data ParenthesizedArgs
- Hydra.Rust.Syntax: data PathSegment
- Hydra.Rust.Syntax: data Pattern
- Hydra.Rust.Syntax: data RangeExpr
- Hydra.Rust.Syntax: data RangePattern
- Hydra.Rust.Syntax: data RawPointerType
- Hydra.Rust.Syntax: data RefExpr
- Hydra.Rust.Syntax: data RefPattern
- Hydra.Rust.Syntax: data ReferenceType
- Hydra.Rust.Syntax: data SelfParam
- Hydra.Rust.Syntax: data Statement
- Hydra.Rust.Syntax: data StaticDef
- Hydra.Rust.Syntax: data StructBody
- Hydra.Rust.Syntax: data StructDef
- Hydra.Rust.Syntax: data StructExpr
- Hydra.Rust.Syntax: data StructField
- Hydra.Rust.Syntax: data StructPattern
- Hydra.Rust.Syntax: data TraitConst
- Hydra.Rust.Syntax: data TraitDef
- Hydra.Rust.Syntax: data TraitItem
- Hydra.Rust.Syntax: data TraitMethod
- Hydra.Rust.Syntax: data TraitType
- Hydra.Rust.Syntax: data TupleField
- Hydra.Rust.Syntax: data TupleIndexExpr
- Hydra.Rust.Syntax: data TupleStructPattern
- Hydra.Rust.Syntax: data Type
- Hydra.Rust.Syntax: data TypeAlias
- Hydra.Rust.Syntax: data TypeAscriptionExpr
- Hydra.Rust.Syntax: data TypeBinding
- Hydra.Rust.Syntax: data TypeParamBound
- Hydra.Rust.Syntax: data TypePath
- Hydra.Rust.Syntax: data UnaryExpr
- Hydra.Rust.Syntax: data UnaryOp
- Hydra.Rust.Syntax: data UseDeclaration
- Hydra.Rust.Syntax: data UseGroup
- Hydra.Rust.Syntax: data UsePath
- Hydra.Rust.Syntax: data UseRename
- Hydra.Rust.Syntax: data UseTree
- Hydra.Rust.Syntax: data Visibility
- Hydra.Rust.Syntax: data WhereClause
- Hydra.Rust.Syntax: data WherePredicate
- Hydra.Rust.Syntax: data WhileExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.AngleBracketedArgs
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ArrayExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ArrayRepeat
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ArrayType
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.AssignExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Attribute
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.BinaryExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.BinaryOp
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Block
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.CallExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.CastExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ClosureExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ClosureParam
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.CompoundAssignExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.CompoundAssignOp
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ConstDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Crate
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.EnumDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.EnumVariant
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.EnumVariantBody
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ExprPath
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Expression
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FieldAccessExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FieldPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FieldValue
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FloatLiteral
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FnDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FnParam
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.FnPointerType
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ForExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.GenericArg
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.GenericArguments
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.GenericParam
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.IdentifierPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.IfCondition
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.IfExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ImplBlock
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ImplItem
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ImplMethod
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.IndexExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.IntegerLiteral
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Item
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ItemWithComments
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.LetCondition
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.LetStatement
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Lifetime
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Literal
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.LoopExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MacroDelimiter
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MacroInvocation
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MatchArm
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MatchExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MethodCallExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.MethodParam
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ModDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ParenthesizedArgs
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.PathSegment
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Pattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.RangeExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.RangePattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.RawPointerType
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.RefExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.RefPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.ReferenceType
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.SelfParam
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Statement
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StaticDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StructBody
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StructDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StructExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StructField
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.StructPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TraitConst
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TraitDef
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TraitItem
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TraitMethod
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TraitType
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TupleField
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TupleIndexExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TupleStructPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Type
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TypeAlias
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TypeAscriptionExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TypeBinding
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TypeParamBound
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.TypePath
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UnaryExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UnaryOp
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UseDeclaration
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UseGroup
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UsePath
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UseRename
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.UseTree
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.Visibility
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.WhereClause
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.WherePredicate
- Hydra.Rust.Syntax: instance GHC.Classes.Eq Hydra.Rust.Syntax.WhileExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.AngleBracketedArgs
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ArrayExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ArrayRepeat
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ArrayType
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.AssignExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Attribute
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.BinaryExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.BinaryOp
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Block
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.CallExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.CastExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ClosureExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ClosureParam
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.CompoundAssignExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.CompoundAssignOp
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ConstDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Crate
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.EnumDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.EnumVariant
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.EnumVariantBody
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ExprPath
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Expression
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FieldAccessExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FieldPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FieldValue
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FloatLiteral
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FnDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FnParam
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.FnPointerType
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ForExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.GenericArg
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.GenericArguments
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.GenericParam
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.IdentifierPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.IfCondition
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.IfExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ImplBlock
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ImplItem
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ImplMethod
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.IndexExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.IntegerLiteral
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Item
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ItemWithComments
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.LetCondition
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.LetStatement
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Lifetime
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Literal
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.LoopExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MacroDelimiter
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MacroInvocation
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MatchArm
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MatchExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MethodCallExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.MethodParam
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ModDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ParenthesizedArgs
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.PathSegment
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Pattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.RangeExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.RangePattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.RawPointerType
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.RefExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.RefPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.ReferenceType
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.SelfParam
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Statement
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StaticDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StructBody
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StructDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StructExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StructField
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.StructPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TraitConst
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TraitDef
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TraitItem
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TraitMethod
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TraitType
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TupleField
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TupleIndexExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TupleStructPattern
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Type
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TypeAlias
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TypeAscriptionExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TypeBinding
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TypeParamBound
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.TypePath
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UnaryExpr
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UnaryOp
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UseDeclaration
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UseGroup
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UsePath
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UseRename
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.UseTree
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.Visibility
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.WhereClause
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.WherePredicate
- Hydra.Rust.Syntax: instance GHC.Classes.Ord Hydra.Rust.Syntax.WhileExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.AngleBracketedArgs
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ArrayExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ArrayRepeat
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ArrayType
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.AssignExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Attribute
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.BinaryExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.BinaryOp
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Block
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.CallExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.CastExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ClosureExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ClosureParam
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.CompoundAssignExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.CompoundAssignOp
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ConstDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Crate
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.EnumDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.EnumVariant
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.EnumVariantBody
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ExprPath
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Expression
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FieldAccessExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FieldPattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FieldValue
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FloatLiteral
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FnDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FnParam
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.FnPointerType
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ForExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.GenericArg
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.GenericArguments
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.GenericParam
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.IdentifierPattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.IfCondition
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.IfExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ImplBlock
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ImplItem
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ImplMethod
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.IndexExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.IntegerLiteral
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Item
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ItemWithComments
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.LetCondition
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.LetStatement
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Lifetime
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Literal
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.LoopExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MacroDelimiter
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MacroInvocation
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MatchArm
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MatchExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MethodCallExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.MethodParam
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ModDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ParenthesizedArgs
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.PathSegment
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Pattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.RangeExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.RangePattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.RawPointerType
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.RefExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.RefPattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.ReferenceType
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.SelfParam
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Statement
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StaticDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StructBody
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StructDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StructExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StructField
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.StructPattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TraitConst
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TraitDef
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TraitItem
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TraitMethod
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TraitType
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TupleField
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TupleIndexExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TupleStructPattern
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Type
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TypeAlias
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TypeAscriptionExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TypeBinding
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TypeParamBound
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.TypePath
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UnaryExpr
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UnaryOp
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UseDeclaration
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UseGroup
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UsePath
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UseRename
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.UseTree
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.Visibility
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.WhereClause
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.WherePredicate
- Hydra.Rust.Syntax: instance GHC.Read.Read Hydra.Rust.Syntax.WhileExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.AngleBracketedArgs
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ArrayExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ArrayRepeat
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ArrayType
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.AssignExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Attribute
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.BinaryExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.BinaryOp
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Block
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.CallExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.CastExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ClosureExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ClosureParam
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.CompoundAssignExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.CompoundAssignOp
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ConstDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Crate
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.EnumDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.EnumVariant
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.EnumVariantBody
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ExprPath
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Expression
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FieldAccessExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FieldPattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FieldValue
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FloatLiteral
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FnDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FnParam
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.FnPointerType
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ForExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.GenericArg
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.GenericArguments
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.GenericParam
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.IdentifierPattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.IfCondition
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.IfExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ImplBlock
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ImplItem
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ImplMethod
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.IndexExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.IntegerLiteral
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Item
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ItemWithComments
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.LetCondition
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.LetStatement
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Lifetime
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Literal
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.LoopExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MacroDelimiter
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MacroInvocation
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MatchArm
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MatchExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MethodCallExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.MethodParam
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ModDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ParenthesizedArgs
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.PathSegment
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Pattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.RangeExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.RangePattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.RawPointerType
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.RefExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.RefPattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.ReferenceType
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.SelfParam
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Statement
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StaticDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StructBody
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StructDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StructExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StructField
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.StructPattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TraitConst
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TraitDef
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TraitItem
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TraitMethod
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TraitType
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TupleField
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TupleIndexExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TupleStructPattern
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Type
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TypeAlias
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TypeAscriptionExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TypeBinding
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TypeParamBound
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.TypePath
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UnaryExpr
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UnaryOp
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UseDeclaration
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UseGroup
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UsePath
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UseRename
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.UseTree
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.Visibility
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.WhereClause
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.WherePredicate
- Hydra.Rust.Syntax: instance GHC.Show.Show Hydra.Rust.Syntax.WhileExpr
- Hydra.Sql.Syntax: ApproximateNumericLiteral :: String -> ApproximateNumericLiteral
- Hydra.Sql.Syntax: ApproximateNumericTypeDouble :: ApproximateNumericType
- Hydra.Sql.Syntax: ApproximateNumericTypeFloat :: Maybe Precision -> ApproximateNumericType
- Hydra.Sql.Syntax: ApproximateNumericTypeReal :: ApproximateNumericType
- Hydra.Sql.Syntax: ArrayElement :: ValueExpression -> ArrayElement
- Hydra.Sql.Syntax: ArrayElementList :: ArrayElement -> [ArrayElement] -> ArrayElementList
- Hydra.Sql.Syntax: ArrayElementReference :: () -> ArrayElementReference
- Hydra.Sql.Syntax: ArrayType :: () -> ArrayType
- Hydra.Sql.Syntax: ArrayValueConstructorByEnumeration :: LeftBracketOrTrigraph -> ArrayElementList -> RightBracketOrTrigraph -> ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: ArrayValueConstructorByQuery :: () -> ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: ArrayValueConstructorEnumeration :: ArrayValueConstructorByEnumeration -> ArrayValueConstructor
- Hydra.Sql.Syntax: ArrayValueConstructorQuery :: ArrayValueConstructorByQuery -> ArrayValueConstructor
- Hydra.Sql.Syntax: ArrayValueExpression :: () -> ArrayValueExpression
- Hydra.Sql.Syntax: AsSubqueryClause :: () -> AsSubqueryClause
- Hydra.Sql.Syntax: AttributeOrMethodReference :: () -> AttributeOrMethodReference
- Hydra.Sql.Syntax: BinaryLargeObjectStringTypeBinary :: Maybe LargeObjectLength -> BinaryLargeObjectStringType
- Hydra.Sql.Syntax: BinaryLargeObjectStringTypeBlob :: Maybe LargeObjectLength -> BinaryLargeObjectStringType
- Hydra.Sql.Syntax: BinaryStringLiteral :: () -> BinaryStringLiteral
- Hydra.Sql.Syntax: BooleanFactor :: Maybe () -> BooleanTest -> BooleanFactor
- Hydra.Sql.Syntax: BooleanLiteralFALSE :: BooleanLiteral
- Hydra.Sql.Syntax: BooleanLiteralTRUE :: BooleanLiteral
- Hydra.Sql.Syntax: BooleanLiteralUNKNOWN :: BooleanLiteral
- Hydra.Sql.Syntax: BooleanPredicand :: () -> BooleanPredicand
- Hydra.Sql.Syntax: BooleanPrimaryPredicand :: BooleanPredicand -> BooleanPrimary
- Hydra.Sql.Syntax: BooleanPrimaryPredicate :: Predicate -> BooleanPrimary
- Hydra.Sql.Syntax: BooleanTermAnd :: BooleanTerm -> BooleanFactor -> BooleanTermAnd
- Hydra.Sql.Syntax: BooleanTermConjunction :: BooleanTermAnd -> BooleanTerm
- Hydra.Sql.Syntax: BooleanTermFactor :: BooleanFactor -> BooleanTerm
- Hydra.Sql.Syntax: BooleanTest :: BooleanPrimary -> Maybe BooleanTestSequenceOption -> BooleanTest
- Hydra.Sql.Syntax: BooleanTestSequenceOption :: Maybe () -> TruthValue -> BooleanTestSequenceOption
- Hydra.Sql.Syntax: BooleanType :: () -> BooleanType
- Hydra.Sql.Syntax: BooleanValueExpressionDisjunction :: BooleanValueExpressionOr -> BooleanValueExpression
- Hydra.Sql.Syntax: BooleanValueExpressionOr :: BooleanValueExpression -> BooleanTerm -> BooleanValueExpressionOr
- Hydra.Sql.Syntax: BooleanValueExpressionTerm :: BooleanTerm -> BooleanValueExpression
- Hydra.Sql.Syntax: CaseExpression :: () -> CaseExpression
- Hydra.Sql.Syntax: CastSpecification :: () -> CastSpecification
- Hydra.Sql.Syntax: CharacterSetSpecification :: () -> CharacterSetSpecification
- Hydra.Sql.Syntax: CharacterStringLiteral :: String -> CharacterStringLiteral
- Hydra.Sql.Syntax: CharacterStringTypeChar :: Maybe Length -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeCharLargeObject :: Maybe LargeObjectLength -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeCharVarying :: Length -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeCharacter :: Maybe Length -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeCharacterLargeObject :: Maybe LargeObjectLength -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeCharacterVarying :: Length -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeClob :: Maybe LargeObjectLength -> CharacterStringType
- Hydra.Sql.Syntax: CharacterStringTypeVarchar :: Length -> CharacterStringType
- Hydra.Sql.Syntax: CollateClause :: () -> CollateClause
- Hydra.Sql.Syntax: CollectionTypeArray :: ArrayType -> CollectionType
- Hydra.Sql.Syntax: CollectionTypeMultiset :: MultisetType -> CollectionType
- Hydra.Sql.Syntax: CollectionValueConstructorArray :: ArrayValueConstructor -> CollectionValueConstructor
- Hydra.Sql.Syntax: CollectionValueConstructorMultiset :: MultisetValueConstructor -> CollectionValueConstructor
- Hydra.Sql.Syntax: CollectionValueExpressionArray :: ArrayValueExpression -> CollectionValueExpression
- Hydra.Sql.Syntax: CollectionValueExpressionMultiset :: MultisetValueExpression -> CollectionValueExpression
- Hydra.Sql.Syntax: ColumnConstraintDefinition :: () -> ColumnConstraintDefinition
- Hydra.Sql.Syntax: ColumnDefinition :: ColumnName -> Maybe ColumnDefinitionTypeOrDomainOption -> Maybe ReferenceScopeCheck -> Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption -> [ColumnConstraintDefinition] -> Maybe CollateClause -> ColumnDefinition
- Hydra.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause :: DefaultClause -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause :: GenerationClause -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification :: IdentityColumnSpecification -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: ColumnDefinitionTypeOrDomainOptionDataType :: DataType -> ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: ColumnDefinitionTypeOrDomainOptionDomainName :: DomainName -> ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: ColumnName :: String -> ColumnName
- Hydra.Sql.Syntax: ColumnNameList :: ColumnName -> [ColumnName] -> ColumnNameList
- Hydra.Sql.Syntax: ColumnOptions :: () -> ColumnOptions
- Hydra.Sql.Syntax: ColumnReference :: () -> ColumnReference
- Hydra.Sql.Syntax: CommonValueExpressionCollection :: CollectionValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionDatetime :: DatetimeValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionInterval :: IntervalValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionNumeric :: NumericValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionReference :: ReferenceValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionString :: StringValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: CommonValueExpressionUserDefined :: UserDefinedTypeValueExpression -> CommonValueExpression
- Hydra.Sql.Syntax: ContextuallyTypedRowValueConstructor :: () -> ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: ContextuallyTypedRowValueExpressionConstructor :: ContextuallyTypedRowValueConstructor -> ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: ContextuallyTypedRowValueExpressionList :: ContextuallyTypedRowValueExpression -> [ContextuallyTypedRowValueExpression] -> ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: ContextuallyTypedRowValueExpressionSpecialCase :: RowValueSpecialCase -> ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: ContextuallyTypedTableValueConstructor :: ContextuallyTypedRowValueExpressionList -> ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: DataTypeCollection :: CollectionType -> DataType
- Hydra.Sql.Syntax: DataTypeNamed :: PathResolvedUserDefinedTypeName -> DataType
- Hydra.Sql.Syntax: DataTypePredefined :: PredefinedType -> DataType
- Hydra.Sql.Syntax: DataTypeReference :: ReferenceType -> DataType
- Hydra.Sql.Syntax: DataTypeRow :: RowType -> DataType
- Hydra.Sql.Syntax: DateLiteral :: DateString -> DateLiteral
- Hydra.Sql.Syntax: DateString :: () -> DateString
- Hydra.Sql.Syntax: DatetimeLiteralDate :: DateLiteral -> DatetimeLiteral
- Hydra.Sql.Syntax: DatetimeLiteralTime :: TimeLiteral -> DatetimeLiteral
- Hydra.Sql.Syntax: DatetimeLiteralTimestamp :: TimestampLiteral -> DatetimeLiteral
- Hydra.Sql.Syntax: DatetimeType :: () -> DatetimeType
- Hydra.Sql.Syntax: DatetimeValueExpression :: () -> DatetimeValueExpression
- Hydra.Sql.Syntax: DefaultClause :: () -> DefaultClause
- Hydra.Sql.Syntax: DomainName :: String -> DomainName
- Hydra.Sql.Syntax: ExactNumericLiteral :: String -> ExactNumericLiteral
- Hydra.Sql.Syntax: ExactNumericTypeBigint :: ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeDec :: Maybe ExactNumericTypeDecOption -> ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeDecOption :: Precision -> Maybe Scale -> ExactNumericTypeDecOption
- Hydra.Sql.Syntax: ExactNumericTypeDecimal :: Maybe ExactNumericTypeDecimalOption -> ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeDecimalOption :: Precision -> Maybe Scale -> ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: ExactNumericTypeInt :: ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeInteger :: ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeNumeric :: Maybe ExactNumericTypeNumericOption -> ExactNumericType
- Hydra.Sql.Syntax: ExactNumericTypeNumericOption :: Precision -> Maybe Scale -> ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: ExactNumericTypeSmallint :: ExactNumericType
- Hydra.Sql.Syntax: FieldReference :: () -> FieldReference
- Hydra.Sql.Syntax: FromConstructor :: Maybe InsertColumnList -> Maybe OverrideClause -> ContextuallyTypedTableValueConstructor -> FromConstructor
- Hydra.Sql.Syntax: FromDefault :: () -> FromDefault
- Hydra.Sql.Syntax: FromSubquery :: () -> FromSubquery
- Hydra.Sql.Syntax: GeneralLiteralBinary :: BinaryStringLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralBoolean :: BooleanLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralDateTime :: DatetimeLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralInterval :: IntervalLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralNationalString :: NationalCharacterStringLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralString :: CharacterStringLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralLiteralUnicode :: UnicodeCharacterStringLiteral -> GeneralLiteral
- Hydra.Sql.Syntax: GeneralValueSpecification :: () -> GeneralValueSpecification
- Hydra.Sql.Syntax: GenerationClause :: () -> GenerationClause
- Hydra.Sql.Syntax: GlobalOrLocalGlobal :: GlobalOrLocal
- Hydra.Sql.Syntax: GlobalOrLocalLocal :: GlobalOrLocal
- Hydra.Sql.Syntax: IdentityColumnSpecification :: () -> IdentityColumnSpecification
- Hydra.Sql.Syntax: InsertColumnList :: ColumnNameList -> InsertColumnList
- Hydra.Sql.Syntax: InsertColumnsAndSourceConstructor :: FromConstructor -> InsertColumnsAndSource
- Hydra.Sql.Syntax: InsertColumnsAndSourceDefault :: FromDefault -> InsertColumnsAndSource
- Hydra.Sql.Syntax: InsertColumnsAndSourceSubquery :: FromSubquery -> InsertColumnsAndSource
- Hydra.Sql.Syntax: InsertStatement :: InsertionTarget -> InsertColumnsAndSource -> InsertStatement
- Hydra.Sql.Syntax: InsertionTarget :: TableName -> InsertionTarget
- Hydra.Sql.Syntax: IntervalLiteral :: () -> IntervalLiteral
- Hydra.Sql.Syntax: IntervalType :: () -> IntervalType
- Hydra.Sql.Syntax: IntervalValueExpression :: () -> IntervalValueExpression
- Hydra.Sql.Syntax: LargeObjectLength :: () -> LargeObjectLength
- Hydra.Sql.Syntax: LeftBracketOrTrigraph :: String -> LeftBracketOrTrigraph
- Hydra.Sql.Syntax: Length :: UnsignedInteger -> Length
- Hydra.Sql.Syntax: LikeClause :: () -> LikeClause
- Hydra.Sql.Syntax: MethodInvocation :: () -> MethodInvocation
- Hydra.Sql.Syntax: MultisetElementReference :: () -> MultisetElementReference
- Hydra.Sql.Syntax: MultisetType :: DataType -> MultisetType
- Hydra.Sql.Syntax: MultisetValueConstructor :: () -> MultisetValueConstructor
- Hydra.Sql.Syntax: MultisetValueExpression :: () -> MultisetValueExpression
- Hydra.Sql.Syntax: NationalCharacterStringLiteral :: () -> NationalCharacterStringLiteral
- Hydra.Sql.Syntax: NationalCharacterStringType :: () -> NationalCharacterStringType
- Hydra.Sql.Syntax: NewSpecification :: () -> NewSpecification
- Hydra.Sql.Syntax: NextValueExpression :: () -> NextValueExpression
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryArrayElement :: ArrayElementReference -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryAttributeOrMethod :: AttributeOrMethodReference -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCases :: CaseExpression -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCast :: CastSpecification -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCollection :: CollectionValueConstructor -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryColumn :: ColumnReference -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryField :: FieldReference -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryMethod :: MethodInvocation -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryMultisetElement :: MultisetElementReference -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryNew :: NewSpecification -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryNext :: NextValueExpression -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryReference :: ReferenceResolution -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryRoutine :: RoutineInvocation -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryScalarSubquery :: ScalarSubquery -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimarySetFunction :: SetFunctionSpecification -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryStaticMethod :: StaticMethodInvocation -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimarySubtype :: SubtypeTreatment -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryUnsigned :: UnsignedValueSpecification -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NonparenthesizedValueExpressionPrimaryWindowFunction :: WindowFunction -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: NumericTypeApproximate :: ApproximateNumericType -> NumericType
- Hydra.Sql.Syntax: NumericTypeExact :: ExactNumericType -> NumericType
- Hydra.Sql.Syntax: NumericValueExpression :: () -> NumericValueExpression
- Hydra.Sql.Syntax: OverrideClauseOVERRIDINGspSYSTEMspVALUE :: OverrideClause
- Hydra.Sql.Syntax: OverrideClauseOVERRIDINGspUSERspVALUE :: OverrideClause
- Hydra.Sql.Syntax: ParenthesizedValueExpression :: ValueExpression -> ParenthesizedValueExpression
- Hydra.Sql.Syntax: PathResolvedUserDefinedTypeName :: String -> PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: Precision :: UnsignedInteger -> Precision
- Hydra.Sql.Syntax: PredefinedTypeBlob :: BinaryLargeObjectStringType -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeBoolean :: BooleanType -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeDatetime :: DatetimeType -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeInterval :: IntervalType -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeNationalString :: NationalCharacterStringType -> Maybe CollateClause -> PredefinedTypeNationalString
- Hydra.Sql.Syntax: PredefinedTypeNationalStringType :: PredefinedTypeNationalString -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeNumeric :: NumericType -> PredefinedType
- Hydra.Sql.Syntax: PredefinedTypeString :: CharacterStringType -> Maybe CharacterSetSpecification -> Maybe CollateClause -> PredefinedTypeString
- Hydra.Sql.Syntax: PredefinedTypeStringType :: PredefinedTypeString -> PredefinedType
- Hydra.Sql.Syntax: Predicate :: () -> Predicate
- Hydra.Sql.Syntax: QueryExpression :: () -> QueryExpression
- Hydra.Sql.Syntax: ReferenceResolution :: () -> ReferenceResolution
- Hydra.Sql.Syntax: ReferenceScopeCheck :: () -> ReferenceScopeCheck
- Hydra.Sql.Syntax: ReferenceType :: () -> ReferenceType
- Hydra.Sql.Syntax: ReferenceValueExpression :: ValueExpressionPrimary -> ReferenceValueExpression
- Hydra.Sql.Syntax: RightBracketOrTrigraph :: String -> RightBracketOrTrigraph
- Hydra.Sql.Syntax: RoutineInvocation :: () -> RoutineInvocation
- Hydra.Sql.Syntax: RowType :: () -> RowType
- Hydra.Sql.Syntax: RowValueExpression :: () -> RowValueExpression
- Hydra.Sql.Syntax: RowValueSpecialCase :: NonparenthesizedValueExpressionPrimary -> RowValueSpecialCase
- Hydra.Sql.Syntax: ScalarSubquery :: Subquery -> ScalarSubquery
- Hydra.Sql.Syntax: Scale :: UnsignedInteger -> Scale
- Hydra.Sql.Syntax: SelfReferencingColumnSpecification :: () -> SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: SetFunctionSpecification :: () -> SetFunctionSpecification
- Hydra.Sql.Syntax: StaticMethodInvocation :: () -> StaticMethodInvocation
- Hydra.Sql.Syntax: StringValueExpression :: () -> StringValueExpression
- Hydra.Sql.Syntax: Subquery :: QueryExpression -> Subquery
- Hydra.Sql.Syntax: SubtableClause :: () -> SubtableClause
- Hydra.Sql.Syntax: SubtypeTreatment :: () -> SubtypeTreatment
- Hydra.Sql.Syntax: TableCommitActionDelete :: TableCommitAction
- Hydra.Sql.Syntax: TableCommitActionPreserve :: TableCommitAction
- Hydra.Sql.Syntax: TableConstraintDefinition :: () -> TableConstraintDefinition
- Hydra.Sql.Syntax: TableContentsSourceList :: TableElementList -> TableContentsSource
- Hydra.Sql.Syntax: TableContentsSourceSubquery :: AsSubqueryClause -> TableContentsSource
- Hydra.Sql.Syntax: TableContentsSourceSubtable :: PathResolvedUserDefinedTypeName -> Maybe SubtableClause -> Maybe TableElementList -> TableContentsSourceSubtable
- Hydra.Sql.Syntax: TableContentsSourceSubtableOf :: TableContentsSourceSubtable -> TableContentsSource
- Hydra.Sql.Syntax: TableDefinition :: Maybe TableScope -> TableName -> TableContentsSource -> Maybe TableCommitAction -> TableDefinition
- Hydra.Sql.Syntax: TableElementColumOptions :: ColumnOptions -> TableElement
- Hydra.Sql.Syntax: TableElementColumn :: ColumnDefinition -> TableElement
- Hydra.Sql.Syntax: TableElementLike :: LikeClause -> TableElement
- Hydra.Sql.Syntax: TableElementList :: TableElement -> [TableElement] -> TableElementList
- Hydra.Sql.Syntax: TableElementSelfReferencingColumn :: SelfReferencingColumnSpecification -> TableElement
- Hydra.Sql.Syntax: TableElementTableConstraint :: TableConstraintDefinition -> TableElement
- Hydra.Sql.Syntax: TableName :: String -> TableName
- Hydra.Sql.Syntax: TableScope :: GlobalOrLocal -> TableScope
- Hydra.Sql.Syntax: TimeLiteral :: TimeString -> TimeLiteral
- Hydra.Sql.Syntax: TimeString :: () -> TimeString
- Hydra.Sql.Syntax: TimestampLiteral :: () -> TimestampLiteral
- Hydra.Sql.Syntax: TruthValueFALSE :: TruthValue
- Hydra.Sql.Syntax: TruthValueTRUE :: TruthValue
- Hydra.Sql.Syntax: TruthValueUNKNOWN :: TruthValue
- Hydra.Sql.Syntax: UnicodeCharacterStringLiteral :: () -> UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: UnsignedInteger :: String -> UnsignedInteger
- Hydra.Sql.Syntax: UnsignedLiteralGeneral :: GeneralLiteral -> UnsignedLiteral
- Hydra.Sql.Syntax: UnsignedLiteralNumeric :: UnsignedNumericLiteral -> UnsignedLiteral
- Hydra.Sql.Syntax: UnsignedNumericLiteralApproximate :: ApproximateNumericLiteral -> UnsignedNumericLiteral
- Hydra.Sql.Syntax: UnsignedNumericLiteralExact :: ExactNumericLiteral -> UnsignedNumericLiteral
- Hydra.Sql.Syntax: UnsignedValueSpecificationGeneral :: GeneralValueSpecification -> UnsignedValueSpecification
- Hydra.Sql.Syntax: UnsignedValueSpecificationLiteral :: UnsignedLiteral -> UnsignedValueSpecification
- Hydra.Sql.Syntax: UserDefinedTypeValueExpression :: ValueExpressionPrimary -> UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: ValueExpressionBoolean :: BooleanValueExpression -> ValueExpression
- Hydra.Sql.Syntax: ValueExpressionCommon :: CommonValueExpression -> ValueExpression
- Hydra.Sql.Syntax: ValueExpressionPrimaryNoparens :: NonparenthesizedValueExpressionPrimary -> ValueExpressionPrimary
- Hydra.Sql.Syntax: ValueExpressionPrimaryParens :: ParenthesizedValueExpression -> ValueExpressionPrimary
- Hydra.Sql.Syntax: ValueExpressionRow :: RowValueExpression -> ValueExpression
- Hydra.Sql.Syntax: WindowFunction :: () -> WindowFunction
- Hydra.Sql.Syntax: [arrayElementListFirst] :: ArrayElementList -> ArrayElement
- Hydra.Sql.Syntax: [arrayElementListRest] :: ArrayElementList -> [ArrayElement]
- Hydra.Sql.Syntax: [arrayValueConstructorByEnumerationArrayElementList] :: ArrayValueConstructorByEnumeration -> ArrayElementList
- Hydra.Sql.Syntax: [arrayValueConstructorByEnumerationLeftBracketOrTrigraph] :: ArrayValueConstructorByEnumeration -> LeftBracketOrTrigraph
- Hydra.Sql.Syntax: [arrayValueConstructorByEnumerationRightBracketOrTrigraph] :: ArrayValueConstructorByEnumeration -> RightBracketOrTrigraph
- Hydra.Sql.Syntax: [booleanFactorBooleanTest] :: BooleanFactor -> BooleanTest
- Hydra.Sql.Syntax: [booleanFactorNOT] :: BooleanFactor -> Maybe ()
- Hydra.Sql.Syntax: [booleanTermAndLhs] :: BooleanTermAnd -> BooleanTerm
- Hydra.Sql.Syntax: [booleanTermAndRhs] :: BooleanTermAnd -> BooleanFactor
- Hydra.Sql.Syntax: [booleanTestBooleanPrimary] :: BooleanTest -> BooleanPrimary
- Hydra.Sql.Syntax: [booleanTestSequenceOptionNOT] :: BooleanTestSequenceOption -> Maybe ()
- Hydra.Sql.Syntax: [booleanTestSequenceOptionTruthValue] :: BooleanTestSequenceOption -> TruthValue
- Hydra.Sql.Syntax: [booleanTestSequence] :: BooleanTest -> Maybe BooleanTestSequenceOption
- Hydra.Sql.Syntax: [booleanValueExpressionOrLhs] :: BooleanValueExpressionOr -> BooleanValueExpression
- Hydra.Sql.Syntax: [booleanValueExpressionOrRhs] :: BooleanValueExpressionOr -> BooleanTerm
- Hydra.Sql.Syntax: [columnDefinitionCollate] :: ColumnDefinition -> Maybe CollateClause
- Hydra.Sql.Syntax: [columnDefinitionConstraints] :: ColumnDefinition -> [ColumnConstraintDefinition]
- Hydra.Sql.Syntax: [columnDefinitionDefaultOrIdentityOrGeneration] :: ColumnDefinition -> Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: [columnDefinitionName] :: ColumnDefinition -> ColumnName
- Hydra.Sql.Syntax: [columnDefinitionRefScope] :: ColumnDefinition -> Maybe ReferenceScopeCheck
- Hydra.Sql.Syntax: [columnDefinitionTypeOrDomain] :: ColumnDefinition -> Maybe ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: [columnNameListFirst] :: ColumnNameList -> ColumnName
- Hydra.Sql.Syntax: [columnNameListRest] :: ColumnNameList -> [ColumnName]
- Hydra.Sql.Syntax: [contextuallyTypedRowValueExpressionListFirst] :: ContextuallyTypedRowValueExpressionList -> ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: [contextuallyTypedRowValueExpressionListRest] :: ContextuallyTypedRowValueExpressionList -> [ContextuallyTypedRowValueExpression]
- Hydra.Sql.Syntax: [exactNumericTypeDecOptionPrecision] :: ExactNumericTypeDecOption -> Precision
- Hydra.Sql.Syntax: [exactNumericTypeDecOptionSequence] :: ExactNumericTypeDecOption -> Maybe Scale
- Hydra.Sql.Syntax: [exactNumericTypeDecimalOptionPrecision] :: ExactNumericTypeDecimalOption -> Precision
- Hydra.Sql.Syntax: [exactNumericTypeDecimalOptionSequence] :: ExactNumericTypeDecimalOption -> Maybe Scale
- Hydra.Sql.Syntax: [exactNumericTypeNumericOptionPrecision] :: ExactNumericTypeNumericOption -> Precision
- Hydra.Sql.Syntax: [exactNumericTypeNumericOptionSequence] :: ExactNumericTypeNumericOption -> Maybe Scale
- Hydra.Sql.Syntax: [fromConstructorColumns] :: FromConstructor -> Maybe InsertColumnList
- Hydra.Sql.Syntax: [fromConstructorOverride] :: FromConstructor -> Maybe OverrideClause
- Hydra.Sql.Syntax: [fromConstructorValues] :: FromConstructor -> ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: [insertStatementColumnsAndSource] :: InsertStatement -> InsertColumnsAndSource
- Hydra.Sql.Syntax: [insertStatementTarget] :: InsertStatement -> InsertionTarget
- Hydra.Sql.Syntax: [predefinedTypeNationalStringCollate] :: PredefinedTypeNationalString -> Maybe CollateClause
- Hydra.Sql.Syntax: [predefinedTypeNationalStringType] :: PredefinedTypeNationalString -> NationalCharacterStringType
- Hydra.Sql.Syntax: [predefinedTypeStringCharacters] :: PredefinedTypeString -> Maybe CharacterSetSpecification
- Hydra.Sql.Syntax: [predefinedTypeStringCollate] :: PredefinedTypeString -> Maybe CollateClause
- Hydra.Sql.Syntax: [predefinedTypeStringType] :: PredefinedTypeString -> CharacterStringType
- Hydra.Sql.Syntax: [tableContentsSourceSubtableElements] :: TableContentsSourceSubtable -> Maybe TableElementList
- Hydra.Sql.Syntax: [tableContentsSourceSubtableSubtable] :: TableContentsSourceSubtable -> Maybe SubtableClause
- Hydra.Sql.Syntax: [tableContentsSourceSubtableType] :: TableContentsSourceSubtable -> PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: [tableDefinitionCommitActions] :: TableDefinition -> Maybe TableCommitAction
- Hydra.Sql.Syntax: [tableDefinitionName] :: TableDefinition -> TableName
- Hydra.Sql.Syntax: [tableDefinitionScope] :: TableDefinition -> Maybe TableScope
- Hydra.Sql.Syntax: [tableDefinitionSource] :: TableDefinition -> TableContentsSource
- Hydra.Sql.Syntax: [tableElementListFirst] :: TableElementList -> TableElement
- Hydra.Sql.Syntax: [tableElementListRest] :: TableElementList -> [TableElement]
- Hydra.Sql.Syntax: [unApproximateNumericLiteral] :: ApproximateNumericLiteral -> String
- Hydra.Sql.Syntax: [unArrayElementReference] :: ArrayElementReference -> ()
- Hydra.Sql.Syntax: [unArrayElement] :: ArrayElement -> ValueExpression
- Hydra.Sql.Syntax: [unArrayType] :: ArrayType -> ()
- Hydra.Sql.Syntax: [unArrayValueConstructorByQuery] :: ArrayValueConstructorByQuery -> ()
- Hydra.Sql.Syntax: [unArrayValueExpression] :: ArrayValueExpression -> ()
- Hydra.Sql.Syntax: [unAsSubqueryClause] :: AsSubqueryClause -> ()
- Hydra.Sql.Syntax: [unAttributeOrMethodReference] :: AttributeOrMethodReference -> ()
- Hydra.Sql.Syntax: [unBinaryStringLiteral] :: BinaryStringLiteral -> ()
- Hydra.Sql.Syntax: [unBooleanPredicand] :: BooleanPredicand -> ()
- Hydra.Sql.Syntax: [unBooleanType] :: BooleanType -> ()
- Hydra.Sql.Syntax: [unCaseExpression] :: CaseExpression -> ()
- Hydra.Sql.Syntax: [unCastSpecification] :: CastSpecification -> ()
- Hydra.Sql.Syntax: [unCharacterSetSpecification] :: CharacterSetSpecification -> ()
- Hydra.Sql.Syntax: [unCharacterStringLiteral] :: CharacterStringLiteral -> String
- Hydra.Sql.Syntax: [unCollateClause] :: CollateClause -> ()
- Hydra.Sql.Syntax: [unColumnConstraintDefinition] :: ColumnConstraintDefinition -> ()
- Hydra.Sql.Syntax: [unColumnName] :: ColumnName -> String
- Hydra.Sql.Syntax: [unColumnOptions] :: ColumnOptions -> ()
- Hydra.Sql.Syntax: [unColumnReference] :: ColumnReference -> ()
- Hydra.Sql.Syntax: [unContextuallyTypedRowValueConstructor] :: ContextuallyTypedRowValueConstructor -> ()
- Hydra.Sql.Syntax: [unContextuallyTypedTableValueConstructor] :: ContextuallyTypedTableValueConstructor -> ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: [unDateLiteral] :: DateLiteral -> DateString
- Hydra.Sql.Syntax: [unDateString] :: DateString -> ()
- Hydra.Sql.Syntax: [unDatetimeType] :: DatetimeType -> ()
- Hydra.Sql.Syntax: [unDatetimeValueExpression] :: DatetimeValueExpression -> ()
- Hydra.Sql.Syntax: [unDefaultClause] :: DefaultClause -> ()
- Hydra.Sql.Syntax: [unDomainName] :: DomainName -> String
- Hydra.Sql.Syntax: [unExactNumericLiteral] :: ExactNumericLiteral -> String
- Hydra.Sql.Syntax: [unFieldReference] :: FieldReference -> ()
- Hydra.Sql.Syntax: [unFromDefault] :: FromDefault -> ()
- Hydra.Sql.Syntax: [unFromSubquery] :: FromSubquery -> ()
- Hydra.Sql.Syntax: [unGeneralValueSpecification] :: GeneralValueSpecification -> ()
- Hydra.Sql.Syntax: [unGenerationClause] :: GenerationClause -> ()
- Hydra.Sql.Syntax: [unIdentityColumnSpecification] :: IdentityColumnSpecification -> ()
- Hydra.Sql.Syntax: [unInsertColumnList] :: InsertColumnList -> ColumnNameList
- Hydra.Sql.Syntax: [unInsertionTarget] :: InsertionTarget -> TableName
- Hydra.Sql.Syntax: [unIntervalLiteral] :: IntervalLiteral -> ()
- Hydra.Sql.Syntax: [unIntervalType] :: IntervalType -> ()
- Hydra.Sql.Syntax: [unIntervalValueExpression] :: IntervalValueExpression -> ()
- Hydra.Sql.Syntax: [unLargeObjectLength] :: LargeObjectLength -> ()
- Hydra.Sql.Syntax: [unLeftBracketOrTrigraph] :: LeftBracketOrTrigraph -> String
- Hydra.Sql.Syntax: [unLength] :: Length -> UnsignedInteger
- Hydra.Sql.Syntax: [unLikeClause] :: LikeClause -> ()
- Hydra.Sql.Syntax: [unMethodInvocation] :: MethodInvocation -> ()
- Hydra.Sql.Syntax: [unMultisetElementReference] :: MultisetElementReference -> ()
- Hydra.Sql.Syntax: [unMultisetType] :: MultisetType -> DataType
- Hydra.Sql.Syntax: [unMultisetValueConstructor] :: MultisetValueConstructor -> ()
- Hydra.Sql.Syntax: [unMultisetValueExpression] :: MultisetValueExpression -> ()
- Hydra.Sql.Syntax: [unNationalCharacterStringLiteral] :: NationalCharacterStringLiteral -> ()
- Hydra.Sql.Syntax: [unNationalCharacterStringType] :: NationalCharacterStringType -> ()
- Hydra.Sql.Syntax: [unNewSpecification] :: NewSpecification -> ()
- Hydra.Sql.Syntax: [unNextValueExpression] :: NextValueExpression -> ()
- Hydra.Sql.Syntax: [unNumericValueExpression] :: NumericValueExpression -> ()
- Hydra.Sql.Syntax: [unParenthesizedValueExpression] :: ParenthesizedValueExpression -> ValueExpression
- Hydra.Sql.Syntax: [unPathResolvedUserDefinedTypeName] :: PathResolvedUserDefinedTypeName -> String
- Hydra.Sql.Syntax: [unPrecision] :: Precision -> UnsignedInteger
- Hydra.Sql.Syntax: [unPredicate] :: Predicate -> ()
- Hydra.Sql.Syntax: [unQueryExpression] :: QueryExpression -> ()
- Hydra.Sql.Syntax: [unReferenceResolution] :: ReferenceResolution -> ()
- Hydra.Sql.Syntax: [unReferenceScopeCheck] :: ReferenceScopeCheck -> ()
- Hydra.Sql.Syntax: [unReferenceType] :: ReferenceType -> ()
- Hydra.Sql.Syntax: [unReferenceValueExpression] :: ReferenceValueExpression -> ValueExpressionPrimary
- Hydra.Sql.Syntax: [unRightBracketOrTrigraph] :: RightBracketOrTrigraph -> String
- Hydra.Sql.Syntax: [unRoutineInvocation] :: RoutineInvocation -> ()
- Hydra.Sql.Syntax: [unRowType] :: RowType -> ()
- Hydra.Sql.Syntax: [unRowValueExpression] :: RowValueExpression -> ()
- Hydra.Sql.Syntax: [unRowValueSpecialCase] :: RowValueSpecialCase -> NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: [unScalarSubquery] :: ScalarSubquery -> Subquery
- Hydra.Sql.Syntax: [unScale] :: Scale -> UnsignedInteger
- Hydra.Sql.Syntax: [unSelfReferencingColumnSpecification] :: SelfReferencingColumnSpecification -> ()
- Hydra.Sql.Syntax: [unSetFunctionSpecification] :: SetFunctionSpecification -> ()
- Hydra.Sql.Syntax: [unStaticMethodInvocation] :: StaticMethodInvocation -> ()
- Hydra.Sql.Syntax: [unStringValueExpression] :: StringValueExpression -> ()
- Hydra.Sql.Syntax: [unSubquery] :: Subquery -> QueryExpression
- Hydra.Sql.Syntax: [unSubtableClause] :: SubtableClause -> ()
- Hydra.Sql.Syntax: [unSubtypeTreatment] :: SubtypeTreatment -> ()
- Hydra.Sql.Syntax: [unTableConstraintDefinition] :: TableConstraintDefinition -> ()
- Hydra.Sql.Syntax: [unTableName] :: TableName -> String
- Hydra.Sql.Syntax: [unTableScope] :: TableScope -> GlobalOrLocal
- Hydra.Sql.Syntax: [unTimeLiteral] :: TimeLiteral -> TimeString
- Hydra.Sql.Syntax: [unTimeString] :: TimeString -> ()
- Hydra.Sql.Syntax: [unTimestampLiteral] :: TimestampLiteral -> ()
- Hydra.Sql.Syntax: [unUnicodeCharacterStringLiteral] :: UnicodeCharacterStringLiteral -> ()
- Hydra.Sql.Syntax: [unUnsignedInteger] :: UnsignedInteger -> String
- Hydra.Sql.Syntax: [unUserDefinedTypeValueExpression] :: UserDefinedTypeValueExpression -> ValueExpressionPrimary
- Hydra.Sql.Syntax: [unWindowFunction] :: WindowFunction -> ()
- Hydra.Sql.Syntax: _ApproximateNumericLiteral :: Name
- Hydra.Sql.Syntax: _ApproximateNumericType :: Name
- Hydra.Sql.Syntax: _ApproximateNumericType_double :: Name
- Hydra.Sql.Syntax: _ApproximateNumericType_float :: Name
- Hydra.Sql.Syntax: _ApproximateNumericType_real :: Name
- Hydra.Sql.Syntax: _ArrayElement :: Name
- Hydra.Sql.Syntax: _ArrayElementList :: Name
- Hydra.Sql.Syntax: _ArrayElementList_first :: Name
- Hydra.Sql.Syntax: _ArrayElementList_rest :: Name
- Hydra.Sql.Syntax: _ArrayElementReference :: Name
- Hydra.Sql.Syntax: _ArrayType :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructor :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructorByEnumeration :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructorByEnumeration_ArrayElementList :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructorByEnumeration_LeftBracketOrTrigraph :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructorByEnumeration_RightBracketOrTrigraph :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructorByQuery :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructor_enumeration :: Name
- Hydra.Sql.Syntax: _ArrayValueConstructor_query :: Name
- Hydra.Sql.Syntax: _ArrayValueExpression :: Name
- Hydra.Sql.Syntax: _AsSubqueryClause :: Name
- Hydra.Sql.Syntax: _AttributeOrMethodReference :: Name
- Hydra.Sql.Syntax: _BinaryLargeObjectStringType :: Name
- Hydra.Sql.Syntax: _BinaryLargeObjectStringType_binary :: Name
- Hydra.Sql.Syntax: _BinaryLargeObjectStringType_blob :: Name
- Hydra.Sql.Syntax: _BinaryStringLiteral :: Name
- Hydra.Sql.Syntax: _BooleanFactor :: Name
- Hydra.Sql.Syntax: _BooleanFactor_BooleanTest :: Name
- Hydra.Sql.Syntax: _BooleanFactor_NOT :: Name
- Hydra.Sql.Syntax: _BooleanLiteral :: Name
- Hydra.Sql.Syntax: _BooleanLiteral_FALSE :: Name
- Hydra.Sql.Syntax: _BooleanLiteral_TRUE :: Name
- Hydra.Sql.Syntax: _BooleanLiteral_UNKNOWN :: Name
- Hydra.Sql.Syntax: _BooleanPredicand :: Name
- Hydra.Sql.Syntax: _BooleanPrimary :: Name
- Hydra.Sql.Syntax: _BooleanPrimary_predicand :: Name
- Hydra.Sql.Syntax: _BooleanPrimary_predicate :: Name
- Hydra.Sql.Syntax: _BooleanTerm :: Name
- Hydra.Sql.Syntax: _BooleanTermAnd :: Name
- Hydra.Sql.Syntax: _BooleanTermAnd_lhs :: Name
- Hydra.Sql.Syntax: _BooleanTermAnd_rhs :: Name
- Hydra.Sql.Syntax: _BooleanTerm_conjunction :: Name
- Hydra.Sql.Syntax: _BooleanTerm_factor :: Name
- Hydra.Sql.Syntax: _BooleanTest :: Name
- Hydra.Sql.Syntax: _BooleanTestSequenceOption :: Name
- Hydra.Sql.Syntax: _BooleanTestSequenceOption_NOT :: Name
- Hydra.Sql.Syntax: _BooleanTestSequenceOption_TruthValue :: Name
- Hydra.Sql.Syntax: _BooleanTest_BooleanPrimary :: Name
- Hydra.Sql.Syntax: _BooleanTest_Sequence :: Name
- Hydra.Sql.Syntax: _BooleanType :: Name
- Hydra.Sql.Syntax: _BooleanValueExpression :: Name
- Hydra.Sql.Syntax: _BooleanValueExpressionOr :: Name
- Hydra.Sql.Syntax: _BooleanValueExpressionOr_lhs :: Name
- Hydra.Sql.Syntax: _BooleanValueExpressionOr_rhs :: Name
- Hydra.Sql.Syntax: _BooleanValueExpression_disjunction :: Name
- Hydra.Sql.Syntax: _BooleanValueExpression_term :: Name
- Hydra.Sql.Syntax: _CaseExpression :: Name
- Hydra.Sql.Syntax: _CastSpecification :: Name
- Hydra.Sql.Syntax: _CharacterSetSpecification :: Name
- Hydra.Sql.Syntax: _CharacterStringLiteral :: Name
- Hydra.Sql.Syntax: _CharacterStringType :: Name
- Hydra.Sql.Syntax: _CharacterStringType_char :: Name
- Hydra.Sql.Syntax: _CharacterStringType_charLargeObject :: Name
- Hydra.Sql.Syntax: _CharacterStringType_charVarying :: Name
- Hydra.Sql.Syntax: _CharacterStringType_character :: Name
- Hydra.Sql.Syntax: _CharacterStringType_characterLargeObject :: Name
- Hydra.Sql.Syntax: _CharacterStringType_characterVarying :: Name
- Hydra.Sql.Syntax: _CharacterStringType_clob :: Name
- Hydra.Sql.Syntax: _CharacterStringType_varchar :: Name
- Hydra.Sql.Syntax: _CollateClause :: Name
- Hydra.Sql.Syntax: _CollectionType :: Name
- Hydra.Sql.Syntax: _CollectionType_array :: Name
- Hydra.Sql.Syntax: _CollectionType_multiset :: Name
- Hydra.Sql.Syntax: _CollectionValueConstructor :: Name
- Hydra.Sql.Syntax: _CollectionValueConstructor_array :: Name
- Hydra.Sql.Syntax: _CollectionValueConstructor_multiset :: Name
- Hydra.Sql.Syntax: _CollectionValueExpression :: Name
- Hydra.Sql.Syntax: _CollectionValueExpression_array :: Name
- Hydra.Sql.Syntax: _CollectionValueExpression_multiset :: Name
- Hydra.Sql.Syntax: _ColumnConstraintDefinition :: Name
- Hydra.Sql.Syntax: _ColumnDefinition :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_DefaultClause :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_GenerationClause :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_IdentityColumnSpecification :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption_DataType :: Name
- Hydra.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption_DomainName :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_collate :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_constraints :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_defaultOrIdentityOrGeneration :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_name :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_refScope :: Name
- Hydra.Sql.Syntax: _ColumnDefinition_typeOrDomain :: Name
- Hydra.Sql.Syntax: _ColumnName :: Name
- Hydra.Sql.Syntax: _ColumnNameList :: Name
- Hydra.Sql.Syntax: _ColumnNameList_first :: Name
- Hydra.Sql.Syntax: _ColumnNameList_rest :: Name
- Hydra.Sql.Syntax: _ColumnOptions :: Name
- Hydra.Sql.Syntax: _ColumnReference :: Name
- Hydra.Sql.Syntax: _CommonValueExpression :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_collection :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_datetime :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_interval :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_numeric :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_reference :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_string :: Name
- Hydra.Sql.Syntax: _CommonValueExpression_userDefined :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueConstructor :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpression :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpressionList :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpressionList_first :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpressionList_rest :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpression_constructor :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedRowValueExpression_specialCase :: Name
- Hydra.Sql.Syntax: _ContextuallyTypedTableValueConstructor :: Name
- Hydra.Sql.Syntax: _DataType :: Name
- Hydra.Sql.Syntax: _DataType_collection :: Name
- Hydra.Sql.Syntax: _DataType_named :: Name
- Hydra.Sql.Syntax: _DataType_predefined :: Name
- Hydra.Sql.Syntax: _DataType_reference :: Name
- Hydra.Sql.Syntax: _DataType_row :: Name
- Hydra.Sql.Syntax: _DateLiteral :: Name
- Hydra.Sql.Syntax: _DateString :: Name
- Hydra.Sql.Syntax: _DatetimeLiteral :: Name
- Hydra.Sql.Syntax: _DatetimeLiteral_date :: Name
- Hydra.Sql.Syntax: _DatetimeLiteral_time :: Name
- Hydra.Sql.Syntax: _DatetimeLiteral_timestamp :: Name
- Hydra.Sql.Syntax: _DatetimeType :: Name
- Hydra.Sql.Syntax: _DatetimeValueExpression :: Name
- Hydra.Sql.Syntax: _DefaultClause :: Name
- Hydra.Sql.Syntax: _DomainName :: Name
- Hydra.Sql.Syntax: _ExactNumericLiteral :: Name
- Hydra.Sql.Syntax: _ExactNumericType :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecOption :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecOption_Precision :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecOption_Sequence :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecimalOption :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecimalOption_Precision :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeDecimalOption_Sequence :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeNumericOption :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeNumericOption_Precision :: Name
- Hydra.Sql.Syntax: _ExactNumericTypeNumericOption_Sequence :: Name
- Hydra.Sql.Syntax: _ExactNumericType_bigint :: Name
- Hydra.Sql.Syntax: _ExactNumericType_dec :: Name
- Hydra.Sql.Syntax: _ExactNumericType_decimal :: Name
- Hydra.Sql.Syntax: _ExactNumericType_int :: Name
- Hydra.Sql.Syntax: _ExactNumericType_integer :: Name
- Hydra.Sql.Syntax: _ExactNumericType_numeric :: Name
- Hydra.Sql.Syntax: _ExactNumericType_smallint :: Name
- Hydra.Sql.Syntax: _FieldReference :: Name
- Hydra.Sql.Syntax: _FromConstructor :: Name
- Hydra.Sql.Syntax: _FromConstructor_columns :: Name
- Hydra.Sql.Syntax: _FromConstructor_override :: Name
- Hydra.Sql.Syntax: _FromConstructor_values :: Name
- Hydra.Sql.Syntax: _FromDefault :: Name
- Hydra.Sql.Syntax: _FromSubquery :: Name
- Hydra.Sql.Syntax: _GeneralLiteral :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_binary :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_boolean :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_dateTime :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_interval :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_nationalString :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_string :: Name
- Hydra.Sql.Syntax: _GeneralLiteral_unicode :: Name
- Hydra.Sql.Syntax: _GeneralValueSpecification :: Name
- Hydra.Sql.Syntax: _GenerationClause :: Name
- Hydra.Sql.Syntax: _GlobalOrLocal :: Name
- Hydra.Sql.Syntax: _GlobalOrLocal_global :: Name
- Hydra.Sql.Syntax: _GlobalOrLocal_local :: Name
- Hydra.Sql.Syntax: _IdentityColumnSpecification :: Name
- Hydra.Sql.Syntax: _InsertColumnList :: Name
- Hydra.Sql.Syntax: _InsertColumnsAndSource :: Name
- Hydra.Sql.Syntax: _InsertColumnsAndSource_constructor :: Name
- Hydra.Sql.Syntax: _InsertColumnsAndSource_default :: Name
- Hydra.Sql.Syntax: _InsertColumnsAndSource_subquery :: Name
- Hydra.Sql.Syntax: _InsertStatement :: Name
- Hydra.Sql.Syntax: _InsertStatement_columnsAndSource :: Name
- Hydra.Sql.Syntax: _InsertStatement_target :: Name
- Hydra.Sql.Syntax: _InsertionTarget :: Name
- Hydra.Sql.Syntax: _IntervalLiteral :: Name
- Hydra.Sql.Syntax: _IntervalType :: Name
- Hydra.Sql.Syntax: _IntervalValueExpression :: Name
- Hydra.Sql.Syntax: _LargeObjectLength :: Name
- Hydra.Sql.Syntax: _LeftBracketOrTrigraph :: Name
- Hydra.Sql.Syntax: _Length :: Name
- Hydra.Sql.Syntax: _LikeClause :: Name
- Hydra.Sql.Syntax: _MethodInvocation :: Name
- Hydra.Sql.Syntax: _MultisetElementReference :: Name
- Hydra.Sql.Syntax: _MultisetType :: Name
- Hydra.Sql.Syntax: _MultisetValueConstructor :: Name
- Hydra.Sql.Syntax: _MultisetValueExpression :: Name
- Hydra.Sql.Syntax: _NationalCharacterStringLiteral :: Name
- Hydra.Sql.Syntax: _NationalCharacterStringType :: Name
- Hydra.Sql.Syntax: _NewSpecification :: Name
- Hydra.Sql.Syntax: _NextValueExpression :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_arrayElement :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_attributeOrMethod :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_cases :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_cast :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_collection :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_column :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_field :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_method :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_multisetElement :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_new :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_next :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_reference :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_routine :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_scalarSubquery :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_setFunction :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_staticMethod :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_subtype :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_unsigned :: Name
- Hydra.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_windowFunction :: Name
- Hydra.Sql.Syntax: _NumericType :: Name
- Hydra.Sql.Syntax: _NumericType_approximate :: Name
- Hydra.Sql.Syntax: _NumericType_exact :: Name
- Hydra.Sql.Syntax: _NumericValueExpression :: Name
- Hydra.Sql.Syntax: _OverrideClause :: Name
- Hydra.Sql.Syntax: _OverrideClause_OVERRIDINGspSYSTEMspVALUE :: Name
- Hydra.Sql.Syntax: _OverrideClause_OVERRIDINGspUSERspVALUE :: Name
- Hydra.Sql.Syntax: _ParenthesizedValueExpression :: Name
- Hydra.Sql.Syntax: _PathResolvedUserDefinedTypeName :: Name
- Hydra.Sql.Syntax: _Precision :: Name
- Hydra.Sql.Syntax: _PredefinedType :: Name
- Hydra.Sql.Syntax: _PredefinedTypeNationalString :: Name
- Hydra.Sql.Syntax: _PredefinedTypeNationalString_collate :: Name
- Hydra.Sql.Syntax: _PredefinedTypeNationalString_type :: Name
- Hydra.Sql.Syntax: _PredefinedTypeString :: Name
- Hydra.Sql.Syntax: _PredefinedTypeString_characters :: Name
- Hydra.Sql.Syntax: _PredefinedTypeString_collate :: Name
- Hydra.Sql.Syntax: _PredefinedTypeString_type :: Name
- Hydra.Sql.Syntax: _PredefinedType_blob :: Name
- Hydra.Sql.Syntax: _PredefinedType_boolean :: Name
- Hydra.Sql.Syntax: _PredefinedType_datetime :: Name
- Hydra.Sql.Syntax: _PredefinedType_interval :: Name
- Hydra.Sql.Syntax: _PredefinedType_nationalStringType :: Name
- Hydra.Sql.Syntax: _PredefinedType_numeric :: Name
- Hydra.Sql.Syntax: _PredefinedType_stringType :: Name
- Hydra.Sql.Syntax: _Predicate :: Name
- Hydra.Sql.Syntax: _QueryExpression :: Name
- Hydra.Sql.Syntax: _ReferenceResolution :: Name
- Hydra.Sql.Syntax: _ReferenceScopeCheck :: Name
- Hydra.Sql.Syntax: _ReferenceType :: Name
- Hydra.Sql.Syntax: _ReferenceValueExpression :: Name
- Hydra.Sql.Syntax: _RightBracketOrTrigraph :: Name
- Hydra.Sql.Syntax: _RoutineInvocation :: Name
- Hydra.Sql.Syntax: _RowType :: Name
- Hydra.Sql.Syntax: _RowValueExpression :: Name
- Hydra.Sql.Syntax: _RowValueSpecialCase :: Name
- Hydra.Sql.Syntax: _ScalarSubquery :: Name
- Hydra.Sql.Syntax: _Scale :: Name
- Hydra.Sql.Syntax: _SelfReferencingColumnSpecification :: Name
- Hydra.Sql.Syntax: _SetFunctionSpecification :: Name
- Hydra.Sql.Syntax: _StaticMethodInvocation :: Name
- Hydra.Sql.Syntax: _StringValueExpression :: Name
- Hydra.Sql.Syntax: _Subquery :: Name
- Hydra.Sql.Syntax: _SubtableClause :: Name
- Hydra.Sql.Syntax: _SubtypeTreatment :: Name
- Hydra.Sql.Syntax: _TableCommitAction :: Name
- Hydra.Sql.Syntax: _TableCommitAction_delete :: Name
- Hydra.Sql.Syntax: _TableCommitAction_preserve :: Name
- Hydra.Sql.Syntax: _TableConstraintDefinition :: Name
- Hydra.Sql.Syntax: _TableContentsSource :: Name
- Hydra.Sql.Syntax: _TableContentsSourceSubtable :: Name
- Hydra.Sql.Syntax: _TableContentsSourceSubtable_elements :: Name
- Hydra.Sql.Syntax: _TableContentsSourceSubtable_subtable :: Name
- Hydra.Sql.Syntax: _TableContentsSourceSubtable_type :: Name
- Hydra.Sql.Syntax: _TableContentsSource_list :: Name
- Hydra.Sql.Syntax: _TableContentsSource_subquery :: Name
- Hydra.Sql.Syntax: _TableContentsSource_subtableOf :: Name
- Hydra.Sql.Syntax: _TableDefinition :: Name
- Hydra.Sql.Syntax: _TableDefinition_commitActions :: Name
- Hydra.Sql.Syntax: _TableDefinition_name :: Name
- Hydra.Sql.Syntax: _TableDefinition_scope :: Name
- Hydra.Sql.Syntax: _TableDefinition_source :: Name
- Hydra.Sql.Syntax: _TableElement :: Name
- Hydra.Sql.Syntax: _TableElementList :: Name
- Hydra.Sql.Syntax: _TableElementList_first :: Name
- Hydra.Sql.Syntax: _TableElementList_rest :: Name
- Hydra.Sql.Syntax: _TableElement_columOptions :: Name
- Hydra.Sql.Syntax: _TableElement_column :: Name
- Hydra.Sql.Syntax: _TableElement_like :: Name
- Hydra.Sql.Syntax: _TableElement_selfReferencingColumn :: Name
- Hydra.Sql.Syntax: _TableElement_tableConstraint :: Name
- Hydra.Sql.Syntax: _TableName :: Name
- Hydra.Sql.Syntax: _TableScope :: Name
- Hydra.Sql.Syntax: _TimeLiteral :: Name
- Hydra.Sql.Syntax: _TimeString :: Name
- Hydra.Sql.Syntax: _TimestampLiteral :: Name
- Hydra.Sql.Syntax: _TruthValue :: Name
- Hydra.Sql.Syntax: _TruthValue_FALSE :: Name
- Hydra.Sql.Syntax: _TruthValue_TRUE :: Name
- Hydra.Sql.Syntax: _TruthValue_UNKNOWN :: Name
- Hydra.Sql.Syntax: _UnicodeCharacterStringLiteral :: Name
- Hydra.Sql.Syntax: _UnsignedInteger :: Name
- Hydra.Sql.Syntax: _UnsignedLiteral :: Name
- Hydra.Sql.Syntax: _UnsignedLiteral_general :: Name
- Hydra.Sql.Syntax: _UnsignedLiteral_numeric :: Name
- Hydra.Sql.Syntax: _UnsignedNumericLiteral :: Name
- Hydra.Sql.Syntax: _UnsignedNumericLiteral_approximate :: Name
- Hydra.Sql.Syntax: _UnsignedNumericLiteral_exact :: Name
- Hydra.Sql.Syntax: _UnsignedValueSpecification :: Name
- Hydra.Sql.Syntax: _UnsignedValueSpecification_general :: Name
- Hydra.Sql.Syntax: _UnsignedValueSpecification_literal :: Name
- Hydra.Sql.Syntax: _UserDefinedTypeValueExpression :: Name
- Hydra.Sql.Syntax: _ValueExpression :: Name
- Hydra.Sql.Syntax: _ValueExpressionPrimary :: Name
- Hydra.Sql.Syntax: _ValueExpressionPrimary_noparens :: Name
- Hydra.Sql.Syntax: _ValueExpressionPrimary_parens :: Name
- Hydra.Sql.Syntax: _ValueExpression_boolean :: Name
- Hydra.Sql.Syntax: _ValueExpression_common :: Name
- Hydra.Sql.Syntax: _ValueExpression_row :: Name
- Hydra.Sql.Syntax: _WindowFunction :: Name
- Hydra.Sql.Syntax: data ApproximateNumericType
- Hydra.Sql.Syntax: data ArrayElementList
- Hydra.Sql.Syntax: data ArrayValueConstructor
- Hydra.Sql.Syntax: data ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: data BinaryLargeObjectStringType
- Hydra.Sql.Syntax: data BooleanFactor
- Hydra.Sql.Syntax: data BooleanLiteral
- Hydra.Sql.Syntax: data BooleanPrimary
- Hydra.Sql.Syntax: data BooleanTerm
- Hydra.Sql.Syntax: data BooleanTermAnd
- Hydra.Sql.Syntax: data BooleanTest
- Hydra.Sql.Syntax: data BooleanTestSequenceOption
- Hydra.Sql.Syntax: data BooleanValueExpression
- Hydra.Sql.Syntax: data BooleanValueExpressionOr
- Hydra.Sql.Syntax: data CharacterStringType
- Hydra.Sql.Syntax: data CollectionType
- Hydra.Sql.Syntax: data CollectionValueConstructor
- Hydra.Sql.Syntax: data CollectionValueExpression
- Hydra.Sql.Syntax: data ColumnDefinition
- Hydra.Sql.Syntax: data ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: data ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: data ColumnNameList
- Hydra.Sql.Syntax: data CommonValueExpression
- Hydra.Sql.Syntax: data ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: data ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: data DataType
- Hydra.Sql.Syntax: data DatetimeLiteral
- Hydra.Sql.Syntax: data ExactNumericType
- Hydra.Sql.Syntax: data ExactNumericTypeDecOption
- Hydra.Sql.Syntax: data ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: data ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: data FromConstructor
- Hydra.Sql.Syntax: data GeneralLiteral
- Hydra.Sql.Syntax: data GlobalOrLocal
- Hydra.Sql.Syntax: data InsertColumnsAndSource
- Hydra.Sql.Syntax: data InsertStatement
- Hydra.Sql.Syntax: data NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: data NumericType
- Hydra.Sql.Syntax: data OverrideClause
- Hydra.Sql.Syntax: data PredefinedType
- Hydra.Sql.Syntax: data PredefinedTypeNationalString
- Hydra.Sql.Syntax: data PredefinedTypeString
- Hydra.Sql.Syntax: data TableCommitAction
- Hydra.Sql.Syntax: data TableContentsSource
- Hydra.Sql.Syntax: data TableContentsSourceSubtable
- Hydra.Sql.Syntax: data TableDefinition
- Hydra.Sql.Syntax: data TableElement
- Hydra.Sql.Syntax: data TableElementList
- Hydra.Sql.Syntax: data TruthValue
- Hydra.Sql.Syntax: data UnsignedLiteral
- Hydra.Sql.Syntax: data UnsignedNumericLiteral
- Hydra.Sql.Syntax: data UnsignedValueSpecification
- Hydra.Sql.Syntax: data ValueExpression
- Hydra.Sql.Syntax: data ValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ApproximateNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ApproximateNumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayElement
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayElementList
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayElementReference
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ArrayValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.AsSubqueryClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.AttributeOrMethodReference
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BinaryLargeObjectStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BinaryStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanFactor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanPredicand
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanTerm
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanTermAnd
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanTest
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanTestSequenceOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.BooleanValueExpressionOr
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CaseExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CastSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CharacterSetSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CharacterStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CollateClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CollectionType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CollectionValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CollectionValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnName
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnNameList
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnOptions
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ColumnReference
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.CommonValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DataType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DateLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DateString
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DatetimeLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DatetimeType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DatetimeValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DefaultClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.DomainName
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ExactNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ExactNumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ExactNumericTypeDecOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.FieldReference
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.FromConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.FromDefault
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.FromSubquery
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.GeneralLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.GeneralValueSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.GenerationClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.GlobalOrLocal
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.IdentityColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.InsertColumnList
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.InsertColumnsAndSource
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.InsertStatement
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.InsertionTarget
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.IntervalLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.IntervalType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.IntervalValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.LargeObjectLength
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.LeftBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.Length
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.LikeClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.MethodInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.MultisetElementReference
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.MultisetType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.MultisetValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.MultisetValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NationalCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NationalCharacterStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NewSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NextValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.NumericValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.OverrideClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ParenthesizedValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.Precision
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.PredefinedType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.PredefinedTypeNationalString
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.PredefinedTypeString
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.Predicate
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.QueryExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ReferenceResolution
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ReferenceScopeCheck
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ReferenceType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ReferenceValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.RightBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.RoutineInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.RowType
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.RowValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.RowValueSpecialCase
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ScalarSubquery
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.Scale
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.SetFunctionSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.StaticMethodInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.StringValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.Subquery
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.SubtableClause
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.SubtypeTreatment
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableCommitAction
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableContentsSource
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableContentsSourceSubtable
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableElement
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableElementList
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableName
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TableScope
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TimeLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TimeString
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TimestampLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.TruthValue
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UnsignedInteger
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UnsignedLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UnsignedNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UnsignedValueSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.ValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Eq Hydra.Sql.Syntax.WindowFunction
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ApproximateNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ApproximateNumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayElement
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayElementList
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayElementReference
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ArrayValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.AsSubqueryClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.AttributeOrMethodReference
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BinaryLargeObjectStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BinaryStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanFactor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanPredicand
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanTerm
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanTermAnd
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanTest
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanTestSequenceOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.BooleanValueExpressionOr
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CaseExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CastSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CharacterSetSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CharacterStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CollateClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CollectionType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CollectionValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CollectionValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnName
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnNameList
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnOptions
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ColumnReference
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.CommonValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DataType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DateLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DateString
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DatetimeLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DatetimeType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DatetimeValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DefaultClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.DomainName
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ExactNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ExactNumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ExactNumericTypeDecOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.FieldReference
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.FromConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.FromDefault
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.FromSubquery
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.GeneralLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.GeneralValueSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.GenerationClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.GlobalOrLocal
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.IdentityColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.InsertColumnList
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.InsertColumnsAndSource
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.InsertStatement
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.InsertionTarget
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.IntervalLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.IntervalType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.IntervalValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.LargeObjectLength
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.LeftBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.Length
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.LikeClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.MethodInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.MultisetElementReference
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.MultisetType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.MultisetValueConstructor
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.MultisetValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NationalCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NationalCharacterStringType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NewSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NextValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NumericType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.NumericValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.OverrideClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ParenthesizedValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.Precision
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.PredefinedType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.PredefinedTypeNationalString
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.PredefinedTypeString
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.Predicate
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.QueryExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ReferenceResolution
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ReferenceScopeCheck
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ReferenceType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ReferenceValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.RightBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.RoutineInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.RowType
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.RowValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.RowValueSpecialCase
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ScalarSubquery
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.Scale
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.SetFunctionSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.StaticMethodInvocation
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.StringValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.Subquery
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.SubtableClause
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.SubtypeTreatment
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableCommitAction
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableContentsSource
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableContentsSourceSubtable
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableDefinition
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableElement
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableElementList
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableName
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TableScope
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TimeLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TimeString
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TimestampLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.TruthValue
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UnsignedInteger
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UnsignedLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UnsignedNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UnsignedValueSpecification
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ValueExpression
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.ValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Classes.Ord Hydra.Sql.Syntax.WindowFunction
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ApproximateNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ApproximateNumericType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayElement
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayElementList
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayElementReference
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayValueConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ArrayValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.AsSubqueryClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.AttributeOrMethodReference
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BinaryLargeObjectStringType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BinaryStringLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanFactor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanPredicand
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanPrimary
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanTerm
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanTermAnd
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanTest
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanTestSequenceOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.BooleanValueExpressionOr
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CaseExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CastSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CharacterSetSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CharacterStringType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CollateClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CollectionType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CollectionValueConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CollectionValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnDefinition
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnName
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnNameList
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnOptions
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ColumnReference
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.CommonValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DataType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DateLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DateString
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DatetimeLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DatetimeType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DatetimeValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DefaultClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.DomainName
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ExactNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ExactNumericType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ExactNumericTypeDecOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.FieldReference
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.FromConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.FromDefault
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.FromSubquery
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.GeneralLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.GeneralValueSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.GenerationClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.GlobalOrLocal
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.IdentityColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.InsertColumnList
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.InsertColumnsAndSource
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.InsertStatement
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.InsertionTarget
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.IntervalLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.IntervalType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.IntervalValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.LargeObjectLength
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.LeftBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.Length
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.LikeClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.MethodInvocation
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.MultisetElementReference
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.MultisetType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.MultisetValueConstructor
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.MultisetValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NationalCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NationalCharacterStringType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NewSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NextValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NumericType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.NumericValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.OverrideClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ParenthesizedValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.Precision
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.PredefinedType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.PredefinedTypeNationalString
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.PredefinedTypeString
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.Predicate
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.QueryExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ReferenceResolution
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ReferenceScopeCheck
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ReferenceType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ReferenceValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.RightBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.RoutineInvocation
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.RowType
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.RowValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.RowValueSpecialCase
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ScalarSubquery
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.Scale
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.SetFunctionSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.StaticMethodInvocation
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.StringValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.Subquery
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.SubtableClause
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.SubtypeTreatment
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableCommitAction
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableContentsSource
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableContentsSourceSubtable
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableDefinition
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableElement
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableElementList
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableName
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TableScope
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TimeLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TimeString
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TimestampLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.TruthValue
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UnsignedInteger
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UnsignedLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UnsignedNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UnsignedValueSpecification
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ValueExpression
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.ValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Read.Read Hydra.Sql.Syntax.WindowFunction
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ApproximateNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ApproximateNumericType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayElement
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayElementList
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayElementReference
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayValueConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayValueConstructorByEnumeration
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ArrayValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.AsSubqueryClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.AttributeOrMethodReference
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BinaryLargeObjectStringType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BinaryStringLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanFactor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanPredicand
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanPrimary
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanTerm
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanTermAnd
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanTest
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanTestSequenceOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.BooleanValueExpressionOr
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CaseExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CastSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CharacterSetSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CharacterStringType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CollateClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CollectionType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CollectionValueConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CollectionValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnDefinition
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnName
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnNameList
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnOptions
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ColumnReference
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.CommonValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ContextuallyTypedRowValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ContextuallyTypedRowValueExpressionList
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DataType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DateLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DateString
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DatetimeLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DatetimeType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DatetimeValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DefaultClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.DomainName
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ExactNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ExactNumericType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ExactNumericTypeDecOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ExactNumericTypeDecimalOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ExactNumericTypeNumericOption
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.FieldReference
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.FromConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.FromDefault
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.FromSubquery
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.GeneralLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.GeneralValueSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.GenerationClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.GlobalOrLocal
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.IdentityColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.InsertColumnList
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.InsertColumnsAndSource
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.InsertStatement
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.InsertionTarget
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.IntervalLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.IntervalType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.IntervalValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.LargeObjectLength
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.LeftBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.Length
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.LikeClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.MethodInvocation
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.MultisetElementReference
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.MultisetType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.MultisetValueConstructor
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.MultisetValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NationalCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NationalCharacterStringType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NewSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NextValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NonparenthesizedValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NumericType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.NumericValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.OverrideClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ParenthesizedValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.Precision
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.PredefinedType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.PredefinedTypeNationalString
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.PredefinedTypeString
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.Predicate
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.QueryExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ReferenceResolution
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ReferenceScopeCheck
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ReferenceType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ReferenceValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.RightBracketOrTrigraph
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.RoutineInvocation
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.RowType
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.RowValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.RowValueSpecialCase
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ScalarSubquery
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.Scale
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.SetFunctionSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.StaticMethodInvocation
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.StringValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.Subquery
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.SubtableClause
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.SubtypeTreatment
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableCommitAction
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableConstraintDefinition
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableContentsSource
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableContentsSourceSubtable
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableDefinition
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableElement
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableElementList
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableName
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TableScope
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TimeLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TimeString
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TimestampLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.TruthValue
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UnsignedInteger
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UnsignedLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UnsignedNumericLiteral
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UnsignedValueSpecification
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ValueExpression
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.ValueExpressionPrimary
- Hydra.Sql.Syntax: instance GHC.Show.Show Hydra.Sql.Syntax.WindowFunction
- Hydra.Sql.Syntax: newtype ApproximateNumericLiteral
- Hydra.Sql.Syntax: newtype ArrayElement
- Hydra.Sql.Syntax: newtype ArrayElementReference
- Hydra.Sql.Syntax: newtype ArrayType
- Hydra.Sql.Syntax: newtype ArrayValueConstructorByQuery
- Hydra.Sql.Syntax: newtype ArrayValueExpression
- Hydra.Sql.Syntax: newtype AsSubqueryClause
- Hydra.Sql.Syntax: newtype AttributeOrMethodReference
- Hydra.Sql.Syntax: newtype BinaryStringLiteral
- Hydra.Sql.Syntax: newtype BooleanPredicand
- Hydra.Sql.Syntax: newtype BooleanType
- Hydra.Sql.Syntax: newtype CaseExpression
- Hydra.Sql.Syntax: newtype CastSpecification
- Hydra.Sql.Syntax: newtype CharacterSetSpecification
- Hydra.Sql.Syntax: newtype CharacterStringLiteral
- Hydra.Sql.Syntax: newtype CollateClause
- Hydra.Sql.Syntax: newtype ColumnConstraintDefinition
- Hydra.Sql.Syntax: newtype ColumnName
- Hydra.Sql.Syntax: newtype ColumnOptions
- Hydra.Sql.Syntax: newtype ColumnReference
- Hydra.Sql.Syntax: newtype ContextuallyTypedRowValueConstructor
- Hydra.Sql.Syntax: newtype ContextuallyTypedTableValueConstructor
- Hydra.Sql.Syntax: newtype DateLiteral
- Hydra.Sql.Syntax: newtype DateString
- Hydra.Sql.Syntax: newtype DatetimeType
- Hydra.Sql.Syntax: newtype DatetimeValueExpression
- Hydra.Sql.Syntax: newtype DefaultClause
- Hydra.Sql.Syntax: newtype DomainName
- Hydra.Sql.Syntax: newtype ExactNumericLiteral
- Hydra.Sql.Syntax: newtype FieldReference
- Hydra.Sql.Syntax: newtype FromDefault
- Hydra.Sql.Syntax: newtype FromSubquery
- Hydra.Sql.Syntax: newtype GeneralValueSpecification
- Hydra.Sql.Syntax: newtype GenerationClause
- Hydra.Sql.Syntax: newtype IdentityColumnSpecification
- Hydra.Sql.Syntax: newtype InsertColumnList
- Hydra.Sql.Syntax: newtype InsertionTarget
- Hydra.Sql.Syntax: newtype IntervalLiteral
- Hydra.Sql.Syntax: newtype IntervalType
- Hydra.Sql.Syntax: newtype IntervalValueExpression
- Hydra.Sql.Syntax: newtype LargeObjectLength
- Hydra.Sql.Syntax: newtype LeftBracketOrTrigraph
- Hydra.Sql.Syntax: newtype Length
- Hydra.Sql.Syntax: newtype LikeClause
- Hydra.Sql.Syntax: newtype MethodInvocation
- Hydra.Sql.Syntax: newtype MultisetElementReference
- Hydra.Sql.Syntax: newtype MultisetType
- Hydra.Sql.Syntax: newtype MultisetValueConstructor
- Hydra.Sql.Syntax: newtype MultisetValueExpression
- Hydra.Sql.Syntax: newtype NationalCharacterStringLiteral
- Hydra.Sql.Syntax: newtype NationalCharacterStringType
- Hydra.Sql.Syntax: newtype NewSpecification
- Hydra.Sql.Syntax: newtype NextValueExpression
- Hydra.Sql.Syntax: newtype NumericValueExpression
- Hydra.Sql.Syntax: newtype ParenthesizedValueExpression
- Hydra.Sql.Syntax: newtype PathResolvedUserDefinedTypeName
- Hydra.Sql.Syntax: newtype Precision
- Hydra.Sql.Syntax: newtype Predicate
- Hydra.Sql.Syntax: newtype QueryExpression
- Hydra.Sql.Syntax: newtype ReferenceResolution
- Hydra.Sql.Syntax: newtype ReferenceScopeCheck
- Hydra.Sql.Syntax: newtype ReferenceType
- Hydra.Sql.Syntax: newtype ReferenceValueExpression
- Hydra.Sql.Syntax: newtype RightBracketOrTrigraph
- Hydra.Sql.Syntax: newtype RoutineInvocation
- Hydra.Sql.Syntax: newtype RowType
- Hydra.Sql.Syntax: newtype RowValueExpression
- Hydra.Sql.Syntax: newtype RowValueSpecialCase
- Hydra.Sql.Syntax: newtype ScalarSubquery
- Hydra.Sql.Syntax: newtype Scale
- Hydra.Sql.Syntax: newtype SelfReferencingColumnSpecification
- Hydra.Sql.Syntax: newtype SetFunctionSpecification
- Hydra.Sql.Syntax: newtype StaticMethodInvocation
- Hydra.Sql.Syntax: newtype StringValueExpression
- Hydra.Sql.Syntax: newtype Subquery
- Hydra.Sql.Syntax: newtype SubtableClause
- Hydra.Sql.Syntax: newtype SubtypeTreatment
- Hydra.Sql.Syntax: newtype TableConstraintDefinition
- Hydra.Sql.Syntax: newtype TableName
- Hydra.Sql.Syntax: newtype TableScope
- Hydra.Sql.Syntax: newtype TimeLiteral
- Hydra.Sql.Syntax: newtype TimeString
- Hydra.Sql.Syntax: newtype TimestampLiteral
- Hydra.Sql.Syntax: newtype UnicodeCharacterStringLiteral
- Hydra.Sql.Syntax: newtype UnsignedInteger
- Hydra.Sql.Syntax: newtype UserDefinedTypeValueExpression
- Hydra.Sql.Syntax: newtype WindowFunction
- Hydra.Stac.Items: Asset :: Uri -> Maybe String -> Maybe String -> Maybe MediaType -> [Role] -> Asset
- Hydra.Stac.Items: Item :: Feature -> StacVersion -> [Url] -> [Link] -> Map String Asset -> Maybe Id -> Item
- Hydra.Stac.Items: Link :: Url -> RelationType -> Maybe MediaType -> Maybe String -> Link
- Hydra.Stac.Items: MediaType :: String -> MediaType
- Hydra.Stac.Items: RelationTypeIana :: LinkRelationType -> RelationType
- Hydra.Stac.Items: RelationTypeOther :: String -> RelationType
- Hydra.Stac.Items: RelationTypeStac :: StacRelationType -> RelationType
- Hydra.Stac.Items: RoleData :: Role
- Hydra.Stac.Items: RoleMetadata :: Role
- Hydra.Stac.Items: RoleOther :: String -> Role
- Hydra.Stac.Items: RoleOverview :: Role
- Hydra.Stac.Items: RoleThumbnail :: Role
- Hydra.Stac.Items: StacRelationTypeCollection :: StacRelationType
- Hydra.Stac.Items: StacRelationTypeDerivedFrom :: StacRelationType
- Hydra.Stac.Items: StacRelationTypeParent :: StacRelationType
- Hydra.Stac.Items: StacRelationTypeRoot :: StacRelationType
- Hydra.Stac.Items: StacRelationTypeSelf :: StacRelationType
- Hydra.Stac.Items: StacVersion :: String -> StacVersion
- Hydra.Stac.Items: Uri :: String -> Uri
- Hydra.Stac.Items: Url :: String -> Url
- Hydra.Stac.Items: [assetDescription] :: Asset -> Maybe String
- Hydra.Stac.Items: [assetHref] :: Asset -> Uri
- Hydra.Stac.Items: [assetRoles] :: Asset -> [Role]
- Hydra.Stac.Items: [assetTitle] :: Asset -> Maybe String
- Hydra.Stac.Items: [assetType] :: Asset -> Maybe MediaType
- Hydra.Stac.Items: [itemAssets] :: Item -> Map String Asset
- Hydra.Stac.Items: [itemCollection] :: Item -> Maybe Id
- Hydra.Stac.Items: [itemFeature] :: Item -> Feature
- Hydra.Stac.Items: [itemLinks] :: Item -> [Link]
- Hydra.Stac.Items: [itemStacExtensions] :: Item -> [Url]
- Hydra.Stac.Items: [itemStacVersion] :: Item -> StacVersion
- Hydra.Stac.Items: [linkHref] :: Link -> Url
- Hydra.Stac.Items: [linkRel] :: Link -> RelationType
- Hydra.Stac.Items: [linkTitle] :: Link -> Maybe String
- Hydra.Stac.Items: [linkType] :: Link -> Maybe MediaType
- Hydra.Stac.Items: [unMediaType] :: MediaType -> String
- Hydra.Stac.Items: [unStacVersion] :: StacVersion -> String
- Hydra.Stac.Items: [unUri] :: Uri -> String
- Hydra.Stac.Items: [unUrl] :: Url -> String
- Hydra.Stac.Items: _Asset :: Name
- Hydra.Stac.Items: _Asset_description :: Name
- Hydra.Stac.Items: _Asset_href :: Name
- Hydra.Stac.Items: _Asset_roles :: Name
- Hydra.Stac.Items: _Asset_title :: Name
- Hydra.Stac.Items: _Asset_type :: Name
- Hydra.Stac.Items: _Item :: Name
- Hydra.Stac.Items: _Item_assets :: Name
- Hydra.Stac.Items: _Item_collection :: Name
- Hydra.Stac.Items: _Item_feature :: Name
- Hydra.Stac.Items: _Item_links :: Name
- Hydra.Stac.Items: _Item_stacExtensions :: Name
- Hydra.Stac.Items: _Item_stacVersion :: Name
- Hydra.Stac.Items: _Link :: Name
- Hydra.Stac.Items: _Link_href :: Name
- Hydra.Stac.Items: _Link_rel :: Name
- Hydra.Stac.Items: _Link_title :: Name
- Hydra.Stac.Items: _Link_type :: Name
- Hydra.Stac.Items: _MediaType :: Name
- Hydra.Stac.Items: _RelationType :: Name
- Hydra.Stac.Items: _RelationType_iana :: Name
- Hydra.Stac.Items: _RelationType_other :: Name
- Hydra.Stac.Items: _RelationType_stac :: Name
- Hydra.Stac.Items: _Role :: Name
- Hydra.Stac.Items: _Role_data :: Name
- Hydra.Stac.Items: _Role_metadata :: Name
- Hydra.Stac.Items: _Role_other :: Name
- Hydra.Stac.Items: _Role_overview :: Name
- Hydra.Stac.Items: _Role_thumbnail :: Name
- Hydra.Stac.Items: _StacRelationType :: Name
- Hydra.Stac.Items: _StacRelationType_collection :: Name
- Hydra.Stac.Items: _StacRelationType_derivedFrom :: Name
- Hydra.Stac.Items: _StacRelationType_parent :: Name
- Hydra.Stac.Items: _StacRelationType_root :: Name
- Hydra.Stac.Items: _StacRelationType_self :: Name
- Hydra.Stac.Items: _StacVersion :: Name
- Hydra.Stac.Items: _Uri :: Name
- Hydra.Stac.Items: _Url :: Name
- Hydra.Stac.Items: data Asset
- Hydra.Stac.Items: data Item
- Hydra.Stac.Items: data Link
- Hydra.Stac.Items: data RelationType
- Hydra.Stac.Items: data Role
- Hydra.Stac.Items: data StacRelationType
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Asset
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Item
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Link
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.MediaType
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.RelationType
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Role
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.StacRelationType
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.StacVersion
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Uri
- Hydra.Stac.Items: instance GHC.Classes.Eq Hydra.Stac.Items.Url
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Asset
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Item
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Link
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.MediaType
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.RelationType
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Role
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.StacRelationType
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.StacVersion
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Uri
- Hydra.Stac.Items: instance GHC.Classes.Ord Hydra.Stac.Items.Url
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Asset
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Item
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Link
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.MediaType
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.RelationType
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Role
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.StacRelationType
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.StacVersion
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Uri
- Hydra.Stac.Items: instance GHC.Read.Read Hydra.Stac.Items.Url
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Asset
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Item
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Link
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.MediaType
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.RelationType
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Role
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.StacRelationType
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.StacVersion
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Uri
- Hydra.Stac.Items: instance GHC.Show.Show Hydra.Stac.Items.Url
- Hydra.Stac.Items: newtype MediaType
- Hydra.Stac.Items: newtype StacVersion
- Hydra.Stac.Items: newtype Uri
- Hydra.Stac.Items: newtype Url
- Hydra.Workflow: HydraSchemaSpec :: [Module] -> Name -> HydraSchemaSpec
- Hydra.Workflow: SchemaSpecFile :: String -> SchemaSpec
- Hydra.Workflow: SchemaSpecHydra :: HydraSchemaSpec -> SchemaSpec
- Hydra.Workflow: SchemaSpecProvided :: SchemaSpec
- Hydra.Workflow: TransformWorkflow :: String -> SchemaSpec -> String -> String -> TransformWorkflow
- Hydra.Workflow: [hydraSchemaSpecModules] :: HydraSchemaSpec -> [Module]
- Hydra.Workflow: [hydraSchemaSpecTypeName] :: HydraSchemaSpec -> Name
- Hydra.Workflow: [transformWorkflowDestDir] :: TransformWorkflow -> String
- Hydra.Workflow: [transformWorkflowName] :: TransformWorkflow -> String
- Hydra.Workflow: [transformWorkflowSchemaSpec] :: TransformWorkflow -> SchemaSpec
- Hydra.Workflow: [transformWorkflowSrcDir] :: TransformWorkflow -> String
- Hydra.Workflow: _HydraSchemaSpec :: Name
- Hydra.Workflow: _HydraSchemaSpec_modules :: Name
- Hydra.Workflow: _HydraSchemaSpec_typeName :: Name
- Hydra.Workflow: _SchemaSpec :: Name
- Hydra.Workflow: _SchemaSpec_file :: Name
- Hydra.Workflow: _SchemaSpec_hydra :: Name
- Hydra.Workflow: _SchemaSpec_provided :: Name
- Hydra.Workflow: _TransformWorkflow :: Name
- Hydra.Workflow: _TransformWorkflow_destDir :: Name
- Hydra.Workflow: _TransformWorkflow_name :: Name
- Hydra.Workflow: _TransformWorkflow_schemaSpec :: Name
- Hydra.Workflow: _TransformWorkflow_srcDir :: Name
- Hydra.Workflow: data HydraSchemaSpec
- Hydra.Workflow: data SchemaSpec
- Hydra.Workflow: data TransformWorkflow
- Hydra.Workflow: instance GHC.Classes.Eq Hydra.Workflow.HydraSchemaSpec
- Hydra.Workflow: instance GHC.Classes.Eq Hydra.Workflow.SchemaSpec
- Hydra.Workflow: instance GHC.Classes.Eq Hydra.Workflow.TransformWorkflow
- Hydra.Workflow: instance GHC.Classes.Ord Hydra.Workflow.HydraSchemaSpec
- Hydra.Workflow: instance GHC.Classes.Ord Hydra.Workflow.SchemaSpec
- Hydra.Workflow: instance GHC.Classes.Ord Hydra.Workflow.TransformWorkflow
- Hydra.Workflow: instance GHC.Read.Read Hydra.Workflow.HydraSchemaSpec
- Hydra.Workflow: instance GHC.Read.Read Hydra.Workflow.SchemaSpec
- Hydra.Workflow: instance GHC.Read.Read Hydra.Workflow.TransformWorkflow
- Hydra.Workflow: instance GHC.Show.Show Hydra.Workflow.HydraSchemaSpec
- Hydra.Workflow: instance GHC.Show.Show Hydra.Workflow.SchemaSpec
- Hydra.Workflow: instance GHC.Show.Show Hydra.Workflow.TransformWorkflow
- Hydra.Yaml.Coder: decodeRecord :: Name -> [(FieldType, Coder Term Node Error)] -> Node -> Either Error Term
- Hydra.Yaml.Coder: encodeRecord :: [(FieldType, Coder Term Node Error)] -> Graph -> Term -> Either Error Node
- Hydra.Yaml.Coder: literalYamlCoder :: LiteralType -> Either t0 (Coder Literal Scalar Error)
- Hydra.Yaml.Coder: recordCoder :: Name -> [FieldType] -> t0 -> Graph -> Either Error (Coder Term Node Error)
- Hydra.Yaml.Coder: requiresYamlStringSentinel :: String -> Bool
- Hydra.Yaml.Coder: termCoder :: Type -> t0 -> Graph -> Either Error (Coder Term Node Error)
- Hydra.Yaml.Coder: unitCoder :: Coder Term Node Error
- Hydra.Yaml.Coder: yamlCoder :: Type -> t0 -> Graph -> Either Error (Coder Term Node Error)
- Hydra.Yaml.Language: yamlLanguage :: Language
- Hydra.Yaml.Serde: escapeSingleQuotes :: String -> String
- Hydra.Yaml.Serde: hasLeadingTrailingSpace :: String -> Bool
- Hydra.Yaml.Serde: hydraYamlToString :: Node -> String
- Hydra.Yaml.Serde: indentString :: String -> String
- Hydra.Yaml.Serde: isDecimalString :: [Int] -> Bool
- Hydra.Yaml.Serde: looksLikeNumber :: String -> Bool
- Hydra.Yaml.Serde: needsQuoting :: String -> Bool
- Hydra.Yaml.Serde: writeMappingEntry :: (Node, Node) -> String
- Hydra.Yaml.Serde: writeMappingEntryInline :: (Node, Node) -> String
- Hydra.Yaml.Serde: writeNode :: Node -> String
- Hydra.Yaml.Serde: writeNodeInline :: Node -> String
- Hydra.Yaml.Serde: writeScalar :: Scalar -> String
- Hydra.Yaml.Serde: writeSequenceItem :: Node -> String
- Hydra.Yaml.Serde: writeString :: String -> String
- Hydra.Yaml.Serde: yamlReservedWords :: [String]
- Hydra.Yaml.Serde: yamlSpecialChars :: String
+ Hydra.Ext.Atlas: AtlasAttributeDef :: Maybe String -> Maybe String -> Bool -> Maybe AtlasAttributeDefCardinality -> Int -> Int -> Bool -> Bool -> Bool -> Maybe String -> Maybe String -> Int -> Maybe AtlasAttributeDefIndexType -> [AtlasConstraintDef] -> Map String String -> Maybe String -> AtlasAttributeDef
+ Hydra.Ext.Atlas: AtlasAttributeDefCardinalityList :: AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: AtlasAttributeDefCardinalitySet :: AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: AtlasAttributeDefCardinalitySingle :: AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: AtlasAttributeDefIndexTypeDefault :: AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: AtlasAttributeDefIndexTypeString :: AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: AtlasBaseTypeDef :: Maybe TypeCategory -> Maybe String -> Maybe String -> Maybe String -> Maybe DateTime -> Maybe DateTime -> Maybe Int64 -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Map String String -> AtlasBaseTypeDef
+ Hydra.Ext.Atlas: AtlasConstraintDef :: Maybe String -> Map String String -> AtlasConstraintDef
+ Hydra.Ext.Atlas: AtlasEntityDef :: AtlasStructDef -> Set String -> Set String -> [AtlasRelationshipAttributeDef] -> Map String [AtlasAttributeDef] -> AtlasEntityDef
+ Hydra.Ext.Atlas: AtlasRelationshipAttributeDef :: AtlasAttributeDef -> Maybe String -> Bool -> AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: AtlasStructDef :: AtlasBaseTypeDef -> [AtlasAttributeDef] -> AtlasStructDef
+ Hydra.Ext.Atlas: TypeCategoryArray :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryBusinessMetadata :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryClassification :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryEntity :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryEnum :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryMap :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryObjectIdType :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryPrimitive :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryRelationship :: TypeCategory
+ Hydra.Ext.Atlas: TypeCategoryStruct :: TypeCategory
+ Hydra.Ext.Atlas: [atlasAttributeDefCardinality] :: AtlasAttributeDef -> Maybe AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: [atlasAttributeDefConstraints] :: AtlasAttributeDef -> [AtlasConstraintDef]
+ Hydra.Ext.Atlas: [atlasAttributeDefDefaultValue] :: AtlasAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasAttributeDefDescription] :: AtlasAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasAttributeDefDisplayName] :: AtlasAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasAttributeDefIncludeInNotification] :: AtlasAttributeDef -> Bool
+ Hydra.Ext.Atlas: [atlasAttributeDefIndexType] :: AtlasAttributeDef -> Maybe AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: [atlasAttributeDefIsIndexable] :: AtlasAttributeDef -> Bool
+ Hydra.Ext.Atlas: [atlasAttributeDefIsOptional] :: AtlasAttributeDef -> Bool
+ Hydra.Ext.Atlas: [atlasAttributeDefIsUnique] :: AtlasAttributeDef -> Bool
+ Hydra.Ext.Atlas: [atlasAttributeDefName] :: AtlasAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasAttributeDefOptions] :: AtlasAttributeDef -> Map String String
+ Hydra.Ext.Atlas: [atlasAttributeDefSearchWeight] :: AtlasAttributeDef -> Int
+ Hydra.Ext.Atlas: [atlasAttributeDefTypeName] :: AtlasAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasAttributeDefValuesMaxCount] :: AtlasAttributeDef -> Int
+ Hydra.Ext.Atlas: [atlasAttributeDefValuesMinCount] :: AtlasAttributeDef -> Int
+ Hydra.Ext.Atlas: [atlasBaseTypeDefCategory] :: AtlasBaseTypeDef -> Maybe TypeCategory
+ Hydra.Ext.Atlas: [atlasBaseTypeDefCreateTime] :: AtlasBaseTypeDef -> Maybe DateTime
+ Hydra.Ext.Atlas: [atlasBaseTypeDefCreatedBy] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefDescription] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefGuid] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefName] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefOptions] :: AtlasBaseTypeDef -> Map String String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefServiceType] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefTypeVersion] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefUpdateTime] :: AtlasBaseTypeDef -> Maybe DateTime
+ Hydra.Ext.Atlas: [atlasBaseTypeDefUpdatedBy] :: AtlasBaseTypeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasBaseTypeDefVersion] :: AtlasBaseTypeDef -> Maybe Int64
+ Hydra.Ext.Atlas: [atlasConstraintDefParams] :: AtlasConstraintDef -> Map String String
+ Hydra.Ext.Atlas: [atlasConstraintDefType] :: AtlasConstraintDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasEntityDefAsAtlasStruct] :: AtlasEntityDef -> AtlasStructDef
+ Hydra.Ext.Atlas: [atlasEntityDefBusinessAttributeDefs] :: AtlasEntityDef -> Map String [AtlasAttributeDef]
+ Hydra.Ext.Atlas: [atlasEntityDefRelationshipAttributeDefs] :: AtlasEntityDef -> [AtlasRelationshipAttributeDef]
+ Hydra.Ext.Atlas: [atlasEntityDefSubTypes] :: AtlasEntityDef -> Set String
+ Hydra.Ext.Atlas: [atlasEntityDefSuperTypes] :: AtlasEntityDef -> Set String
+ Hydra.Ext.Atlas: [atlasRelationshipAttributeDefAsAtlasAttribute] :: AtlasRelationshipAttributeDef -> AtlasAttributeDef
+ Hydra.Ext.Atlas: [atlasRelationshipAttributeDefIsLegacyAttribute] :: AtlasRelationshipAttributeDef -> Bool
+ Hydra.Ext.Atlas: [atlasRelationshipAttributeDefRelationshipTypeName] :: AtlasRelationshipAttributeDef -> Maybe String
+ Hydra.Ext.Atlas: [atlasStructDefAsAtlasBaseType] :: AtlasStructDef -> AtlasBaseTypeDef
+ Hydra.Ext.Atlas: [atlasStructDefAttributeDefs] :: AtlasStructDef -> [AtlasAttributeDef]
+ Hydra.Ext.Atlas: _AtlasAttributeDef :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefCardinality :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefCardinality_list :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefCardinality_set :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefCardinality_single :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefIndexType :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefIndexType_default :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDefIndexType_string :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_cardinality :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_constraints :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_defaultValue :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_description :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_displayName :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_includeInNotification :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_indexType :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_isIndexable :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_isOptional :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_isUnique :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_name :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_options :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_searchWeight :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_typeName :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_valuesMaxCount :: Name
+ Hydra.Ext.Atlas: _AtlasAttributeDef_valuesMinCount :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_category :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_createTime :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_createdBy :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_description :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_guid :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_name :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_options :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_serviceType :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_typeVersion :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_updateTime :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_updatedBy :: Name
+ Hydra.Ext.Atlas: _AtlasBaseTypeDef_version :: Name
+ Hydra.Ext.Atlas: _AtlasConstraintDef :: Name
+ Hydra.Ext.Atlas: _AtlasConstraintDef_params :: Name
+ Hydra.Ext.Atlas: _AtlasConstraintDef_type :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef_asAtlasStruct :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef_businessAttributeDefs :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef_relationshipAttributeDefs :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef_subTypes :: Name
+ Hydra.Ext.Atlas: _AtlasEntityDef_superTypes :: Name
+ Hydra.Ext.Atlas: _AtlasRelationshipAttributeDef :: Name
+ Hydra.Ext.Atlas: _AtlasRelationshipAttributeDef_asAtlasAttribute :: Name
+ Hydra.Ext.Atlas: _AtlasRelationshipAttributeDef_isLegacyAttribute :: Name
+ Hydra.Ext.Atlas: _AtlasRelationshipAttributeDef_relationshipTypeName :: Name
+ Hydra.Ext.Atlas: _AtlasStructDef :: Name
+ Hydra.Ext.Atlas: _AtlasStructDef_asAtlasBaseType :: Name
+ Hydra.Ext.Atlas: _AtlasStructDef_attributeDefs :: Name
+ Hydra.Ext.Atlas: _TypeCategory :: Name
+ Hydra.Ext.Atlas: _TypeCategory_array :: Name
+ Hydra.Ext.Atlas: _TypeCategory_businessMetadata :: Name
+ Hydra.Ext.Atlas: _TypeCategory_classification :: Name
+ Hydra.Ext.Atlas: _TypeCategory_entity :: Name
+ Hydra.Ext.Atlas: _TypeCategory_enum :: Name
+ Hydra.Ext.Atlas: _TypeCategory_map :: Name
+ Hydra.Ext.Atlas: _TypeCategory_objectIdType :: Name
+ Hydra.Ext.Atlas: _TypeCategory_primitive :: Name
+ Hydra.Ext.Atlas: _TypeCategory_relationship :: Name
+ Hydra.Ext.Atlas: _TypeCategory_struct :: Name
+ Hydra.Ext.Atlas: data AtlasAttributeDef
+ Hydra.Ext.Atlas: data AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: data AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: data AtlasBaseTypeDef
+ Hydra.Ext.Atlas: data AtlasConstraintDef
+ Hydra.Ext.Atlas: data AtlasEntityDef
+ Hydra.Ext.Atlas: data AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: data AtlasStructDef
+ Hydra.Ext.Atlas: data TypeCategory
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasBaseTypeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasConstraintDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasEntityDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.AtlasStructDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Eq Hydra.Ext.Atlas.TypeCategory
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasBaseTypeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasConstraintDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasEntityDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.AtlasStructDef
+ Hydra.Ext.Atlas: instance GHC.Classes.Ord Hydra.Ext.Atlas.TypeCategory
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasBaseTypeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasConstraintDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasEntityDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.AtlasStructDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Read.Read Hydra.Ext.Atlas.TypeCategory
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasAttributeDefCardinality
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasAttributeDefIndexType
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasBaseTypeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasConstraintDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasEntityDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasRelationshipAttributeDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.AtlasStructDef
+ Hydra.Ext.Atlas: instance GHC.Internal.Show.Show Hydra.Ext.Atlas.TypeCategory
+ Hydra.Ext.Avro.Coder: annotateAdapter :: Maybe (Map Name Term) -> Adapter t0 Type t1 t2 t3 -> Adapter t0 Type t1 t2 t3
+ Hydra.Ext.Avro.Coder: avroForeignKey :: String
+ Hydra.Ext.Avro.Coder: avroHydraAdapter :: t0 -> Schema -> AvroEnvironment -> Either Error (Adapter Schema Type Value Term Error, AvroEnvironment)
+ Hydra.Ext.Avro.Coder: avroNameToHydraName :: AvroQualifiedName -> Name
+ Hydra.Ext.Avro.Coder: avroPrimaryKey :: String
+ Hydra.Ext.Avro.Coder: emptyAvroEnvironment :: AvroEnvironment
+ Hydra.Ext.Avro.Coder: encodeAnnotationValue :: Value -> Term
+ Hydra.Ext.Avro.Coder: err :: t0 -> String -> Either Error t1
+ Hydra.Ext.Avro.Coder: expectArrayE :: t0 -> Value -> Either t1 [Value]
+ Hydra.Ext.Avro.Coder: expectObjectE :: t0 -> Value -> Either t1 (Map String Value)
+ Hydra.Ext.Avro.Coder: expectStringE :: t0 -> Value -> Either t1 String
+ Hydra.Ext.Avro.Coder: fieldAnnotationsToCore :: Field -> Map Name Term
+ Hydra.Ext.Avro.Coder: findAvroPrimaryKeyField :: t0 -> AvroQualifiedName -> [Field] -> Either Error (Maybe AvroPrimaryKey)
+ Hydra.Ext.Avro.Coder: foreignKeyE :: t0 -> Field -> Either Error (Maybe AvroForeignKey)
+ Hydra.Ext.Avro.Coder: getAvroHydraAdapter :: AvroQualifiedName -> AvroEnvironment -> Maybe (Adapter Schema Type Value Term Error)
+ Hydra.Ext.Avro.Coder: jsonToStringE :: t0 -> Value -> Either Error String
+ Hydra.Ext.Avro.Coder: namedAnnotationsToCore :: Named -> Map Name Term
+ Hydra.Ext.Avro.Coder: optStringE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe String)
+ Hydra.Ext.Avro.Coder: parseAvroName :: Maybe String -> String -> AvroQualifiedName
+ Hydra.Ext.Avro.Coder: patternToNameConstructor :: String -> String -> Name
+ Hydra.Ext.Avro.Coder: prepareField :: t0 -> AvroEnvironment -> Field -> Either Error ((String, (Field, Adapter Schema Type Value Term Error)), AvroEnvironment)
+ Hydra.Ext.Avro.Coder: prepareFields :: t0 -> AvroEnvironment -> [Field] -> Either Error (Map String (Field, Adapter Schema Type Value Term Error), AvroEnvironment)
+ Hydra.Ext.Avro.Coder: primaryKeyE :: t0 -> Field -> Maybe AvroPrimaryKey
+ Hydra.Ext.Avro.Coder: putAvroHydraAdapter :: AvroQualifiedName -> Adapter Schema Type Value Term Error -> AvroEnvironment -> AvroEnvironment
+ Hydra.Ext.Avro.Coder: requireStringE :: t0 -> String -> Map String Value -> Either Error String
+ Hydra.Ext.Avro.Coder: rewriteAvroSchemaM :: ((Schema -> Either t0 Schema) -> Schema -> Either t0 Schema) -> Schema -> Either t0 Schema
+ Hydra.Ext.Avro.Coder: showQname :: AvroQualifiedName -> String
+ Hydra.Ext.Avro.Coder: stringToTermE :: t0 -> Type -> String -> Either Error Term
+ Hydra.Ext.Avro.Coder: termToStringE :: t0 -> Term -> Either Error String
+ Hydra.Ext.Avro.Coder: unexpectedE :: t0 -> String -> String -> Either Error t1
+ Hydra.Ext.Avro.Encoder: buildAvroField :: (Name, Adapter t0 Schema t1 t2 t3) -> Field
+ Hydra.Ext.Avro.Encoder: emptyEncodeEnvironment :: Map Name Type -> EncodeEnvironment
+ Hydra.Ext.Avro.Encoder: encodeType :: t0 -> Map Name Type -> Name -> Either Error (Adapter Type Schema Term Value Error)
+ Hydra.Ext.Avro.Encoder: encodeTypeInner :: t0 -> Maybe Name -> Type -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
+ Hydra.Ext.Avro.Encoder: encodeTypeWithEnv :: t0 -> Name -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
+ Hydra.Ext.Avro.Encoder: enumAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> Either t1 (Adapter Type Schema Term Value Error, EncodeEnvironment)
+ Hydra.Ext.Avro.Encoder: err :: t0 -> String -> Either Error t1
+ Hydra.Ext.Avro.Encoder: extractAnnotations :: Type -> (Map Name Term, Type)
+ Hydra.Ext.Avro.Encoder: floatAdapter :: t0 -> t1 -> FloatType -> Either t2 (Adapter t1 Schema Term Value Error)
+ Hydra.Ext.Avro.Encoder: floatValueToDouble :: FloatValue -> Scientific
+ Hydra.Ext.Avro.Encoder: foldFieldAdapters :: t0 -> [FieldType] -> EncodeEnvironment -> Either Error ([(Name, Adapter Type Schema Term Value Error)], EncodeEnvironment)
+ Hydra.Ext.Avro.Encoder: hydraAnnotationsToAvro :: Map Name Term -> Map String Value
+ Hydra.Ext.Avro.Encoder: hydraAvroAdapter :: t0 -> Map Name Type -> Type -> Either Error (Adapter Type Schema Term Value Error)
+ Hydra.Ext.Avro.Encoder: hydraNameToAvroName :: Name -> (String, Maybe String)
+ Hydra.Ext.Avro.Encoder: integerAdapter :: t0 -> t1 -> IntegerType -> Either t2 (Adapter t1 Schema Term Value Error)
+ Hydra.Ext.Avro.Encoder: integerValueToDouble :: IntegerValue -> Scientific
+ Hydra.Ext.Avro.Encoder: literalAdapter :: t0 -> t1 -> LiteralType -> Either t2 (Adapter t1 Schema Term Value Error)
+ Hydra.Ext.Avro.Encoder: localName :: Name -> String
+ Hydra.Ext.Avro.Encoder: nameNamespace :: Name -> Maybe String
+ Hydra.Ext.Avro.Encoder: namedTypeAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> ([Field] -> NamedType) -> (t0 -> Name -> [(Name, Adapter Type Schema Term Value Error)] -> (Term -> Either Error Value, Value -> Either Error Term)) -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
+ Hydra.Ext.Avro.Encoder: recordTermCoder :: t0 -> Name -> [(Name, Adapter t1 t2 Term Value Error)] -> (Term -> Either Error Value, Value -> Either Error Term)
+ Hydra.Ext.Avro.Encoder: termToJsonValue :: Term -> Value
+ Hydra.Ext.Avro.Encoder: typeToName :: Type -> Name
+ Hydra.Ext.Avro.Encoder: unionAsRecordAdapter :: t0 -> Type -> Maybe Name -> Map Name Term -> [FieldType] -> EncodeEnvironment -> Either Error (Adapter Type Schema Term Value Error, EncodeEnvironment)
+ Hydra.Ext.Avro.Environment: AvroEnvironment :: Map AvroQualifiedName (Adapter Schema Type Value Term Error) -> Maybe String -> Map Name Binding -> AvroEnvironment
+ Hydra.Ext.Avro.Environment: AvroForeignKey :: Name -> (String -> Name) -> AvroForeignKey
+ Hydra.Ext.Avro.Environment: AvroPrimaryKey :: Name -> (String -> Name) -> AvroPrimaryKey
+ Hydra.Ext.Avro.Environment: AvroQualifiedName :: Maybe String -> String -> AvroQualifiedName
+ Hydra.Ext.Avro.Environment: EncodeEnvironment :: Map Name Type -> Map Name (Adapter Type Schema Term Value Error) -> EncodeEnvironment
+ Hydra.Ext.Avro.Environment: [avroEnvironmentElements] :: AvroEnvironment -> Map Name Binding
+ Hydra.Ext.Avro.Environment: [avroEnvironmentNamedAdapters] :: AvroEnvironment -> Map AvroQualifiedName (Adapter Schema Type Value Term Error)
+ Hydra.Ext.Avro.Environment: [avroEnvironmentNamespace] :: AvroEnvironment -> Maybe String
+ Hydra.Ext.Avro.Environment: [avroForeignKeyConstructor] :: AvroForeignKey -> String -> Name
+ Hydra.Ext.Avro.Environment: [avroForeignKeyTypeName] :: AvroForeignKey -> Name
+ Hydra.Ext.Avro.Environment: [avroPrimaryKeyConstructor] :: AvroPrimaryKey -> String -> Name
+ Hydra.Ext.Avro.Environment: [avroPrimaryKeyFieldName] :: AvroPrimaryKey -> Name
+ Hydra.Ext.Avro.Environment: [avroQualifiedNameName] :: AvroQualifiedName -> String
+ Hydra.Ext.Avro.Environment: [avroQualifiedNameNamespace] :: AvroQualifiedName -> Maybe String
+ Hydra.Ext.Avro.Environment: [encodeEnvironmentEmitted] :: EncodeEnvironment -> Map Name (Adapter Type Schema Term Value Error)
+ Hydra.Ext.Avro.Environment: [encodeEnvironmentTypeMap] :: EncodeEnvironment -> Map Name Type
+ Hydra.Ext.Avro.Environment: _AvroEnvironment :: Name
+ Hydra.Ext.Avro.Environment: _AvroEnvironment_elements :: Name
+ Hydra.Ext.Avro.Environment: _AvroEnvironment_namedAdapters :: Name
+ Hydra.Ext.Avro.Environment: _AvroEnvironment_namespace :: Name
+ Hydra.Ext.Avro.Environment: _AvroForeignKey :: Name
+ Hydra.Ext.Avro.Environment: _AvroForeignKey_constructor :: Name
+ Hydra.Ext.Avro.Environment: _AvroForeignKey_typeName :: Name
+ Hydra.Ext.Avro.Environment: _AvroPrimaryKey :: Name
+ Hydra.Ext.Avro.Environment: _AvroPrimaryKey_constructor :: Name
+ Hydra.Ext.Avro.Environment: _AvroPrimaryKey_fieldName :: Name
+ Hydra.Ext.Avro.Environment: _AvroQualifiedName :: Name
+ Hydra.Ext.Avro.Environment: _AvroQualifiedName_name :: Name
+ Hydra.Ext.Avro.Environment: _AvroQualifiedName_namespace :: Name
+ Hydra.Ext.Avro.Environment: _EncodeEnvironment :: Name
+ Hydra.Ext.Avro.Environment: _EncodeEnvironment_emitted :: Name
+ Hydra.Ext.Avro.Environment: _EncodeEnvironment_typeMap :: Name
+ Hydra.Ext.Avro.Environment: data AvroEnvironment
+ Hydra.Ext.Avro.Environment: data AvroForeignKey
+ Hydra.Ext.Avro.Environment: data AvroPrimaryKey
+ Hydra.Ext.Avro.Environment: data AvroQualifiedName
+ Hydra.Ext.Avro.Environment: data EncodeEnvironment
+ Hydra.Ext.Avro.Environment: instance GHC.Classes.Eq Hydra.Ext.Avro.Environment.AvroQualifiedName
+ Hydra.Ext.Avro.Environment: instance GHC.Classes.Ord Hydra.Ext.Avro.Environment.AvroQualifiedName
+ Hydra.Ext.Avro.Environment: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Environment.AvroQualifiedName
+ Hydra.Ext.Avro.Environment: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Environment.AvroQualifiedName
+ Hydra.Ext.Avro.Language: avroLanguage :: Language
+ Hydra.Ext.Avro.Schema: Array :: Schema -> Array
+ Hydra.Ext.Avro.Schema: Enum :: [String] -> Maybe String -> Enum
+ Hydra.Ext.Avro.Schema: Field :: String -> Maybe String -> Schema -> Maybe Value -> Maybe Order -> Maybe [String] -> Map String Value -> Field
+ Hydra.Ext.Avro.Schema: Fixed :: Int -> Fixed
+ Hydra.Ext.Avro.Schema: Map :: Schema -> Map
+ Hydra.Ext.Avro.Schema: Named :: String -> Maybe String -> Maybe [String] -> Maybe String -> NamedType -> Map String Value -> Named
+ Hydra.Ext.Avro.Schema: NamedTypeEnum :: Enum -> NamedType
+ Hydra.Ext.Avro.Schema: NamedTypeFixed :: Fixed -> NamedType
+ Hydra.Ext.Avro.Schema: NamedTypeRecord :: Record -> NamedType
+ Hydra.Ext.Avro.Schema: OrderAscending :: Order
+ Hydra.Ext.Avro.Schema: OrderDescending :: Order
+ Hydra.Ext.Avro.Schema: OrderIgnore :: Order
+ Hydra.Ext.Avro.Schema: PrimitiveBoolean :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveBytes :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveDouble :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveFloat :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveInt :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveLong :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveNull :: Primitive
+ Hydra.Ext.Avro.Schema: PrimitiveString :: Primitive
+ Hydra.Ext.Avro.Schema: Record :: [Field] -> Record
+ Hydra.Ext.Avro.Schema: SchemaArray :: Array -> Schema
+ Hydra.Ext.Avro.Schema: SchemaMap :: Map -> Schema
+ Hydra.Ext.Avro.Schema: SchemaNamed :: Named -> Schema
+ Hydra.Ext.Avro.Schema: SchemaPrimitive :: Primitive -> Schema
+ Hydra.Ext.Avro.Schema: SchemaReference :: String -> Schema
+ Hydra.Ext.Avro.Schema: SchemaUnion :: Union -> Schema
+ Hydra.Ext.Avro.Schema: Union :: [Schema] -> Union
+ Hydra.Ext.Avro.Schema: [arrayItems] :: Array -> Schema
+ Hydra.Ext.Avro.Schema: [enumDefault] :: Enum -> Maybe String
+ Hydra.Ext.Avro.Schema: [enumSymbols] :: Enum -> [String]
+ Hydra.Ext.Avro.Schema: [fieldAliases] :: Field -> Maybe [String]
+ Hydra.Ext.Avro.Schema: [fieldAnnotations] :: Field -> Map String Value
+ Hydra.Ext.Avro.Schema: [fieldDefault] :: Field -> Maybe Value
+ Hydra.Ext.Avro.Schema: [fieldDoc] :: Field -> Maybe String
+ Hydra.Ext.Avro.Schema: [fieldName] :: Field -> String
+ Hydra.Ext.Avro.Schema: [fieldOrder] :: Field -> Maybe Order
+ Hydra.Ext.Avro.Schema: [fieldType] :: Field -> Schema
+ Hydra.Ext.Avro.Schema: [fixedSize] :: Fixed -> Int
+ Hydra.Ext.Avro.Schema: [mapValues] :: Map -> Schema
+ Hydra.Ext.Avro.Schema: [namedAliases] :: Named -> Maybe [String]
+ Hydra.Ext.Avro.Schema: [namedAnnotations] :: Named -> Map String Value
+ Hydra.Ext.Avro.Schema: [namedDoc] :: Named -> Maybe String
+ Hydra.Ext.Avro.Schema: [namedName] :: Named -> String
+ Hydra.Ext.Avro.Schema: [namedNamespace] :: Named -> Maybe String
+ Hydra.Ext.Avro.Schema: [namedType] :: Named -> NamedType
+ Hydra.Ext.Avro.Schema: [recordFields] :: Record -> [Field]
+ Hydra.Ext.Avro.Schema: [unUnion] :: Union -> [Schema]
+ Hydra.Ext.Avro.Schema: _Array :: Name
+ Hydra.Ext.Avro.Schema: _Array_items :: Name
+ Hydra.Ext.Avro.Schema: _Enum :: Name
+ Hydra.Ext.Avro.Schema: _Enum_default :: Name
+ Hydra.Ext.Avro.Schema: _Enum_symbols :: Name
+ Hydra.Ext.Avro.Schema: _Field :: Name
+ Hydra.Ext.Avro.Schema: _Field_aliases :: Name
+ Hydra.Ext.Avro.Schema: _Field_annotations :: Name
+ Hydra.Ext.Avro.Schema: _Field_default :: Name
+ Hydra.Ext.Avro.Schema: _Field_doc :: Name
+ Hydra.Ext.Avro.Schema: _Field_name :: Name
+ Hydra.Ext.Avro.Schema: _Field_order :: Name
+ Hydra.Ext.Avro.Schema: _Field_type :: Name
+ Hydra.Ext.Avro.Schema: _Fixed :: Name
+ Hydra.Ext.Avro.Schema: _Fixed_size :: Name
+ Hydra.Ext.Avro.Schema: _Map :: Name
+ Hydra.Ext.Avro.Schema: _Map_values :: Name
+ Hydra.Ext.Avro.Schema: _Named :: Name
+ Hydra.Ext.Avro.Schema: _NamedType :: Name
+ Hydra.Ext.Avro.Schema: _NamedType_enum :: Name
+ Hydra.Ext.Avro.Schema: _NamedType_fixed :: Name
+ Hydra.Ext.Avro.Schema: _NamedType_record :: Name
+ Hydra.Ext.Avro.Schema: _Named_aliases :: Name
+ Hydra.Ext.Avro.Schema: _Named_annotations :: Name
+ Hydra.Ext.Avro.Schema: _Named_doc :: Name
+ Hydra.Ext.Avro.Schema: _Named_name :: Name
+ Hydra.Ext.Avro.Schema: _Named_namespace :: Name
+ Hydra.Ext.Avro.Schema: _Named_type :: Name
+ Hydra.Ext.Avro.Schema: _Order :: Name
+ Hydra.Ext.Avro.Schema: _Order_ascending :: Name
+ Hydra.Ext.Avro.Schema: _Order_descending :: Name
+ Hydra.Ext.Avro.Schema: _Order_ignore :: Name
+ Hydra.Ext.Avro.Schema: _Primitive :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_boolean :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_bytes :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_double :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_float :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_int :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_long :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_null :: Name
+ Hydra.Ext.Avro.Schema: _Primitive_string :: Name
+ Hydra.Ext.Avro.Schema: _Record :: Name
+ Hydra.Ext.Avro.Schema: _Record_fields :: Name
+ Hydra.Ext.Avro.Schema: _Schema :: Name
+ Hydra.Ext.Avro.Schema: _Schema_array :: Name
+ Hydra.Ext.Avro.Schema: _Schema_map :: Name
+ Hydra.Ext.Avro.Schema: _Schema_named :: Name
+ Hydra.Ext.Avro.Schema: _Schema_primitive :: Name
+ Hydra.Ext.Avro.Schema: _Schema_reference :: Name
+ Hydra.Ext.Avro.Schema: _Schema_union :: Name
+ Hydra.Ext.Avro.Schema: _Union :: Name
+ Hydra.Ext.Avro.Schema: data Array
+ Hydra.Ext.Avro.Schema: data Enum
+ Hydra.Ext.Avro.Schema: data Field
+ Hydra.Ext.Avro.Schema: data Fixed
+ Hydra.Ext.Avro.Schema: data Map
+ Hydra.Ext.Avro.Schema: data Named
+ Hydra.Ext.Avro.Schema: data NamedType
+ Hydra.Ext.Avro.Schema: data Order
+ Hydra.Ext.Avro.Schema: data Primitive
+ Hydra.Ext.Avro.Schema: data Record
+ Hydra.Ext.Avro.Schema: data Schema
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Array
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Enum
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Field
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Fixed
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Map
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Named
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.NamedType
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Order
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Primitive
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Record
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Schema
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Eq Hydra.Ext.Avro.Schema.Union
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Array
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Enum
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Field
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Fixed
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Map
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Named
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.NamedType
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Order
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Primitive
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Record
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Schema
+ Hydra.Ext.Avro.Schema: instance GHC.Classes.Ord Hydra.Ext.Avro.Schema.Union
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Array
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Enum
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Field
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Fixed
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Map
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Named
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.NamedType
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Order
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Primitive
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Record
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Schema
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Schema.Union
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Array
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Enum
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Field
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Fixed
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Map
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Named
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.NamedType
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Order
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Primitive
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Record
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Schema
+ Hydra.Ext.Avro.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Schema.Union
+ Hydra.Ext.Avro.Schema: newtype Union
+ Hydra.Ext.Avro.SchemaJson: avroAliases :: String
+ Hydra.Ext.Avro.SchemaJson: avroArray :: String
+ Hydra.Ext.Avro.SchemaJson: avroAscending :: String
+ Hydra.Ext.Avro.SchemaJson: avroBoolean :: String
+ Hydra.Ext.Avro.SchemaJson: avroBytes :: String
+ Hydra.Ext.Avro.SchemaJson: avroDefault :: String
+ Hydra.Ext.Avro.SchemaJson: avroDescending :: String
+ Hydra.Ext.Avro.SchemaJson: avroDoc :: String
+ Hydra.Ext.Avro.SchemaJson: avroDouble :: String
+ Hydra.Ext.Avro.SchemaJson: avroEnum :: String
+ Hydra.Ext.Avro.SchemaJson: avroFields :: String
+ Hydra.Ext.Avro.SchemaJson: avroFixed :: String
+ Hydra.Ext.Avro.SchemaJson: avroFloat :: String
+ Hydra.Ext.Avro.SchemaJson: avroIgnore :: String
+ Hydra.Ext.Avro.SchemaJson: avroInt :: String
+ Hydra.Ext.Avro.SchemaJson: avroItems :: String
+ Hydra.Ext.Avro.SchemaJson: avroLong :: String
+ Hydra.Ext.Avro.SchemaJson: avroMap :: String
+ Hydra.Ext.Avro.SchemaJson: avroName :: String
+ Hydra.Ext.Avro.SchemaJson: avroNamespace :: String
+ Hydra.Ext.Avro.SchemaJson: avroNull :: String
+ Hydra.Ext.Avro.SchemaJson: avroOrder :: String
+ Hydra.Ext.Avro.SchemaJson: avroRecord :: String
+ Hydra.Ext.Avro.SchemaJson: avroSchemaJsonCoder :: t0 -> Coder Schema Value Error
+ Hydra.Ext.Avro.SchemaJson: avroSchemaStringCoder :: t0 -> Coder Schema String Error
+ Hydra.Ext.Avro.SchemaJson: avroSize :: String
+ Hydra.Ext.Avro.SchemaJson: avroString :: String
+ Hydra.Ext.Avro.SchemaJson: avroSymbols :: String
+ Hydra.Ext.Avro.SchemaJson: avroType :: String
+ Hydra.Ext.Avro.SchemaJson: avroValues :: String
+ Hydra.Ext.Avro.SchemaJson: decodeAliases :: t0 -> Map String Value -> Either t1 (Maybe [String])
+ Hydra.Ext.Avro.SchemaJson: decodeArraySchema :: t0 -> Map String Value -> Either Error Schema
+ Hydra.Ext.Avro.SchemaJson: decodeEnum :: t0 -> Map String Value -> Either Error NamedType
+ Hydra.Ext.Avro.SchemaJson: decodeField :: t0 -> Map String Value -> Either Error Field
+ Hydra.Ext.Avro.SchemaJson: decodeFixed :: t0 -> Map String Value -> Either Error NamedType
+ Hydra.Ext.Avro.SchemaJson: decodeMapSchema :: t0 -> Map String Value -> Either Error Schema
+ Hydra.Ext.Avro.SchemaJson: decodeNamedSchema :: t0 -> Map String Value -> Either Error NamedType -> Either Error Schema
+ Hydra.Ext.Avro.SchemaJson: decodeObjectSchema :: t0 -> Map String Value -> String -> Either Error Schema
+ Hydra.Ext.Avro.SchemaJson: decodeOrder :: t0 -> String -> Either Error Order
+ Hydra.Ext.Avro.SchemaJson: decodePrimitiveName :: String -> Maybe Primitive
+ Hydra.Ext.Avro.SchemaJson: decodeRecord :: t0 -> Map String Value -> Either Error NamedType
+ Hydra.Ext.Avro.SchemaJson: decodeSchema :: t0 -> Value -> Either Error Schema
+ Hydra.Ext.Avro.SchemaJson: encodeAnnotations :: Map String t0 -> [(String, t0)]
+ Hydra.Ext.Avro.SchemaJson: encodeArray :: Array -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeEnum :: Enum -> [(String, Value)]
+ Hydra.Ext.Avro.SchemaJson: encodeField :: Field -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeFixed :: Fixed -> [(String, Value)]
+ Hydra.Ext.Avro.SchemaJson: encodeMap :: Map -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeNamed :: Named -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeNamedType :: NamedType -> [(String, Value)]
+ Hydra.Ext.Avro.SchemaJson: encodeOrder :: Order -> (String, Value)
+ Hydra.Ext.Avro.SchemaJson: encodePrimitive :: Primitive -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeRecord :: Record -> [(String, Value)]
+ Hydra.Ext.Avro.SchemaJson: encodeSchema :: Schema -> Value
+ Hydra.Ext.Avro.SchemaJson: encodeUnion :: Union -> Value
+ Hydra.Ext.Avro.SchemaJson: err :: t0 -> String -> Either Error t1
+ Hydra.Ext.Avro.SchemaJson: expectArrayE :: t0 -> Value -> Either t1 [Value]
+ Hydra.Ext.Avro.SchemaJson: expectNumberE :: t0 -> Value -> Either t1 Scientific
+ Hydra.Ext.Avro.SchemaJson: expectObjectE :: t0 -> Value -> Either t1 (Map String Value)
+ Hydra.Ext.Avro.SchemaJson: expectStringE :: t0 -> Value -> Either t1 String
+ Hydra.Ext.Avro.SchemaJson: getAnnotations :: Map String t0 -> Map String t0
+ Hydra.Ext.Avro.SchemaJson: optArrayE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe [Value])
+ Hydra.Ext.Avro.SchemaJson: optE :: Ord t0 => t0 -> Map t0 t1 -> Maybe t1
+ Hydra.Ext.Avro.SchemaJson: optStringE :: Ord t1 => t0 -> t1 -> Map t1 Value -> Either t2 (Maybe String)
+ Hydra.Ext.Avro.SchemaJson: requireArrayE :: t0 -> String -> Map String Value -> Either Error [Value]
+ Hydra.Ext.Avro.SchemaJson: requireE :: t0 -> String -> Map String t1 -> Either Error t1
+ Hydra.Ext.Avro.SchemaJson: requireNumberE :: t0 -> String -> Map String Value -> Either Error Scientific
+ Hydra.Ext.Avro.SchemaJson: requireStringE :: t0 -> String -> Map String Value -> Either Error String
+ Hydra.Ext.Avro.SchemaJson: showJsonValue :: Value -> String
+ Hydra.Ext.Avro.SchemaJson: stringToJsonValue :: String -> Either String Value
+ Hydra.Ext.Avro.SchemaJson: unexpectedE :: t0 -> String -> String -> Either Error t1
+ Hydra.Ext.Avro.Testing: AvroTestCaseLossiness :: LossinessTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseNameMapping :: NameMappingTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseSchemaSerialization :: SchemaSerializationTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTermLevelForward :: TermLevelForwardTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTermLevelReverse :: TermLevelReverseTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTermLevelRoundTripJson :: TermLevelRoundTripJsonTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTermLevelRoundTripTerm :: TermLevelRoundTripTermTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTypeLevelForward :: TypeLevelForwardTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTypeLevelReverse :: TypeLevelReverseTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTypeLevelRoundTripAvro :: TypeLevelRoundTripAvroTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseTypeLevelRoundTripHydra :: TypeLevelRoundTripHydraTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: AvroTestCaseUnion :: UnionTestCase -> AvroTestCase
+ Hydra.Ext.Avro.Testing: LossinessTestCase :: String -> Schema -> Type -> Schema -> Bool -> LossinessTestCase
+ Hydra.Ext.Avro.Testing: NameMappingTestCase :: String -> Name -> String -> Maybe String -> NameMappingTestCase
+ Hydra.Ext.Avro.Testing: SchemaSerializationTestCase :: String -> Schema -> Value -> SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: TermLevelForwardTestCase :: String -> Schema -> Value -> Term -> TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: TermLevelReverseTestCase :: String -> Schema -> Term -> Value -> TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: TermLevelRoundTripJsonTestCase :: String -> Schema -> Value -> Value -> TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: TermLevelRoundTripTermTestCase :: String -> Type -> Term -> Term -> TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: TypeLevelForwardTestCase :: String -> Schema -> Type -> TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: TypeLevelReverseTestCase :: String -> Type -> Schema -> TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: TypeLevelRoundTripAvroTestCase :: String -> Schema -> Schema -> TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: TypeLevelRoundTripHydraTestCase :: String -> Type -> Type -> TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: UnionTestCase :: String -> Type -> Schema -> [(Term, Value)] -> UnionTestCase
+ Hydra.Ext.Avro.Testing: [lossinessTestCaseDescription] :: LossinessTestCase -> String
+ Hydra.Ext.Avro.Testing: [lossinessTestCaseHydraType] :: LossinessTestCase -> Type
+ Hydra.Ext.Avro.Testing: [lossinessTestCaseIsLossy] :: LossinessTestCase -> Bool
+ Hydra.Ext.Avro.Testing: [lossinessTestCaseOriginalSchema] :: LossinessTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [lossinessTestCaseRecoveredSchema] :: LossinessTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [nameMappingTestCaseAvroName] :: NameMappingTestCase -> String
+ Hydra.Ext.Avro.Testing: [nameMappingTestCaseAvroNamespace] :: NameMappingTestCase -> Maybe String
+ Hydra.Ext.Avro.Testing: [nameMappingTestCaseDescription] :: NameMappingTestCase -> String
+ Hydra.Ext.Avro.Testing: [nameMappingTestCaseHydraName] :: NameMappingTestCase -> Name
+ Hydra.Ext.Avro.Testing: [schemaSerializationTestCaseDescription] :: SchemaSerializationTestCase -> String
+ Hydra.Ext.Avro.Testing: [schemaSerializationTestCaseJson] :: SchemaSerializationTestCase -> Value
+ Hydra.Ext.Avro.Testing: [schemaSerializationTestCaseSchema] :: SchemaSerializationTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [termLevelForwardTestCaseDescription] :: TermLevelForwardTestCase -> String
+ Hydra.Ext.Avro.Testing: [termLevelForwardTestCaseJson] :: TermLevelForwardTestCase -> Value
+ Hydra.Ext.Avro.Testing: [termLevelForwardTestCaseSchema] :: TermLevelForwardTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [termLevelForwardTestCaseTerm] :: TermLevelForwardTestCase -> Term
+ Hydra.Ext.Avro.Testing: [termLevelReverseTestCaseDescription] :: TermLevelReverseTestCase -> String
+ Hydra.Ext.Avro.Testing: [termLevelReverseTestCaseJson] :: TermLevelReverseTestCase -> Value
+ Hydra.Ext.Avro.Testing: [termLevelReverseTestCaseSchema] :: TermLevelReverseTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [termLevelReverseTestCaseTerm] :: TermLevelReverseTestCase -> Term
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripJsonTestCaseDescription] :: TermLevelRoundTripJsonTestCase -> String
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripJsonTestCaseExpectedJson] :: TermLevelRoundTripJsonTestCase -> Value
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripJsonTestCaseJson] :: TermLevelRoundTripJsonTestCase -> Value
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripJsonTestCaseSchema] :: TermLevelRoundTripJsonTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripTermTestCaseDescription] :: TermLevelRoundTripTermTestCase -> String
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripTermTestCaseExpectedTerm] :: TermLevelRoundTripTermTestCase -> Term
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripTermTestCaseTerm] :: TermLevelRoundTripTermTestCase -> Term
+ Hydra.Ext.Avro.Testing: [termLevelRoundTripTermTestCaseType] :: TermLevelRoundTripTermTestCase -> Type
+ Hydra.Ext.Avro.Testing: [typeLevelForwardTestCaseDescription] :: TypeLevelForwardTestCase -> String
+ Hydra.Ext.Avro.Testing: [typeLevelForwardTestCaseSchema] :: TypeLevelForwardTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [typeLevelForwardTestCaseType] :: TypeLevelForwardTestCase -> Type
+ Hydra.Ext.Avro.Testing: [typeLevelReverseTestCaseDescription] :: TypeLevelReverseTestCase -> String
+ Hydra.Ext.Avro.Testing: [typeLevelReverseTestCaseSchema] :: TypeLevelReverseTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [typeLevelReverseTestCaseType] :: TypeLevelReverseTestCase -> Type
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripAvroTestCaseDescription] :: TypeLevelRoundTripAvroTestCase -> String
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripAvroTestCaseExpectedSchema] :: TypeLevelRoundTripAvroTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripAvroTestCaseSchema] :: TypeLevelRoundTripAvroTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripHydraTestCaseDescription] :: TypeLevelRoundTripHydraTestCase -> String
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripHydraTestCaseExpectedType] :: TypeLevelRoundTripHydraTestCase -> Type
+ Hydra.Ext.Avro.Testing: [typeLevelRoundTripHydraTestCaseType] :: TypeLevelRoundTripHydraTestCase -> Type
+ Hydra.Ext.Avro.Testing: [unionTestCaseAvroSchema] :: UnionTestCase -> Schema
+ Hydra.Ext.Avro.Testing: [unionTestCaseDescription] :: UnionTestCase -> String
+ Hydra.Ext.Avro.Testing: [unionTestCaseHydraType] :: UnionTestCase -> Type
+ Hydra.Ext.Avro.Testing: [unionTestCaseTermPairs] :: UnionTestCase -> [(Term, Value)]
+ Hydra.Ext.Avro.Testing: _AvroTestCase :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_lossiness :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_nameMapping :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_schemaSerialization :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_termLevelForward :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_termLevelReverse :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_termLevelRoundTripJson :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_termLevelRoundTripTerm :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_typeLevelForward :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_typeLevelReverse :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_typeLevelRoundTripAvro :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_typeLevelRoundTripHydra :: Name
+ Hydra.Ext.Avro.Testing: _AvroTestCase_union :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase_hydraType :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase_isLossy :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase_originalSchema :: Name
+ Hydra.Ext.Avro.Testing: _LossinessTestCase_recoveredSchema :: Name
+ Hydra.Ext.Avro.Testing: _NameMappingTestCase :: Name
+ Hydra.Ext.Avro.Testing: _NameMappingTestCase_avroName :: Name
+ Hydra.Ext.Avro.Testing: _NameMappingTestCase_avroNamespace :: Name
+ Hydra.Ext.Avro.Testing: _NameMappingTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _NameMappingTestCase_hydraName :: Name
+ Hydra.Ext.Avro.Testing: _SchemaSerializationTestCase :: Name
+ Hydra.Ext.Avro.Testing: _SchemaSerializationTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _SchemaSerializationTestCase_json :: Name
+ Hydra.Ext.Avro.Testing: _SchemaSerializationTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelForwardTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelForwardTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelForwardTestCase_json :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelForwardTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelForwardTestCase_term :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelReverseTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelReverseTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelReverseTestCase_json :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelReverseTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelReverseTestCase_term :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripJsonTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripJsonTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripJsonTestCase_expectedJson :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripJsonTestCase_json :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripJsonTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripTermTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripTermTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripTermTestCase_expectedTerm :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripTermTestCase_term :: Name
+ Hydra.Ext.Avro.Testing: _TermLevelRoundTripTermTestCase_type :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelForwardTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelForwardTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelForwardTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelForwardTestCase_type :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelReverseTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelReverseTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelReverseTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelReverseTestCase_type :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripAvroTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripAvroTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripAvroTestCase_expectedSchema :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripAvroTestCase_schema :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripHydraTestCase :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripHydraTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripHydraTestCase_expectedType :: Name
+ Hydra.Ext.Avro.Testing: _TypeLevelRoundTripHydraTestCase_type :: Name
+ Hydra.Ext.Avro.Testing: _UnionTestCase :: Name
+ Hydra.Ext.Avro.Testing: _UnionTestCase_avroSchema :: Name
+ Hydra.Ext.Avro.Testing: _UnionTestCase_description :: Name
+ Hydra.Ext.Avro.Testing: _UnionTestCase_hydraType :: Name
+ Hydra.Ext.Avro.Testing: _UnionTestCase_termPairs :: Name
+ Hydra.Ext.Avro.Testing: data AvroTestCase
+ Hydra.Ext.Avro.Testing: data LossinessTestCase
+ Hydra.Ext.Avro.Testing: data NameMappingTestCase
+ Hydra.Ext.Avro.Testing: data SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: data TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: data TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: data TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: data TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: data TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: data TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: data TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: data TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: data UnionTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.AvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.LossinessTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.NameMappingTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Eq Hydra.Ext.Avro.Testing.UnionTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.AvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.LossinessTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.NameMappingTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Classes.Ord Hydra.Ext.Avro.Testing.UnionTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.AvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.LossinessTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.NameMappingTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Read.Read Hydra.Ext.Avro.Testing.UnionTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.AvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.LossinessTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.NameMappingTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.SchemaSerializationTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TermLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TermLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TermLevelRoundTripTermTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TypeLevelForwardTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TypeLevelReverseTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Avro.Testing: instance GHC.Internal.Show.Show Hydra.Ext.Avro.Testing.UnionTestCase
+ Hydra.Ext.Azure.Dtld: Command :: Iri -> String -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe CommandType -> Maybe CommandPayload -> Maybe CommandPayload -> Command
+ Hydra.Ext.Azure.Dtld: CommandPayload :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> CommandPayload
+ Hydra.Ext.Azure.Dtld: CommandTypeAsynchronous :: CommandType
+ Hydra.Ext.Azure.Dtld: CommandTypeSynchronous :: CommandType
+ Hydra.Ext.Azure.Dtld: Component :: Iri -> String -> Interface -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Component
+ Hydra.Ext.Azure.Dtld: Dtmi :: String -> Dtmi
+ Hydra.Ext.Azure.Dtld: EnumValue :: String -> IntegerOrString -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> EnumValue
+ Hydra.Ext.Azure.Dtld: Field :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Field
+ Hydra.Ext.Azure.Dtld: IntegerOrStringInteger :: Int -> IntegerOrString
+ Hydra.Ext.Azure.Dtld: IntegerOrStringString :: String -> IntegerOrString
+ Hydra.Ext.Azure.Dtld: Interface :: Dtmi -> Iri -> Iri -> Maybe String -> Maybe (Set InterfaceContents) -> Maybe String -> Maybe String -> Maybe (Set Interface) -> Maybe (Set SchemaInterface) -> Interface
+ Hydra.Ext.Azure.Dtld: InterfaceContentsCommand :: Command -> InterfaceContents
+ Hydra.Ext.Azure.Dtld: InterfaceContentsComponent :: Component -> InterfaceContents
+ Hydra.Ext.Azure.Dtld: InterfaceContentsProperty :: Property -> InterfaceContents
+ Hydra.Ext.Azure.Dtld: InterfaceContentsRelationship :: Relationship -> InterfaceContents
+ Hydra.Ext.Azure.Dtld: InterfaceContentsTelemetry :: Telemetry -> InterfaceContents
+ Hydra.Ext.Azure.Dtld: Iri :: String -> Iri
+ Hydra.Ext.Azure.Dtld: MapKey :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> MapKey
+ Hydra.Ext.Azure.Dtld: MapValue :: String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> MapValue
+ Hydra.Ext.Azure.Dtld: Property :: Iri -> String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Unit -> Maybe Bool -> Property
+ Hydra.Ext.Azure.Dtld: Relationship :: Iri -> String -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Int -> Maybe Int -> Maybe (Set Property) -> Maybe Interface -> Maybe Bool -> Relationship
+ Hydra.Ext.Azure.Dtld: SchemaArray :: Iri -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaArray
+ Hydra.Ext.Azure.Dtld: SchemaComplexArray :: SchemaArray -> SchemaComplex
+ Hydra.Ext.Azure.Dtld: SchemaComplexEnum :: SchemaEnum -> SchemaComplex
+ Hydra.Ext.Azure.Dtld: SchemaComplexMap :: SchemaMap -> SchemaComplex
+ Hydra.Ext.Azure.Dtld: SchemaComplexObject :: SchemaObject -> SchemaComplex
+ Hydra.Ext.Azure.Dtld: SchemaComplex_ :: SchemaComplex -> Schema
+ Hydra.Ext.Azure.Dtld: SchemaEnum :: Iri -> [EnumValue] -> IntegerOrString -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaEnum
+ Hydra.Ext.Azure.Dtld: SchemaInterface :: Dtmi -> SchemaInterfaceType -> Maybe String -> Maybe String -> Maybe String -> SchemaInterface
+ Hydra.Ext.Azure.Dtld: SchemaInterfaceTypeArray :: SchemaArray -> SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: SchemaInterfaceTypeEnum :: SchemaEnum -> SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: SchemaInterfaceTypeMap :: SchemaMap -> SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: SchemaInterfaceTypeObject :: SchemaObject -> SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: SchemaMap :: Iri -> MapKey -> MapValue -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaMap
+ Hydra.Ext.Azure.Dtld: SchemaObject :: Iri -> Set Field -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> SchemaObject
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveBoolean :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveDate :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveDateTime :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveDouble :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveDuration :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveFloat :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveInteger :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveLong :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveString :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitiveTime :: SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: SchemaPrimitive_ :: SchemaPrimitive -> Schema
+ Hydra.Ext.Azure.Dtld: Telemetry :: Iri -> String -> Schema -> Maybe Dtmi -> Maybe String -> Maybe String -> Maybe String -> Maybe Unit -> Telemetry
+ Hydra.Ext.Azure.Dtld: Unit :: () -> Unit
+ Hydra.Ext.Azure.Dtld: [commandCommandType] :: Command -> Maybe CommandType
+ Hydra.Ext.Azure.Dtld: [commandComment] :: Command -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandDescription] :: Command -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandDisplayName] :: Command -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandId] :: Command -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [commandName] :: Command -> String
+ Hydra.Ext.Azure.Dtld: [commandPayloadComment] :: CommandPayload -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandPayloadDescription] :: CommandPayload -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandPayloadDisplayName] :: CommandPayload -> Maybe String
+ Hydra.Ext.Azure.Dtld: [commandPayloadId] :: CommandPayload -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [commandPayloadName] :: CommandPayload -> String
+ Hydra.Ext.Azure.Dtld: [commandPayloadSchema] :: CommandPayload -> Schema
+ Hydra.Ext.Azure.Dtld: [commandRequest] :: Command -> Maybe CommandPayload
+ Hydra.Ext.Azure.Dtld: [commandResponse] :: Command -> Maybe CommandPayload
+ Hydra.Ext.Azure.Dtld: [commandType] :: Command -> Iri
+ Hydra.Ext.Azure.Dtld: [componentComment] :: Component -> Maybe String
+ Hydra.Ext.Azure.Dtld: [componentDescription] :: Component -> Maybe String
+ Hydra.Ext.Azure.Dtld: [componentDisplayName] :: Component -> Maybe String
+ Hydra.Ext.Azure.Dtld: [componentId] :: Component -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [componentName] :: Component -> String
+ Hydra.Ext.Azure.Dtld: [componentSchema] :: Component -> Interface
+ Hydra.Ext.Azure.Dtld: [componentType] :: Component -> Iri
+ Hydra.Ext.Azure.Dtld: [enumValueComment] :: EnumValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [enumValueDescription] :: EnumValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [enumValueDisplayName] :: EnumValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [enumValueEnumValue] :: EnumValue -> IntegerOrString
+ Hydra.Ext.Azure.Dtld: [enumValueId] :: EnumValue -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [enumValueName] :: EnumValue -> String
+ Hydra.Ext.Azure.Dtld: [fieldComment] :: Field -> Maybe String
+ Hydra.Ext.Azure.Dtld: [fieldDescription] :: Field -> Maybe String
+ Hydra.Ext.Azure.Dtld: [fieldDisplayName] :: Field -> Maybe String
+ Hydra.Ext.Azure.Dtld: [fieldId] :: Field -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [fieldName] :: Field -> String
+ Hydra.Ext.Azure.Dtld: [fieldSchema] :: Field -> Schema
+ Hydra.Ext.Azure.Dtld: [interfaceComment] :: Interface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [interfaceContents] :: Interface -> Maybe (Set InterfaceContents)
+ Hydra.Ext.Azure.Dtld: [interfaceContext] :: Interface -> Iri
+ Hydra.Ext.Azure.Dtld: [interfaceDescription] :: Interface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [interfaceDisplayName] :: Interface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [interfaceExtends] :: Interface -> Maybe (Set Interface)
+ Hydra.Ext.Azure.Dtld: [interfaceId] :: Interface -> Dtmi
+ Hydra.Ext.Azure.Dtld: [interfaceSchemas] :: Interface -> Maybe (Set SchemaInterface)
+ Hydra.Ext.Azure.Dtld: [interfaceType] :: Interface -> Iri
+ Hydra.Ext.Azure.Dtld: [mapKeyComment] :: MapKey -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapKeyDescription] :: MapKey -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapKeyDisplayName] :: MapKey -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapKeyId] :: MapKey -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [mapKeyName] :: MapKey -> String
+ Hydra.Ext.Azure.Dtld: [mapKeySchema] :: MapKey -> Schema
+ Hydra.Ext.Azure.Dtld: [mapValueComment] :: MapValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapValueDescription] :: MapValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapValueDisplayName] :: MapValue -> Maybe String
+ Hydra.Ext.Azure.Dtld: [mapValueId] :: MapValue -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [mapValueName] :: MapValue -> String
+ Hydra.Ext.Azure.Dtld: [mapValueSchema] :: MapValue -> Schema
+ Hydra.Ext.Azure.Dtld: [propertyComment] :: Property -> Maybe String
+ Hydra.Ext.Azure.Dtld: [propertyDescription] :: Property -> Maybe String
+ Hydra.Ext.Azure.Dtld: [propertyDisplayName] :: Property -> Maybe String
+ Hydra.Ext.Azure.Dtld: [propertyId] :: Property -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [propertyName] :: Property -> String
+ Hydra.Ext.Azure.Dtld: [propertySchema] :: Property -> Schema
+ Hydra.Ext.Azure.Dtld: [propertyType] :: Property -> Iri
+ Hydra.Ext.Azure.Dtld: [propertyUnit] :: Property -> Maybe Unit
+ Hydra.Ext.Azure.Dtld: [propertyWritable] :: Property -> Maybe Bool
+ Hydra.Ext.Azure.Dtld: [relationshipComment] :: Relationship -> Maybe String
+ Hydra.Ext.Azure.Dtld: [relationshipDescription] :: Relationship -> Maybe String
+ Hydra.Ext.Azure.Dtld: [relationshipDisplayName] :: Relationship -> Maybe String
+ Hydra.Ext.Azure.Dtld: [relationshipId] :: Relationship -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [relationshipMaxMultiplicity] :: Relationship -> Maybe Int
+ Hydra.Ext.Azure.Dtld: [relationshipMinMultiplicity] :: Relationship -> Maybe Int
+ Hydra.Ext.Azure.Dtld: [relationshipName] :: Relationship -> String
+ Hydra.Ext.Azure.Dtld: [relationshipProperties] :: Relationship -> Maybe (Set Property)
+ Hydra.Ext.Azure.Dtld: [relationshipTarget] :: Relationship -> Maybe Interface
+ Hydra.Ext.Azure.Dtld: [relationshipType] :: Relationship -> Iri
+ Hydra.Ext.Azure.Dtld: [relationshipWritable] :: Relationship -> Maybe Bool
+ Hydra.Ext.Azure.Dtld: [schemaArrayComment] :: SchemaArray -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaArrayDescription] :: SchemaArray -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaArrayDisplayName] :: SchemaArray -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaArrayElementSchema] :: SchemaArray -> Schema
+ Hydra.Ext.Azure.Dtld: [schemaArrayId] :: SchemaArray -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [schemaArrayType] :: SchemaArray -> Iri
+ Hydra.Ext.Azure.Dtld: [schemaEnumComment] :: SchemaEnum -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaEnumDescription] :: SchemaEnum -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaEnumDisplayName] :: SchemaEnum -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaEnumEnumValues] :: SchemaEnum -> [EnumValue]
+ Hydra.Ext.Azure.Dtld: [schemaEnumId] :: SchemaEnum -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [schemaEnumType] :: SchemaEnum -> Iri
+ Hydra.Ext.Azure.Dtld: [schemaEnumValueSchema] :: SchemaEnum -> IntegerOrString
+ Hydra.Ext.Azure.Dtld: [schemaInterfaceComment] :: SchemaInterface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaInterfaceDescription] :: SchemaInterface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaInterfaceDisplayName] :: SchemaInterface -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaInterfaceId] :: SchemaInterface -> Dtmi
+ Hydra.Ext.Azure.Dtld: [schemaInterfaceType] :: SchemaInterface -> SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: [schemaMapComment] :: SchemaMap -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaMapDescription] :: SchemaMap -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaMapDisplayName] :: SchemaMap -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaMapId] :: SchemaMap -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [schemaMapMapKey] :: SchemaMap -> MapKey
+ Hydra.Ext.Azure.Dtld: [schemaMapMapValue] :: SchemaMap -> MapValue
+ Hydra.Ext.Azure.Dtld: [schemaMapType] :: SchemaMap -> Iri
+ Hydra.Ext.Azure.Dtld: [schemaObjectComment] :: SchemaObject -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaObjectDescription] :: SchemaObject -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaObjectDisplayName] :: SchemaObject -> Maybe String
+ Hydra.Ext.Azure.Dtld: [schemaObjectFields] :: SchemaObject -> Set Field
+ Hydra.Ext.Azure.Dtld: [schemaObjectId] :: SchemaObject -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [schemaObjectType] :: SchemaObject -> Iri
+ Hydra.Ext.Azure.Dtld: [telemetryComment] :: Telemetry -> Maybe String
+ Hydra.Ext.Azure.Dtld: [telemetryDescription] :: Telemetry -> Maybe String
+ Hydra.Ext.Azure.Dtld: [telemetryDisplayName] :: Telemetry -> Maybe String
+ Hydra.Ext.Azure.Dtld: [telemetryId] :: Telemetry -> Maybe Dtmi
+ Hydra.Ext.Azure.Dtld: [telemetryName] :: Telemetry -> String
+ Hydra.Ext.Azure.Dtld: [telemetrySchema] :: Telemetry -> Schema
+ Hydra.Ext.Azure.Dtld: [telemetryType] :: Telemetry -> Iri
+ Hydra.Ext.Azure.Dtld: [telemetryUnit] :: Telemetry -> Maybe Unit
+ Hydra.Ext.Azure.Dtld: [unDtmi] :: Dtmi -> String
+ Hydra.Ext.Azure.Dtld: [unIri] :: Iri -> String
+ Hydra.Ext.Azure.Dtld: [unUnit] :: Unit -> ()
+ Hydra.Ext.Azure.Dtld: _Command :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_comment :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_description :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_id :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_name :: Name
+ Hydra.Ext.Azure.Dtld: _CommandPayload_schema :: Name
+ Hydra.Ext.Azure.Dtld: _CommandType :: Name
+ Hydra.Ext.Azure.Dtld: _CommandType_asynchronous :: Name
+ Hydra.Ext.Azure.Dtld: _CommandType_synchronous :: Name
+ Hydra.Ext.Azure.Dtld: _Command_commandType :: Name
+ Hydra.Ext.Azure.Dtld: _Command_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Command_description :: Name
+ Hydra.Ext.Azure.Dtld: _Command_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Command_id :: Name
+ Hydra.Ext.Azure.Dtld: _Command_name :: Name
+ Hydra.Ext.Azure.Dtld: _Command_request :: Name
+ Hydra.Ext.Azure.Dtld: _Command_response :: Name
+ Hydra.Ext.Azure.Dtld: _Command_type :: Name
+ Hydra.Ext.Azure.Dtld: _Component :: Name
+ Hydra.Ext.Azure.Dtld: _Component_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Component_description :: Name
+ Hydra.Ext.Azure.Dtld: _Component_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Component_id :: Name
+ Hydra.Ext.Azure.Dtld: _Component_name :: Name
+ Hydra.Ext.Azure.Dtld: _Component_schema :: Name
+ Hydra.Ext.Azure.Dtld: _Component_type :: Name
+ Hydra.Ext.Azure.Dtld: _Dtmi :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_comment :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_description :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_enumValue :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_id :: Name
+ Hydra.Ext.Azure.Dtld: _EnumValue_name :: Name
+ Hydra.Ext.Azure.Dtld: _Field :: Name
+ Hydra.Ext.Azure.Dtld: _Field_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Field_description :: Name
+ Hydra.Ext.Azure.Dtld: _Field_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Field_id :: Name
+ Hydra.Ext.Azure.Dtld: _Field_name :: Name
+ Hydra.Ext.Azure.Dtld: _Field_schema :: Name
+ Hydra.Ext.Azure.Dtld: _IntegerOrString :: Name
+ Hydra.Ext.Azure.Dtld: _IntegerOrString_integer :: Name
+ Hydra.Ext.Azure.Dtld: _IntegerOrString_string :: Name
+ Hydra.Ext.Azure.Dtld: _Interface :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents_command :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents_component :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents_property :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents_relationship :: Name
+ Hydra.Ext.Azure.Dtld: _InterfaceContents_telemetry :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_contents :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_context :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_description :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_extends :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_id :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_schemas :: Name
+ Hydra.Ext.Azure.Dtld: _Interface_type :: Name
+ Hydra.Ext.Azure.Dtld: _Iri :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_comment :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_description :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_id :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_name :: Name
+ Hydra.Ext.Azure.Dtld: _MapKey_schema :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_comment :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_description :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_id :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_name :: Name
+ Hydra.Ext.Azure.Dtld: _MapValue_schema :: Name
+ Hydra.Ext.Azure.Dtld: _Property :: Name
+ Hydra.Ext.Azure.Dtld: _Property_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Property_description :: Name
+ Hydra.Ext.Azure.Dtld: _Property_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Property_id :: Name
+ Hydra.Ext.Azure.Dtld: _Property_name :: Name
+ Hydra.Ext.Azure.Dtld: _Property_schema :: Name
+ Hydra.Ext.Azure.Dtld: _Property_type :: Name
+ Hydra.Ext.Azure.Dtld: _Property_unit :: Name
+ Hydra.Ext.Azure.Dtld: _Property_writable :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_description :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_id :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_maxMultiplicity :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_minMultiplicity :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_name :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_properties :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_target :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_type :: Name
+ Hydra.Ext.Azure.Dtld: _Relationship_writable :: Name
+ Hydra.Ext.Azure.Dtld: _Schema :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_comment :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_description :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_elementSchema :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_id :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaArray_type :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaComplex :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaComplex_array :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaComplex_enum :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaComplex_map :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaComplex_object :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_comment :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_description :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_enumValues :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_id :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_type :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaEnum_valueSchema :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterfaceType :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterfaceType_array :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterfaceType_enum :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterfaceType_map :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterfaceType_object :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface_comment :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface_description :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface_id :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaInterface_type :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_comment :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_description :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_id :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_mapKey :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_mapValue :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaMap_type :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_comment :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_description :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_fields :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_id :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaObject_type :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_boolean :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_date :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_dateTime :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_double :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_duration :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_float :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_integer :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_long :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_string :: Name
+ Hydra.Ext.Azure.Dtld: _SchemaPrimitive_time :: Name
+ Hydra.Ext.Azure.Dtld: _Schema_complex :: Name
+ Hydra.Ext.Azure.Dtld: _Schema_primitive :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_comment :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_description :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_displayName :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_id :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_name :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_schema :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_type :: Name
+ Hydra.Ext.Azure.Dtld: _Telemetry_unit :: Name
+ Hydra.Ext.Azure.Dtld: _Unit :: Name
+ Hydra.Ext.Azure.Dtld: data Command
+ Hydra.Ext.Azure.Dtld: data CommandPayload
+ Hydra.Ext.Azure.Dtld: data CommandType
+ Hydra.Ext.Azure.Dtld: data Component
+ Hydra.Ext.Azure.Dtld: data EnumValue
+ Hydra.Ext.Azure.Dtld: data Field
+ Hydra.Ext.Azure.Dtld: data IntegerOrString
+ Hydra.Ext.Azure.Dtld: data Interface
+ Hydra.Ext.Azure.Dtld: data InterfaceContents
+ Hydra.Ext.Azure.Dtld: data MapKey
+ Hydra.Ext.Azure.Dtld: data MapValue
+ Hydra.Ext.Azure.Dtld: data Property
+ Hydra.Ext.Azure.Dtld: data Relationship
+ Hydra.Ext.Azure.Dtld: data Schema
+ Hydra.Ext.Azure.Dtld: data SchemaArray
+ Hydra.Ext.Azure.Dtld: data SchemaComplex
+ Hydra.Ext.Azure.Dtld: data SchemaEnum
+ Hydra.Ext.Azure.Dtld: data SchemaInterface
+ Hydra.Ext.Azure.Dtld: data SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: data SchemaMap
+ Hydra.Ext.Azure.Dtld: data SchemaObject
+ Hydra.Ext.Azure.Dtld: data SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: data Telemetry
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Command
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.CommandPayload
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.CommandType
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Component
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Dtmi
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.EnumValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Field
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.IntegerOrString
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Interface
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.InterfaceContents
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Iri
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.MapKey
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.MapValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Property
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Relationship
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Schema
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaArray
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaComplex
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaEnum
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaInterface
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaMap
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaObject
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Telemetry
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Eq Hydra.Ext.Azure.Dtld.Unit
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Command
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.CommandPayload
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.CommandType
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Component
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Dtmi
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.EnumValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Field
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.IntegerOrString
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Interface
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.InterfaceContents
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Iri
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.MapKey
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.MapValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Property
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Relationship
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Schema
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaArray
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaComplex
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaEnum
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaInterface
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaMap
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaObject
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Telemetry
+ Hydra.Ext.Azure.Dtld: instance GHC.Classes.Ord Hydra.Ext.Azure.Dtld.Unit
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Command
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.CommandPayload
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.CommandType
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Component
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Dtmi
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.EnumValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Field
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.IntegerOrString
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Interface
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.InterfaceContents
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Iri
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.MapKey
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.MapValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Property
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Relationship
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Schema
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaArray
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaComplex
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaEnum
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaInterface
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaMap
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaObject
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Telemetry
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Read.Read Hydra.Ext.Azure.Dtld.Unit
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Command
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.CommandPayload
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.CommandType
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Component
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Dtmi
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.EnumValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Field
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.IntegerOrString
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Interface
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.InterfaceContents
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Iri
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.MapKey
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.MapValue
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Property
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Relationship
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Schema
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaArray
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaComplex
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaEnum
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaInterface
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaInterfaceType
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaMap
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaObject
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.SchemaPrimitive
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Telemetry
+ Hydra.Ext.Azure.Dtld: instance GHC.Internal.Show.Show Hydra.Ext.Azure.Dtld.Unit
+ Hydra.Ext.Azure.Dtld: newtype Dtmi
+ Hydra.Ext.Azure.Dtld: newtype Iri
+ Hydra.Ext.Azure.Dtld: newtype Unit
+ Hydra.Ext.Cpp.Coder: bindingNameToFilePath :: Name -> String
+ Hydra.Ext.Cpp.Coder: className :: Name -> String
+ Hydra.Ext.Cpp.Coder: constParameter :: String -> TypeExpression -> Parameter
+ Hydra.Ext.Cpp.Coder: cppClassDeclaration :: String -> [BaseSpecifier] -> Maybe ClassBody -> Declaration
+ Hydra.Ext.Cpp.Coder: cppEnumDeclaration :: String -> Maybe ClassBody -> Declaration
+ Hydra.Ext.Cpp.Coder: cppEnumForwardDeclaration :: String -> Declaration
+ Hydra.Ext.Cpp.Coder: cppPostfixExpressionToCppExpression :: PostfixExpression -> Expression
+ Hydra.Ext.Cpp.Coder: cppPrimaryExpressionToCppExpression :: PrimaryExpression -> Expression
+ Hydra.Ext.Cpp.Coder: cppUnaryExpressionToCppExpression :: UnaryExpression -> Expression
+ Hydra.Ext.Cpp.Coder: cppUnaryExpressionToCppLogicalOrExpression :: UnaryExpression -> LogicalOrExpression
+ Hydra.Ext.Cpp.Coder: createAcceptImplementation :: Name -> [FieldType] -> Declaration
+ Hydra.Ext.Cpp.Coder: createConstructorBody :: [t0] -> FunctionBody
+ Hydra.Ext.Cpp.Coder: createFunctionCallExpr :: String -> [Expression] -> Expression
+ Hydra.Ext.Cpp.Coder: createHeaderFile :: [IncludeDirective] -> [Declaration] -> Program
+ Hydra.Ext.Cpp.Coder: createIdentifierExpr :: String -> Expression
+ Hydra.Ext.Cpp.Coder: createLessThanOperator :: Name -> t0 -> Declaration
+ Hydra.Ext.Cpp.Coder: createLiteralBoolExpr :: Bool -> Expression
+ Hydra.Ext.Cpp.Coder: createLiteralIntExpr :: Integer -> Expression
+ Hydra.Ext.Cpp.Coder: createPartialVisitorInterface :: Name -> [FieldType] -> Declaration
+ Hydra.Ext.Cpp.Coder: createTemplateType :: String -> [TypeExpression] -> TypeExpression
+ Hydra.Ext.Cpp.Coder: createThrowStmt :: String -> Expression -> Statement
+ Hydra.Ext.Cpp.Coder: createTypeIdNameCall :: Expression
+ Hydra.Ext.Cpp.Coder: createTypeReference :: Bool -> Name -> TypeExpression
+ Hydra.Ext.Cpp.Coder: createUnionBaseClass :: Name -> t0 -> Declaration
+ Hydra.Ext.Cpp.Coder: createVariantClass :: t0 -> t1 -> Name -> Name -> FieldType -> Either Error Declaration
+ Hydra.Ext.Cpp.Coder: createVisitorInterface :: Name -> [FieldType] -> Declaration
+ Hydra.Ext.Cpp.Coder: encodeApplicationType :: t0 -> t1 -> ApplicationType -> Either Error TypeExpression
+ Hydra.Ext.Cpp.Coder: encodeEnumType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either t3 [Declaration]
+ Hydra.Ext.Cpp.Coder: encodeEnumValue :: Name -> String
+ Hydra.Ext.Cpp.Coder: encodeFieldName :: Name -> String
+ Hydra.Ext.Cpp.Coder: encodeFieldType :: t0 -> FieldType -> t1 -> t2 -> Either Error VariableDeclaration
+ Hydra.Ext.Cpp.Coder: encodeForallType :: t0 -> t1 -> ForallType -> Either Error TypeExpression
+ Hydra.Ext.Cpp.Coder: encodeFunctionType :: t0 -> t1 -> FunctionType -> Either Error TypeExpression
+ Hydra.Ext.Cpp.Coder: encodeLiteralType :: LiteralType -> TypeExpression
+ Hydra.Ext.Cpp.Coder: encodeName :: t0 -> t1 -> t2 -> Name -> String
+ Hydra.Ext.Cpp.Coder: encodeNamespace :: ModuleName -> String
+ Hydra.Ext.Cpp.Coder: encodeRecordType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
+ Hydra.Ext.Cpp.Coder: encodeType :: t0 -> t1 -> Type -> Either Error TypeExpression
+ Hydra.Ext.Cpp.Coder: encodeTypeAlias :: t0 -> t1 -> Name -> Type -> t2 -> Either Error Declaration
+ Hydra.Ext.Cpp.Coder: encodeTypeDefinition :: t0 -> t1 -> Name -> Type -> Either Error [Declaration]
+ Hydra.Ext.Cpp.Coder: encodeUnionType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
+ Hydra.Ext.Cpp.Coder: encodeVariantType :: t0 -> t1 -> Name -> [FieldType] -> t2 -> Either Error [Declaration]
+ Hydra.Ext.Cpp.Coder: encodeWrappedType :: t0 -> t1 -> Name -> Type -> t2 -> Either Error [Declaration]
+ Hydra.Ext.Cpp.Coder: findIncludes :: Bool -> ModuleName -> [TypeDefinition] -> [IncludeDirective]
+ Hydra.Ext.Cpp.Coder: findTypeDependencies :: ModuleName -> [TypeDefinition] -> [Name]
+ Hydra.Ext.Cpp.Coder: fwdHeaderName :: ModuleName -> Name
+ Hydra.Ext.Cpp.Coder: gatherMetadata :: t0 -> Bool
+ Hydra.Ext.Cpp.Coder: generateForwardDeclarations :: Name -> [FieldType] -> [Declaration]
+ Hydra.Ext.Cpp.Coder: generateTypeFile :: ModuleName -> TypeDefinition -> t0 -> t1 -> Either Error (String, String)
+ Hydra.Ext.Cpp.Coder: generateTypeFiles :: ModuleName -> [TypeDefinition] -> t0 -> t1 -> Either Error [(String, String)]
+ Hydra.Ext.Cpp.Coder: isStdContainerType :: Type -> Bool
+ Hydra.Ext.Cpp.Coder: isStructType :: Type -> Bool
+ Hydra.Ext.Cpp.Coder: isTemplateType :: Type -> Bool
+ Hydra.Ext.Cpp.Coder: memberSpecificationProtected :: MemberSpecification
+ Hydra.Ext.Cpp.Coder: memberSpecificationPublic :: MemberSpecification
+ Hydra.Ext.Cpp.Coder: moduleToCpp :: Module -> [Definition] -> t0 -> t1 -> Either Error (Map String String)
+ Hydra.Ext.Cpp.Coder: namespaceDecl :: ModuleName -> [Declaration] -> Declaration
+ Hydra.Ext.Cpp.Coder: partialVisitorName :: Name -> String
+ Hydra.Ext.Cpp.Coder: sanitizeCppName :: String -> String
+ Hydra.Ext.Cpp.Coder: serializeHeaderFile :: Name -> [IncludeDirective] -> [Declaration] -> (String, String)
+ Hydra.Ext.Cpp.Coder: toConstType :: TypeExpression -> TypeExpression
+ Hydra.Ext.Cpp.Coder: unnamedParameter :: String -> TypeExpression -> Parameter
+ Hydra.Ext.Cpp.Coder: variantName :: Name -> Name -> String
+ Hydra.Ext.Cpp.Coder: visitorName :: Name -> String
+ Hydra.Ext.Cpp.Environment: CppEnvironment :: ModuleNames String -> ([Name], Map Name String) -> CppEnvironment
+ Hydra.Ext.Cpp.Environment: [cppEnvironmentBoundTypeVariables] :: CppEnvironment -> ([Name], Map Name String)
+ Hydra.Ext.Cpp.Environment: [cppEnvironmentNamespaces] :: CppEnvironment -> ModuleNames String
+ Hydra.Ext.Cpp.Environment: _CppEnvironment :: Name
+ Hydra.Ext.Cpp.Environment: _CppEnvironment_boundTypeVariables :: Name
+ Hydra.Ext.Cpp.Environment: _CppEnvironment_namespaces :: Name
+ Hydra.Ext.Cpp.Environment: data CppEnvironment
+ Hydra.Ext.Cpp.Environment: instance GHC.Classes.Eq Hydra.Ext.Cpp.Environment.CppEnvironment
+ Hydra.Ext.Cpp.Environment: instance GHC.Classes.Ord Hydra.Ext.Cpp.Environment.CppEnvironment
+ Hydra.Ext.Cpp.Environment: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Environment.CppEnvironment
+ Hydra.Ext.Cpp.Environment: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Environment.CppEnvironment
+ Hydra.Ext.Cpp.Language: cppLanguage :: Language
+ Hydra.Ext.Cpp.Language: cppReservedWords :: Set String
+ Hydra.Ext.Cpp.Names: className :: Name -> String
+ Hydra.Ext.Cpp.Names: createTypeReference :: Bool -> CppEnvironment -> Name -> TypeExpression
+ Hydra.Ext.Cpp.Names: encodeEnumValue :: CppEnvironment -> Name -> String
+ Hydra.Ext.Cpp.Names: encodeFieldName :: CppEnvironment -> Name -> String
+ Hydra.Ext.Cpp.Names: encodeName :: Bool -> CaseConvention -> CppEnvironment -> Name -> String
+ Hydra.Ext.Cpp.Names: encodeNameQualified :: CppEnvironment -> Name -> String
+ Hydra.Ext.Cpp.Names: encodeNamespace :: ModuleName -> String
+ Hydra.Ext.Cpp.Names: encodeTypeVariable :: Name -> String
+ Hydra.Ext.Cpp.Names: fwdHeaderName :: ModuleName -> Name
+ Hydra.Ext.Cpp.Names: namespaceDecl :: ModuleName -> [Declaration] -> Declaration
+ Hydra.Ext.Cpp.Names: partialVisitorName :: Name -> String
+ Hydra.Ext.Cpp.Names: sanitizeCppName :: String -> String
+ Hydra.Ext.Cpp.Names: termVariableReference :: CppEnvironment -> Name -> Expression
+ Hydra.Ext.Cpp.Names: typeVariableReference :: CppEnvironment -> Name -> TypeExpression
+ Hydra.Ext.Cpp.Names: variableReference :: CaseConvention -> CppEnvironment -> Name -> Expression
+ Hydra.Ext.Cpp.Names: variantName :: Name -> Name -> String
+ Hydra.Ext.Cpp.Names: visitorName :: Name -> String
+ Hydra.Ext.Cpp.Serde: accessSpecifierToExpr :: AccessSpecifier -> Expr
+ Hydra.Ext.Cpp.Serde: addOperationToExpr :: AddOperation -> Expr
+ Hydra.Ext.Cpp.Serde: additiveExpressionToExpr :: AdditiveExpression -> Expr
+ Hydra.Ext.Cpp.Serde: andExpressionToExpr :: AndExpression -> Expr
+ Hydra.Ext.Cpp.Serde: assignmentExpressionToExpr :: AssignmentExpression -> Expr
+ Hydra.Ext.Cpp.Serde: assignmentOperatorToExpr :: AssignmentOperator -> Expr
+ Hydra.Ext.Cpp.Serde: baseSpecifierToExpr :: BaseSpecifier -> Expr
+ Hydra.Ext.Cpp.Serde: basicTypeToExpr :: BasicType -> Expr
+ Hydra.Ext.Cpp.Serde: bitwiseAndOperationToExpr :: BitwiseAndOperation -> Expr
+ Hydra.Ext.Cpp.Serde: bitwiseOrOperationToExpr :: BitwiseOrOperation -> Expr
+ Hydra.Ext.Cpp.Serde: bitwiseXorOperationToExpr :: BitwiseXorOperation -> Expr
+ Hydra.Ext.Cpp.Serde: booleanLiteralToExpr :: BooleanLiteral -> Expr
+ Hydra.Ext.Cpp.Serde: captureListToExpr :: CaptureList -> Expr
+ Hydra.Ext.Cpp.Serde: captureToExpr :: Capture -> Expr
+ Hydra.Ext.Cpp.Serde: caseStatementToExpr :: CaseStatement -> Expr
+ Hydra.Ext.Cpp.Serde: caseValueToExpr :: CaseValue -> Expr
+ Hydra.Ext.Cpp.Serde: classBodyToExpr :: Bool -> ClassBody -> Expr
+ Hydra.Ext.Cpp.Serde: classDeclarationToExpr :: ClassDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: classKeyToExpr :: ClassKey -> Expr
+ Hydra.Ext.Cpp.Serde: classSpecifierToExpr :: ClassSpecifier -> Expr
+ Hydra.Ext.Cpp.Serde: commaExpressionToExpr :: CommaExpression -> Expr
+ Hydra.Ext.Cpp.Serde: commentToExpr :: Comment -> Expr
+ Hydra.Ext.Cpp.Serde: compoundStatementToExpr :: CompoundStatement -> Expr
+ Hydra.Ext.Cpp.Serde: conditionalExpressionToExpr :: ConditionalExpression -> Expr
+ Hydra.Ext.Cpp.Serde: constructorDeclarationToExpr :: ConstructorDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: declarationToExpr :: Declaration -> Expr
+ Hydra.Ext.Cpp.Serde: defineDirectiveToExpr :: DefineDirective -> Expr
+ Hydra.Ext.Cpp.Serde: destructorDeclarationToExpr :: DestructorDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: divideOperationToExpr :: DivideOperation -> Expr
+ Hydra.Ext.Cpp.Serde: doStatementToExpr :: DoStatement -> Expr
+ Hydra.Ext.Cpp.Serde: elifDirectiveToExpr :: ElifDirective -> Expr
+ Hydra.Ext.Cpp.Serde: elseDirectiveToExpr :: t0 -> Expr
+ Hydra.Ext.Cpp.Serde: endifDirectiveToExpr :: t0 -> Expr
+ Hydra.Ext.Cpp.Serde: equalOperationToExpr :: EqualOperation -> Expr
+ Hydra.Ext.Cpp.Serde: equalityExpressionToExpr :: EqualityExpression -> Expr
+ Hydra.Ext.Cpp.Serde: errorDirectiveToExpr :: ErrorDirective -> Expr
+ Hydra.Ext.Cpp.Serde: exclusiveOrExpressionToExpr :: ExclusiveOrExpression -> Expr
+ Hydra.Ext.Cpp.Serde: explicitAssignmentToExpr :: ExplicitAssignment -> Expr
+ Hydra.Ext.Cpp.Serde: expressionToExpr :: Expression -> Expr
+ Hydra.Ext.Cpp.Serde: forInitToExpr :: ForInit -> Expr
+ Hydra.Ext.Cpp.Serde: forStatementToExpr :: ForStatement -> Expr
+ Hydra.Ext.Cpp.Serde: functionApplicationToExpr :: FunctionApplication -> Expr
+ Hydra.Ext.Cpp.Serde: functionBodyToExpr :: FunctionBody -> Expr
+ Hydra.Ext.Cpp.Serde: functionCallOperationToExpr :: FunctionCallOperation -> Expr
+ Hydra.Ext.Cpp.Serde: functionDeclarationToExpr :: FunctionDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: functionIdentifierToExpr :: FunctionIdentifier -> Expr
+ Hydra.Ext.Cpp.Serde: functionSpecifierPrefixToExpr :: FunctionSpecifierPrefix -> Expr
+ Hydra.Ext.Cpp.Serde: functionSpecifierSuffixToExpr :: FunctionSpecifierSuffix -> Expr
+ Hydra.Ext.Cpp.Serde: functionTypeToExpr :: FunctionType -> Expr
+ Hydra.Ext.Cpp.Serde: greaterEqualOperationToExpr :: GreaterEqualOperation -> Expr
+ Hydra.Ext.Cpp.Serde: greaterOperationToExpr :: GreaterOperation -> Expr
+ Hydra.Ext.Cpp.Serde: ifDirectiveToExpr :: IfDirective -> Expr
+ Hydra.Ext.Cpp.Serde: ifdefDirectiveToExpr :: IfdefDirective -> Expr
+ Hydra.Ext.Cpp.Serde: ifndefDirectiveToExpr :: IfndefDirective -> Expr
+ Hydra.Ext.Cpp.Serde: includeDirectiveToExpr :: IncludeDirective -> Expr
+ Hydra.Ext.Cpp.Serde: inclusiveOrExpressionToExpr :: InclusiveOrExpression -> Expr
+ Hydra.Ext.Cpp.Serde: integerLiteralToExpr :: IntegerLiteral -> Expr
+ Hydra.Ext.Cpp.Serde: iterationStatementToExpr :: IterationStatement -> Expr
+ Hydra.Ext.Cpp.Serde: jumpStatementToExpr :: JumpStatement -> Expr
+ Hydra.Ext.Cpp.Serde: labeledStatementToExpr :: LabeledStatement -> Expr
+ Hydra.Ext.Cpp.Serde: lambdaExpressionToExpr :: LambdaExpression -> Expr
+ Hydra.Ext.Cpp.Serde: leftShiftOperationToExpr :: LeftShiftOperation -> Expr
+ Hydra.Ext.Cpp.Serde: lessEqualOperationToExpr :: LessEqualOperation -> Expr
+ Hydra.Ext.Cpp.Serde: lessOperationToExpr :: LessOperation -> Expr
+ Hydra.Ext.Cpp.Serde: lineDirectiveToExpr :: LineDirective -> Expr
+ Hydra.Ext.Cpp.Serde: literalToExpr :: Literal -> Expr
+ Hydra.Ext.Cpp.Serde: logicalAndExpressionToExpr :: LogicalAndExpression -> Expr
+ Hydra.Ext.Cpp.Serde: logicalAndOperationToExpr :: LogicalAndOperation -> Expr
+ Hydra.Ext.Cpp.Serde: logicalOrExpressionToExpr :: LogicalOrExpression -> Expr
+ Hydra.Ext.Cpp.Serde: logicalOrOperationToExpr :: LogicalOrOperation -> Expr
+ Hydra.Ext.Cpp.Serde: mapEntryToExpr :: MapEntry -> Expr
+ Hydra.Ext.Cpp.Serde: mapToExpr :: Map -> Expr
+ Hydra.Ext.Cpp.Serde: memInitializerToExpr :: MemInitializer -> Expr
+ Hydra.Ext.Cpp.Serde: memberAccessOperationToExpr :: MemberAccessOperation -> Expr
+ Hydra.Ext.Cpp.Serde: memberDeclarationToExpr :: Bool -> MemberDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: memberSpecificationToExpr :: Bool -> MemberSpecification -> Expr
+ Hydra.Ext.Cpp.Serde: moduloOperationToExpr :: ModuloOperation -> Expr
+ Hydra.Ext.Cpp.Serde: multiplicativeExpressionToExpr :: MultiplicativeExpression -> Expr
+ Hydra.Ext.Cpp.Serde: multiplyOperationToExpr :: MultiplyOperation -> Expr
+ Hydra.Ext.Cpp.Serde: namespaceDeclarationToExpr :: NamespaceDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: notEqualOperationToExpr :: NotEqualOperation -> Expr
+ Hydra.Ext.Cpp.Serde: optionalToExpr :: Optional -> Expr
+ Hydra.Ext.Cpp.Serde: overloadedLambdasToExpr :: OverloadedLambdas -> Expr
+ Hydra.Ext.Cpp.Serde: parameterToExpr :: Parameter -> Expr
+ Hydra.Ext.Cpp.Serde: patternMatchToExpr :: PatternMatch -> Expr
+ Hydra.Ext.Cpp.Serde: pointerMemberAccessOperationToExpr :: PointerMemberAccessOperation -> Expr
+ Hydra.Ext.Cpp.Serde: postfixExpressionToExpr :: PostfixExpression -> Expr
+ Hydra.Ext.Cpp.Serde: pragmaDirectiveToExpr :: PragmaDirective -> Expr
+ Hydra.Ext.Cpp.Serde: preprocessorDirectiveToExpr :: PreprocessorDirective -> Expr
+ Hydra.Ext.Cpp.Serde: primaryExpressionToExpr :: PrimaryExpression -> Expr
+ Hydra.Ext.Cpp.Serde: programToExpr :: Program -> Expr
+ Hydra.Ext.Cpp.Serde: qualifiedIdentifierToExpr :: QualifiedIdentifier -> Expr
+ Hydra.Ext.Cpp.Serde: qualifiedTypeToExpr :: QualifiedType -> Expr
+ Hydra.Ext.Cpp.Serde: rangeForStatementToExpr :: RangeForStatement -> Expr
+ Hydra.Ext.Cpp.Serde: relationalExpressionToExpr :: RelationalExpression -> Expr
+ Hydra.Ext.Cpp.Serde: rightShiftOperationToExpr :: RightShiftOperation -> Expr
+ Hydra.Ext.Cpp.Serde: selectionStatementToExpr :: SelectionStatement -> Expr
+ Hydra.Ext.Cpp.Serde: setToExpr :: Set -> Expr
+ Hydra.Ext.Cpp.Serde: shiftExpressionToExpr :: ShiftExpression -> Expr
+ Hydra.Ext.Cpp.Serde: sizeofExpressionToExpr :: SizeofExpression -> Expr
+ Hydra.Ext.Cpp.Serde: statementToExpr :: Statement -> Expr
+ Hydra.Ext.Cpp.Serde: subscriptOperationToExpr :: SubscriptOperation -> Expr
+ Hydra.Ext.Cpp.Serde: subtractOperationToExpr :: SubtractOperation -> Expr
+ Hydra.Ext.Cpp.Serde: switchStatementToExpr :: SwitchStatement -> Expr
+ Hydra.Ext.Cpp.Serde: templateArgumentToExpr :: TemplateArgument -> Expr
+ Hydra.Ext.Cpp.Serde: templateDeclarationToExpr :: TemplateDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: templateFunctionCallOperationToExpr :: TemplateFunctionCallOperation -> Expr
+ Hydra.Ext.Cpp.Serde: templateTypeToExpr :: TemplateType -> Expr
+ Hydra.Ext.Cpp.Serde: ternaryExpressionToExpr :: TernaryExpression -> Expr
+ Hydra.Ext.Cpp.Serde: toCppComments :: String -> Bool -> String
+ Hydra.Ext.Cpp.Serde: typeExpressionToExpr :: TypeExpression -> Expr
+ Hydra.Ext.Cpp.Serde: typedefDeclarationToExpr :: TypedefDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: unaryExpressionToExpr :: UnaryExpression -> Expr
+ Hydra.Ext.Cpp.Serde: unaryOperationToExpr :: UnaryOperation -> Expr
+ Hydra.Ext.Cpp.Serde: unaryOperatorToExpr :: UnaryOperator -> Expr
+ Hydra.Ext.Cpp.Serde: undefDirectiveToExpr :: UndefDirective -> Expr
+ Hydra.Ext.Cpp.Serde: variableDeclarationToExpr :: Bool -> VariableDeclaration -> Expr
+ Hydra.Ext.Cpp.Serde: vectorToExpr :: Vector -> Expr
+ Hydra.Ext.Cpp.Serde: visitorToExpr :: Visitor -> Expr
+ Hydra.Ext.Cpp.Serde: warningDirectiveToExpr :: WarningDirective -> Expr
+ Hydra.Ext.Cpp.Serde: whileStatementToExpr :: WhileStatement -> Expr
+ Hydra.Ext.Cpp.Syntax: AccessSpecifierNone :: AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: AccessSpecifierPrivate :: AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: AccessSpecifierProtected :: AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: AccessSpecifierPublic :: AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: AddOperation :: AdditiveExpression -> MultiplicativeExpression -> AddOperation
+ Hydra.Ext.Cpp.Syntax: AdditiveExpressionAdd :: AddOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: AdditiveExpressionMultiplicative :: MultiplicativeExpression -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: AdditiveExpressionSubtract :: SubtractOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: AndExpressionBitwiseAnd :: BitwiseAndOperation -> AndExpression
+ Hydra.Ext.Cpp.Syntax: AndExpressionEquality :: EqualityExpression -> AndExpression
+ Hydra.Ext.Cpp.Syntax: AssignmentExpressionAssignment :: ExplicitAssignment -> AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: AssignmentExpressionConditional :: ConditionalExpression -> AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorBitwiseAndAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorBitwiseOrAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorBitwiseXorAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorDivideAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorLeftShiftAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorMinusAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorModuloAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorMultiplyAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorPlusAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: AssignmentOperatorRightShiftAssign :: AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: BaseSpecifier :: AccessSpecifier -> String -> BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: BasicTypeAuto :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeBool :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeChar :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeDouble :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeFloat :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeInt :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeNamed :: String -> BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeString :: BasicType
+ Hydra.Ext.Cpp.Syntax: BasicTypeVoid :: BasicType
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorBitwiseAnd :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorBitwiseOr :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorBitwiseXor :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorDivide :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorEqual :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorGreater :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorGreaterEqual :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorLeftShift :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorLess :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorLessEqual :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorLogicalAnd :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorLogicalOr :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorMinus :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorModulo :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorMultiply :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorNotEqual :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorPlus :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BinaryOperatorRightShift :: BinaryOperator
+ Hydra.Ext.Cpp.Syntax: BitwiseAndOperation :: AndExpression -> EqualityExpression -> BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: BitwiseOrOperation :: InclusiveOrExpression -> ExclusiveOrExpression -> BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: BitwiseXorOperation :: ExclusiveOrExpression -> AndExpression -> BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: BooleanLiteral :: Bool -> BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: Capture :: String -> Bool -> Capture
+ Hydra.Ext.Cpp.Syntax: CaptureListCaptureByValue :: CaptureList
+ Hydra.Ext.Cpp.Syntax: CaptureListCaptures :: [Capture] -> CaptureList
+ Hydra.Ext.Cpp.Syntax: CaseStatementCase :: CaseValue -> CaseStatement
+ Hydra.Ext.Cpp.Syntax: CaseStatementDefault :: Statement -> CaseStatement
+ Hydra.Ext.Cpp.Syntax: CaseValue :: Expression -> Statement -> CaseValue
+ Hydra.Ext.Cpp.Syntax: CharacterLiteral :: String -> CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: ClassBody :: [MemberSpecification] -> ClassBody
+ Hydra.Ext.Cpp.Syntax: ClassDeclaration :: ClassSpecifier -> Maybe ClassBody -> ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: ClassKeyClass :: ClassKey
+ Hydra.Ext.Cpp.Syntax: ClassKeyEnum :: ClassKey
+ Hydra.Ext.Cpp.Syntax: ClassKeyEnumClass :: ClassKey
+ Hydra.Ext.Cpp.Syntax: ClassKeyStruct :: ClassKey
+ Hydra.Ext.Cpp.Syntax: ClassSpecifier :: ClassKey -> String -> [BaseSpecifier] -> ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: CommaExpression :: Expression -> AssignmentExpression -> CommaExpression
+ Hydra.Ext.Cpp.Syntax: Comment :: String -> Bool -> Comment
+ Hydra.Ext.Cpp.Syntax: CompoundStatement :: [Statement] -> CompoundStatement
+ Hydra.Ext.Cpp.Syntax: ConditionalExpressionLogicalOr :: LogicalOrExpression -> ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: ConditionalExpressionTernary :: TernaryExpression -> ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: ConstructorDeclaration :: String -> [Parameter] -> [MemInitializer] -> FunctionBody -> ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: ContainerDeclarationList :: ListDeclaration -> ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: ContainerDeclarationMap :: MapDeclaration -> ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: ContainerDeclarationOptional :: OptionalDeclaration -> ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: ContainerDeclarationSet :: SetDeclaration -> ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: DeclarationClass :: ClassDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationFunction :: FunctionDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationNamespace :: NamespaceDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationPreprocessor :: PreprocessorDirective -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationTemplate :: TemplateDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationTypedef :: TypedefDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DeclarationVariable :: VariableDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: DefineDirective :: String -> Maybe [String] -> Maybe String -> DefineDirective
+ Hydra.Ext.Cpp.Syntax: DestructorDeclaration :: [FunctionSpecifierPrefix] -> String -> [FunctionSpecifierSuffix] -> FunctionBody -> DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: DivideOperation :: MultiplicativeExpression -> UnaryExpression -> DivideOperation
+ Hydra.Ext.Cpp.Syntax: DoStatement :: Statement -> Expression -> DoStatement
+ Hydra.Ext.Cpp.Syntax: ElifDirective :: String -> ElifDirective
+ Hydra.Ext.Cpp.Syntax: EqualOperation :: EqualityExpression -> RelationalExpression -> EqualOperation
+ Hydra.Ext.Cpp.Syntax: EqualityExpressionEqual :: EqualOperation -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: EqualityExpressionNotEqual :: NotEqualOperation -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: EqualityExpressionRelational :: RelationalExpression -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: ErrorDirective :: String -> ErrorDirective
+ Hydra.Ext.Cpp.Syntax: ExclusiveOrExpressionAnd :: AndExpression -> ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: ExclusiveOrExpressionBitwiseXor :: BitwiseXorOperation -> ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: ExplicitAssignment :: LogicalOrExpression -> AssignmentOperator -> AssignmentExpression -> ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: ExpressionAssignment :: AssignmentExpression -> Expression
+ Hydra.Ext.Cpp.Syntax: ExpressionComma :: CommaExpression -> Expression
+ Hydra.Ext.Cpp.Syntax: ExpressionStatement :: Expression -> ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: FloatingLiteral :: Double -> FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: ForInitDeclaration :: VariableDeclaration -> ForInit
+ Hydra.Ext.Cpp.Syntax: ForInitEmpty :: ForInit
+ Hydra.Ext.Cpp.Syntax: ForInitExpression :: Expression -> ForInit
+ Hydra.Ext.Cpp.Syntax: ForStatement :: ForInit -> Expression -> Expression -> Statement -> ForStatement
+ Hydra.Ext.Cpp.Syntax: FunctionApplication :: FunctionIdentifier -> [Expression] -> FunctionApplication
+ Hydra.Ext.Cpp.Syntax: FunctionBodyCompound :: CompoundStatement -> FunctionBody
+ Hydra.Ext.Cpp.Syntax: FunctionBodyDeclaration :: FunctionBody
+ Hydra.Ext.Cpp.Syntax: FunctionBodyDefault :: FunctionBody
+ Hydra.Ext.Cpp.Syntax: FunctionBodyPure :: FunctionBody
+ Hydra.Ext.Cpp.Syntax: FunctionCallOperation :: PostfixExpression -> [Expression] -> FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: FunctionDeclaration :: [FunctionSpecifierPrefix] -> TypeExpression -> String -> [Parameter] -> [FunctionSpecifierSuffix] -> FunctionBody -> FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: FunctionIdentifierQualified :: QualifiedIdentifier -> FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: FunctionIdentifierSimple :: String -> FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierPrefixExplicit :: FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierPrefixInline :: FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierPrefixStatic :: FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierPrefixVirtual :: FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierSuffixConst :: FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierSuffixFinal :: FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierSuffixNoexcept :: FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: FunctionSpecifierSuffixOverride :: FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: FunctionType :: TypeExpression -> [Parameter] -> FunctionType
+ Hydra.Ext.Cpp.Syntax: GreaterEqualOperation :: RelationalExpression -> ShiftExpression -> GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: GreaterOperation :: RelationalExpression -> ShiftExpression -> GreaterOperation
+ Hydra.Ext.Cpp.Syntax: IfDirective :: String -> IfDirective
+ Hydra.Ext.Cpp.Syntax: IfdefDirective :: String -> IfdefDirective
+ Hydra.Ext.Cpp.Syntax: IfndefDirective :: String -> IfndefDirective
+ Hydra.Ext.Cpp.Syntax: IncludeDirective :: String -> Bool -> IncludeDirective
+ Hydra.Ext.Cpp.Syntax: InclusiveOrExpressionBitwiseOr :: BitwiseOrOperation -> InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: InclusiveOrExpressionExclusiveOr :: ExclusiveOrExpression -> InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: IntegerLiteralBinary :: String -> IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: IntegerLiteralDecimal :: Integer -> IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: IntegerLiteralHexadecimal :: String -> IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: IntegerLiteralOctal :: String -> IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: IterationStatementDo :: DoStatement -> IterationStatement
+ Hydra.Ext.Cpp.Syntax: IterationStatementFor :: ForStatement -> IterationStatement
+ Hydra.Ext.Cpp.Syntax: IterationStatementRangeFor :: RangeForStatement -> IterationStatement
+ Hydra.Ext.Cpp.Syntax: IterationStatementWhile :: WhileStatement -> IterationStatement
+ Hydra.Ext.Cpp.Syntax: JumpStatementBreak :: JumpStatement
+ Hydra.Ext.Cpp.Syntax: JumpStatementContinue :: JumpStatement
+ Hydra.Ext.Cpp.Syntax: JumpStatementReturnValue :: Expression -> JumpStatement
+ Hydra.Ext.Cpp.Syntax: JumpStatementReturnVoid :: JumpStatement
+ Hydra.Ext.Cpp.Syntax: JumpStatementThrow :: Expression -> JumpStatement
+ Hydra.Ext.Cpp.Syntax: LabeledStatement :: String -> Statement -> LabeledStatement
+ Hydra.Ext.Cpp.Syntax: LambdaExpression :: CaptureList -> [Parameter] -> Maybe TypeExpression -> CompoundStatement -> LambdaExpression
+ Hydra.Ext.Cpp.Syntax: LeftShiftOperation :: ShiftExpression -> AdditiveExpression -> LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: LessEqualOperation :: RelationalExpression -> ShiftExpression -> LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: LessOperation :: RelationalExpression -> ShiftExpression -> LessOperation
+ Hydra.Ext.Cpp.Syntax: LineDirective :: Int -> Maybe String -> LineDirective
+ Hydra.Ext.Cpp.Syntax: ListDeclaration :: TypeExpression -> String -> ListDeclaration
+ Hydra.Ext.Cpp.Syntax: LiteralBoolean :: BooleanLiteral -> Literal
+ Hydra.Ext.Cpp.Syntax: LiteralCharacter :: CharacterLiteral -> Literal
+ Hydra.Ext.Cpp.Syntax: LiteralFloating :: FloatingLiteral -> Literal
+ Hydra.Ext.Cpp.Syntax: LiteralInteger :: IntegerLiteral -> Literal
+ Hydra.Ext.Cpp.Syntax: LiteralNull :: Literal
+ Hydra.Ext.Cpp.Syntax: LiteralString :: StringLiteral -> Literal
+ Hydra.Ext.Cpp.Syntax: LogicalAndExpressionInclusiveOr :: InclusiveOrExpression -> LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: LogicalAndExpressionLogicalAnd :: LogicalAndOperation -> LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: LogicalAndOperation :: LogicalAndExpression -> InclusiveOrExpression -> LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: LogicalOrExpressionLogicalAnd :: LogicalAndExpression -> LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: LogicalOrExpressionLogicalOr :: LogicalOrOperation -> LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: LogicalOrOperation :: LogicalOrExpression -> LogicalAndExpression -> LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: Map :: TypeExpression -> TypeExpression -> [MapEntry] -> Map
+ Hydra.Ext.Cpp.Syntax: MapDeclaration :: TypeExpression -> TypeExpression -> String -> MapDeclaration
+ Hydra.Ext.Cpp.Syntax: MapEntry :: Expression -> Expression -> MapEntry
+ Hydra.Ext.Cpp.Syntax: MemInitializer :: String -> [Expression] -> MemInitializer
+ Hydra.Ext.Cpp.Syntax: MemberAccessOperation :: PostfixExpression -> String -> MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationConstructor :: ConstructorDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationDestructor :: DestructorDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationFunction :: FunctionDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationNestedClass :: ClassDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationTemplate :: TemplateDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberDeclarationVariable :: VariableDeclaration -> MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: MemberSpecificationAccessLabel :: AccessSpecifier -> MemberSpecification
+ Hydra.Ext.Cpp.Syntax: MemberSpecificationMember :: MemberDeclaration -> MemberSpecification
+ Hydra.Ext.Cpp.Syntax: ModuloOperation :: MultiplicativeExpression -> UnaryExpression -> ModuloOperation
+ Hydra.Ext.Cpp.Syntax: MultiplicativeExpressionDivide :: DivideOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: MultiplicativeExpressionModulo :: ModuloOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: MultiplicativeExpressionMultiply :: MultiplyOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: MultiplicativeExpressionUnary :: UnaryExpression -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: MultiplyOperation :: MultiplicativeExpression -> UnaryExpression -> MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: NamespaceDeclaration :: String -> [Declaration] -> NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: NotEqualOperation :: EqualityExpression -> RelationalExpression -> NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: Optional :: TypeExpression -> Maybe Expression -> Optional
+ Hydra.Ext.Cpp.Syntax: OptionalDeclaration :: TypeExpression -> String -> OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: OverloadedLambdas :: [LambdaExpression] -> OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: Parameter :: TypeExpression -> String -> Bool -> Maybe Expression -> Parameter
+ Hydra.Ext.Cpp.Syntax: PatternMatch :: Visitor -> Expression -> PatternMatch
+ Hydra.Ext.Cpp.Syntax: PointerMemberAccessOperation :: PostfixExpression -> String -> PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionFunctionCall :: FunctionCallOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionMemberAccess :: MemberAccessOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionPointerMemberAccess :: PointerMemberAccessOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionPostDecrement :: PostfixExpression -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionPostIncrement :: PostfixExpression -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionPrimary :: PrimaryExpression -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionSubscript :: SubscriptOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PostfixExpressionTemplateFunctionCall :: TemplateFunctionCallOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: PragmaDirective :: String -> PragmaDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveDefine :: DefineDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveElif :: ElifDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveElse :: ElseDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveEndif :: EndifDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveError :: ErrorDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveIf :: IfDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveIfdef :: IfdefDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveIfndef :: IfndefDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveInclude :: IncludeDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveLine :: LineDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectivePragma :: PragmaDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveUndef :: UndefDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PreprocessorDirectiveWarning :: WarningDirective -> PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: PrimaryExpressionIdentifier :: String -> PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: PrimaryExpressionLambda :: LambdaExpression -> PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: PrimaryExpressionLiteral :: Literal -> PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: PrimaryExpressionParenthesized :: Expression -> PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: ProductDeclaration :: String -> [VariableDeclaration] -> ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: Program :: [PreprocessorDirective] -> [IncludeDirective] -> [Declaration] -> Program
+ Hydra.Ext.Cpp.Syntax: QualifiedIdentifier :: String -> String -> QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: QualifiedType :: TypeExpression -> TypeQualifier -> QualifiedType
+ Hydra.Ext.Cpp.Syntax: RangeForStatement :: TypeExpression -> String -> Expression -> Statement -> RangeForStatement
+ Hydra.Ext.Cpp.Syntax: RelationalExpressionGreater :: GreaterOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: RelationalExpressionGreaterEqual :: GreaterEqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: RelationalExpressionLess :: LessOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: RelationalExpressionLessEqual :: LessEqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: RelationalExpressionShift :: ShiftExpression -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: RightShiftOperation :: ShiftExpression -> AdditiveExpression -> RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: SelectionStatement :: Expression -> Statement -> Maybe Statement -> SelectionStatement
+ Hydra.Ext.Cpp.Syntax: Set :: TypeExpression -> [Expression] -> Set
+ Hydra.Ext.Cpp.Syntax: SetDeclaration :: TypeExpression -> String -> SetDeclaration
+ Hydra.Ext.Cpp.Syntax: ShiftExpressionAdditive :: AdditiveExpression -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: ShiftExpressionLeftShift :: LeftShiftOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: ShiftExpressionRightShift :: RightShiftOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: SizeofExpression :: TypeExpression -> SizeofExpression
+ Hydra.Ext.Cpp.Syntax: StatementCompound :: CompoundStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementDeclaration :: VariableDeclaration -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementExpression :: Expression -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementIteration :: IterationStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementJump :: JumpStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementLabeled :: LabeledStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementSelection :: SelectionStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StatementSwitch :: SwitchStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: StringLiteral :: String -> StringLiteral
+ Hydra.Ext.Cpp.Syntax: SubscriptOperation :: PostfixExpression -> Expression -> SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: SubtractOperation :: AdditiveExpression -> MultiplicativeExpression -> SubtractOperation
+ Hydra.Ext.Cpp.Syntax: SwitchStatement :: Expression -> [CaseStatement] -> SwitchStatement
+ Hydra.Ext.Cpp.Syntax: TemplateArgumentType :: TypeExpression -> TemplateArgument
+ Hydra.Ext.Cpp.Syntax: TemplateArgumentValue :: Expression -> TemplateArgument
+ Hydra.Ext.Cpp.Syntax: TemplateDeclaration :: Bool -> [String] -> Declaration -> TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: TemplateFunctionCallOperation :: PostfixExpression -> [TemplateArgument] -> [Expression] -> TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: TemplateType :: String -> [TemplateArgument] -> TemplateType
+ Hydra.Ext.Cpp.Syntax: TernaryExpression :: LogicalOrExpression -> Expression -> ConditionalExpression -> TernaryExpression
+ Hydra.Ext.Cpp.Syntax: TypeExpressionAuto :: TypeExpression
+ Hydra.Ext.Cpp.Syntax: TypeExpressionBasic :: BasicType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: TypeExpressionFunction :: FunctionType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: TypeExpressionQualified :: QualifiedType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: TypeExpressionTemplate :: TemplateType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: TypeQualifierConst :: TypeQualifier
+ Hydra.Ext.Cpp.Syntax: TypeQualifierLvalueRef :: TypeQualifier
+ Hydra.Ext.Cpp.Syntax: TypeQualifierPointer :: TypeQualifier
+ Hydra.Ext.Cpp.Syntax: TypeQualifierRvalueRef :: TypeQualifier
+ Hydra.Ext.Cpp.Syntax: TypedefDeclaration :: String -> TypeExpression -> Bool -> TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: UnaryExpressionPostfix :: PostfixExpression -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: UnaryExpressionSizeof :: SizeofExpression -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: UnaryExpressionUnaryOp :: UnaryOperation -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: UnaryOperation :: UnaryOperator -> UnaryExpression -> UnaryOperation
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorAddressOf :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorBitwiseNot :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorDereference :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorLogicalNot :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorMinus :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorPlus :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorPreDecrement :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UnaryOperatorPreIncrement :: UnaryOperator
+ Hydra.Ext.Cpp.Syntax: UndefDirective :: String -> UndefDirective
+ Hydra.Ext.Cpp.Syntax: VariableDeclaration :: Maybe TypeExpression -> String -> Maybe Expression -> Bool -> VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: VariantDeclaration :: [TypeExpression] -> String -> VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: Vector :: TypeExpression -> [Expression] -> Vector
+ Hydra.Ext.Cpp.Syntax: VisitorLambda :: LambdaExpression -> Visitor
+ Hydra.Ext.Cpp.Syntax: VisitorOverloaded :: OverloadedLambdas -> Visitor
+ Hydra.Ext.Cpp.Syntax: WarningDirective :: String -> WarningDirective
+ Hydra.Ext.Cpp.Syntax: WhileStatement :: Expression -> Statement -> WhileStatement
+ Hydra.Ext.Cpp.Syntax: [addOperationLeft] :: AddOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: [addOperationRight] :: AddOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: [baseSpecifierAccess] :: BaseSpecifier -> AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: [baseSpecifierName] :: BaseSpecifier -> String
+ Hydra.Ext.Cpp.Syntax: [bitwiseAndOperationLeft] :: BitwiseAndOperation -> AndExpression
+ Hydra.Ext.Cpp.Syntax: [bitwiseAndOperationRight] :: BitwiseAndOperation -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: [bitwiseOrOperationLeft] :: BitwiseOrOperation -> InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: [bitwiseOrOperationRight] :: BitwiseOrOperation -> ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: [bitwiseXorOperationLeft] :: BitwiseXorOperation -> ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: [bitwiseXorOperationRight] :: BitwiseXorOperation -> AndExpression
+ Hydra.Ext.Cpp.Syntax: [captureByReference] :: Capture -> Bool
+ Hydra.Ext.Cpp.Syntax: [captureName] :: Capture -> String
+ Hydra.Ext.Cpp.Syntax: [caseValueStatement] :: CaseValue -> Statement
+ Hydra.Ext.Cpp.Syntax: [caseValueValue] :: CaseValue -> Expression
+ Hydra.Ext.Cpp.Syntax: [classDeclarationBody] :: ClassDeclaration -> Maybe ClassBody
+ Hydra.Ext.Cpp.Syntax: [classDeclarationSpecifier] :: ClassDeclaration -> ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: [classSpecifierInheritance] :: ClassSpecifier -> [BaseSpecifier]
+ Hydra.Ext.Cpp.Syntax: [classSpecifierKey] :: ClassSpecifier -> ClassKey
+ Hydra.Ext.Cpp.Syntax: [classSpecifierName] :: ClassSpecifier -> String
+ Hydra.Ext.Cpp.Syntax: [commaExpressionLeft] :: CommaExpression -> Expression
+ Hydra.Ext.Cpp.Syntax: [commaExpressionRight] :: CommaExpression -> AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: [commentIsMultiline] :: Comment -> Bool
+ Hydra.Ext.Cpp.Syntax: [commentText] :: Comment -> String
+ Hydra.Ext.Cpp.Syntax: [constructorDeclarationBody] :: ConstructorDeclaration -> FunctionBody
+ Hydra.Ext.Cpp.Syntax: [constructorDeclarationInitializers] :: ConstructorDeclaration -> [MemInitializer]
+ Hydra.Ext.Cpp.Syntax: [constructorDeclarationName] :: ConstructorDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [constructorDeclarationParameters] :: ConstructorDeclaration -> [Parameter]
+ Hydra.Ext.Cpp.Syntax: [defineDirectiveName] :: DefineDirective -> String
+ Hydra.Ext.Cpp.Syntax: [defineDirectiveParameters] :: DefineDirective -> Maybe [String]
+ Hydra.Ext.Cpp.Syntax: [defineDirectiveReplacement] :: DefineDirective -> Maybe String
+ Hydra.Ext.Cpp.Syntax: [destructorDeclarationBody] :: DestructorDeclaration -> FunctionBody
+ Hydra.Ext.Cpp.Syntax: [destructorDeclarationName] :: DestructorDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [destructorDeclarationPrefixSpecifiers] :: DestructorDeclaration -> [FunctionSpecifierPrefix]
+ Hydra.Ext.Cpp.Syntax: [destructorDeclarationSuffixSpecifiers] :: DestructorDeclaration -> [FunctionSpecifierSuffix]
+ Hydra.Ext.Cpp.Syntax: [divideOperationLeft] :: DivideOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: [divideOperationRight] :: DivideOperation -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: [doStatementBody] :: DoStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [doStatementCondition] :: DoStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [elifDirectiveCondition] :: ElifDirective -> String
+ Hydra.Ext.Cpp.Syntax: [equalOperationLeft] :: EqualOperation -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: [equalOperationRight] :: EqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [errorDirectiveMessage] :: ErrorDirective -> String
+ Hydra.Ext.Cpp.Syntax: [explicitAssignmentLeft] :: ExplicitAssignment -> LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: [explicitAssignmentOp] :: ExplicitAssignment -> AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: [explicitAssignmentRight] :: ExplicitAssignment -> AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: [forStatementBody] :: ForStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [forStatementCondition] :: ForStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [forStatementIncrement] :: ForStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [forStatementInit] :: ForStatement -> ForInit
+ Hydra.Ext.Cpp.Syntax: [functionApplicationArguments] :: FunctionApplication -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [functionApplicationFunction] :: FunctionApplication -> FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: [functionCallOperationArguments] :: FunctionCallOperation -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [functionCallOperationFunction] :: FunctionCallOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationBody] :: FunctionDeclaration -> FunctionBody
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationName] :: FunctionDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationParameters] :: FunctionDeclaration -> [Parameter]
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationPrefixSpecifiers] :: FunctionDeclaration -> [FunctionSpecifierPrefix]
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationReturnType] :: FunctionDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [functionDeclarationSuffixSpecifiers] :: FunctionDeclaration -> [FunctionSpecifierSuffix]
+ Hydra.Ext.Cpp.Syntax: [functionTypeParameters] :: FunctionType -> [Parameter]
+ Hydra.Ext.Cpp.Syntax: [functionTypeReturnType] :: FunctionType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [greaterEqualOperationLeft] :: GreaterEqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [greaterEqualOperationRight] :: GreaterEqualOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [greaterOperationLeft] :: GreaterOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [greaterOperationRight] :: GreaterOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [ifDirectiveCondition] :: IfDirective -> String
+ Hydra.Ext.Cpp.Syntax: [ifdefDirectiveIdentifier] :: IfdefDirective -> String
+ Hydra.Ext.Cpp.Syntax: [ifndefDirectiveIdentifier] :: IfndefDirective -> String
+ Hydra.Ext.Cpp.Syntax: [includeDirectiveIsSystem] :: IncludeDirective -> Bool
+ Hydra.Ext.Cpp.Syntax: [includeDirectiveName] :: IncludeDirective -> String
+ Hydra.Ext.Cpp.Syntax: [labeledStatementLabel] :: LabeledStatement -> String
+ Hydra.Ext.Cpp.Syntax: [labeledStatementStatement] :: LabeledStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [lambdaExpressionBody] :: LambdaExpression -> CompoundStatement
+ Hydra.Ext.Cpp.Syntax: [lambdaExpressionCaptures] :: LambdaExpression -> CaptureList
+ Hydra.Ext.Cpp.Syntax: [lambdaExpressionParameters] :: LambdaExpression -> [Parameter]
+ Hydra.Ext.Cpp.Syntax: [lambdaExpressionReturnType] :: LambdaExpression -> Maybe TypeExpression
+ Hydra.Ext.Cpp.Syntax: [leftShiftOperationLeft] :: LeftShiftOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [leftShiftOperationRight] :: LeftShiftOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: [lessEqualOperationLeft] :: LessEqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [lessEqualOperationRight] :: LessEqualOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [lessOperationLeft] :: LessOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [lessOperationRight] :: LessOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [lineDirectiveFilename] :: LineDirective -> Maybe String
+ Hydra.Ext.Cpp.Syntax: [lineDirectiveLineNumber] :: LineDirective -> Int
+ Hydra.Ext.Cpp.Syntax: [listDeclarationElementType] :: ListDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [listDeclarationName] :: ListDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [logicalAndOperationLeft] :: LogicalAndOperation -> LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: [logicalAndOperationRight] :: LogicalAndOperation -> InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: [logicalOrOperationLeft] :: LogicalOrOperation -> LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: [logicalOrOperationRight] :: LogicalOrOperation -> LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: [mapDeclarationKeyType] :: MapDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [mapDeclarationName] :: MapDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [mapDeclarationValueType] :: MapDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [mapEntries] :: Map -> [MapEntry]
+ Hydra.Ext.Cpp.Syntax: [mapEntryKey] :: MapEntry -> Expression
+ Hydra.Ext.Cpp.Syntax: [mapEntryValue] :: MapEntry -> Expression
+ Hydra.Ext.Cpp.Syntax: [mapKeyType] :: Map -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [mapValueType] :: Map -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [memInitializerArguments] :: MemInitializer -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [memInitializerName] :: MemInitializer -> String
+ Hydra.Ext.Cpp.Syntax: [memberAccessOperationMember] :: MemberAccessOperation -> String
+ Hydra.Ext.Cpp.Syntax: [memberAccessOperationObject] :: MemberAccessOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: [moduloOperationLeft] :: ModuloOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: [moduloOperationRight] :: ModuloOperation -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: [multiplyOperationLeft] :: MultiplyOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: [multiplyOperationRight] :: MultiplyOperation -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: [namespaceDeclarationDeclarations] :: NamespaceDeclaration -> [Declaration]
+ Hydra.Ext.Cpp.Syntax: [namespaceDeclarationName] :: NamespaceDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [notEqualOperationLeft] :: NotEqualOperation -> EqualityExpression
+ Hydra.Ext.Cpp.Syntax: [notEqualOperationRight] :: NotEqualOperation -> RelationalExpression
+ Hydra.Ext.Cpp.Syntax: [optionalDeclarationName] :: OptionalDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [optionalDeclarationValueType] :: OptionalDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [optionalValueType] :: Optional -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [optionalValue] :: Optional -> Maybe Expression
+ Hydra.Ext.Cpp.Syntax: [parameterDefaultValue] :: Parameter -> Maybe Expression
+ Hydra.Ext.Cpp.Syntax: [parameterName] :: Parameter -> String
+ Hydra.Ext.Cpp.Syntax: [parameterType] :: Parameter -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [parameterUnnamed] :: Parameter -> Bool
+ Hydra.Ext.Cpp.Syntax: [patternMatchVariant] :: PatternMatch -> Expression
+ Hydra.Ext.Cpp.Syntax: [patternMatchVisitor] :: PatternMatch -> Visitor
+ Hydra.Ext.Cpp.Syntax: [pointerMemberAccessOperationMember] :: PointerMemberAccessOperation -> String
+ Hydra.Ext.Cpp.Syntax: [pointerMemberAccessOperationPointer] :: PointerMemberAccessOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: [pragmaDirectiveContent] :: PragmaDirective -> String
+ Hydra.Ext.Cpp.Syntax: [productDeclarationFields] :: ProductDeclaration -> [VariableDeclaration]
+ Hydra.Ext.Cpp.Syntax: [productDeclarationName] :: ProductDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [programDeclarations] :: Program -> [Declaration]
+ Hydra.Ext.Cpp.Syntax: [programIncludes] :: Program -> [IncludeDirective]
+ Hydra.Ext.Cpp.Syntax: [programPreprocessorDirectives] :: Program -> [PreprocessorDirective]
+ Hydra.Ext.Cpp.Syntax: [qualifiedIdentifierName] :: QualifiedIdentifier -> String
+ Hydra.Ext.Cpp.Syntax: [qualifiedIdentifierNamespace] :: QualifiedIdentifier -> String
+ Hydra.Ext.Cpp.Syntax: [qualifiedTypeBaseType] :: QualifiedType -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [qualifiedTypeQualifier] :: QualifiedType -> TypeQualifier
+ Hydra.Ext.Cpp.Syntax: [rangeForStatementBody] :: RangeForStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [rangeForStatementRange] :: RangeForStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [rangeForStatementType] :: RangeForStatement -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [rangeForStatementVariable] :: RangeForStatement -> String
+ Hydra.Ext.Cpp.Syntax: [rightShiftOperationLeft] :: RightShiftOperation -> ShiftExpression
+ Hydra.Ext.Cpp.Syntax: [rightShiftOperationRight] :: RightShiftOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: [selectionStatementCondition] :: SelectionStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [selectionStatementElseBranch] :: SelectionStatement -> Maybe Statement
+ Hydra.Ext.Cpp.Syntax: [selectionStatementThenBranch] :: SelectionStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [setDeclarationElementType] :: SetDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [setDeclarationName] :: SetDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [setElementType] :: Set -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [setElements] :: Set -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [subscriptOperationArray] :: SubscriptOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: [subscriptOperationIndex] :: SubscriptOperation -> Expression
+ Hydra.Ext.Cpp.Syntax: [subtractOperationLeft] :: SubtractOperation -> AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: [subtractOperationRight] :: SubtractOperation -> MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: [switchStatementCases] :: SwitchStatement -> [CaseStatement]
+ Hydra.Ext.Cpp.Syntax: [switchStatementValue] :: SwitchStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [templateDeclarationDeclaration] :: TemplateDeclaration -> Declaration
+ Hydra.Ext.Cpp.Syntax: [templateDeclarationInline] :: TemplateDeclaration -> Bool
+ Hydra.Ext.Cpp.Syntax: [templateDeclarationParameters] :: TemplateDeclaration -> [String]
+ Hydra.Ext.Cpp.Syntax: [templateFunctionCallOperationArguments] :: TemplateFunctionCallOperation -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [templateFunctionCallOperationFunction] :: TemplateFunctionCallOperation -> PostfixExpression
+ Hydra.Ext.Cpp.Syntax: [templateFunctionCallOperationTemplateArguments] :: TemplateFunctionCallOperation -> [TemplateArgument]
+ Hydra.Ext.Cpp.Syntax: [templateTypeArguments] :: TemplateType -> [TemplateArgument]
+ Hydra.Ext.Cpp.Syntax: [templateTypeName] :: TemplateType -> String
+ Hydra.Ext.Cpp.Syntax: [ternaryExpressionCondition] :: TernaryExpression -> LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: [ternaryExpressionFalseExpr] :: TernaryExpression -> ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: [ternaryExpressionTrueExpr] :: TernaryExpression -> Expression
+ Hydra.Ext.Cpp.Syntax: [typedefDeclarationIsUsing] :: TypedefDeclaration -> Bool
+ Hydra.Ext.Cpp.Syntax: [typedefDeclarationName] :: TypedefDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [typedefDeclarationType] :: TypedefDeclaration -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [unBooleanLiteral] :: BooleanLiteral -> Bool
+ Hydra.Ext.Cpp.Syntax: [unCharacterLiteral] :: CharacterLiteral -> String
+ Hydra.Ext.Cpp.Syntax: [unClassBody] :: ClassBody -> [MemberSpecification]
+ Hydra.Ext.Cpp.Syntax: [unCompoundStatement] :: CompoundStatement -> [Statement]
+ Hydra.Ext.Cpp.Syntax: [unExpressionStatement] :: ExpressionStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: [unFloatingLiteral] :: FloatingLiteral -> Double
+ Hydra.Ext.Cpp.Syntax: [unOverloadedLambdas] :: OverloadedLambdas -> [LambdaExpression]
+ Hydra.Ext.Cpp.Syntax: [unSizeofExpression] :: SizeofExpression -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [unStringLiteral] :: StringLiteral -> String
+ Hydra.Ext.Cpp.Syntax: [unaryOperationOperand] :: UnaryOperation -> UnaryExpression
+ Hydra.Ext.Cpp.Syntax: [unaryOperationOperator] :: UnaryOperation -> UnaryOperator
+ Hydra.Ext.Cpp.Syntax: [undefDirectiveName] :: UndefDirective -> String
+ Hydra.Ext.Cpp.Syntax: [variableDeclarationInitializer] :: VariableDeclaration -> Maybe Expression
+ Hydra.Ext.Cpp.Syntax: [variableDeclarationIsAuto] :: VariableDeclaration -> Bool
+ Hydra.Ext.Cpp.Syntax: [variableDeclarationName] :: VariableDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [variableDeclarationType] :: VariableDeclaration -> Maybe TypeExpression
+ Hydra.Ext.Cpp.Syntax: [variantDeclarationName] :: VariantDeclaration -> String
+ Hydra.Ext.Cpp.Syntax: [variantDeclarationTypes] :: VariantDeclaration -> [TypeExpression]
+ Hydra.Ext.Cpp.Syntax: [vectorElementType] :: Vector -> TypeExpression
+ Hydra.Ext.Cpp.Syntax: [vectorElements] :: Vector -> [Expression]
+ Hydra.Ext.Cpp.Syntax: [warningDirectiveMessage] :: WarningDirective -> String
+ Hydra.Ext.Cpp.Syntax: [whileStatementBody] :: WhileStatement -> Statement
+ Hydra.Ext.Cpp.Syntax: [whileStatementCondition] :: WhileStatement -> Expression
+ Hydra.Ext.Cpp.Syntax: _AccessSpecifier :: Name
+ Hydra.Ext.Cpp.Syntax: _AccessSpecifier_none :: Name
+ Hydra.Ext.Cpp.Syntax: _AccessSpecifier_private :: Name
+ Hydra.Ext.Cpp.Syntax: _AccessSpecifier_protected :: Name
+ Hydra.Ext.Cpp.Syntax: _AccessSpecifier_public :: Name
+ Hydra.Ext.Cpp.Syntax: _AddOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _AddOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _AddOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _AdditiveExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _AdditiveExpression_add :: Name
+ Hydra.Ext.Cpp.Syntax: _AdditiveExpression_multiplicative :: Name
+ Hydra.Ext.Cpp.Syntax: _AdditiveExpression_subtract :: Name
+ Hydra.Ext.Cpp.Syntax: _AndExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _AndExpression_bitwiseAnd :: Name
+ Hydra.Ext.Cpp.Syntax: _AndExpression_equality :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentExpression_assignment :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentExpression_conditional :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_assign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_bitwiseAndAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_bitwiseOrAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_bitwiseXorAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_divideAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_leftShiftAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_minusAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_moduloAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_multiplyAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_plusAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _AssignmentOperator_rightShiftAssign :: Name
+ Hydra.Ext.Cpp.Syntax: _BaseSpecifier :: Name
+ Hydra.Ext.Cpp.Syntax: _BaseSpecifier_access :: Name
+ Hydra.Ext.Cpp.Syntax: _BaseSpecifier_name :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_auto :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_bool :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_char :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_double :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_float :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_int :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_named :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_string :: Name
+ Hydra.Ext.Cpp.Syntax: _BasicType_void :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_bitwiseAnd :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_bitwiseOr :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_bitwiseXor :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_divide :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_equal :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_greater :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_greaterEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_leftShift :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_less :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_lessEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_logicalAnd :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_logicalOr :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_minus :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_modulo :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_multiply :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_notEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_plus :: Name
+ Hydra.Ext.Cpp.Syntax: _BinaryOperator_rightShift :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseAndOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseAndOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseAndOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseOrOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseOrOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseOrOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseXorOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseXorOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _BitwiseXorOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _BooleanLiteral :: Name
+ Hydra.Ext.Cpp.Syntax: _Capture :: Name
+ Hydra.Ext.Cpp.Syntax: _CaptureList :: Name
+ Hydra.Ext.Cpp.Syntax: _CaptureList_captureByValue :: Name
+ Hydra.Ext.Cpp.Syntax: _CaptureList_captures :: Name
+ Hydra.Ext.Cpp.Syntax: _Capture_byReference :: Name
+ Hydra.Ext.Cpp.Syntax: _Capture_name :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseStatement_case :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseStatement_default :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseValue :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseValue_statement :: Name
+ Hydra.Ext.Cpp.Syntax: _CaseValue_value :: Name
+ Hydra.Ext.Cpp.Syntax: _CharacterLiteral :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassBody :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassDeclaration_body :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassDeclaration_specifier :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassKey :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassKey_class :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassKey_enum :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassKey_enumClass :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassKey_struct :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassSpecifier :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassSpecifier_inheritance :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassSpecifier_key :: Name
+ Hydra.Ext.Cpp.Syntax: _ClassSpecifier_name :: Name
+ Hydra.Ext.Cpp.Syntax: _CommaExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _CommaExpression_left :: Name
+ Hydra.Ext.Cpp.Syntax: _CommaExpression_right :: Name
+ Hydra.Ext.Cpp.Syntax: _Comment :: Name
+ Hydra.Ext.Cpp.Syntax: _Comment_isMultiline :: Name
+ Hydra.Ext.Cpp.Syntax: _Comment_text :: Name
+ Hydra.Ext.Cpp.Syntax: _CompoundStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _ConditionalExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _ConditionalExpression_logicalOr :: Name
+ Hydra.Ext.Cpp.Syntax: _ConditionalExpression_ternary :: Name
+ Hydra.Ext.Cpp.Syntax: _ConstructorDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ConstructorDeclaration_body :: Name
+ Hydra.Ext.Cpp.Syntax: _ConstructorDeclaration_initializers :: Name
+ Hydra.Ext.Cpp.Syntax: _ConstructorDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _ConstructorDeclaration_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _ContainerDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ContainerDeclaration_list :: Name
+ Hydra.Ext.Cpp.Syntax: _ContainerDeclaration_map :: Name
+ Hydra.Ext.Cpp.Syntax: _ContainerDeclaration_optional :: Name
+ Hydra.Ext.Cpp.Syntax: _ContainerDeclaration_set :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_class :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_function :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_namespace :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_preprocessor :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_template :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_typedef :: Name
+ Hydra.Ext.Cpp.Syntax: _Declaration_variable :: Name
+ Hydra.Ext.Cpp.Syntax: _DefineDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _DefineDirective_name :: Name
+ Hydra.Ext.Cpp.Syntax: _DefineDirective_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _DefineDirective_replacement :: Name
+ Hydra.Ext.Cpp.Syntax: _DestructorDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _DestructorDeclaration_body :: Name
+ Hydra.Ext.Cpp.Syntax: _DestructorDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _DestructorDeclaration_prefixSpecifiers :: Name
+ Hydra.Ext.Cpp.Syntax: _DestructorDeclaration_suffixSpecifiers :: Name
+ Hydra.Ext.Cpp.Syntax: _DivideOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _DivideOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _DivideOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _DoStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _DoStatement_body :: Name
+ Hydra.Ext.Cpp.Syntax: _DoStatement_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _ElifDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _ElifDirective_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _ElseDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _EndifDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualityExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualityExpression_equal :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualityExpression_notEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _EqualityExpression_relational :: Name
+ Hydra.Ext.Cpp.Syntax: _ErrorDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _ErrorDirective_message :: Name
+ Hydra.Ext.Cpp.Syntax: _ExclusiveOrExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _ExclusiveOrExpression_and :: Name
+ Hydra.Ext.Cpp.Syntax: _ExclusiveOrExpression_bitwiseXor :: Name
+ Hydra.Ext.Cpp.Syntax: _ExplicitAssignment :: Name
+ Hydra.Ext.Cpp.Syntax: _ExplicitAssignment_left :: Name
+ Hydra.Ext.Cpp.Syntax: _ExplicitAssignment_op :: Name
+ Hydra.Ext.Cpp.Syntax: _ExplicitAssignment_right :: Name
+ Hydra.Ext.Cpp.Syntax: _Expression :: Name
+ Hydra.Ext.Cpp.Syntax: _ExpressionStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _Expression_assignment :: Name
+ Hydra.Ext.Cpp.Syntax: _Expression_comma :: Name
+ Hydra.Ext.Cpp.Syntax: _FloatingLiteral :: Name
+ Hydra.Ext.Cpp.Syntax: _ForInit :: Name
+ Hydra.Ext.Cpp.Syntax: _ForInit_declaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ForInit_empty :: Name
+ Hydra.Ext.Cpp.Syntax: _ForInit_expression :: Name
+ Hydra.Ext.Cpp.Syntax: _ForStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _ForStatement_body :: Name
+ Hydra.Ext.Cpp.Syntax: _ForStatement_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _ForStatement_increment :: Name
+ Hydra.Ext.Cpp.Syntax: _ForStatement_init :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionApplication :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionApplication_arguments :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionApplication_function :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionBody :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionBody_compound :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionBody_declaration :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionBody_default :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionBody_pure :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionCallOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionCallOperation_arguments :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionCallOperation_function :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_body :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_prefixSpecifiers :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_returnType :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionDeclaration_suffixSpecifiers :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionIdentifier :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionIdentifier_qualified :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionIdentifier_simple :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierPrefix :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierPrefix_explicit :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierPrefix_inline :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierPrefix_static :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierPrefix_virtual :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierSuffix :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierSuffix_const :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierSuffix_final :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierSuffix_noexcept :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionSpecifierSuffix_override :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionType :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionType_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _FunctionType_returnType :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterEqualOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterEqualOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterEqualOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _GreaterOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _Identifier :: Name
+ Hydra.Ext.Cpp.Syntax: _IfDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _IfDirective_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _IfdefDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _IfdefDirective_identifier :: Name
+ Hydra.Ext.Cpp.Syntax: _IfndefDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _IfndefDirective_identifier :: Name
+ Hydra.Ext.Cpp.Syntax: _IncludeDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _IncludeDirective_isSystem :: Name
+ Hydra.Ext.Cpp.Syntax: _IncludeDirective_name :: Name
+ Hydra.Ext.Cpp.Syntax: _InclusiveOrExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _InclusiveOrExpression_bitwiseOr :: Name
+ Hydra.Ext.Cpp.Syntax: _InclusiveOrExpression_exclusiveOr :: Name
+ Hydra.Ext.Cpp.Syntax: _IntegerLiteral :: Name
+ Hydra.Ext.Cpp.Syntax: _IntegerLiteral_binary :: Name
+ Hydra.Ext.Cpp.Syntax: _IntegerLiteral_decimal :: Name
+ Hydra.Ext.Cpp.Syntax: _IntegerLiteral_hexadecimal :: Name
+ Hydra.Ext.Cpp.Syntax: _IntegerLiteral_octal :: Name
+ Hydra.Ext.Cpp.Syntax: _IterationStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _IterationStatement_do :: Name
+ Hydra.Ext.Cpp.Syntax: _IterationStatement_for :: Name
+ Hydra.Ext.Cpp.Syntax: _IterationStatement_rangeFor :: Name
+ Hydra.Ext.Cpp.Syntax: _IterationStatement_while :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement_break :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement_continue :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement_returnValue :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement_returnVoid :: Name
+ Hydra.Ext.Cpp.Syntax: _JumpStatement_throw :: Name
+ Hydra.Ext.Cpp.Syntax: _LabeledStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _LabeledStatement_label :: Name
+ Hydra.Ext.Cpp.Syntax: _LabeledStatement_statement :: Name
+ Hydra.Ext.Cpp.Syntax: _LambdaExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _LambdaExpression_body :: Name
+ Hydra.Ext.Cpp.Syntax: _LambdaExpression_captures :: Name
+ Hydra.Ext.Cpp.Syntax: _LambdaExpression_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _LambdaExpression_returnType :: Name
+ Hydra.Ext.Cpp.Syntax: _LeftShiftOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _LeftShiftOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _LeftShiftOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _LessEqualOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _LessEqualOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _LessEqualOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _LessOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _LessOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _LessOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _LineDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _LineDirective_filename :: Name
+ Hydra.Ext.Cpp.Syntax: _LineDirective_lineNumber :: Name
+ Hydra.Ext.Cpp.Syntax: _ListDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ListDeclaration_elementType :: Name
+ Hydra.Ext.Cpp.Syntax: _ListDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_boolean :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_character :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_floating :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_integer :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_null :: Name
+ Hydra.Ext.Cpp.Syntax: _Literal_string :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndExpression_inclusiveOr :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndExpression_logicalAnd :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalAndOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrExpression_logicalAnd :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrExpression_logicalOr :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _LogicalOrOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _Map :: Name
+ Hydra.Ext.Cpp.Syntax: _MapDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _MapDeclaration_keyType :: Name
+ Hydra.Ext.Cpp.Syntax: _MapDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _MapDeclaration_valueType :: Name
+ Hydra.Ext.Cpp.Syntax: _MapEntry :: Name
+ Hydra.Ext.Cpp.Syntax: _MapEntry_key :: Name
+ Hydra.Ext.Cpp.Syntax: _MapEntry_value :: Name
+ Hydra.Ext.Cpp.Syntax: _Map_entries :: Name
+ Hydra.Ext.Cpp.Syntax: _Map_keyType :: Name
+ Hydra.Ext.Cpp.Syntax: _Map_valueType :: Name
+ Hydra.Ext.Cpp.Syntax: _MemInitializer :: Name
+ Hydra.Ext.Cpp.Syntax: _MemInitializer_arguments :: Name
+ Hydra.Ext.Cpp.Syntax: _MemInitializer_name :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberAccessOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberAccessOperation_member :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberAccessOperation_object :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_constructor :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_destructor :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_function :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_nestedClass :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_template :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberDeclaration_variable :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberSpecification :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberSpecification_accessLabel :: Name
+ Hydra.Ext.Cpp.Syntax: _MemberSpecification_member :: Name
+ Hydra.Ext.Cpp.Syntax: _ModuloOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _ModuloOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _ModuloOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplicativeExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplicativeExpression_divide :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplicativeExpression_modulo :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplicativeExpression_multiply :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplicativeExpression_unary :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplyOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplyOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _MultiplyOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _NamespaceDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _NamespaceDeclaration_declarations :: Name
+ Hydra.Ext.Cpp.Syntax: _NamespaceDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _NotEqualOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _NotEqualOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _NotEqualOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _Optional :: Name
+ Hydra.Ext.Cpp.Syntax: _OptionalDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _OptionalDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _OptionalDeclaration_valueType :: Name
+ Hydra.Ext.Cpp.Syntax: _Optional_value :: Name
+ Hydra.Ext.Cpp.Syntax: _Optional_valueType :: Name
+ Hydra.Ext.Cpp.Syntax: _OverloadedLambdas :: Name
+ Hydra.Ext.Cpp.Syntax: _Parameter :: Name
+ Hydra.Ext.Cpp.Syntax: _Parameter_defaultValue :: Name
+ Hydra.Ext.Cpp.Syntax: _Parameter_name :: Name
+ Hydra.Ext.Cpp.Syntax: _Parameter_type :: Name
+ Hydra.Ext.Cpp.Syntax: _Parameter_unnamed :: Name
+ Hydra.Ext.Cpp.Syntax: _PatternMatch :: Name
+ Hydra.Ext.Cpp.Syntax: _PatternMatch_variant :: Name
+ Hydra.Ext.Cpp.Syntax: _PatternMatch_visitor :: Name
+ Hydra.Ext.Cpp.Syntax: _PointerMemberAccessOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _PointerMemberAccessOperation_member :: Name
+ Hydra.Ext.Cpp.Syntax: _PointerMemberAccessOperation_pointer :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_functionCall :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_memberAccess :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_pointerMemberAccess :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_postDecrement :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_postIncrement :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_primary :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_subscript :: Name
+ Hydra.Ext.Cpp.Syntax: _PostfixExpression_templateFunctionCall :: Name
+ Hydra.Ext.Cpp.Syntax: _PragmaDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _PragmaDirective_content :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_define :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_elif :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_else :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_endif :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_error :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_if :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_ifdef :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_ifndef :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_include :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_line :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_pragma :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_undef :: Name
+ Hydra.Ext.Cpp.Syntax: _PreprocessorDirective_warning :: Name
+ Hydra.Ext.Cpp.Syntax: _PrimaryExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _PrimaryExpression_identifier :: Name
+ Hydra.Ext.Cpp.Syntax: _PrimaryExpression_lambda :: Name
+ Hydra.Ext.Cpp.Syntax: _PrimaryExpression_literal :: Name
+ Hydra.Ext.Cpp.Syntax: _PrimaryExpression_parenthesized :: Name
+ Hydra.Ext.Cpp.Syntax: _ProductDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _ProductDeclaration_fields :: Name
+ Hydra.Ext.Cpp.Syntax: _ProductDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _Program :: Name
+ Hydra.Ext.Cpp.Syntax: _Program_declarations :: Name
+ Hydra.Ext.Cpp.Syntax: _Program_includes :: Name
+ Hydra.Ext.Cpp.Syntax: _Program_preprocessorDirectives :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedIdentifier :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedIdentifier_name :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedIdentifier_namespace :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedType :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedType_baseType :: Name
+ Hydra.Ext.Cpp.Syntax: _QualifiedType_qualifier :: Name
+ Hydra.Ext.Cpp.Syntax: _RangeForStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _RangeForStatement_body :: Name
+ Hydra.Ext.Cpp.Syntax: _RangeForStatement_range :: Name
+ Hydra.Ext.Cpp.Syntax: _RangeForStatement_type :: Name
+ Hydra.Ext.Cpp.Syntax: _RangeForStatement_variable :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression_greater :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression_greaterEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression_less :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression_lessEqual :: Name
+ Hydra.Ext.Cpp.Syntax: _RelationalExpression_shift :: Name
+ Hydra.Ext.Cpp.Syntax: _RightShiftOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _RightShiftOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _RightShiftOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _SelectionStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _SelectionStatement_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _SelectionStatement_elseBranch :: Name
+ Hydra.Ext.Cpp.Syntax: _SelectionStatement_thenBranch :: Name
+ Hydra.Ext.Cpp.Syntax: _Set :: Name
+ Hydra.Ext.Cpp.Syntax: _SetDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _SetDeclaration_elementType :: Name
+ Hydra.Ext.Cpp.Syntax: _SetDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _Set_elementType :: Name
+ Hydra.Ext.Cpp.Syntax: _Set_elements :: Name
+ Hydra.Ext.Cpp.Syntax: _ShiftExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _ShiftExpression_additive :: Name
+ Hydra.Ext.Cpp.Syntax: _ShiftExpression_leftShift :: Name
+ Hydra.Ext.Cpp.Syntax: _ShiftExpression_rightShift :: Name
+ Hydra.Ext.Cpp.Syntax: _SizeofExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_compound :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_declaration :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_expression :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_iteration :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_jump :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_labeled :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_selection :: Name
+ Hydra.Ext.Cpp.Syntax: _Statement_switch :: Name
+ Hydra.Ext.Cpp.Syntax: _StringLiteral :: Name
+ Hydra.Ext.Cpp.Syntax: _SubscriptOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _SubscriptOperation_array :: Name
+ Hydra.Ext.Cpp.Syntax: _SubscriptOperation_index :: Name
+ Hydra.Ext.Cpp.Syntax: _SubtractOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _SubtractOperation_left :: Name
+ Hydra.Ext.Cpp.Syntax: _SubtractOperation_right :: Name
+ Hydra.Ext.Cpp.Syntax: _SwitchStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _SwitchStatement_cases :: Name
+ Hydra.Ext.Cpp.Syntax: _SwitchStatement_value :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateArgument :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateArgument_type :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateArgument_value :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateDeclaration_declaration :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateDeclaration_inline :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateDeclaration_parameters :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateFunctionCallOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateFunctionCallOperation_arguments :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateFunctionCallOperation_function :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateFunctionCallOperation_templateArguments :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateType :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateType_arguments :: Name
+ Hydra.Ext.Cpp.Syntax: _TemplateType_name :: Name
+ Hydra.Ext.Cpp.Syntax: _TernaryExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _TernaryExpression_condition :: Name
+ Hydra.Ext.Cpp.Syntax: _TernaryExpression_falseExpr :: Name
+ Hydra.Ext.Cpp.Syntax: _TernaryExpression_trueExpr :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression_auto :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression_basic :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression_function :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression_qualified :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeExpression_template :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeQualifier :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeQualifier_const :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeQualifier_lvalueRef :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeQualifier_pointer :: Name
+ Hydra.Ext.Cpp.Syntax: _TypeQualifier_rvalueRef :: Name
+ Hydra.Ext.Cpp.Syntax: _TypedefDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _TypedefDeclaration_isUsing :: Name
+ Hydra.Ext.Cpp.Syntax: _TypedefDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _TypedefDeclaration_type :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryExpression :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryExpression_postfix :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryExpression_sizeof :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryExpression_unaryOp :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperation :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperation_operand :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperation_operator :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_addressOf :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_bitwiseNot :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_dereference :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_logicalNot :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_minus :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_plus :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_preDecrement :: Name
+ Hydra.Ext.Cpp.Syntax: _UnaryOperator_preIncrement :: Name
+ Hydra.Ext.Cpp.Syntax: _UndefDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _UndefDirective_name :: Name
+ Hydra.Ext.Cpp.Syntax: _VariableDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _VariableDeclaration_initializer :: Name
+ Hydra.Ext.Cpp.Syntax: _VariableDeclaration_isAuto :: Name
+ Hydra.Ext.Cpp.Syntax: _VariableDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _VariableDeclaration_type :: Name
+ Hydra.Ext.Cpp.Syntax: _VariantDeclaration :: Name
+ Hydra.Ext.Cpp.Syntax: _VariantDeclaration_name :: Name
+ Hydra.Ext.Cpp.Syntax: _VariantDeclaration_types :: Name
+ Hydra.Ext.Cpp.Syntax: _Vector :: Name
+ Hydra.Ext.Cpp.Syntax: _Vector_elementType :: Name
+ Hydra.Ext.Cpp.Syntax: _Vector_elements :: Name
+ Hydra.Ext.Cpp.Syntax: _Visitor :: Name
+ Hydra.Ext.Cpp.Syntax: _Visitor_lambda :: Name
+ Hydra.Ext.Cpp.Syntax: _Visitor_overloaded :: Name
+ Hydra.Ext.Cpp.Syntax: _WarningDirective :: Name
+ Hydra.Ext.Cpp.Syntax: _WarningDirective_message :: Name
+ Hydra.Ext.Cpp.Syntax: _WhileStatement :: Name
+ Hydra.Ext.Cpp.Syntax: _WhileStatement_body :: Name
+ Hydra.Ext.Cpp.Syntax: _WhileStatement_condition :: Name
+ Hydra.Ext.Cpp.Syntax: data AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: data AddOperation
+ Hydra.Ext.Cpp.Syntax: data AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: data AndExpression
+ Hydra.Ext.Cpp.Syntax: data AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: data AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: data BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: data BasicType
+ Hydra.Ext.Cpp.Syntax: data BinaryOperator
+ Hydra.Ext.Cpp.Syntax: data BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: data BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: data BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: data Capture
+ Hydra.Ext.Cpp.Syntax: data CaptureList
+ Hydra.Ext.Cpp.Syntax: data CaseStatement
+ Hydra.Ext.Cpp.Syntax: data CaseValue
+ Hydra.Ext.Cpp.Syntax: data ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: data ClassKey
+ Hydra.Ext.Cpp.Syntax: data ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: data CommaExpression
+ Hydra.Ext.Cpp.Syntax: data Comment
+ Hydra.Ext.Cpp.Syntax: data ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: data ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: data ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: data Declaration
+ Hydra.Ext.Cpp.Syntax: data DefineDirective
+ Hydra.Ext.Cpp.Syntax: data DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: data DivideOperation
+ Hydra.Ext.Cpp.Syntax: data DoStatement
+ Hydra.Ext.Cpp.Syntax: data ElifDirective
+ Hydra.Ext.Cpp.Syntax: data EqualOperation
+ Hydra.Ext.Cpp.Syntax: data EqualityExpression
+ Hydra.Ext.Cpp.Syntax: data ErrorDirective
+ Hydra.Ext.Cpp.Syntax: data ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: data ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: data Expression
+ Hydra.Ext.Cpp.Syntax: data ForInit
+ Hydra.Ext.Cpp.Syntax: data ForStatement
+ Hydra.Ext.Cpp.Syntax: data FunctionApplication
+ Hydra.Ext.Cpp.Syntax: data FunctionBody
+ Hydra.Ext.Cpp.Syntax: data FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: data FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: data FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: data FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: data FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: data FunctionType
+ Hydra.Ext.Cpp.Syntax: data GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: data GreaterOperation
+ Hydra.Ext.Cpp.Syntax: data IfDirective
+ Hydra.Ext.Cpp.Syntax: data IfdefDirective
+ Hydra.Ext.Cpp.Syntax: data IfndefDirective
+ Hydra.Ext.Cpp.Syntax: data IncludeDirective
+ Hydra.Ext.Cpp.Syntax: data InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: data IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: data IterationStatement
+ Hydra.Ext.Cpp.Syntax: data JumpStatement
+ Hydra.Ext.Cpp.Syntax: data LabeledStatement
+ Hydra.Ext.Cpp.Syntax: data LambdaExpression
+ Hydra.Ext.Cpp.Syntax: data LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: data LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: data LessOperation
+ Hydra.Ext.Cpp.Syntax: data LineDirective
+ Hydra.Ext.Cpp.Syntax: data ListDeclaration
+ Hydra.Ext.Cpp.Syntax: data Literal
+ Hydra.Ext.Cpp.Syntax: data LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: data LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: data LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: data LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: data Map
+ Hydra.Ext.Cpp.Syntax: data MapDeclaration
+ Hydra.Ext.Cpp.Syntax: data MapEntry
+ Hydra.Ext.Cpp.Syntax: data MemInitializer
+ Hydra.Ext.Cpp.Syntax: data MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: data MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: data MemberSpecification
+ Hydra.Ext.Cpp.Syntax: data ModuloOperation
+ Hydra.Ext.Cpp.Syntax: data MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: data MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: data NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: data NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: data Optional
+ Hydra.Ext.Cpp.Syntax: data OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: data Parameter
+ Hydra.Ext.Cpp.Syntax: data PatternMatch
+ Hydra.Ext.Cpp.Syntax: data PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: data PostfixExpression
+ Hydra.Ext.Cpp.Syntax: data PragmaDirective
+ Hydra.Ext.Cpp.Syntax: data PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: data PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: data ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: data Program
+ Hydra.Ext.Cpp.Syntax: data QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: data QualifiedType
+ Hydra.Ext.Cpp.Syntax: data RangeForStatement
+ Hydra.Ext.Cpp.Syntax: data RelationalExpression
+ Hydra.Ext.Cpp.Syntax: data RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: data SelectionStatement
+ Hydra.Ext.Cpp.Syntax: data Set
+ Hydra.Ext.Cpp.Syntax: data SetDeclaration
+ Hydra.Ext.Cpp.Syntax: data ShiftExpression
+ Hydra.Ext.Cpp.Syntax: data Statement
+ Hydra.Ext.Cpp.Syntax: data SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: data SubtractOperation
+ Hydra.Ext.Cpp.Syntax: data SwitchStatement
+ Hydra.Ext.Cpp.Syntax: data TemplateArgument
+ Hydra.Ext.Cpp.Syntax: data TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: data TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: data TemplateType
+ Hydra.Ext.Cpp.Syntax: data TernaryExpression
+ Hydra.Ext.Cpp.Syntax: data TypeExpression
+ Hydra.Ext.Cpp.Syntax: data TypeQualifier
+ Hydra.Ext.Cpp.Syntax: data TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: data UnaryExpression
+ Hydra.Ext.Cpp.Syntax: data UnaryOperation
+ Hydra.Ext.Cpp.Syntax: data UnaryOperator
+ Hydra.Ext.Cpp.Syntax: data UndefDirective
+ Hydra.Ext.Cpp.Syntax: data VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: data VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: data Vector
+ Hydra.Ext.Cpp.Syntax: data Visitor
+ Hydra.Ext.Cpp.Syntax: data WarningDirective
+ Hydra.Ext.Cpp.Syntax: data WhileStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AddOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BasicType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BinaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Capture
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CaptureList
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CaseStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CaseValue
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ClassBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ClassKey
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CommaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Comment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.CompoundStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Declaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.DefineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.DivideOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.DoStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ElifDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.EqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.EqualityExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ErrorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Expression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ForInit
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionApplication
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.FunctionType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.GreaterOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IfDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IfdefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IfndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IncludeDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.IterationStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.JumpStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LabeledStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LambdaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ListDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Literal
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Map
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MapDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MapEntry
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MemInitializer
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MemberSpecification
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ModuloOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Optional
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Parameter
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PatternMatch
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PostfixExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PragmaDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Program
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.QualifiedType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.RangeForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.RelationalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SelectionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Set
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SetDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.ShiftExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SizeofExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Statement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.StringLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SubtractOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.SwitchStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TemplateArgument
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TemplateType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TernaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TypeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TypeQualifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.UnaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.UnaryOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.UnaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.UndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Vector
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.Visitor
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.WarningDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Cpp.Syntax.WhileStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AddOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BasicType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BinaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Capture
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CaptureList
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CaseStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CaseValue
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ClassBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ClassKey
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CommaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Comment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.CompoundStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Declaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.DefineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.DivideOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.DoStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ElifDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.EqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.EqualityExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ErrorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Expression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ForInit
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionApplication
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.FunctionType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.GreaterOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IfDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IfdefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IfndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IncludeDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.IterationStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.JumpStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LabeledStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LambdaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ListDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Literal
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Map
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MapDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MapEntry
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MemInitializer
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MemberSpecification
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ModuloOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Optional
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Parameter
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PatternMatch
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PostfixExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PragmaDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Program
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.QualifiedType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.RangeForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.RelationalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SelectionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Set
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SetDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.ShiftExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SizeofExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Statement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.StringLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SubtractOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.SwitchStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TemplateArgument
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TemplateType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TernaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TypeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TypeQualifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.UnaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.UnaryOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.UnaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.UndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Vector
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.Visitor
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.WarningDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Cpp.Syntax.WhileStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AddOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BasicType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BinaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Capture
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CaptureList
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CaseStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CaseValue
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ClassBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ClassKey
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CommaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Comment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.CompoundStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Declaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.DefineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.DivideOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.DoStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ElifDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.EqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.EqualityExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ErrorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Expression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ForInit
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionApplication
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.FunctionType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.GreaterOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IfDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IfdefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IfndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IncludeDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.IterationStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.JumpStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LabeledStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LambdaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ListDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Literal
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Map
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MapDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MapEntry
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MemInitializer
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MemberSpecification
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ModuloOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Optional
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Parameter
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PatternMatch
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PostfixExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PragmaDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Program
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.QualifiedType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.RangeForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.RelationalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SelectionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Set
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SetDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.ShiftExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SizeofExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Statement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.StringLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SubtractOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.SwitchStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TemplateArgument
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TemplateType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TernaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TypeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TypeQualifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.UnaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.UnaryOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.UnaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.UndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Vector
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.Visitor
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.WarningDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Cpp.Syntax.WhileStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AccessSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AddOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AdditiveExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AssignmentExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.AssignmentOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BaseSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BasicType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BinaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BitwiseAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BitwiseOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BitwiseXorOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Capture
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CaptureList
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CaseStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CaseValue
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ClassBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ClassDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ClassKey
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ClassSpecifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CommaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Comment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.CompoundStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ConditionalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ContainerDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Declaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.DefineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.DestructorDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.DivideOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.DoStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ElifDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.EqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.EqualityExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ErrorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ExplicitAssignment
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Expression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ForInit
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionApplication
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionBody
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionSpecifierPrefix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionSpecifierSuffix
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.FunctionType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.GreaterEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.GreaterOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IfDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IfdefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IfndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IncludeDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IntegerLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.IterationStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.JumpStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LabeledStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LambdaExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LeftShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LessEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LineDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ListDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Literal
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LogicalAndExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LogicalAndOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LogicalOrExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.LogicalOrOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Map
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MapDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MapEntry
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MemInitializer
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MemberDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MemberSpecification
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ModuloOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.MultiplyOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.NotEqualOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Optional
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.OptionalDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Parameter
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PatternMatch
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PointerMemberAccessOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PostfixExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PragmaDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PreprocessorDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.PrimaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ProductDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Program
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.QualifiedType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.RangeForStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.RelationalExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.RightShiftOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SelectionStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Set
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SetDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.ShiftExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SizeofExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Statement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.StringLiteral
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SubscriptOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SubtractOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.SwitchStatement
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TemplateArgument
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TemplateDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TemplateFunctionCallOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TemplateType
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TernaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TypeExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TypeQualifier
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.TypedefDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.UnaryExpression
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.UnaryOperation
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.UnaryOperator
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.UndefDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.VariableDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.VariantDeclaration
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Vector
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.Visitor
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.WarningDirective
+ Hydra.Ext.Cpp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Cpp.Syntax.WhileStatement
+ Hydra.Ext.Cpp.Syntax: newtype BooleanLiteral
+ Hydra.Ext.Cpp.Syntax: newtype CharacterLiteral
+ Hydra.Ext.Cpp.Syntax: newtype ClassBody
+ Hydra.Ext.Cpp.Syntax: newtype CompoundStatement
+ Hydra.Ext.Cpp.Syntax: newtype ExpressionStatement
+ Hydra.Ext.Cpp.Syntax: newtype FloatingLiteral
+ Hydra.Ext.Cpp.Syntax: newtype OverloadedLambdas
+ Hydra.Ext.Cpp.Syntax: newtype SizeofExpression
+ Hydra.Ext.Cpp.Syntax: newtype StringLiteral
+ Hydra.Ext.Cpp.Syntax: type ElseDirective = ()
+ Hydra.Ext.Cpp.Syntax: type EndifDirective = ()
+ Hydra.Ext.Cpp.Syntax: type Identifier = String
+ Hydra.Ext.Cpp.Utils: constParameter :: String -> TypeExpression -> Parameter
+ Hydra.Ext.Cpp.Utils: cppClassDeclaration :: String -> [BaseSpecifier] -> Maybe ClassBody -> Declaration
+ Hydra.Ext.Cpp.Utils: cppEnumDeclaration :: String -> Maybe ClassBody -> Declaration
+ Hydra.Ext.Cpp.Utils: cppEnumForwardDeclaration :: String -> Declaration
+ Hydra.Ext.Cpp.Utils: cppPostfixExpressionToCppExpression :: PostfixExpression -> Expression
+ Hydra.Ext.Cpp.Utils: cppPrimaryExpressionToCppExpression :: PrimaryExpression -> Expression
+ Hydra.Ext.Cpp.Utils: cppUnaryExpressionToCppExpression :: UnaryExpression -> Expression
+ Hydra.Ext.Cpp.Utils: cppUnaryExpressionToCppLogicalOrExpression :: UnaryExpression -> LogicalOrExpression
+ Hydra.Ext.Cpp.Utils: createCastExpr :: t0 -> Expression -> Expression
+ Hydra.Ext.Cpp.Utils: createCompoundStmt :: [Statement] -> CompoundStatement
+ Hydra.Ext.Cpp.Utils: createConstRefType :: TypeExpression -> TypeExpression
+ Hydra.Ext.Cpp.Utils: createConstType :: TypeExpression -> TypeExpression
+ Hydra.Ext.Cpp.Utils: createConstructorBody :: [t0] -> FunctionBody
+ Hydra.Ext.Cpp.Utils: createEnumAccessExpr :: String -> String -> Expression
+ Hydra.Ext.Cpp.Utils: createFunctionCallExpr :: String -> [Expression] -> Expression
+ Hydra.Ext.Cpp.Utils: createHeaderFile :: [IncludeDirective] -> [Declaration] -> Program
+ Hydra.Ext.Cpp.Utils: createIdentifierExpr :: String -> Expression
+ Hydra.Ext.Cpp.Utils: createLambdaExpr :: [Parameter] -> Expression -> Expression
+ Hydra.Ext.Cpp.Utils: createLiteralBoolExpr :: Bool -> Expression
+ Hydra.Ext.Cpp.Utils: createLiteralIntExpr :: Integer -> Expression
+ Hydra.Ext.Cpp.Utils: createLiteralStringExpr :: String -> Expression
+ Hydra.Ext.Cpp.Utils: createMemberAccessExpr :: Expression -> String -> Expression
+ Hydra.Ext.Cpp.Utils: createQualifiedType :: TypeExpression -> TypeQualifier -> TypeExpression
+ Hydra.Ext.Cpp.Utils: createReferenceType :: TypeExpression -> TypeExpression
+ Hydra.Ext.Cpp.Utils: createReturnStmt :: Expression -> Statement
+ Hydra.Ext.Cpp.Utils: createReturnVoidStmt :: Statement
+ Hydra.Ext.Cpp.Utils: createTemplateType :: String -> [TypeExpression] -> TypeExpression
+ Hydra.Ext.Cpp.Utils: createThisExpr :: Expression
+ Hydra.Ext.Cpp.Utils: createThrowStmt :: String -> Expression -> Statement
+ Hydra.Ext.Cpp.Utils: createTypeIdNameCall :: Expression
+ Hydra.Ext.Cpp.Utils: createTypeNameExpr :: String -> Expression
+ Hydra.Ext.Cpp.Utils: createVariantExpr :: Expression
+ Hydra.Ext.Cpp.Utils: emptyFunctionBody :: FunctionBody
+ Hydra.Ext.Cpp.Utils: extractPostfixExpression :: Expression -> PostfixExpression
+ Hydra.Ext.Cpp.Utils: memberSpecificationProtected :: MemberSpecification
+ Hydra.Ext.Cpp.Utils: memberSpecificationPublic :: MemberSpecification
+ Hydra.Ext.Cpp.Utils: stringExpression :: String -> Expression
+ Hydra.Ext.Cpp.Utils: toConstType :: TypeExpression -> TypeExpression
+ Hydra.Ext.Cpp.Utils: unnamedParameter :: String -> TypeExpression -> Parameter
+ Hydra.Ext.Csharp.Language: csharpLanguage :: Language
+ Hydra.Ext.Csharp.Language: csharpReservedWords :: Set String
+ Hydra.Ext.Csharp.Syntax: AccessorBodyBlock :: Block -> AccessorBody
+ Hydra.Ext.Csharp.Syntax: AccessorBodyEmpty :: AccessorBody
+ Hydra.Ext.Csharp.Syntax: AccessorBodyExpression :: Expression -> AccessorBody
+ Hydra.Ext.Csharp.Syntax: AccessorDeclaration :: Maybe Attributes -> Maybe AccessorModifier -> AccessorBody -> AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: AccessorDeclarationsGet :: Maybe AccessorDeclaration -> AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: AccessorDeclarationsSet :: Maybe AccessorDeclaration -> AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: AccessorModifierInternal :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierInternalProtected :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierPrivate :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierPrivateProtected :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierProtected :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierProtectedInternal :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorModifierProtectedPrivate :: AccessorModifier
+ Hydra.Ext.Csharp.Syntax: AccessorsEventDeclaration :: Maybe Attributes -> [EventModifier] -> Type -> MemberName -> EventAccessorDeclarations -> AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: AddRemoveAccessorDeclaration :: Maybe Attributes -> Block -> AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: AdditiveExpressionBinary :: BinaryAdditiveExpression -> AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: AdditiveExpressionSimple :: MultiplicativeExpression -> AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: AdditiveOperatorMinus :: AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: AdditiveOperatorPlus :: AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: AndExpressionBinary :: BinaryAndExpression -> AndExpression
+ Hydra.Ext.Csharp.Syntax: AndExpressionSimple :: EqualityExpression -> AndExpression
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionBodyBlock :: Block -> AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionBodyExpression :: Expression -> AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionBodyRef :: VariableReference -> AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionParameterModifierIn :: AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionParameterModifierOut :: AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionParameterModifierRef :: AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionSignatureExplicit :: [ExplicitAnonymousFunctionParameter] -> AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: AnonymousFunctionSignatureImplicit :: [Identifier] -> AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: AnonymousMethodExpression :: Bool -> [ExplicitAnonymousFunctionParameter] -> Block -> AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: Argument :: Maybe Identifier -> ArgumentValue -> Argument
+ Hydra.Ext.Csharp.Syntax: ArgumentList :: [Argument] -> ArgumentList
+ Hydra.Ext.Csharp.Syntax: ArgumentValueExpression :: Expression -> ArgumentValue
+ Hydra.Ext.Csharp.Syntax: ArgumentValueIn :: VariableReference -> ArgumentValue
+ Hydra.Ext.Csharp.Syntax: ArgumentValueOut :: VariableReference -> ArgumentValue
+ Hydra.Ext.Csharp.Syntax: ArgumentValueRef :: VariableReference -> ArgumentValue
+ Hydra.Ext.Csharp.Syntax: ArrayCreationExpressionArrayType :: ArrayTypeArrayCreationExpression -> ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: ArrayCreationExpressionNonArrayType :: NonArrayTypeArrayCreationExpression -> ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: ArrayCreationExpressionRankSpecifier :: RankSpecifierArrayCreationExpression -> ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: ArrayInitializer :: [VariableInitializer] -> ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: ArrayType :: NonArrayType -> [RankSpecifier] -> ArrayType
+ Hydra.Ext.Csharp.Syntax: ArrayTypeArrayCreationExpression :: ArrayType -> ArrayInitializer -> ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: AsTypeExpression :: RelationalExpression -> Type -> AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: Assignment :: UnaryExpression -> AssignmentOperator -> Expression -> Assignment
+ Hydra.Ext.Csharp.Syntax: AssignmentMemberDeclarator :: Identifier -> Expression -> AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorAndEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorDivideEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorLeftShiftEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorMinusEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorModEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorOrEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorPlusEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorRightShiftEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorSimple :: Bool -> AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorTimesEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: AssignmentOperatorXorEquals :: AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: Attribute :: AttributeName -> Maybe AttributeArguments -> Attribute
+ Hydra.Ext.Csharp.Syntax: AttributeArgumentExpression :: NonAssignmentExpression -> AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: AttributeArguments :: Maybe PositionalArgumentList -> Maybe NamedArgumentList -> AttributeArguments
+ Hydra.Ext.Csharp.Syntax: AttributeList :: [Attribute] -> AttributeList
+ Hydra.Ext.Csharp.Syntax: AttributeName :: TypeName -> AttributeName
+ Hydra.Ext.Csharp.Syntax: AttributeSection :: Maybe AttributeTarget -> AttributeList -> AttributeSection
+ Hydra.Ext.Csharp.Syntax: AttributeTargetIdentifier :: Identifier -> AttributeTarget
+ Hydra.Ext.Csharp.Syntax: AttributeTargetKeyword :: Keyword -> AttributeTarget
+ Hydra.Ext.Csharp.Syntax: Attributes :: [AttributeSection] -> Attributes
+ Hydra.Ext.Csharp.Syntax: BaseAccessArguments :: ArgumentList -> BaseAccess
+ Hydra.Ext.Csharp.Syntax: BaseAccessIdentifier :: BaseAccessWithIdentifier -> BaseAccess
+ Hydra.Ext.Csharp.Syntax: BaseAccessWithIdentifier :: Identifier -> Maybe TypeArgumentList -> BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: BinaryAdditiveExpression :: AdditiveExpression -> AdditiveOperator -> MultiplicativeExpression -> BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: BinaryAndExpression :: AndExpression -> EqualityExpression -> BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: BinaryConditionalAndExpression :: ConditionalAndExpression -> InclusiveOrExpression -> BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: BinaryConditionalOrExpression :: ConditionalOrExpression -> ConditionalAndExpression -> BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: BinaryEqualityExpression :: EqualityExpression -> EqualityOperator -> RelationalExpression -> BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: BinaryExclusiveOrExpression :: ExclusiveOrExpression -> AndExpression -> BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: BinaryInclusiveOrExpression :: InclusiveOrExpression -> ExclusiveOrExpression -> BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: BinaryMultiplicativeExpression :: MultiplicativeExpression -> MultiplicativeOperator -> UnaryExpression -> BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: BinaryNullCoalescingExpression :: ConditionalOrExpression -> NullCoalescingExpression -> BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: BinaryOperatorDeclarator :: Type -> OverloadableBinaryOperator -> FixedParameter -> FixedParameter -> BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: BinaryRelationalExpression :: RelationalExpression -> RelationalOperator -> ShiftExpression -> BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: BinaryShiftExpression :: ShiftExpression -> ShiftOperator -> AdditiveExpression -> BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: Block :: [Statement] -> Block
+ Hydra.Ext.Csharp.Syntax: BlockPropertyBody :: AccessorDeclarations -> Maybe VariableInitializer -> BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: BooleanExpression :: Expression -> BooleanExpression
+ Hydra.Ext.Csharp.Syntax: CastExpression :: Type -> UnaryExpression -> CastExpression
+ Hydra.Ext.Csharp.Syntax: CatchClausesGeneral :: Block -> CatchClauses
+ Hydra.Ext.Csharp.Syntax: CatchClausesSpecific :: [SpecificCatchClause] -> CatchClauses
+ Hydra.Ext.Csharp.Syntax: ClassBaseClass :: Maybe ClassType -> ClassBase
+ Hydra.Ext.Csharp.Syntax: ClassBaseInterfaces :: [InterfaceType] -> ClassBase
+ Hydra.Ext.Csharp.Syntax: ClassBody :: [ClassMemberDeclaration] -> ClassBody
+ Hydra.Ext.Csharp.Syntax: ClassDeclaration :: [AttributeSection] -> [ClassModifier] -> Bool -> Identifier -> Maybe TypeParameterList -> Maybe ClassBase -> [TypeParameterConstraintsClause] -> ClassBody -> ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationConstant :: ConstantDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationConstructor :: ConstructorDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationEvent :: EventDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationField :: FieldDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationFinalizer :: FinalizerDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationIndexer :: IndexerDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationMethod :: MethodDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationOperator :: OperatorDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationProperty :: PropertyDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationStaticConstructor :: StaticConstructorDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassMemberDeclarationType :: TypeDeclaration -> ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: ClassModifierAbstract :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierInternal :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierNew :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierPrivate :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierProtected :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierPublic :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierSealed :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierStatic :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassModifierUnsafe :: ClassModifier
+ Hydra.Ext.Csharp.Syntax: ClassTypeObject :: ClassType
+ Hydra.Ext.Csharp.Syntax: ClassTypeString :: ClassType
+ Hydra.Ext.Csharp.Syntax: ClassTypeTypeName :: TypeName -> ClassType
+ Hydra.Ext.Csharp.Syntax: CompilationUnit :: [ExternAliasDirective] -> [UsingDirective] -> [GlobalAttributeSection] -> [NamespaceMemberDeclaration] -> CompilationUnit
+ Hydra.Ext.Csharp.Syntax: ConditionalAndExpressionBinary :: BinaryConditionalAndExpression -> ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalAndExpressionSimple :: InclusiveOrExpression -> ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalExpressionRefConditional :: RefConditionalExpression -> ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalExpressionSimple :: NullCoalescingExpression -> ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalExpressionSimpleConditional :: SimpleConditionalExpression -> ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalOrExpressionBinary :: BinaryConditionalOrExpression -> ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: ConditionalOrExpressionSimple :: ConditionalAndExpression -> ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: ConstantDeclaration :: Maybe Attributes -> [ConstantModifier] -> Type -> [ConstantDeclarator] -> ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: ConstantDeclarator :: Identifier -> ConstantExpression -> ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: ConstantExpression :: Expression -> ConstantExpression
+ Hydra.Ext.Csharp.Syntax: ConstantModifierInternal :: ConstantModifier
+ Hydra.Ext.Csharp.Syntax: ConstantModifierNew :: ConstantModifier
+ Hydra.Ext.Csharp.Syntax: ConstantModifierPrivate :: ConstantModifier
+ Hydra.Ext.Csharp.Syntax: ConstantModifierProtected :: ConstantModifier
+ Hydra.Ext.Csharp.Syntax: ConstantModifierPublic :: ConstantModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorBodyBlock :: Block -> ConstructorBody
+ Hydra.Ext.Csharp.Syntax: ConstructorBodyEmpty :: ConstructorBody
+ Hydra.Ext.Csharp.Syntax: ConstructorBodyExpression :: Expression -> ConstructorBody
+ Hydra.Ext.Csharp.Syntax: ConstructorDeclaration :: Maybe Attributes -> [ConstructorModifier] -> ConstructorDeclarator -> ConstructorBody -> ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: ConstructorDeclarator :: Identifier -> Maybe FormalParameterList -> Maybe ConstructorInitializer -> ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: ConstructorInitializerBase :: Maybe ArgumentList -> ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: ConstructorInitializerThis :: Maybe ArgumentList -> ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierExtern :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierInternal :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierPrivate :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierProtected :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierPublic :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConstructorModifierUnsafe :: ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: ConversionKindExplicit :: ConversionKind
+ Hydra.Ext.Csharp.Syntax: ConversionKindImplicit :: ConversionKind
+ Hydra.Ext.Csharp.Syntax: ConversionOperatorDeclarator :: ConversionKind -> Type -> FixedParameter -> ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: DeclarationExpression :: LocalVariableType -> Identifier -> DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: DeclarationPattern :: Type -> Designation -> DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: DeclarationStatementConstant :: LocalConstantDeclaration -> DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: DeclarationStatementFunction :: LocalFunctionDeclaration -> DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: DeclarationStatementVariable :: LocalVariableDeclaration -> DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: DeconstructionElementIdentifier :: Identifier -> DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: DeconstructionElementTuple :: DeconstructionTuple -> DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: DeconstructionTuple :: [DeconstructionElement] -> DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: DefaultValueExpressionDefaultLiteral :: DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: DefaultValueExpressionExplicitlyTyped :: Type -> DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: DelegateCreationExpression :: DelegateType -> Expression -> DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: DelegateDeclaration :: Maybe Attributes -> [DelegateModifier] -> ReturnType -> Maybe RefKind -> Maybe Type -> DelegateHeader -> DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: DelegateHeader :: Identifier -> Maybe VariantTypeParameters -> Maybe FormalParameterList -> [TypeParameterConstraintsClause] -> DelegateHeader
+ Hydra.Ext.Csharp.Syntax: DelegateModifierInternal :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateModifierNew :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateModifierPrivate :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateModifierProtected :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateModifierPublic :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateModifierUnsafe :: DelegateModifier
+ Hydra.Ext.Csharp.Syntax: DelegateType :: TypeName -> DelegateType
+ Hydra.Ext.Csharp.Syntax: DependentAccessElementAccess :: ArgumentList -> DependentAccess
+ Hydra.Ext.Csharp.Syntax: DependentAccessForMember :: Identifier -> Maybe TypeArgumentList -> DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: DependentAccessInvocation :: Maybe ArgumentList -> DependentAccess
+ Hydra.Ext.Csharp.Syntax: DependentAccessMemberAccess :: DependentAccessForMember -> DependentAccess
+ Hydra.Ext.Csharp.Syntax: Designation :: Identifier -> Designation
+ Hydra.Ext.Csharp.Syntax: DoStatement :: EmbeddedStatement -> BooleanExpression -> DoStatement
+ Hydra.Ext.Csharp.Syntax: ElementAccess :: PrimaryNoArrayCreationExpression -> ArgumentList -> ElementAccess
+ Hydra.Ext.Csharp.Syntax: ElementInitializerList :: ExpressionList -> ElementInitializer
+ Hydra.Ext.Csharp.Syntax: ElementInitializerSingle :: NonAssignmentExpression -> ElementInitializer
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementBlock :: Block -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementChecked :: Block -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementEmpty :: EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementExpression :: StatementExpression -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementFixed :: FixedStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementIteration :: IterationStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementJump :: JumpStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementLock :: LockStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementSelection :: SelectionStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementTry :: TryStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementUnchecked :: Block -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementUnsafe :: Block -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementUsing :: UsingStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EmbeddedStatementYield :: YieldStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: EnumBaseName :: TypeName -> EnumBase
+ Hydra.Ext.Csharp.Syntax: EnumBaseType :: IntegralType -> EnumBase
+ Hydra.Ext.Csharp.Syntax: EnumBody :: [EnumMemberDeclaration] -> EnumBody
+ Hydra.Ext.Csharp.Syntax: EnumDeclaration :: Maybe Attributes -> [EnumModifier] -> Identifier -> Maybe EnumBase -> Maybe EnumBody -> EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: EnumMemberDeclaration :: Maybe Attributes -> Identifier -> Maybe ConstantExpression -> EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: EnumModifierInternal :: EnumModifier
+ Hydra.Ext.Csharp.Syntax: EnumModifierNew :: EnumModifier
+ Hydra.Ext.Csharp.Syntax: EnumModifierPrivate :: EnumModifier
+ Hydra.Ext.Csharp.Syntax: EnumModifierProtected :: EnumModifier
+ Hydra.Ext.Csharp.Syntax: EnumModifierPublic :: EnumModifier
+ Hydra.Ext.Csharp.Syntax: EnumType :: TypeName -> EnumType
+ Hydra.Ext.Csharp.Syntax: EqualityExpressionBinary :: BinaryEqualityExpression -> EqualityExpression
+ Hydra.Ext.Csharp.Syntax: EqualityExpressionSimple :: RelationalExpression -> EqualityExpression
+ Hydra.Ext.Csharp.Syntax: EqualityOperatorEqual :: EqualityOperator
+ Hydra.Ext.Csharp.Syntax: EqualityOperatorNotEqual :: EqualityOperator
+ Hydra.Ext.Csharp.Syntax: EventAccessorDeclarationsAdd :: AddRemoveAccessorDeclaration -> EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: EventAccessorDeclarationsRemove :: AddRemoveAccessorDeclaration -> EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: EventDeclarationAccessors :: AccessorsEventDeclaration -> EventDeclaration
+ Hydra.Ext.Csharp.Syntax: EventDeclarationStandard :: StandardEventDeclaration -> EventDeclaration
+ Hydra.Ext.Csharp.Syntax: EventModifierAbstract :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierExtern :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierInternal :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierNew :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierOverride :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierPrivate :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierProtected :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierPublic :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierSealed :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierStatic :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierUnsafe :: EventModifier
+ Hydra.Ext.Csharp.Syntax: EventModifierVirtual :: EventModifier
+ Hydra.Ext.Csharp.Syntax: ExceptionSpecifier :: Type -> Maybe Identifier -> ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: ExclusiveOrExpressionBinary :: BinaryExclusiveOrExpression -> ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: ExclusiveOrExpressionSimple :: AndExpression -> ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: ExplicitAnonymousFunctionParameter :: Maybe AnonymousFunctionParameterModifier -> Type -> Identifier -> ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: ExplicitlyTypedLocalVariableDeclaration :: Type -> [ExplicitlyTypedLocalVariableDeclarator] -> ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: ExplicitlyTypedLocalVariableDeclarator :: Identifier -> Maybe LocalVariableInitializer -> ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: ExpressionAssignment :: Assignment -> Expression
+ Hydra.Ext.Csharp.Syntax: ExpressionList :: [Expression] -> ExpressionList
+ Hydra.Ext.Csharp.Syntax: ExpressionNonAssignment :: NonAssignmentExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: ExternAliasDirective :: Identifier -> ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: FieldDeclaration :: Maybe Attributes -> [FieldModifier] -> Type -> [VariableDeclarator] -> FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: FieldModifierInternal :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierNew :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierPrivate :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierProtected :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierPublic :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierReadonly :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierStatic :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierUnsafe :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FieldModifierVolatile :: FieldModifier
+ Hydra.Ext.Csharp.Syntax: FinalizerBodyBlock :: Block -> FinalizerBody
+ Hydra.Ext.Csharp.Syntax: FinalizerBodyEmpty :: FinalizerBody
+ Hydra.Ext.Csharp.Syntax: FinalizerBodyExpression :: Expression -> FinalizerBody
+ Hydra.Ext.Csharp.Syntax: FinalizerDeclaration :: Maybe Attributes -> Bool -> Bool -> Identifier -> FinalizerBody -> FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: FixedParameter :: Maybe Attributes -> Maybe ParameterModifier -> Type -> Identifier -> Maybe Expression -> FixedParameter
+ Hydra.Ext.Csharp.Syntax: FixedPointerDeclaratorExpression :: Expression -> FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: FixedPointerDeclaratorReference :: VariableReference -> FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferDeclaration :: Maybe Attributes -> [FixedSizeBufferModifier] -> Type -> [FixedSizeBufferDeclarator] -> FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferDeclarator :: Identifier -> ConstantExpression -> FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferModifierInternal :: FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferModifierNew :: FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferModifierPrivate :: FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferModifierPublic :: FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: FixedSizeBufferModifierUnsafe :: FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: FixedStatement :: PointerType -> [FixedPointerDeclarator] -> EmbeddedStatement -> FixedStatement
+ Hydra.Ext.Csharp.Syntax: FloatingPointTypeDouble :: FloatingPointType
+ Hydra.Ext.Csharp.Syntax: FloatingPointTypeFloat :: FloatingPointType
+ Hydra.Ext.Csharp.Syntax: ForInitializerStatements :: StatementExpressionList -> ForInitializer
+ Hydra.Ext.Csharp.Syntax: ForInitializerVariable :: LocalVariableDeclaration -> ForInitializer
+ Hydra.Ext.Csharp.Syntax: ForStatement :: Maybe ForInitializer -> Maybe BooleanExpression -> Maybe StatementExpressionList -> EmbeddedStatement -> ForStatement
+ Hydra.Ext.Csharp.Syntax: ForeachStatement :: Maybe RefKind -> LocalVariableType -> Identifier -> Expression -> EmbeddedStatement -> ForeachStatement
+ Hydra.Ext.Csharp.Syntax: FormalParameterList :: [FixedParameter] -> Maybe ParameterArray -> FormalParameterList
+ Hydra.Ext.Csharp.Syntax: FromClause :: Maybe Type -> Identifier -> Expression -> FromClause
+ Hydra.Ext.Csharp.Syntax: GlobalAttributeSection :: Identifier -> AttributeList -> GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: GotoStatementCase :: ConstantExpression -> GotoStatement
+ Hydra.Ext.Csharp.Syntax: GotoStatementDefault :: GotoStatement
+ Hydra.Ext.Csharp.Syntax: GotoStatementIdentifier :: Identifier -> GotoStatement
+ Hydra.Ext.Csharp.Syntax: GroupClause :: Expression -> Expression -> GroupClause
+ Hydra.Ext.Csharp.Syntax: Identifier :: String -> Identifier
+ Hydra.Ext.Csharp.Syntax: IdentifierNamespaceOrTypeName :: Identifier -> Maybe TypeArgumentList -> IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: IfStatement :: BooleanExpression -> EmbeddedStatement -> EmbeddedStatement -> IfStatement
+ Hydra.Ext.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarationRefVar :: RefVarImplicitlyTypedLocalVariableDeclaration -> ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarationVar :: ImplicitlyTypedLocalVariableDeclarator -> ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: ImplicitlyTypedLocalVariableDeclarator :: Identifier -> Expression -> ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: InclusiveOrExpressionBinary :: BinaryInclusiveOrExpression -> InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: InclusiveOrExpressionSimple :: ExclusiveOrExpression -> InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: IndexerBodyBlock :: AccessorDeclarations -> IndexerBody
+ Hydra.Ext.Csharp.Syntax: IndexerBodyExpression :: Expression -> IndexerBody
+ Hydra.Ext.Csharp.Syntax: IndexerDeclarationRef :: RefIndexerDeclaration -> IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: IndexerDeclarationStandard :: StandardIndexerDeclaration -> IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: IndexerDeclarator :: Type -> Maybe InterfaceType -> FormalParameterList -> IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: IndexerModifierAbstract :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierExtern :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierInternal :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierNew :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierOverride :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierPrivate :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierProtected :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierPublic :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierSealed :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierUnsafe :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: IndexerModifierVirtual :: IndexerModifier
+ Hydra.Ext.Csharp.Syntax: InitializerTargetArguments :: ArgumentList -> InitializerTarget
+ Hydra.Ext.Csharp.Syntax: InitializerTargetIdentifier :: Identifier -> InitializerTarget
+ Hydra.Ext.Csharp.Syntax: InitializerValueExpression :: Expression -> InitializerValue
+ Hydra.Ext.Csharp.Syntax: InitializerValueObjectOrCollection :: ObjectOrCollectionInitializer -> InitializerValue
+ Hydra.Ext.Csharp.Syntax: IntegerLiteralBinary :: Integer -> IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: IntegerLiteralDecimal :: String -> IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: IntegerLiteralHexadecimal :: String -> IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: IntegralTypeByte :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeChar :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeInt :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeLong :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeSbyte :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeShort :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeUint :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeUlong :: IntegralType
+ Hydra.Ext.Csharp.Syntax: IntegralTypeUshort :: IntegralType
+ Hydra.Ext.Csharp.Syntax: InterfaceAccessors :: Maybe Attributes -> Maybe Attributes -> Maybe Attributes -> InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: InterfaceDeclaration :: Maybe Attributes -> [InterfaceModifier] -> Bool -> Identifier -> Maybe VariantTypeParameters -> [InterfaceType] -> [TypeParameterConstraintsClause] -> [InterfaceMemberDeclaration] -> InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceEventDeclaration :: Maybe Attributes -> Bool -> Type -> Identifier -> InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceIndexerDeclaration :: Maybe Attributes -> Bool -> Maybe RefKind -> Type -> FormalParameterList -> InterfaceAccessors -> InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMemberDeclarationEvent :: InterfaceEventDeclaration -> InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMemberDeclarationIndexer :: InterfaceIndexerDeclaration -> InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMemberDeclarationMethod :: InterfaceMethodDeclaration -> InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMemberDeclarationProperty :: InterfacePropertyDeclaration -> InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMethodDeclaration :: Maybe Attributes -> Bool -> ReturnType -> Maybe RefKind -> InterfaceMethodHeader -> InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceMethodHeader :: Identifier -> Maybe FormalParameterList -> Maybe TypeParameterList -> [TypeParameterConstraintsClause] -> InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierInternal :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierNew :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierPrivate :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierProtected :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierPublic :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfaceModifierUnsafe :: InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: InterfacePropertyDeclaration :: Maybe Attributes -> Bool -> Maybe RefKind -> Type -> Identifier -> InterfaceAccessors -> InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: InterfaceType :: TypeName -> InterfaceType
+ Hydra.Ext.Csharp.Syntax: InterpolatedRegularStringExpression :: String -> InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: InterpolatedStringExpressionRegular :: InterpolatedRegularStringExpression -> InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: InterpolatedStringExpressionVerbatim :: InterpolatedVerbatimStringExpression -> InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: InterpolatedVerbatimStringExpression :: String -> InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: InvocationExpression :: PrimaryExpression -> Maybe ArgumentList -> InvocationExpression
+ Hydra.Ext.Csharp.Syntax: IsPatternExpression :: RelationalExpression -> Pattern -> IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: IsTypeExpression :: RelationalExpression -> Type -> IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: IterationStatementDo :: DoStatement -> IterationStatement
+ Hydra.Ext.Csharp.Syntax: IterationStatementFor :: ForStatement -> IterationStatement
+ Hydra.Ext.Csharp.Syntax: IterationStatementForeach :: ForeachStatement -> IterationStatement
+ Hydra.Ext.Csharp.Syntax: IterationStatementWhile :: WhileStatement -> IterationStatement
+ Hydra.Ext.Csharp.Syntax: JoinClause :: Maybe Type -> Identifier -> Expression -> Expression -> Expression -> Maybe Identifier -> JoinClause
+ Hydra.Ext.Csharp.Syntax: JumpStatementBreak :: JumpStatement
+ Hydra.Ext.Csharp.Syntax: JumpStatementContinue :: JumpStatement
+ Hydra.Ext.Csharp.Syntax: JumpStatementGoto :: GotoStatement -> JumpStatement
+ Hydra.Ext.Csharp.Syntax: JumpStatementReturn :: ReturnStatement -> JumpStatement
+ Hydra.Ext.Csharp.Syntax: JumpStatementThrow :: Maybe Expression -> JumpStatement
+ Hydra.Ext.Csharp.Syntax: Keyword :: String -> Keyword
+ Hydra.Ext.Csharp.Syntax: LabeledStatement :: Identifier -> Statement -> LabeledStatement
+ Hydra.Ext.Csharp.Syntax: LambdaExpression :: Bool -> AnonymousFunctionSignature -> AnonymousFunctionBody -> LambdaExpression
+ Hydra.Ext.Csharp.Syntax: LetClause :: Identifier -> Expression -> LetClause
+ Hydra.Ext.Csharp.Syntax: LiteralBoolean :: Bool -> Literal
+ Hydra.Ext.Csharp.Syntax: LiteralCharacter :: String -> Literal
+ Hydra.Ext.Csharp.Syntax: LiteralInteger :: IntegerLiteral -> Literal
+ Hydra.Ext.Csharp.Syntax: LiteralNull :: Literal
+ Hydra.Ext.Csharp.Syntax: LiteralReal :: Double -> Literal
+ Hydra.Ext.Csharp.Syntax: LiteralString :: String -> Literal
+ Hydra.Ext.Csharp.Syntax: LocalConstantDeclaration :: Type -> [ConstantDeclarator] -> LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalFunctionBodyBlock :: Block -> LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: LocalFunctionBodyExpression :: Expression -> LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: LocalFunctionBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: LocalFunctionDeclarationRef :: RefLocalFunctionDeclaration -> LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalFunctionDeclarationStandard :: StandardLocalFunctionDeclaration -> LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalFunctionHeader :: Identifier -> Maybe TypeParameterList -> FormalParameterList -> [TypeParameterConstraintsClause] -> LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: LocalFunctionModifierAsync :: LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: LocalFunctionModifierRef :: RefLocalFunctionModifier -> LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: LocalVariableDeclarationExplicitlyTyped :: ExplicitlyTypedLocalVariableDeclaration -> LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalVariableDeclarationImplicitlyTyped :: ImplicitlyTypedLocalVariableDeclaration -> LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalVariableDeclarationRef :: RefLocalVariableDeclaration -> LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: LocalVariableInitializerExpression :: Expression -> LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: LocalVariableInitializerInitializer :: ArrayInitializer -> LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: LocalVariableTypeType :: Type -> LocalVariableType
+ Hydra.Ext.Csharp.Syntax: LocalVariableTypeVar :: LocalVariableType
+ Hydra.Ext.Csharp.Syntax: LockStatement :: Expression -> EmbeddedStatement -> LockStatement
+ Hydra.Ext.Csharp.Syntax: MemberAccess :: MemberAccessHead -> Identifier -> Maybe TypeArgumentList -> MemberAccess
+ Hydra.Ext.Csharp.Syntax: MemberAccessHeadPredefined :: PredefinedType -> MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: MemberAccessHeadPrimary :: PrimaryExpression -> MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: MemberAccessHeadQualifiedAlias :: QualifiedAliasMember -> MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorAssignment :: AssignmentMemberDeclarator -> MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorBaseAccess :: BaseAccess -> MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorList :: [MemberDeclarator] -> MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorMemberAccess :: MemberAccess -> MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorName :: SimpleName -> MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: MemberDeclaratorNullConditionalProjectionInitializer :: NullConditionalProjectionInitializer -> MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: MemberInitializer :: InitializerTarget -> InitializerValue -> MemberInitializer
+ Hydra.Ext.Csharp.Syntax: MemberName :: Maybe TypeName -> Identifier -> MemberName
+ Hydra.Ext.Csharp.Syntax: MethodBodyBlock :: Block -> MethodBody
+ Hydra.Ext.Csharp.Syntax: MethodBodyEmpty :: MethodBody
+ Hydra.Ext.Csharp.Syntax: MethodBodyExpression :: Expression -> MethodBody
+ Hydra.Ext.Csharp.Syntax: MethodBodyNullConditionalInvocation :: NullConditionalInvocationExpression -> MethodBody
+ Hydra.Ext.Csharp.Syntax: MethodDeclarationRefReturn :: RefReturnMethodDeclaration -> MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: MethodDeclarationStandard :: StandardMethodDeclaration -> MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: MethodHeader :: MemberName -> Maybe TypeParameterList -> Maybe FormalParameterList -> [TypeParameterConstraintsClause] -> MethodHeader
+ Hydra.Ext.Csharp.Syntax: MethodModifierAsync :: MethodModifier
+ Hydra.Ext.Csharp.Syntax: MethodModifierRef :: RefMethodModifier -> MethodModifier
+ Hydra.Ext.Csharp.Syntax: MethodModifiers :: [MethodModifier] -> Bool -> MethodModifiers
+ Hydra.Ext.Csharp.Syntax: MultiplicativeExpressionBinary :: BinaryMultiplicativeExpression -> MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: MultiplicativeExpressionSimple :: UnaryExpression -> MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: MultiplicativeOperatorDivide :: MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: MultiplicativeOperatorModulo :: MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: MultiplicativeOperatorTimes :: MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: NamedArgument :: Identifier -> AttributeArgumentExpression -> NamedArgument
+ Hydra.Ext.Csharp.Syntax: NamedArgumentList :: [NamedArgument] -> NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: NamedEntity :: NamedEntityTarget -> [NamedEntityPart] -> NamedEntity
+ Hydra.Ext.Csharp.Syntax: NamedEntityPart :: Identifier -> Maybe TypeArgumentList -> NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: NamedEntityTargetBase :: NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: NamedEntityTargetName :: SimpleName -> NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: NamedEntityTargetPredefinedType :: PredefinedType -> NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: NamedEntityTargetQualifiedAliasMember :: QualifiedAliasMember -> NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: NamedEntityTargetThis :: NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: NamespaceBody :: [ExternAliasDirective] -> [UsingDirective] -> [NamespaceMemberDeclaration] -> NamespaceBody
+ Hydra.Ext.Csharp.Syntax: NamespaceDeclaration :: QualifiedIdentifier -> NamespaceBody -> NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: NamespaceMemberDeclarationNamespace :: NamespaceDeclaration -> NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: NamespaceMemberDeclarationType :: TypeDeclaration -> NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: NamespaceName :: NamespaceOrTypeName -> NamespaceName
+ Hydra.Ext.Csharp.Syntax: NamespaceOrTypeNameAlias :: QualifiedAliasMember -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: NamespaceOrTypeNameIdentifier :: IdentifierNamespaceOrTypeName -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: NamespaceOrTypeNameQualified :: QualifiedNamespaceOrTypeName -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeArrayCreationExpression :: NonArrayType -> ExpressionList -> [RankSpecifier] -> Maybe ArrayInitializer -> NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeClass :: ClassType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeDelegate :: DelegateType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeDynamic :: NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeInterface :: InterfaceType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeParameter :: TypeParameter -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypePointer :: PointerType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonArrayTypeValue :: ValueType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: NonAssignmentExpressionConditional :: ConditionalExpression -> NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: NonAssignmentExpressionDeclaration :: DeclarationExpression -> NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: NonAssignmentExpressionLambda :: LambdaExpression -> NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: NonAssignmentExpressionQuery :: QueryExpression -> NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: NullCoalescingExpressionBinary :: BinaryNullCoalescingExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: NullCoalescingExpressionSimple :: ConditionalOrExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: NullCoalescingExpressionThrow :: NullCoalescingExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: NullConditionalElementAccess :: PrimaryNoArrayCreationExpression -> ArgumentList -> [DependentAccess] -> NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: NullConditionalInvocationExpression :: NullConditionalInvocationExpressionHead -> Maybe ArgumentList -> NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: NullConditionalInvocationExpressionHeadElement :: NullConditionalElementAccess -> NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: NullConditionalInvocationExpressionHeadMember :: NullConditionalMemberAccess -> NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: NullConditionalMemberAccess :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> [DependentAccess] -> NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: NullConditionalProjectionInitializer :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: NumericTypeDecimal :: NumericType
+ Hydra.Ext.Csharp.Syntax: NumericTypeFloatingPoint :: FloatingPointType -> NumericType
+ Hydra.Ext.Csharp.Syntax: NumericTypeIntegral :: IntegralType -> NumericType
+ Hydra.Ext.Csharp.Syntax: ObjectCreationExpression :: Type -> Maybe ArgumentList -> Maybe ObjectOrCollectionInitializer -> ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: ObjectOrCollectionInitializerCollection :: [ElementInitializer] -> ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: ObjectOrCollectionInitializerObject :: [MemberInitializer] -> ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: OperatorBodyBlock :: Block -> OperatorBody
+ Hydra.Ext.Csharp.Syntax: OperatorBodyEmpty :: OperatorBody
+ Hydra.Ext.Csharp.Syntax: OperatorBodyExpression :: Expression -> OperatorBody
+ Hydra.Ext.Csharp.Syntax: OperatorDeclaration :: Maybe Attributes -> [OperatorModifier] -> OperatorDeclarator -> OperatorBody -> OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: OperatorDeclaratorBinary :: BinaryOperatorDeclarator -> OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: OperatorDeclaratorConversion :: ConversionOperatorDeclarator -> OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: OperatorDeclaratorUnary :: UnaryOperatorDeclarator -> OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: OperatorModifierExtern :: OperatorModifier
+ Hydra.Ext.Csharp.Syntax: OperatorModifierPublic :: OperatorModifier
+ Hydra.Ext.Csharp.Syntax: OperatorModifierStatic :: OperatorModifier
+ Hydra.Ext.Csharp.Syntax: OperatorModifierUnsafe :: OperatorModifier
+ Hydra.Ext.Csharp.Syntax: Ordering :: Expression -> Maybe OrderingDirection -> Ordering
+ Hydra.Ext.Csharp.Syntax: OrderingDirectionAscending :: OrderingDirection
+ Hydra.Ext.Csharp.Syntax: OrderingDirectionDescending :: OrderingDirection
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorAdd :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorAnd :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorDivide :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorEqual :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorGreaterThan :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorGreaterThanOrEqual :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorLeftShift :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorLessThan :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorLessThanOrEqual :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorModulus :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorMultiply :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorNotEqual :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorOr :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorRightShift :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorSubtract :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableBinaryOperatorXor :: OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorComplement :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorDecrement :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorFalse :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorIncrement :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorMinus :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorNot :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorPlus :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: OverloadableUnaryOperatorTrue :: OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: ParameterArray :: Maybe Attributes -> ArrayType -> Identifier -> ParameterArray
+ Hydra.Ext.Csharp.Syntax: ParameterModeModifierIn :: ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: ParameterModeModifierOut :: ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: ParameterModeModifierRef :: ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: ParameterModifierMode :: ParameterModeModifier -> ParameterModifier
+ Hydra.Ext.Csharp.Syntax: ParameterModifierThis :: ParameterModifier
+ Hydra.Ext.Csharp.Syntax: PatternConstant :: Expression -> Pattern
+ Hydra.Ext.Csharp.Syntax: PatternDeclaration :: DeclarationPattern -> Pattern
+ Hydra.Ext.Csharp.Syntax: PatternVar :: Designation -> Pattern
+ Hydra.Ext.Csharp.Syntax: PointerElementAccess :: PrimaryNoArrayCreationExpression -> Expression -> PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: PointerMemberAccess :: PrimaryExpression -> Identifier -> Maybe TypeArgumentList -> PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: PointerTypePointerDepth :: Int -> PointerType
+ Hydra.Ext.Csharp.Syntax: PointerTypeValueType :: Maybe ValueType -> PointerType
+ Hydra.Ext.Csharp.Syntax: PositionalArgument :: Maybe Identifier -> AttributeArgumentExpression -> PositionalArgument
+ Hydra.Ext.Csharp.Syntax: PositionalArgumentList :: [PositionalArgument] -> PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeBool :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeByte :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeChar :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeDecimal :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeDouble :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeFloat :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeInt :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeLong :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeObject :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeSbyte :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeShort :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeString :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeUint :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeUlong :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PredefinedTypeUshort :: PredefinedType
+ Hydra.Ext.Csharp.Syntax: PrimaryConstraintClass :: PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: PrimaryConstraintClassType :: ClassType -> PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: PrimaryConstraintStruct :: PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: PrimaryConstraintUnmanaged :: PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: PrimaryExpressionArray :: ArrayCreationExpression -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryExpressionNoArray :: PrimaryNoArrayCreationExpression -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionAnonymousMethod :: AnonymousMethodExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionAnonymousObjectCreation :: Maybe MemberDeclaratorList -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionBaseAccess :: BaseAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionChecked :: Expression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionDefaultValue :: DefaultValueExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionDelegateCreation :: DelegateCreationExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionElementAccess :: ElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionInterpolatedString :: InterpolatedStringExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionInvocation :: InvocationExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionLiteral :: Literal -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionMemberAccess :: MemberAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionNameof :: NamedEntity -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionNullConditionalElementAccess :: NullConditionalElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionNullConditionalMemberAccess :: NullConditionalMemberAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionObjectCreation :: ObjectCreationExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionParenthesized :: Expression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionPointerElementAccess :: PointerElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionPointerMemberAccess :: PointerMemberAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionPostDecrement :: PrimaryExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionPostIncrement :: PrimaryExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionSimpleName :: SimpleName -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionSizeof :: UnmanagedType -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionStackalloc :: StackallocExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionThisAccess :: PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionTuple :: TupleExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionTypeof :: TypeofExpression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PrimaryNoArrayCreationExpressionUnchecked :: Expression -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: PropertyBodyBlock :: BlockPropertyBody -> PropertyBody
+ Hydra.Ext.Csharp.Syntax: PropertyBodyExpression :: Expression -> PropertyBody
+ Hydra.Ext.Csharp.Syntax: PropertyDeclarationRefReturn :: RefReturnPropertyDeclaration -> PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: PropertyDeclarationStandard :: StandardPropertyDeclaration -> PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: PropertyModifierAbstract :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierExtern :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierInternal :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierNew :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierOverride :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierPrivate :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierProtected :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierPublic :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierSealed :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierStatic :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierUnsafe :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: PropertyModifierVirtual :: PropertyModifier
+ Hydra.Ext.Csharp.Syntax: QualifiedAliasMember :: Identifier -> Identifier -> Maybe TypeArgumentList -> QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: QualifiedIdentifier :: [Identifier] -> QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: QualifiedNamespaceOrTypeName :: NamespaceOrTypeName -> Identifier -> Maybe TypeArgumentList -> QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: QueryBody :: [QueryBodyClause] -> SelectOrGroupClause -> Maybe QueryContinuation -> QueryBody
+ Hydra.Ext.Csharp.Syntax: QueryBodyClauseFrom :: FromClause -> QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: QueryBodyClauseJoin :: JoinClause -> QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: QueryBodyClauseLet :: LetClause -> QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: QueryBodyClauseOrderby :: [Ordering] -> QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: QueryBodyClauseWhere :: BooleanExpression -> QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: QueryContinuation :: Identifier -> QueryBody -> QueryContinuation
+ Hydra.Ext.Csharp.Syntax: QueryExpression :: FromClause -> QueryBody -> QueryExpression
+ Hydra.Ext.Csharp.Syntax: RankSpecifier :: Int -> RankSpecifier
+ Hydra.Ext.Csharp.Syntax: RankSpecifierArrayCreationExpression :: RankSpecifier -> ArrayInitializer -> RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: RefAccessorBodyBlock :: Block -> RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: RefAccessorBodyEmpty :: RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: RefAccessorBodyRef :: VariableReference -> RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: RefConditionalExpression :: NullCoalescingExpression -> VariableReference -> VariableReference -> RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: RefGetAccessorDeclaration :: Maybe Attributes -> Maybe AccessorModifier -> RefAccessorBody -> RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: RefIndexerBodyBlock :: RefGetAccessorDeclaration -> RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: RefIndexerBodyRef :: VariableReference -> RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: RefIndexerDeclaration :: Maybe Attributes -> [IndexerModifier] -> RefKind -> IndexerDeclarator -> RefIndexerBody -> RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: RefKindRef :: RefKind
+ Hydra.Ext.Csharp.Syntax: RefKindRefReadonly :: RefKind
+ Hydra.Ext.Csharp.Syntax: RefLocalFunctionBodyBlock :: Block -> RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: RefLocalFunctionBodyRef :: VariableReference -> RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: RefLocalFunctionDeclaration :: [RefLocalFunctionModifier] -> RefKind -> Type -> LocalFunctionHeader -> RefLocalFunctionBody -> RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: RefLocalFunctionModifierStatic :: RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: RefLocalFunctionModifierUnsafe :: RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: RefLocalVariableDeclaration :: RefKind -> Type -> [RefLocalVariableDeclarator] -> RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: RefLocalVariableDeclarator :: Identifier -> VariableReference -> RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: RefMethodBodyBlock :: Block -> RefMethodBody
+ Hydra.Ext.Csharp.Syntax: RefMethodBodyEmpty :: RefMethodBody
+ Hydra.Ext.Csharp.Syntax: RefMethodBodyRef :: VariableReference -> RefMethodBody
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierAbstract :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierExtern :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierInternal :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierNew :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierOverride :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierPrivate :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierProtected :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierPublic :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierSealed :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierStatic :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierUnsafe :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefMethodModifierVirtual :: RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: RefPropertyBodyBlock :: RefGetAccessorDeclaration -> RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: RefPropertyBodyRef :: VariableReference -> RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: RefReturnMethodDeclaration :: Maybe Attributes -> [RefMethodModifier] -> RefKind -> ReturnType -> MethodHeader -> RefMethodBody -> RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: RefReturnPropertyDeclaration :: Maybe Attributes -> [PropertyModifier] -> RefKind -> Type -> MemberName -> RefPropertyBody -> RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: RefVarImplicitlyTypedLocalVariableDeclaration :: RefKind -> RefLocalVariableDeclarator -> RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: ReferenceTypeArray :: ArrayType -> ReferenceType
+ Hydra.Ext.Csharp.Syntax: ReferenceTypeClass :: ClassType -> ReferenceType
+ Hydra.Ext.Csharp.Syntax: ReferenceTypeDelegate :: DelegateType -> ReferenceType
+ Hydra.Ext.Csharp.Syntax: ReferenceTypeDynamic :: ReferenceType
+ Hydra.Ext.Csharp.Syntax: ReferenceTypeInterface :: InterfaceType -> ReferenceType
+ Hydra.Ext.Csharp.Syntax: RegularInterpolation :: Expression -> Maybe Expression -> Maybe String -> RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: RelationalExpressionAsType :: AsTypeExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: RelationalExpressionBinary :: BinaryRelationalExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: RelationalExpressionIsPattern :: IsPatternExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: RelationalExpressionIsType :: IsTypeExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: RelationalExpressionSimple :: ShiftExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: RelationalOperatorGreaterThan :: RelationalOperator
+ Hydra.Ext.Csharp.Syntax: RelationalOperatorGreaterThanOrEqual :: RelationalOperator
+ Hydra.Ext.Csharp.Syntax: RelationalOperatorLessThan :: RelationalOperator
+ Hydra.Ext.Csharp.Syntax: RelationalOperatorLessThanOrEqual :: RelationalOperator
+ Hydra.Ext.Csharp.Syntax: ResourceAcquisitionExpression :: Expression -> ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: ResourceAcquisitionLocal :: LocalVariableDeclaration -> ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: ReturnStatementRef :: VariableReference -> ReturnStatement
+ Hydra.Ext.Csharp.Syntax: ReturnStatementSimple :: ReturnStatement
+ Hydra.Ext.Csharp.Syntax: ReturnStatementValue :: Expression -> ReturnStatement
+ Hydra.Ext.Csharp.Syntax: ReturnTypeRef :: Type -> ReturnType
+ Hydra.Ext.Csharp.Syntax: ReturnTypeVoid :: ReturnType
+ Hydra.Ext.Csharp.Syntax: SecondaryConstraintInterface :: InterfaceType -> SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: SecondaryConstraintParameter :: TypeParameter -> SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: SecondaryConstraints :: [SecondaryConstraint] -> SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: SelectOrGroupClauseGroup :: GroupClause -> SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: SelectOrGroupClauseSelect :: Expression -> SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: SelectionStatementIf :: IfStatement -> SelectionStatement
+ Hydra.Ext.Csharp.Syntax: SelectionStatementSwitch :: SwitchStatement -> SelectionStatement
+ Hydra.Ext.Csharp.Syntax: ShiftExpressionBinary :: BinaryShiftExpression -> ShiftExpression
+ Hydra.Ext.Csharp.Syntax: ShiftExpressionSimple :: AdditiveExpression -> ShiftExpression
+ Hydra.Ext.Csharp.Syntax: ShiftOperatorLeft :: ShiftOperator
+ Hydra.Ext.Csharp.Syntax: ShiftOperatorRight :: ShiftOperator
+ Hydra.Ext.Csharp.Syntax: SimpleConditionalExpression :: NullCoalescingExpression -> Expression -> Expression -> SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: SimpleName :: Identifier -> Maybe TypeArgumentList -> SimpleName
+ Hydra.Ext.Csharp.Syntax: SimpleTypeBool :: SimpleType
+ Hydra.Ext.Csharp.Syntax: SimpleTypeNumeric :: NumericType -> SimpleType
+ Hydra.Ext.Csharp.Syntax: SpecificCatchClause :: Maybe ExceptionSpecifier -> Maybe BooleanExpression -> Block -> SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: StackallocExpression :: Maybe UnmanagedType -> Maybe ConstantExpression -> [Expression] -> StackallocExpression
+ Hydra.Ext.Csharp.Syntax: StandardEventDeclaration :: Maybe Attributes -> [EventModifier] -> Type -> VariableDeclarators -> StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: StandardIndexerDeclaration :: Maybe Attributes -> [IndexerModifier] -> IndexerDeclarator -> IndexerBody -> StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: StandardLocalFunctionDeclaration :: [LocalFunctionModifier] -> ReturnType -> LocalFunctionHeader -> LocalFunctionBody -> StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: StandardMethodDeclaration :: Maybe Attributes -> [MethodModifier] -> ReturnType -> MethodHeader -> MethodBody -> StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: StandardPropertyDeclaration :: Maybe Attributes -> [PropertyModifier] -> Type -> MemberName -> PropertyBody -> StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: StatementDeclaration :: DeclarationStatement -> Statement
+ Hydra.Ext.Csharp.Syntax: StatementEmbedded :: EmbeddedStatement -> Statement
+ Hydra.Ext.Csharp.Syntax: StatementExpressionAssignment :: Assignment -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionAwait :: UnaryExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionInvocation :: InvocationExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionList :: [StatementExpression] -> StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: StatementExpressionNullConditionalInvocation :: NullConditionalInvocationExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionObjectCreation :: ObjectCreationExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionPostDecrement :: PrimaryExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionPostIncrement :: PrimaryExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionPreDecrement :: UnaryExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementExpressionPreIncrement :: UnaryExpression -> StatementExpression
+ Hydra.Ext.Csharp.Syntax: StatementLabeled :: LabeledStatement -> Statement
+ Hydra.Ext.Csharp.Syntax: StaticConstructorBodyBlock :: Block -> StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: StaticConstructorBodyEmpty :: StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: StaticConstructorBodyExpression :: Expression -> StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: StaticConstructorDeclaration :: Maybe Attributes -> StaticConstructorModifiers -> Identifier -> StaticConstructorBody -> StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: StaticConstructorModifiers :: Bool -> Bool -> StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: StructDeclaration :: Maybe Attributes -> [StructModifier] -> Bool -> Bool -> Identifier -> Maybe TypeParameterList -> [InterfaceType] -> [TypeParameterConstraintsClause] -> [StructMemberDeclaration] -> StructDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationConstant :: ConstantDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationConstructor :: ConstructorDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationEvent :: EventDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationField :: FieldDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationFixedSizeBuffer :: FixedSizeBufferDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationIndexer :: IndexerDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationMethod :: MethodDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationOperator :: OperatorDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationProperty :: PropertyDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationStaticConstructor :: StaticConstructorDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructMemberDeclarationType :: TypeDeclaration -> StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: StructModifierInternal :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierNew :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierPrivate :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierProtected :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierPublic :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierReadonly :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructModifierUnsafe :: StructModifier
+ Hydra.Ext.Csharp.Syntax: StructOrEnumTypeEnum :: EnumType -> StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: StructOrEnumTypeStruct :: StructType -> StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: StructTypeSimple :: SimpleType -> StructType
+ Hydra.Ext.Csharp.Syntax: StructTypeTuple :: TupleType -> StructType
+ Hydra.Ext.Csharp.Syntax: StructTypeTypeName :: TypeName -> StructType
+ Hydra.Ext.Csharp.Syntax: SwitchBranch :: Pattern -> Maybe Expression -> SwitchBranch
+ Hydra.Ext.Csharp.Syntax: SwitchLabelBranch :: SwitchBranch -> SwitchLabel
+ Hydra.Ext.Csharp.Syntax: SwitchLabelDefault :: SwitchLabel
+ Hydra.Ext.Csharp.Syntax: SwitchSection :: [SwitchLabel] -> [Statement] -> SwitchSection
+ Hydra.Ext.Csharp.Syntax: SwitchStatement :: Expression -> [SwitchSection] -> SwitchStatement
+ Hydra.Ext.Csharp.Syntax: TryStatement :: Block -> CatchClauses -> Maybe Block -> TryStatement
+ Hydra.Ext.Csharp.Syntax: TupleElement :: Maybe Identifier -> Expression -> TupleElement
+ Hydra.Ext.Csharp.Syntax: TupleExpressionDeconstruction :: DeconstructionTuple -> TupleExpression
+ Hydra.Ext.Csharp.Syntax: TupleExpressionElements :: [TupleElement] -> TupleExpression
+ Hydra.Ext.Csharp.Syntax: TupleType :: [TupleTypeElement] -> TupleType
+ Hydra.Ext.Csharp.Syntax: TupleTypeElement :: Type -> Maybe Identifier -> TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: TypeArgumentList :: [Type] -> TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: TypeDeclarationClass :: ClassDeclaration -> TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: TypeDeclarationDelegate :: DelegateDeclaration -> TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: TypeDeclarationEnum :: EnumDeclaration -> TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: TypeDeclarationInterface :: InterfaceDeclaration -> TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: TypeDeclarationStruct :: StructDeclaration -> TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: TypeName :: NamespaceOrTypeName -> TypeName
+ Hydra.Ext.Csharp.Syntax: TypeParam :: TypeParameter -> Type
+ Hydra.Ext.Csharp.Syntax: TypeParameter :: Identifier -> TypeParameter
+ Hydra.Ext.Csharp.Syntax: TypeParameterConstraints :: Maybe PrimaryConstraint -> Maybe SecondaryConstraints -> Bool -> TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: TypeParameterConstraintsClause :: TypeParameter -> [TypeParameterConstraints] -> TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: TypeParameterList :: [TypeParameterPart] -> TypeParameterList
+ Hydra.Ext.Csharp.Syntax: TypeParameterPart :: Maybe Attributes -> TypeParameter -> TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: TypePointer :: PointerType -> Type
+ Hydra.Ext.Csharp.Syntax: TypeReference :: ReferenceType -> Type
+ Hydra.Ext.Csharp.Syntax: TypeValue :: ValueType -> Type
+ Hydra.Ext.Csharp.Syntax: TypeofExpressionType :: Type -> TypeofExpression
+ Hydra.Ext.Csharp.Syntax: TypeofExpressionUnboundTypeName :: UnboundTypeName -> TypeofExpression
+ Hydra.Ext.Csharp.Syntax: TypeofExpressionVoid :: TypeofExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionAddressOf :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionAwait :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionBitwiseComplement :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionCast :: CastExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionMinus :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionNot :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionPlus :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionPointerIndirection :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionPreDecrement :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionPreIncrement :: UnaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryExpressionPrimary :: PrimaryExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: UnaryOperatorDeclarator :: Type -> OverloadableUnaryOperator -> FixedParameter -> UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: UnboundTypeName :: [UnboundTypeNamePart] -> UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: UnboundTypeNamePart :: Identifier -> Bool -> Maybe Int -> UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: UnmanagedTypePointer :: PointerType -> UnmanagedType
+ Hydra.Ext.Csharp.Syntax: UnmanagedTypeValue :: ValueType -> UnmanagedType
+ Hydra.Ext.Csharp.Syntax: UsingAliasDirective :: Identifier -> NamespaceOrTypeName -> UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: UsingDirectiveAlias :: UsingAliasDirective -> UsingDirective
+ Hydra.Ext.Csharp.Syntax: UsingDirectiveNamespace :: NamespaceName -> UsingDirective
+ Hydra.Ext.Csharp.Syntax: UsingDirectiveStatic :: TypeName -> UsingDirective
+ Hydra.Ext.Csharp.Syntax: UsingStatement :: ResourceAcquisition -> EmbeddedStatement -> UsingStatement
+ Hydra.Ext.Csharp.Syntax: ValueTypeNonNullable :: StructOrEnumType -> ValueType
+ Hydra.Ext.Csharp.Syntax: ValueTypeNullable :: StructOrEnumType -> ValueType
+ Hydra.Ext.Csharp.Syntax: VariableDeclarator :: Identifier -> Maybe VariableInitializer -> VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: VariableDeclarators :: [VariableDeclarator] -> VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: VariableInitializerArray :: ArrayInitializer -> VariableInitializer
+ Hydra.Ext.Csharp.Syntax: VariableInitializerExpression :: Expression -> VariableInitializer
+ Hydra.Ext.Csharp.Syntax: VariableReference :: Expression -> VariableReference
+ Hydra.Ext.Csharp.Syntax: VarianceAnnotationIn :: VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: VarianceAnnotationOut :: VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: VariantTypeParameter :: Maybe Attributes -> Maybe VarianceAnnotation -> TypeParameter -> VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: VariantTypeParameters :: [VariantTypeParameter] -> VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: VerbatimInterpolation :: Expression -> Maybe ConstantExpression -> Maybe String -> VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: WhileStatement :: BooleanExpression -> EmbeddedStatement -> WhileStatement
+ Hydra.Ext.Csharp.Syntax: YieldStatementBreak :: YieldStatement
+ Hydra.Ext.Csharp.Syntax: YieldStatementReturn :: Expression -> YieldStatement
+ Hydra.Ext.Csharp.Syntax: [accessorDeclarationAttributes] :: AccessorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [accessorDeclarationBody] :: AccessorDeclaration -> AccessorBody
+ Hydra.Ext.Csharp.Syntax: [accessorDeclarationModifier] :: AccessorDeclaration -> Maybe AccessorModifier
+ Hydra.Ext.Csharp.Syntax: [accessorsEventDeclarationAccessors] :: AccessorsEventDeclaration -> EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: [accessorsEventDeclarationAttributes] :: AccessorsEventDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [accessorsEventDeclarationModifiers] :: AccessorsEventDeclaration -> [EventModifier]
+ Hydra.Ext.Csharp.Syntax: [accessorsEventDeclarationName] :: AccessorsEventDeclaration -> MemberName
+ Hydra.Ext.Csharp.Syntax: [accessorsEventDeclarationType] :: AccessorsEventDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [addRemoveAccessorDeclarationAttributes] :: AddRemoveAccessorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [addRemoveAccessorDeclarationBody] :: AddRemoveAccessorDeclaration -> Block
+ Hydra.Ext.Csharp.Syntax: [anonymousMethodExpressionAsync] :: AnonymousMethodExpression -> Bool
+ Hydra.Ext.Csharp.Syntax: [anonymousMethodExpressionBody] :: AnonymousMethodExpression -> Block
+ Hydra.Ext.Csharp.Syntax: [anonymousMethodExpressionSignature] :: AnonymousMethodExpression -> [ExplicitAnonymousFunctionParameter]
+ Hydra.Ext.Csharp.Syntax: [argumentName] :: Argument -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [argumentValue] :: Argument -> ArgumentValue
+ Hydra.Ext.Csharp.Syntax: [arrayTypeArrayCreationExpressionInitializer] :: ArrayTypeArrayCreationExpression -> ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: [arrayTypeArrayCreationExpressionType] :: ArrayTypeArrayCreationExpression -> ArrayType
+ Hydra.Ext.Csharp.Syntax: [arrayTypeRank] :: ArrayType -> [RankSpecifier]
+ Hydra.Ext.Csharp.Syntax: [arrayTypeType] :: ArrayType -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: [asTypeExpressionExpression] :: AsTypeExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: [asTypeExpressionType] :: AsTypeExpression -> Type
+ Hydra.Ext.Csharp.Syntax: [assignmentLeft] :: Assignment -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: [assignmentMemberDeclaratorExpression] :: AssignmentMemberDeclarator -> Expression
+ Hydra.Ext.Csharp.Syntax: [assignmentMemberDeclaratorIdentifier] :: AssignmentMemberDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [assignmentOperator] :: Assignment -> AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: [assignmentRight] :: Assignment -> Expression
+ Hydra.Ext.Csharp.Syntax: [attributeArgumentsNamed] :: AttributeArguments -> Maybe NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: [attributeArgumentsPositonal] :: AttributeArguments -> Maybe PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: [attributeArguments] :: Attribute -> Maybe AttributeArguments
+ Hydra.Ext.Csharp.Syntax: [attributeName] :: Attribute -> AttributeName
+ Hydra.Ext.Csharp.Syntax: [attributeSectionAttributes] :: AttributeSection -> AttributeList
+ Hydra.Ext.Csharp.Syntax: [attributeSectionTarget] :: AttributeSection -> Maybe AttributeTarget
+ Hydra.Ext.Csharp.Syntax: [baseAccessWithIdentifierIdentifier] :: BaseAccessWithIdentifier -> Identifier
+ Hydra.Ext.Csharp.Syntax: [baseAccessWithIdentifierTypeArguments] :: BaseAccessWithIdentifier -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [binaryAdditiveExpressionLeft] :: BinaryAdditiveExpression -> AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: [binaryAdditiveExpressionOperator] :: BinaryAdditiveExpression -> AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: [binaryAdditiveExpressionRight] :: BinaryAdditiveExpression -> MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: [binaryAndExpressionLeft] :: BinaryAndExpression -> AndExpression
+ Hydra.Ext.Csharp.Syntax: [binaryAndExpressionRight] :: BinaryAndExpression -> EqualityExpression
+ Hydra.Ext.Csharp.Syntax: [binaryConditionalAndExpressionLeft] :: BinaryConditionalAndExpression -> ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: [binaryConditionalAndExpressionRight] :: BinaryConditionalAndExpression -> InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryConditionalOrExpressionLeft] :: BinaryConditionalOrExpression -> ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryConditionalOrExpressionRight] :: BinaryConditionalOrExpression -> ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: [binaryEqualityExpressionLeft] :: BinaryEqualityExpression -> EqualityExpression
+ Hydra.Ext.Csharp.Syntax: [binaryEqualityExpressionOperator] :: BinaryEqualityExpression -> EqualityOperator
+ Hydra.Ext.Csharp.Syntax: [binaryEqualityExpressionRight] :: BinaryEqualityExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: [binaryExclusiveOrExpressionLeft] :: BinaryExclusiveOrExpression -> ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryExclusiveOrExpressionRight] :: BinaryExclusiveOrExpression -> AndExpression
+ Hydra.Ext.Csharp.Syntax: [binaryInclusiveOrExpressionLeft] :: BinaryInclusiveOrExpression -> InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryInclusiveOrExpressionRight] :: BinaryInclusiveOrExpression -> ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryMultiplicativeExpressionLeft] :: BinaryMultiplicativeExpression -> MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: [binaryMultiplicativeExpressionOperator] :: BinaryMultiplicativeExpression -> MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: [binaryMultiplicativeExpressionRight] :: BinaryMultiplicativeExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: [binaryNullCoalescingExpressionLeft] :: BinaryNullCoalescingExpression -> ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: [binaryNullCoalescingExpressionRight] :: BinaryNullCoalescingExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: [binaryOperatorDeclaratorLeft] :: BinaryOperatorDeclarator -> FixedParameter
+ Hydra.Ext.Csharp.Syntax: [binaryOperatorDeclaratorOperator] :: BinaryOperatorDeclarator -> OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: [binaryOperatorDeclaratorRight] :: BinaryOperatorDeclarator -> FixedParameter
+ Hydra.Ext.Csharp.Syntax: [binaryOperatorDeclaratorType] :: BinaryOperatorDeclarator -> Type
+ Hydra.Ext.Csharp.Syntax: [binaryRelationalExpressionLeft] :: BinaryRelationalExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: [binaryRelationalExpressionOperator] :: BinaryRelationalExpression -> RelationalOperator
+ Hydra.Ext.Csharp.Syntax: [binaryRelationalExpressionRight] :: BinaryRelationalExpression -> ShiftExpression
+ Hydra.Ext.Csharp.Syntax: [binaryShiftExpressionLeft] :: BinaryShiftExpression -> ShiftExpression
+ Hydra.Ext.Csharp.Syntax: [binaryShiftExpressionOperator] :: BinaryShiftExpression -> ShiftOperator
+ Hydra.Ext.Csharp.Syntax: [binaryShiftExpressionRight] :: BinaryShiftExpression -> AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: [blockPropertyBodyAccessors] :: BlockPropertyBody -> AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: [blockPropertyBodyInitializer] :: BlockPropertyBody -> Maybe VariableInitializer
+ Hydra.Ext.Csharp.Syntax: [castExpressionExpression] :: CastExpression -> UnaryExpression
+ Hydra.Ext.Csharp.Syntax: [castExpressionType] :: CastExpression -> Type
+ Hydra.Ext.Csharp.Syntax: [classDeclarationAttributes] :: ClassDeclaration -> [AttributeSection]
+ Hydra.Ext.Csharp.Syntax: [classDeclarationBase] :: ClassDeclaration -> Maybe ClassBase
+ Hydra.Ext.Csharp.Syntax: [classDeclarationBody] :: ClassDeclaration -> ClassBody
+ Hydra.Ext.Csharp.Syntax: [classDeclarationConstraints] :: ClassDeclaration -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [classDeclarationModifiers] :: ClassDeclaration -> [ClassModifier]
+ Hydra.Ext.Csharp.Syntax: [classDeclarationName] :: ClassDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [classDeclarationParameters] :: ClassDeclaration -> Maybe TypeParameterList
+ Hydra.Ext.Csharp.Syntax: [classDeclarationPartial] :: ClassDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [compilationUnitAttributes] :: CompilationUnit -> [GlobalAttributeSection]
+ Hydra.Ext.Csharp.Syntax: [compilationUnitExterns] :: CompilationUnit -> [ExternAliasDirective]
+ Hydra.Ext.Csharp.Syntax: [compilationUnitMembers] :: CompilationUnit -> [NamespaceMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [compilationUnitUsings] :: CompilationUnit -> [UsingDirective]
+ Hydra.Ext.Csharp.Syntax: [constantDeclarationAttributes] :: ConstantDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [constantDeclarationDeclarators] :: ConstantDeclaration -> [ConstantDeclarator]
+ Hydra.Ext.Csharp.Syntax: [constantDeclarationModifiers] :: ConstantDeclaration -> [ConstantModifier]
+ Hydra.Ext.Csharp.Syntax: [constantDeclarationType] :: ConstantDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [constantDeclaratorExpression] :: ConstantDeclarator -> ConstantExpression
+ Hydra.Ext.Csharp.Syntax: [constantDeclaratorIdentifier] :: ConstantDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [constructorDeclarationAttributes] :: ConstructorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [constructorDeclarationBody] :: ConstructorDeclaration -> ConstructorBody
+ Hydra.Ext.Csharp.Syntax: [constructorDeclarationDeclarator] :: ConstructorDeclaration -> ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: [constructorDeclarationModifiers] :: ConstructorDeclaration -> [ConstructorModifier]
+ Hydra.Ext.Csharp.Syntax: [constructorDeclaratorInitializer] :: ConstructorDeclarator -> Maybe ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: [constructorDeclaratorName] :: ConstructorDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [constructorDeclaratorParameters] :: ConstructorDeclarator -> Maybe FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [conversionOperatorDeclaratorKind] :: ConversionOperatorDeclarator -> ConversionKind
+ Hydra.Ext.Csharp.Syntax: [conversionOperatorDeclaratorParameter] :: ConversionOperatorDeclarator -> FixedParameter
+ Hydra.Ext.Csharp.Syntax: [conversionOperatorDeclaratorType] :: ConversionOperatorDeclarator -> Type
+ Hydra.Ext.Csharp.Syntax: [declarationExpressionIdentifier] :: DeclarationExpression -> Identifier
+ Hydra.Ext.Csharp.Syntax: [declarationExpressionType] :: DeclarationExpression -> LocalVariableType
+ Hydra.Ext.Csharp.Syntax: [declarationPatternDesignation] :: DeclarationPattern -> Designation
+ Hydra.Ext.Csharp.Syntax: [declarationPatternType] :: DeclarationPattern -> Type
+ Hydra.Ext.Csharp.Syntax: [delegateCreationExpressionExpression] :: DelegateCreationExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: [delegateCreationExpressionType] :: DelegateCreationExpression -> DelegateType
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationAttributes] :: DelegateDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationHeader] :: DelegateDeclaration -> DelegateHeader
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationModifiers] :: DelegateDeclaration -> [DelegateModifier]
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationRefKind] :: DelegateDeclaration -> Maybe RefKind
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationRefReturnType] :: DelegateDeclaration -> Maybe Type
+ Hydra.Ext.Csharp.Syntax: [delegateDeclarationReturnType] :: DelegateDeclaration -> ReturnType
+ Hydra.Ext.Csharp.Syntax: [delegateHeaderConstraints] :: DelegateHeader -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [delegateHeaderName] :: DelegateHeader -> Identifier
+ Hydra.Ext.Csharp.Syntax: [delegateHeaderParameters] :: DelegateHeader -> Maybe FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [delegateHeaderTypeParameters] :: DelegateHeader -> Maybe VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: [dependentAccessForMemberIdentifier] :: DependentAccessForMember -> Identifier
+ Hydra.Ext.Csharp.Syntax: [dependentAccessForMemberTypeArguments] :: DependentAccessForMember -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [doStatementBody] :: DoStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [doStatementWhile] :: DoStatement -> BooleanExpression
+ Hydra.Ext.Csharp.Syntax: [elementAccessArguments] :: ElementAccess -> ArgumentList
+ Hydra.Ext.Csharp.Syntax: [elementAccessExpression] :: ElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: [enumDeclarationAttributes] :: EnumDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [enumDeclarationBase] :: EnumDeclaration -> Maybe EnumBase
+ Hydra.Ext.Csharp.Syntax: [enumDeclarationBody] :: EnumDeclaration -> Maybe EnumBody
+ Hydra.Ext.Csharp.Syntax: [enumDeclarationModifiers] :: EnumDeclaration -> [EnumModifier]
+ Hydra.Ext.Csharp.Syntax: [enumDeclarationName] :: EnumDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [enumMemberDeclarationAttributes] :: EnumMemberDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [enumMemberDeclarationName] :: EnumMemberDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [enumMemberDeclarationValue] :: EnumMemberDeclaration -> Maybe ConstantExpression
+ Hydra.Ext.Csharp.Syntax: [exceptionSpecifierIdentifier] :: ExceptionSpecifier -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [exceptionSpecifierType] :: ExceptionSpecifier -> Type
+ Hydra.Ext.Csharp.Syntax: [explicitAnonymousFunctionParameterIdentifier] :: ExplicitAnonymousFunctionParameter -> Identifier
+ Hydra.Ext.Csharp.Syntax: [explicitAnonymousFunctionParameterModifier] :: ExplicitAnonymousFunctionParameter -> Maybe AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: [explicitAnonymousFunctionParameterType] :: ExplicitAnonymousFunctionParameter -> Type
+ Hydra.Ext.Csharp.Syntax: [explicitlyTypedLocalVariableDeclarationDeclarators] :: ExplicitlyTypedLocalVariableDeclaration -> [ExplicitlyTypedLocalVariableDeclarator]
+ Hydra.Ext.Csharp.Syntax: [explicitlyTypedLocalVariableDeclarationType] :: ExplicitlyTypedLocalVariableDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [explicitlyTypedLocalVariableDeclaratorIdentifier] :: ExplicitlyTypedLocalVariableDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [explicitlyTypedLocalVariableDeclaratorInitializer] :: ExplicitlyTypedLocalVariableDeclarator -> Maybe LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: [fieldDeclarationAttributes] :: FieldDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [fieldDeclarationDeclarators] :: FieldDeclaration -> [VariableDeclarator]
+ Hydra.Ext.Csharp.Syntax: [fieldDeclarationModifiers] :: FieldDeclaration -> [FieldModifier]
+ Hydra.Ext.Csharp.Syntax: [fieldDeclarationType] :: FieldDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [finalizerDeclarationAttributes] :: FinalizerDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [finalizerDeclarationBody] :: FinalizerDeclaration -> FinalizerBody
+ Hydra.Ext.Csharp.Syntax: [finalizerDeclarationExtern] :: FinalizerDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [finalizerDeclarationName] :: FinalizerDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [finalizerDeclarationUnsafe] :: FinalizerDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [fixedParameterAttributes] :: FixedParameter -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [fixedParameterDefaultArgument] :: FixedParameter -> Maybe Expression
+ Hydra.Ext.Csharp.Syntax: [fixedParameterIdentifier] :: FixedParameter -> Identifier
+ Hydra.Ext.Csharp.Syntax: [fixedParameterModifier] :: FixedParameter -> Maybe ParameterModifier
+ Hydra.Ext.Csharp.Syntax: [fixedParameterType] :: FixedParameter -> Type
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclarationAttributes] :: FixedSizeBufferDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclarationDeclarators] :: FixedSizeBufferDeclaration -> [FixedSizeBufferDeclarator]
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclarationElementType] :: FixedSizeBufferDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclarationModifiers] :: FixedSizeBufferDeclaration -> [FixedSizeBufferModifier]
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclaratorName] :: FixedSizeBufferDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [fixedSizeBufferDeclaratorSize] :: FixedSizeBufferDeclarator -> ConstantExpression
+ Hydra.Ext.Csharp.Syntax: [fixedStatementDeclarators] :: FixedStatement -> [FixedPointerDeclarator]
+ Hydra.Ext.Csharp.Syntax: [fixedStatementPointerType] :: FixedStatement -> PointerType
+ Hydra.Ext.Csharp.Syntax: [fixedStatementStatement] :: FixedStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [forStatementBody] :: ForStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [forStatementCondition] :: ForStatement -> Maybe BooleanExpression
+ Hydra.Ext.Csharp.Syntax: [forStatementInitializer] :: ForStatement -> Maybe ForInitializer
+ Hydra.Ext.Csharp.Syntax: [forStatementIterator] :: ForStatement -> Maybe StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: [foreachStatementBody] :: ForeachStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [foreachStatementExpression] :: ForeachStatement -> Expression
+ Hydra.Ext.Csharp.Syntax: [foreachStatementIdentifier] :: ForeachStatement -> Identifier
+ Hydra.Ext.Csharp.Syntax: [foreachStatementKind] :: ForeachStatement -> Maybe RefKind
+ Hydra.Ext.Csharp.Syntax: [foreachStatementType] :: ForeachStatement -> LocalVariableType
+ Hydra.Ext.Csharp.Syntax: [formalParameterListArray] :: FormalParameterList -> Maybe ParameterArray
+ Hydra.Ext.Csharp.Syntax: [formalParameterListFixed] :: FormalParameterList -> [FixedParameter]
+ Hydra.Ext.Csharp.Syntax: [fromClauseIdentifier] :: FromClause -> Identifier
+ Hydra.Ext.Csharp.Syntax: [fromClauseIn] :: FromClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [fromClauseType] :: FromClause -> Maybe Type
+ Hydra.Ext.Csharp.Syntax: [globalAttributeSectionAttributes] :: GlobalAttributeSection -> AttributeList
+ Hydra.Ext.Csharp.Syntax: [globalAttributeSectionTarget] :: GlobalAttributeSection -> Identifier
+ Hydra.Ext.Csharp.Syntax: [groupClauseBy] :: GroupClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [groupClauseGrouped] :: GroupClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [identifierNamespaceOrTypeNameArguments] :: IdentifierNamespaceOrTypeName -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [identifierNamespaceOrTypeNameIdentifier] :: IdentifierNamespaceOrTypeName -> Identifier
+ Hydra.Ext.Csharp.Syntax: [ifStatementCondition] :: IfStatement -> BooleanExpression
+ Hydra.Ext.Csharp.Syntax: [ifStatementElseBranch] :: IfStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [ifStatementIfBranch] :: IfStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [implicitlyTypedLocalVariableDeclaratorExpression] :: ImplicitlyTypedLocalVariableDeclarator -> Expression
+ Hydra.Ext.Csharp.Syntax: [implicitlyTypedLocalVariableDeclaratorIdentifier] :: ImplicitlyTypedLocalVariableDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [indexerDeclaratorInterface] :: IndexerDeclarator -> Maybe InterfaceType
+ Hydra.Ext.Csharp.Syntax: [indexerDeclaratorParameters] :: IndexerDeclarator -> FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [indexerDeclaratorType] :: IndexerDeclarator -> Type
+ Hydra.Ext.Csharp.Syntax: [interfaceAccessorsAttributes] :: InterfaceAccessors -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceAccessorsGet] :: InterfaceAccessors -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceAccessorsSet] :: InterfaceAccessors -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationAttributes] :: InterfaceDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationBase] :: InterfaceDeclaration -> [InterfaceType]
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationBody] :: InterfaceDeclaration -> [InterfaceMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationConstraints] :: InterfaceDeclaration -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationModifiers] :: InterfaceDeclaration -> [InterfaceModifier]
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationName] :: InterfaceDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationParameters] :: InterfaceDeclaration -> Maybe VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: [interfaceDeclarationPartial] :: InterfaceDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [interfaceEventDeclarationAttributes] :: InterfaceEventDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceEventDeclarationName] :: InterfaceEventDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [interfaceEventDeclarationNew] :: InterfaceEventDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [interfaceEventDeclarationType] :: InterfaceEventDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationAccessors] :: InterfaceIndexerDeclaration -> InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationAttributes] :: InterfaceIndexerDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationNew] :: InterfaceIndexerDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationParameters] :: InterfaceIndexerDeclaration -> FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationRefKind] :: InterfaceIndexerDeclaration -> Maybe RefKind
+ Hydra.Ext.Csharp.Syntax: [interfaceIndexerDeclarationType] :: InterfaceIndexerDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodDeclarationAttributes] :: InterfaceMethodDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodDeclarationHeader] :: InterfaceMethodDeclaration -> InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodDeclarationNew] :: InterfaceMethodDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodDeclarationRefKind] :: InterfaceMethodDeclaration -> Maybe RefKind
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodDeclarationReturnType] :: InterfaceMethodDeclaration -> ReturnType
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodHeaderConstraints] :: InterfaceMethodHeader -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodHeaderName] :: InterfaceMethodHeader -> Identifier
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodHeaderParameters] :: InterfaceMethodHeader -> Maybe FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [interfaceMethodHeaderTypeParameters] :: InterfaceMethodHeader -> Maybe TypeParameterList
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationAccessors] :: InterfacePropertyDeclaration -> InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationAttributes] :: InterfacePropertyDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationName] :: InterfacePropertyDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationNew] :: InterfacePropertyDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationRefKind] :: InterfacePropertyDeclaration -> Maybe RefKind
+ Hydra.Ext.Csharp.Syntax: [interfacePropertyDeclarationType] :: InterfacePropertyDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [invocationExpressionArguments] :: InvocationExpression -> Maybe ArgumentList
+ Hydra.Ext.Csharp.Syntax: [invocationExpressionExpression] :: InvocationExpression -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: [isPatternExpressionExpression] :: IsPatternExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: [isPatternExpressionPattern] :: IsPatternExpression -> Pattern
+ Hydra.Ext.Csharp.Syntax: [isTypeExpressionExpression] :: IsTypeExpression -> RelationalExpression
+ Hydra.Ext.Csharp.Syntax: [isTypeExpressionType] :: IsTypeExpression -> Type
+ Hydra.Ext.Csharp.Syntax: [joinClauseEquals] :: JoinClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [joinClauseIdentifier] :: JoinClause -> Identifier
+ Hydra.Ext.Csharp.Syntax: [joinClauseIn] :: JoinClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [joinClauseInto] :: JoinClause -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [joinClauseOn] :: JoinClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [joinClauseType] :: JoinClause -> Maybe Type
+ Hydra.Ext.Csharp.Syntax: [labeledStatementLabel] :: LabeledStatement -> Identifier
+ Hydra.Ext.Csharp.Syntax: [labeledStatementStatement] :: LabeledStatement -> Statement
+ Hydra.Ext.Csharp.Syntax: [lambdaExpressionAsync] :: LambdaExpression -> Bool
+ Hydra.Ext.Csharp.Syntax: [lambdaExpressionBody] :: LambdaExpression -> AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: [lambdaExpressionSignature] :: LambdaExpression -> AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: [letClauseLeft] :: LetClause -> Identifier
+ Hydra.Ext.Csharp.Syntax: [letClauseRight] :: LetClause -> Expression
+ Hydra.Ext.Csharp.Syntax: [localConstantDeclarationDeclarators] :: LocalConstantDeclaration -> [ConstantDeclarator]
+ Hydra.Ext.Csharp.Syntax: [localConstantDeclarationType] :: LocalConstantDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [localFunctionHeaderConstraints] :: LocalFunctionHeader -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [localFunctionHeaderIdentifier] :: LocalFunctionHeader -> Identifier
+ Hydra.Ext.Csharp.Syntax: [localFunctionHeaderParameters] :: LocalFunctionHeader -> FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [localFunctionHeaderTypeParameters] :: LocalFunctionHeader -> Maybe TypeParameterList
+ Hydra.Ext.Csharp.Syntax: [lockStatementBody] :: LockStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [lockStatementExpression] :: LockStatement -> Expression
+ Hydra.Ext.Csharp.Syntax: [memberAccessHead] :: MemberAccess -> MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: [memberAccessIdentifier] :: MemberAccess -> Identifier
+ Hydra.Ext.Csharp.Syntax: [memberAccessTypeArguments] :: MemberAccess -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [memberInitializerTarget] :: MemberInitializer -> InitializerTarget
+ Hydra.Ext.Csharp.Syntax: [memberInitializerValue] :: MemberInitializer -> InitializerValue
+ Hydra.Ext.Csharp.Syntax: [memberNameIdentifier] :: MemberName -> Identifier
+ Hydra.Ext.Csharp.Syntax: [memberNameInterfaceType] :: MemberName -> Maybe TypeName
+ Hydra.Ext.Csharp.Syntax: [methodHeaderConstraints] :: MethodHeader -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [methodHeaderName] :: MethodHeader -> MemberName
+ Hydra.Ext.Csharp.Syntax: [methodHeaderParameters] :: MethodHeader -> Maybe FormalParameterList
+ Hydra.Ext.Csharp.Syntax: [methodHeaderTypeParameters] :: MethodHeader -> Maybe TypeParameterList
+ Hydra.Ext.Csharp.Syntax: [methodModifiersModifiers] :: MethodModifiers -> [MethodModifier]
+ Hydra.Ext.Csharp.Syntax: [methodModifiersPartial] :: MethodModifiers -> Bool
+ Hydra.Ext.Csharp.Syntax: [namedArgumentName] :: NamedArgument -> Identifier
+ Hydra.Ext.Csharp.Syntax: [namedArgumentValue] :: NamedArgument -> AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: [namedEntityPartIdentifier] :: NamedEntityPart -> Identifier
+ Hydra.Ext.Csharp.Syntax: [namedEntityPartTypeArguments] :: NamedEntityPart -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [namedEntityParts] :: NamedEntity -> [NamedEntityPart]
+ Hydra.Ext.Csharp.Syntax: [namedEntityTarget] :: NamedEntity -> NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: [namespaceBodyExterns] :: NamespaceBody -> [ExternAliasDirective]
+ Hydra.Ext.Csharp.Syntax: [namespaceBodyMembers] :: NamespaceBody -> [NamespaceMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [namespaceBodyUsings] :: NamespaceBody -> [UsingDirective]
+ Hydra.Ext.Csharp.Syntax: [namespaceDeclarationBody] :: NamespaceDeclaration -> NamespaceBody
+ Hydra.Ext.Csharp.Syntax: [namespaceDeclarationName] :: NamespaceDeclaration -> QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionExpressions] :: NonArrayTypeArrayCreationExpression -> ExpressionList
+ Hydra.Ext.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionInitializer] :: NonArrayTypeArrayCreationExpression -> Maybe ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionRankSpecifiers] :: NonArrayTypeArrayCreationExpression -> [RankSpecifier]
+ Hydra.Ext.Csharp.Syntax: [nonArrayTypeArrayCreationExpressionType] :: NonArrayTypeArrayCreationExpression -> NonArrayType
+ Hydra.Ext.Csharp.Syntax: [nullConditionalElementAccessArguments] :: NullConditionalElementAccess -> ArgumentList
+ Hydra.Ext.Csharp.Syntax: [nullConditionalElementAccessDependentAccess] :: NullConditionalElementAccess -> [DependentAccess]
+ Hydra.Ext.Csharp.Syntax: [nullConditionalElementAccessExpression] :: NullConditionalElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: [nullConditionalInvocationExpressionArguments] :: NullConditionalInvocationExpression -> Maybe ArgumentList
+ Hydra.Ext.Csharp.Syntax: [nullConditionalInvocationExpressionHead] :: NullConditionalInvocationExpression -> NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: [nullConditionalMemberAccessDependentAccess] :: NullConditionalMemberAccess -> [DependentAccess]
+ Hydra.Ext.Csharp.Syntax: [nullConditionalMemberAccessExpression] :: NullConditionalMemberAccess -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: [nullConditionalMemberAccessIdentifier] :: NullConditionalMemberAccess -> Identifier
+ Hydra.Ext.Csharp.Syntax: [nullConditionalMemberAccessTypeArguments] :: NullConditionalMemberAccess -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [nullConditionalProjectionInitializerExpression] :: NullConditionalProjectionInitializer -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: [nullConditionalProjectionInitializerIdentifier] :: NullConditionalProjectionInitializer -> Identifier
+ Hydra.Ext.Csharp.Syntax: [nullConditionalProjectionInitializerTypeArguments] :: NullConditionalProjectionInitializer -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [objectCreationExpressionArguments] :: ObjectCreationExpression -> Maybe ArgumentList
+ Hydra.Ext.Csharp.Syntax: [objectCreationExpressionInitializer] :: ObjectCreationExpression -> Maybe ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: [objectCreationExpressionType] :: ObjectCreationExpression -> Type
+ Hydra.Ext.Csharp.Syntax: [operatorDeclarationAttributes] :: OperatorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [operatorDeclarationBody] :: OperatorDeclaration -> OperatorBody
+ Hydra.Ext.Csharp.Syntax: [operatorDeclarationDeclarator] :: OperatorDeclaration -> OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: [operatorDeclarationModifiers] :: OperatorDeclaration -> [OperatorModifier]
+ Hydra.Ext.Csharp.Syntax: [orderingDirection] :: Ordering -> Maybe OrderingDirection
+ Hydra.Ext.Csharp.Syntax: [orderingExpression] :: Ordering -> Expression
+ Hydra.Ext.Csharp.Syntax: [parameterArrayAttributes] :: ParameterArray -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [parameterArrayIdentifier] :: ParameterArray -> Identifier
+ Hydra.Ext.Csharp.Syntax: [parameterArrayType] :: ParameterArray -> ArrayType
+ Hydra.Ext.Csharp.Syntax: [pointerElementAccessIndex] :: PointerElementAccess -> Expression
+ Hydra.Ext.Csharp.Syntax: [pointerElementAccessPointer] :: PointerElementAccess -> PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: [pointerMemberAccessMember] :: PointerMemberAccess -> Identifier
+ Hydra.Ext.Csharp.Syntax: [pointerMemberAccessPointer] :: PointerMemberAccess -> PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: [pointerMemberAccessTypeArguments] :: PointerMemberAccess -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [positionalArgumentName] :: PositionalArgument -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [positionalArgumentValue] :: PositionalArgument -> AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: [qualifiedAliasMemberAlias] :: QualifiedAliasMember -> Identifier
+ Hydra.Ext.Csharp.Syntax: [qualifiedAliasMemberArguments] :: QualifiedAliasMember -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [qualifiedAliasMemberMember] :: QualifiedAliasMember -> Identifier
+ Hydra.Ext.Csharp.Syntax: [qualifiedNamespaceOrTypeNameArguments] :: QualifiedNamespaceOrTypeName -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [qualifiedNamespaceOrTypeNameIdentifier] :: QualifiedNamespaceOrTypeName -> Identifier
+ Hydra.Ext.Csharp.Syntax: [qualifiedNamespaceOrTypeNameNamespaceOrType] :: QualifiedNamespaceOrTypeName -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: [queryBodyClauses] :: QueryBody -> [QueryBodyClause]
+ Hydra.Ext.Csharp.Syntax: [queryBodyContinuation] :: QueryBody -> Maybe QueryContinuation
+ Hydra.Ext.Csharp.Syntax: [queryBodySelectOrGroup] :: QueryBody -> SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: [queryContinuationBody] :: QueryContinuation -> QueryBody
+ Hydra.Ext.Csharp.Syntax: [queryContinuationInto] :: QueryContinuation -> Identifier
+ Hydra.Ext.Csharp.Syntax: [queryExpressionBody] :: QueryExpression -> QueryBody
+ Hydra.Ext.Csharp.Syntax: [queryExpressionFrom] :: QueryExpression -> FromClause
+ Hydra.Ext.Csharp.Syntax: [rankSpecifierArrayCreationExpressionInitializer] :: RankSpecifierArrayCreationExpression -> ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: [rankSpecifierArrayCreationExpressionRankSpecifier] :: RankSpecifierArrayCreationExpression -> RankSpecifier
+ Hydra.Ext.Csharp.Syntax: [refConditionalExpressionCondition] :: RefConditionalExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: [refConditionalExpressionFalse] :: RefConditionalExpression -> VariableReference
+ Hydra.Ext.Csharp.Syntax: [refConditionalExpressionTrue] :: RefConditionalExpression -> VariableReference
+ Hydra.Ext.Csharp.Syntax: [refGetAccessorDeclarationAttributes] :: RefGetAccessorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [refGetAccessorDeclarationBody] :: RefGetAccessorDeclaration -> RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: [refGetAccessorDeclarationModifier] :: RefGetAccessorDeclaration -> Maybe AccessorModifier
+ Hydra.Ext.Csharp.Syntax: [refIndexerDeclarationAttributes] :: RefIndexerDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [refIndexerDeclarationBody] :: RefIndexerDeclaration -> RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: [refIndexerDeclarationDeclarator] :: RefIndexerDeclaration -> IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: [refIndexerDeclarationModifiers] :: RefIndexerDeclaration -> [IndexerModifier]
+ Hydra.Ext.Csharp.Syntax: [refIndexerDeclarationRefKind] :: RefIndexerDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [refLocalFunctionDeclarationBody] :: RefLocalFunctionDeclaration -> RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: [refLocalFunctionDeclarationHeader] :: RefLocalFunctionDeclaration -> LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: [refLocalFunctionDeclarationModifiers] :: RefLocalFunctionDeclaration -> [RefLocalFunctionModifier]
+ Hydra.Ext.Csharp.Syntax: [refLocalFunctionDeclarationRefKind] :: RefLocalFunctionDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [refLocalFunctionDeclarationReturnType] :: RefLocalFunctionDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [refLocalVariableDeclarationDeclarators] :: RefLocalVariableDeclaration -> [RefLocalVariableDeclarator]
+ Hydra.Ext.Csharp.Syntax: [refLocalVariableDeclarationRefKind] :: RefLocalVariableDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [refLocalVariableDeclarationType] :: RefLocalVariableDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [refLocalVariableDeclaratorLeft] :: RefLocalVariableDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [refLocalVariableDeclaratorRight] :: RefLocalVariableDeclarator -> VariableReference
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationAttributes] :: RefReturnMethodDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationBody] :: RefReturnMethodDeclaration -> RefMethodBody
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationHeader] :: RefReturnMethodDeclaration -> MethodHeader
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationKind] :: RefReturnMethodDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationModifiers] :: RefReturnMethodDeclaration -> [RefMethodModifier]
+ Hydra.Ext.Csharp.Syntax: [refReturnMethodDeclarationReturnType] :: RefReturnMethodDeclaration -> ReturnType
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationAttributes] :: RefReturnPropertyDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationBody] :: RefReturnPropertyDeclaration -> RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationModifiers] :: RefReturnPropertyDeclaration -> [PropertyModifier]
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationName] :: RefReturnPropertyDeclaration -> MemberName
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationRefKind] :: RefReturnPropertyDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [refReturnPropertyDeclarationType] :: RefReturnPropertyDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [refVarImplicitlyTypedLocalVariableDeclarationDeclarator] :: RefVarImplicitlyTypedLocalVariableDeclaration -> RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: [refVarImplicitlyTypedLocalVariableDeclarationRefKind] :: RefVarImplicitlyTypedLocalVariableDeclaration -> RefKind
+ Hydra.Ext.Csharp.Syntax: [regularInterpolationExpression] :: RegularInterpolation -> Expression
+ Hydra.Ext.Csharp.Syntax: [regularInterpolationFormat] :: RegularInterpolation -> Maybe String
+ Hydra.Ext.Csharp.Syntax: [regularInterpolationWidth] :: RegularInterpolation -> Maybe Expression
+ Hydra.Ext.Csharp.Syntax: [simpleConditionalExpressionCondition] :: SimpleConditionalExpression -> NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: [simpleConditionalExpressionFalse] :: SimpleConditionalExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: [simpleConditionalExpressionTrue] :: SimpleConditionalExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: [simpleNameIdentifier] :: SimpleName -> Identifier
+ Hydra.Ext.Csharp.Syntax: [simpleNameTypeArguments] :: SimpleName -> Maybe TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: [specificCatchClauseBody] :: SpecificCatchClause -> Block
+ Hydra.Ext.Csharp.Syntax: [specificCatchClauseFilter] :: SpecificCatchClause -> Maybe BooleanExpression
+ Hydra.Ext.Csharp.Syntax: [specificCatchClauseSpecifier] :: SpecificCatchClause -> Maybe ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: [stackallocExpressionExpression] :: StackallocExpression -> Maybe ConstantExpression
+ Hydra.Ext.Csharp.Syntax: [stackallocExpressionInitializer] :: StackallocExpression -> [Expression]
+ Hydra.Ext.Csharp.Syntax: [stackallocExpressionType] :: StackallocExpression -> Maybe UnmanagedType
+ Hydra.Ext.Csharp.Syntax: [standardEventDeclarationAttributes] :: StandardEventDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [standardEventDeclarationDeclarators] :: StandardEventDeclaration -> VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: [standardEventDeclarationModifiers] :: StandardEventDeclaration -> [EventModifier]
+ Hydra.Ext.Csharp.Syntax: [standardEventDeclarationType] :: StandardEventDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [standardIndexerDeclarationAttributes] :: StandardIndexerDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [standardIndexerDeclarationBody] :: StandardIndexerDeclaration -> IndexerBody
+ Hydra.Ext.Csharp.Syntax: [standardIndexerDeclarationDeclarator] :: StandardIndexerDeclaration -> IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: [standardIndexerDeclarationModifiers] :: StandardIndexerDeclaration -> [IndexerModifier]
+ Hydra.Ext.Csharp.Syntax: [standardLocalFunctionDeclarationBody] :: StandardLocalFunctionDeclaration -> LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: [standardLocalFunctionDeclarationHeader] :: StandardLocalFunctionDeclaration -> LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: [standardLocalFunctionDeclarationModifiers] :: StandardLocalFunctionDeclaration -> [LocalFunctionModifier]
+ Hydra.Ext.Csharp.Syntax: [standardLocalFunctionDeclarationReturnType] :: StandardLocalFunctionDeclaration -> ReturnType
+ Hydra.Ext.Csharp.Syntax: [standardMethodDeclarationAttributes] :: StandardMethodDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [standardMethodDeclarationBody] :: StandardMethodDeclaration -> MethodBody
+ Hydra.Ext.Csharp.Syntax: [standardMethodDeclarationHeader] :: StandardMethodDeclaration -> MethodHeader
+ Hydra.Ext.Csharp.Syntax: [standardMethodDeclarationModifiers] :: StandardMethodDeclaration -> [MethodModifier]
+ Hydra.Ext.Csharp.Syntax: [standardMethodDeclarationReturnType] :: StandardMethodDeclaration -> ReturnType
+ Hydra.Ext.Csharp.Syntax: [standardPropertyDeclarationAttributes] :: StandardPropertyDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [standardPropertyDeclarationBody] :: StandardPropertyDeclaration -> PropertyBody
+ Hydra.Ext.Csharp.Syntax: [standardPropertyDeclarationModifiers] :: StandardPropertyDeclaration -> [PropertyModifier]
+ Hydra.Ext.Csharp.Syntax: [standardPropertyDeclarationName] :: StandardPropertyDeclaration -> MemberName
+ Hydra.Ext.Csharp.Syntax: [standardPropertyDeclarationType] :: StandardPropertyDeclaration -> Type
+ Hydra.Ext.Csharp.Syntax: [staticConstructorDeclarationAttributes] :: StaticConstructorDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [staticConstructorDeclarationBody] :: StaticConstructorDeclaration -> StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: [staticConstructorDeclarationModifiers] :: StaticConstructorDeclaration -> StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: [staticConstructorDeclarationName] :: StaticConstructorDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [staticConstructorModifiersExtern] :: StaticConstructorModifiers -> Bool
+ Hydra.Ext.Csharp.Syntax: [staticConstructorModifiersUnsafe] :: StaticConstructorModifiers -> Bool
+ Hydra.Ext.Csharp.Syntax: [structDeclarationAttributes] :: StructDeclaration -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [structDeclarationBody] :: StructDeclaration -> [StructMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [structDeclarationConstraints] :: StructDeclaration -> [TypeParameterConstraintsClause]
+ Hydra.Ext.Csharp.Syntax: [structDeclarationInterfaces] :: StructDeclaration -> [InterfaceType]
+ Hydra.Ext.Csharp.Syntax: [structDeclarationModifiers] :: StructDeclaration -> [StructModifier]
+ Hydra.Ext.Csharp.Syntax: [structDeclarationName] :: StructDeclaration -> Identifier
+ Hydra.Ext.Csharp.Syntax: [structDeclarationParameters] :: StructDeclaration -> Maybe TypeParameterList
+ Hydra.Ext.Csharp.Syntax: [structDeclarationPartial] :: StructDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [structDeclarationRef] :: StructDeclaration -> Bool
+ Hydra.Ext.Csharp.Syntax: [switchBranchGuard] :: SwitchBranch -> Maybe Expression
+ Hydra.Ext.Csharp.Syntax: [switchBranchPattern] :: SwitchBranch -> Pattern
+ Hydra.Ext.Csharp.Syntax: [switchSectionLabels] :: SwitchSection -> [SwitchLabel]
+ Hydra.Ext.Csharp.Syntax: [switchSectionStatements] :: SwitchSection -> [Statement]
+ Hydra.Ext.Csharp.Syntax: [switchStatementBranches] :: SwitchStatement -> [SwitchSection]
+ Hydra.Ext.Csharp.Syntax: [switchStatementExpression] :: SwitchStatement -> Expression
+ Hydra.Ext.Csharp.Syntax: [tryStatementBody] :: TryStatement -> Block
+ Hydra.Ext.Csharp.Syntax: [tryStatementCatches] :: TryStatement -> CatchClauses
+ Hydra.Ext.Csharp.Syntax: [tryStatementFinally] :: TryStatement -> Maybe Block
+ Hydra.Ext.Csharp.Syntax: [tupleElementExpression] :: TupleElement -> Expression
+ Hydra.Ext.Csharp.Syntax: [tupleElementName] :: TupleElement -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [tupleTypeElementIdentifier] :: TupleTypeElement -> Maybe Identifier
+ Hydra.Ext.Csharp.Syntax: [tupleTypeElementType] :: TupleTypeElement -> Type
+ Hydra.Ext.Csharp.Syntax: [typeParameterConstraintsClauseConstraints] :: TypeParameterConstraintsClause -> [TypeParameterConstraints]
+ Hydra.Ext.Csharp.Syntax: [typeParameterConstraintsClauseParameter] :: TypeParameterConstraintsClause -> TypeParameter
+ Hydra.Ext.Csharp.Syntax: [typeParameterConstraintsConstructor] :: TypeParameterConstraints -> Bool
+ Hydra.Ext.Csharp.Syntax: [typeParameterConstraintsPrimary] :: TypeParameterConstraints -> Maybe PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: [typeParameterConstraintsSecondary] :: TypeParameterConstraints -> Maybe SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: [typeParameterPartAttributes] :: TypeParameterPart -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [typeParameterPartName] :: TypeParameterPart -> TypeParameter
+ Hydra.Ext.Csharp.Syntax: [unArgumentList] :: ArgumentList -> [Argument]
+ Hydra.Ext.Csharp.Syntax: [unArrayInitializer] :: ArrayInitializer -> [VariableInitializer]
+ Hydra.Ext.Csharp.Syntax: [unAttributeArgumentExpression] :: AttributeArgumentExpression -> NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: [unAttributeList] :: AttributeList -> [Attribute]
+ Hydra.Ext.Csharp.Syntax: [unAttributeName] :: AttributeName -> TypeName
+ Hydra.Ext.Csharp.Syntax: [unAttributes] :: Attributes -> [AttributeSection]
+ Hydra.Ext.Csharp.Syntax: [unBlock] :: Block -> [Statement]
+ Hydra.Ext.Csharp.Syntax: [unBooleanExpression] :: BooleanExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: [unClassBody] :: ClassBody -> [ClassMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [unConstantExpression] :: ConstantExpression -> Expression
+ Hydra.Ext.Csharp.Syntax: [unDeconstructionTuple] :: DeconstructionTuple -> [DeconstructionElement]
+ Hydra.Ext.Csharp.Syntax: [unDelegateType] :: DelegateType -> TypeName
+ Hydra.Ext.Csharp.Syntax: [unDesignation] :: Designation -> Identifier
+ Hydra.Ext.Csharp.Syntax: [unEnumBody] :: EnumBody -> [EnumMemberDeclaration]
+ Hydra.Ext.Csharp.Syntax: [unEnumType] :: EnumType -> TypeName
+ Hydra.Ext.Csharp.Syntax: [unExpressionList] :: ExpressionList -> [Expression]
+ Hydra.Ext.Csharp.Syntax: [unExternAliasDirective] :: ExternAliasDirective -> Identifier
+ Hydra.Ext.Csharp.Syntax: [unIdentifier] :: Identifier -> String
+ Hydra.Ext.Csharp.Syntax: [unInterfaceType] :: InterfaceType -> TypeName
+ Hydra.Ext.Csharp.Syntax: [unInterpolatedRegularStringExpression] :: InterpolatedRegularStringExpression -> String
+ Hydra.Ext.Csharp.Syntax: [unInterpolatedVerbatimStringExpression] :: InterpolatedVerbatimStringExpression -> String
+ Hydra.Ext.Csharp.Syntax: [unKeyword] :: Keyword -> String
+ Hydra.Ext.Csharp.Syntax: [unMemberDeclaratorList] :: MemberDeclaratorList -> [MemberDeclarator]
+ Hydra.Ext.Csharp.Syntax: [unNamedArgumentList] :: NamedArgumentList -> [NamedArgument]
+ Hydra.Ext.Csharp.Syntax: [unNamespaceName] :: NamespaceName -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: [unPositionalArgumentList] :: PositionalArgumentList -> [PositionalArgument]
+ Hydra.Ext.Csharp.Syntax: [unQualifiedIdentifier] :: QualifiedIdentifier -> [Identifier]
+ Hydra.Ext.Csharp.Syntax: [unRankSpecifier] :: RankSpecifier -> Int
+ Hydra.Ext.Csharp.Syntax: [unSecondaryConstraints] :: SecondaryConstraints -> [SecondaryConstraint]
+ Hydra.Ext.Csharp.Syntax: [unStatementExpressionList] :: StatementExpressionList -> [StatementExpression]
+ Hydra.Ext.Csharp.Syntax: [unTupleType] :: TupleType -> [TupleTypeElement]
+ Hydra.Ext.Csharp.Syntax: [unTypeArgumentList] :: TypeArgumentList -> [Type]
+ Hydra.Ext.Csharp.Syntax: [unTypeName] :: TypeName -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: [unTypeParameterList] :: TypeParameterList -> [TypeParameterPart]
+ Hydra.Ext.Csharp.Syntax: [unTypeParameter] :: TypeParameter -> Identifier
+ Hydra.Ext.Csharp.Syntax: [unUnboundTypeName] :: UnboundTypeName -> [UnboundTypeNamePart]
+ Hydra.Ext.Csharp.Syntax: [unVariableDeclarators] :: VariableDeclarators -> [VariableDeclarator]
+ Hydra.Ext.Csharp.Syntax: [unVariableReference] :: VariableReference -> Expression
+ Hydra.Ext.Csharp.Syntax: [unVariantTypeParameters] :: VariantTypeParameters -> [VariantTypeParameter]
+ Hydra.Ext.Csharp.Syntax: [unaryOperatorDeclaratorOperator] :: UnaryOperatorDeclarator -> OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: [unaryOperatorDeclaratorParameter] :: UnaryOperatorDeclarator -> FixedParameter
+ Hydra.Ext.Csharp.Syntax: [unaryOperatorDeclaratorType] :: UnaryOperatorDeclarator -> Type
+ Hydra.Ext.Csharp.Syntax: [unboundTypeNamePartAliased] :: UnboundTypeNamePart -> Bool
+ Hydra.Ext.Csharp.Syntax: [unboundTypeNamePartDimension] :: UnboundTypeNamePart -> Maybe Int
+ Hydra.Ext.Csharp.Syntax: [unboundTypeNamePartIdentifier] :: UnboundTypeNamePart -> Identifier
+ Hydra.Ext.Csharp.Syntax: [usingAliasDirectiveAlias] :: UsingAliasDirective -> Identifier
+ Hydra.Ext.Csharp.Syntax: [usingAliasDirectiveName] :: UsingAliasDirective -> NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: [usingStatementAcquisition] :: UsingStatement -> ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: [usingStatementBody] :: UsingStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [variableDeclaratorIdentifier] :: VariableDeclarator -> Identifier
+ Hydra.Ext.Csharp.Syntax: [variableDeclaratorInitializer] :: VariableDeclarator -> Maybe VariableInitializer
+ Hydra.Ext.Csharp.Syntax: [variantTypeParameterAttributes] :: VariantTypeParameter -> Maybe Attributes
+ Hydra.Ext.Csharp.Syntax: [variantTypeParameterParameter] :: VariantTypeParameter -> TypeParameter
+ Hydra.Ext.Csharp.Syntax: [variantTypeParameterVariance] :: VariantTypeParameter -> Maybe VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: [verbatimInterpolationExpression] :: VerbatimInterpolation -> Expression
+ Hydra.Ext.Csharp.Syntax: [verbatimInterpolationFormat] :: VerbatimInterpolation -> Maybe String
+ Hydra.Ext.Csharp.Syntax: [verbatimInterpolationWidth] :: VerbatimInterpolation -> Maybe ConstantExpression
+ Hydra.Ext.Csharp.Syntax: [whileStatementBody] :: WhileStatement -> EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: [whileStatementCondition] :: WhileStatement -> BooleanExpression
+ Hydra.Ext.Csharp.Syntax: _AccessorBody :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclaration_modifier :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclarations :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclarations_get :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorDeclarations_set :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_internalProtected :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_privateProtected :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_protectedInternal :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorModifier_protectedPrivate :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration_accessors :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _AccessorsEventDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _AddRemoveAccessorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _AddRemoveAccessorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _AddRemoveAccessorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveOperator_minus :: Name
+ Hydra.Ext.Csharp.Syntax: _AdditiveOperator_plus :: Name
+ Hydra.Ext.Csharp.Syntax: _AndExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _AndExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _AndExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionBody :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionBody_nullConditionalInvocation :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionParameterModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionParameterModifier_in :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionParameterModifier_out :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionParameterModifier_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionSignature :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionSignature_explicit :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousFunctionSignature_implicit :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousMethodExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousMethodExpression_async :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousMethodExpression_body :: Name
+ Hydra.Ext.Csharp.Syntax: _AnonymousMethodExpression_signature :: Name
+ Hydra.Ext.Csharp.Syntax: _Argument :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentList :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentValue :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentValue_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentValue_in :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentValue_out :: Name
+ Hydra.Ext.Csharp.Syntax: _ArgumentValue_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _Argument_name :: Name
+ Hydra.Ext.Csharp.Syntax: _Argument_value :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayCreationExpression_arrayType :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayCreationExpression_nonArrayType :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayCreationExpression_rankSpecifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayType :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayTypeArrayCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayTypeArrayCreationExpression_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayTypeArrayCreationExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayType_rank :: Name
+ Hydra.Ext.Csharp.Syntax: _ArrayType_type :: Name
+ Hydra.Ext.Csharp.Syntax: _AsTypeExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _AsTypeExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _AsTypeExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _Assignment :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentMemberDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentMemberDeclarator_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentMemberDeclarator_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_andEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_divideEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_leftShiftEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_minusEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_modEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_orEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_plusEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_rightShiftEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_timesEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _AssignmentOperator_xorEquals :: Name
+ Hydra.Ext.Csharp.Syntax: _Assignment_left :: Name
+ Hydra.Ext.Csharp.Syntax: _Assignment_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _Assignment_right :: Name
+ Hydra.Ext.Csharp.Syntax: _Attribute :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeArgumentExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeArguments_named :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeArguments_positonal :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeList :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeName :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeSection :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeSection_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeSection_target :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeTarget :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeTarget_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _AttributeTarget_keyword :: Name
+ Hydra.Ext.Csharp.Syntax: _Attribute_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _Attribute_name :: Name
+ Hydra.Ext.Csharp.Syntax: _Attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccessWithIdentifier :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccessWithIdentifier_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccessWithIdentifier_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccess_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _BaseAccess_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAdditiveExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAdditiveExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAdditiveExpression_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAdditiveExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAndExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAndExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryAndExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalAndExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalAndExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalAndExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalOrExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryConditionalOrExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryEqualityExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryEqualityExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryEqualityExpression_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryEqualityExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryExclusiveOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryExclusiveOrExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryExclusiveOrExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryInclusiveOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryInclusiveOrExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryInclusiveOrExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryMultiplicativeExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryMultiplicativeExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryMultiplicativeExpression_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryMultiplicativeExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryNullCoalescingExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryNullCoalescingExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryNullCoalescingExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryOperatorDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryOperatorDeclarator_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryOperatorDeclarator_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryOperatorDeclarator_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryOperatorDeclarator_type :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryRelationalExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryRelationalExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryRelationalExpression_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryRelationalExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryShiftExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryShiftExpression_left :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryShiftExpression_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _BinaryShiftExpression_right :: Name
+ Hydra.Ext.Csharp.Syntax: _Block :: Name
+ Hydra.Ext.Csharp.Syntax: _BlockPropertyBody :: Name
+ Hydra.Ext.Csharp.Syntax: _BlockPropertyBody_accessors :: Name
+ Hydra.Ext.Csharp.Syntax: _BlockPropertyBody_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _BooleanExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _CastExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _CastExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _CastExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _CatchClauses :: Name
+ Hydra.Ext.Csharp.Syntax: _CatchClauses_general :: Name
+ Hydra.Ext.Csharp.Syntax: _CatchClauses_specific :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassBase :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassBase_class :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassBase_interfaces :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassBody :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_base :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassDeclaration_partial :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_constant :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_constructor :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_event :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_field :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_finalizer :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_indexer :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_method :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_property :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_staticConstructor :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassMemberDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_abstract :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_sealed :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassType :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassType_object :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassType_string :: Name
+ Hydra.Ext.Csharp.Syntax: _ClassType_typeName :: Name
+ Hydra.Ext.Csharp.Syntax: _CompilationUnit :: Name
+ Hydra.Ext.Csharp.Syntax: _CompilationUnit_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _CompilationUnit_externs :: Name
+ Hydra.Ext.Csharp.Syntax: _CompilationUnit_members :: Name
+ Hydra.Ext.Csharp.Syntax: _CompilationUnit_usings :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalAndExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalAndExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalAndExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalExpression_refConditional :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalExpression_simpleConditional :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalOrExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _ConditionalOrExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclarator_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantDeclarator_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstantModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorBody :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclaration_declarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclarator_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclarator_name :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorDeclarator_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorInitializer_base :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorInitializer_this :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _ConstructorModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionKind :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionKind_explicit :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionKind_implicit :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionOperatorDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionOperatorDeclarator_kind :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionOperatorDeclarator_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _ConversionOperatorDeclarator_type :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationExpression_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationPattern :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationPattern_designation :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationPattern_type :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationStatement_constant :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationStatement_function :: Name
+ Hydra.Ext.Csharp.Syntax: _DeclarationStatement_variable :: Name
+ Hydra.Ext.Csharp.Syntax: _DeconstructionElement :: Name
+ Hydra.Ext.Csharp.Syntax: _DeconstructionElement_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _DeconstructionElement_tuple :: Name
+ Hydra.Ext.Csharp.Syntax: _DeconstructionTuple :: Name
+ Hydra.Ext.Csharp.Syntax: _DefaultValueExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _DefaultValueExpression_defaultLiteral :: Name
+ Hydra.Ext.Csharp.Syntax: _DefaultValueExpression_explicitlyTyped :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateCreationExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateCreationExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_refReturnType :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateHeader :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateHeader_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateHeader_name :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateHeader_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateHeader_typeParameters :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _DelegateType :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccessForMember :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccessForMember_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccessForMember_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccess_elementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccess_invocation :: Name
+ Hydra.Ext.Csharp.Syntax: _DependentAccess_memberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _Designation :: Name
+ Hydra.Ext.Csharp.Syntax: _DoStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _DoStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _DoStatement_while :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementAccess_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementAccess_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementInitializer_list :: Name
+ Hydra.Ext.Csharp.Syntax: _ElementInitializer_single :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_block :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_checked :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_fixed :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_iteration :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_jump :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_lock :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_selection :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_try :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_unchecked :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_using :: Name
+ Hydra.Ext.Csharp.Syntax: _EmbeddedStatement_yield :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumBase :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumBase_name :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumBase_type :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumBody :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration_base :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumMemberDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumMemberDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumMemberDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumMemberDeclaration_value :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _EnumType :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityOperator_equal :: Name
+ Hydra.Ext.Csharp.Syntax: _EqualityOperator_notEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _EventAccessorDeclarations :: Name
+ Hydra.Ext.Csharp.Syntax: _EventAccessorDeclarations_add :: Name
+ Hydra.Ext.Csharp.Syntax: _EventAccessorDeclarations_remove :: Name
+ Hydra.Ext.Csharp.Syntax: _EventDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _EventDeclaration_accessors :: Name
+ Hydra.Ext.Csharp.Syntax: _EventDeclaration_standard :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_abstract :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_override :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_sealed :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _EventModifier_virtual :: Name
+ Hydra.Ext.Csharp.Syntax: _ExceptionSpecifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ExceptionSpecifier_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ExceptionSpecifier_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ExclusiveOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ExclusiveOrExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _ExclusiveOrExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitAnonymousFunctionParameter :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_modifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitAnonymousFunctionParameter_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ExplicitlyTypedLocalVariableDeclarator_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _Expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ExpressionList :: Name
+ Hydra.Ext.Csharp.Syntax: _Expression_assignment :: Name
+ Hydra.Ext.Csharp.Syntax: _Expression_nonAssignment :: Name
+ Hydra.Ext.Csharp.Syntax: _ExternAliasDirective :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_readonly :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _FieldModifier_volatile :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerBody :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _FinalizerDeclaration_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter_defaultArgument :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter_modifier :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedParameter_type :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedPointerDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedPointerDeclarator_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedPointerDeclarator_reference :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclaration_elementType :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclarator_name :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferDeclarator_size :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedSizeBufferModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedStatement_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedStatement_pointerType :: Name
+ Hydra.Ext.Csharp.Syntax: _FixedStatement_statement :: Name
+ Hydra.Ext.Csharp.Syntax: _FloatingPointType :: Name
+ Hydra.Ext.Csharp.Syntax: _FloatingPointType_double :: Name
+ Hydra.Ext.Csharp.Syntax: _FloatingPointType_float :: Name
+ Hydra.Ext.Csharp.Syntax: _ForInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ForInitializer_statements :: Name
+ Hydra.Ext.Csharp.Syntax: _ForInitializer_variable :: Name
+ Hydra.Ext.Csharp.Syntax: _ForStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _ForStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _ForStatement_condition :: Name
+ Hydra.Ext.Csharp.Syntax: _ForStatement_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ForStatement_iterator :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement_kind :: Name
+ Hydra.Ext.Csharp.Syntax: _ForeachStatement_type :: Name
+ Hydra.Ext.Csharp.Syntax: _FormalParameterList :: Name
+ Hydra.Ext.Csharp.Syntax: _FormalParameterList_array :: Name
+ Hydra.Ext.Csharp.Syntax: _FormalParameterList_fixed :: Name
+ Hydra.Ext.Csharp.Syntax: _FromClause :: Name
+ Hydra.Ext.Csharp.Syntax: _FromClause_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _FromClause_in :: Name
+ Hydra.Ext.Csharp.Syntax: _FromClause_type :: Name
+ Hydra.Ext.Csharp.Syntax: _GlobalAttributeSection :: Name
+ Hydra.Ext.Csharp.Syntax: _GlobalAttributeSection_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _GlobalAttributeSection_target :: Name
+ Hydra.Ext.Csharp.Syntax: _GotoStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _GotoStatement_case :: Name
+ Hydra.Ext.Csharp.Syntax: _GotoStatement_default :: Name
+ Hydra.Ext.Csharp.Syntax: _GotoStatement_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _GroupClause :: Name
+ Hydra.Ext.Csharp.Syntax: _GroupClause_by :: Name
+ Hydra.Ext.Csharp.Syntax: _GroupClause_grouped :: Name
+ Hydra.Ext.Csharp.Syntax: _Identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _IdentifierNamespaceOrTypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _IdentifierNamespaceOrTypeName_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _IdentifierNamespaceOrTypeName_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _IfStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _IfStatement_condition :: Name
+ Hydra.Ext.Csharp.Syntax: _IfStatement_elseBranch :: Name
+ Hydra.Ext.Csharp.Syntax: _IfStatement_ifBranch :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration_refVar :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclaration_var :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ImplicitlyTypedLocalVariableDeclarator_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _InclusiveOrExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _InclusiveOrExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _InclusiveOrExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerBody :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclaration_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclaration_standard :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclarator_interface :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclarator_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerDeclarator_type :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_abstract :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_override :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_sealed :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _IndexerModifier_virtual :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerTarget :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerTarget_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerTarget_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerValue :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerValue_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _InitializerValue_objectOrCollection :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegerLiteral :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegerLiteral_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegerLiteral_decimal :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegerLiteral_hexadecimal :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_byte :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_char :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_int :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_long :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_sbyte :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_short :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_uint :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_ulong :: Name
+ Hydra.Ext.Csharp.Syntax: _IntegralType_ushort :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceAccessors :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceAccessors_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceAccessors_get :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceAccessors_set :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_base :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceDeclaration_partial :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceEventDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceEventDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceEventDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceEventDeclaration_new :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceEventDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_accessors :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_new :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceIndexerDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMemberDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMemberDeclaration_event :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMemberDeclaration_indexer :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMemberDeclaration_method :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMemberDeclaration_property :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration_new :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodHeader :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodHeader_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodHeader_name :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodHeader_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceMethodHeader_typeParameters :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_accessors :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_new :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfacePropertyDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _InterfaceType :: Name
+ Hydra.Ext.Csharp.Syntax: _InterpolatedRegularStringExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _InterpolatedStringExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _InterpolatedStringExpression_regular :: Name
+ Hydra.Ext.Csharp.Syntax: _InterpolatedStringExpression_verbatim :: Name
+ Hydra.Ext.Csharp.Syntax: _InterpolatedVerbatimStringExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _InvocationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _InvocationExpression_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _InvocationExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _IsPatternExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _IsPatternExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _IsPatternExpression_pattern :: Name
+ Hydra.Ext.Csharp.Syntax: _IsTypeExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _IsTypeExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _IsTypeExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _IterationStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _IterationStatement_do :: Name
+ Hydra.Ext.Csharp.Syntax: _IterationStatement_for :: Name
+ Hydra.Ext.Csharp.Syntax: _IterationStatement_foreach :: Name
+ Hydra.Ext.Csharp.Syntax: _IterationStatement_while :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_equals :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_in :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_into :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_on :: Name
+ Hydra.Ext.Csharp.Syntax: _JoinClause_type :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement_break :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement_continue :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement_goto :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement_return :: Name
+ Hydra.Ext.Csharp.Syntax: _JumpStatement_throw :: Name
+ Hydra.Ext.Csharp.Syntax: _Keyword :: Name
+ Hydra.Ext.Csharp.Syntax: _LabeledStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _LabeledStatement_label :: Name
+ Hydra.Ext.Csharp.Syntax: _LabeledStatement_statement :: Name
+ Hydra.Ext.Csharp.Syntax: _LambdaExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _LambdaExpression_async :: Name
+ Hydra.Ext.Csharp.Syntax: _LambdaExpression_body :: Name
+ Hydra.Ext.Csharp.Syntax: _LambdaExpression_signature :: Name
+ Hydra.Ext.Csharp.Syntax: _LetClause :: Name
+ Hydra.Ext.Csharp.Syntax: _LetClause_left :: Name
+ Hydra.Ext.Csharp.Syntax: _LetClause_right :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_boolean :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_character :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_integer :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_null :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_real :: Name
+ Hydra.Ext.Csharp.Syntax: _Literal_string :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalConstantDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalConstantDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalConstantDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionBody :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionBody_nullConditionalInvocation :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionDeclaration_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionDeclaration_standard :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionHeader :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionHeader_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionHeader_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionHeader_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionHeader_typeParameters :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionModifier_async :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalFunctionModifier_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableDeclaration_explicitlyTyped :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableDeclaration_implicitlyTyped :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableDeclaration_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableInitializer_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableInitializer_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableType :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableType_type :: Name
+ Hydra.Ext.Csharp.Syntax: _LocalVariableType_var :: Name
+ Hydra.Ext.Csharp.Syntax: _LockStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _LockStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _LockStatement_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccessHead :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccessHead_predefined :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccessHead_primary :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccessHead_qualifiedAlias :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccess_head :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccess_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberAccess_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclaratorList :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator_assignment :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator_baseAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator_memberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator_name :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberDeclarator_nullConditionalProjectionInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberInitializer_target :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberInitializer_value :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberName :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberName_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _MemberName_interfaceType :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodBody :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodBody_nullConditionalInvocation :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodDeclaration_refReturn :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodDeclaration_standard :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodHeader :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodHeader_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodHeader_name :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodHeader_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodHeader_typeParameters :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifier_async :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifier_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifiers_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _MethodModifiers_partial :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeOperator_divide :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeOperator_modulo :: Name
+ Hydra.Ext.Csharp.Syntax: _MultiplicativeOperator_times :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedArgument :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedArgumentList :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedArgument_name :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedArgument_value :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntity :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityPart :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityPart_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityPart_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget_base :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget_name :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget_predefinedType :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget_qualifiedAliasMember :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntityTarget_this :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntity_parts :: Name
+ Hydra.Ext.Csharp.Syntax: _NamedEntity_target :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceBody :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceBody_externs :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceBody_members :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceBody_usings :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceMemberDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceMemberDeclaration_namespace :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceMemberDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceName :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceOrTypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceOrTypeName_alias :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceOrTypeName_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _NamespaceOrTypeName_qualified :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayTypeArrayCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_expressions :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_rankSpecifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayTypeArrayCreationExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_class :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_delegate :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_dynamic :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_interface :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_pointer :: Name
+ Hydra.Ext.Csharp.Syntax: _NonArrayType_value :: Name
+ Hydra.Ext.Csharp.Syntax: _NonAssignmentExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _NonAssignmentExpression_conditional :: Name
+ Hydra.Ext.Csharp.Syntax: _NonAssignmentExpression_declaration :: Name
+ Hydra.Ext.Csharp.Syntax: _NonAssignmentExpression_lambda :: Name
+ Hydra.Ext.Csharp.Syntax: _NonAssignmentExpression_query :: Name
+ Hydra.Ext.Csharp.Syntax: _NullCoalescingExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _NullCoalescingExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _NullCoalescingExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _NullCoalescingExpression_throw :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalElementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalElementAccess_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalElementAccess_dependentAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalElementAccess_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpressionHead :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpressionHead_element :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpressionHead_member :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpression_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalInvocationExpression_head :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalMemberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalMemberAccess_dependentAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalMemberAccess_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalMemberAccess_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalMemberAccess_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalProjectionInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalProjectionInitializer_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalProjectionInitializer_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _NullConditionalProjectionInitializer_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _NumericType :: Name
+ Hydra.Ext.Csharp.Syntax: _NumericType_decimal :: Name
+ Hydra.Ext.Csharp.Syntax: _NumericType_floatingPoint :: Name
+ Hydra.Ext.Csharp.Syntax: _NumericType_integral :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectCreationExpression_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectCreationExpression_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectCreationExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectOrCollectionInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectOrCollectionInitializer_collection :: Name
+ Hydra.Ext.Csharp.Syntax: _ObjectOrCollectionInitializer_object :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorBody :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclaration_declarator :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclarator_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclarator_conversion :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorDeclarator_unary :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _OperatorModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _Ordering :: Name
+ Hydra.Ext.Csharp.Syntax: _OrderingDirection :: Name
+ Hydra.Ext.Csharp.Syntax: _OrderingDirection_ascending :: Name
+ Hydra.Ext.Csharp.Syntax: _OrderingDirection_descending :: Name
+ Hydra.Ext.Csharp.Syntax: _Ordering_direction :: Name
+ Hydra.Ext.Csharp.Syntax: _Ordering_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_add :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_and :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_divide :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_equal :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_greaterThan :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_greaterThanOrEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_leftShift :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_lessThan :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_lessThanOrEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_modulus :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_multiply :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_notEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_or :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_rightShift :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_subtract :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableBinaryOperator_xor :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_complement :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_decrement :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_false :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_increment :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_minus :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_not :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_plus :: Name
+ Hydra.Ext.Csharp.Syntax: _OverloadableUnaryOperator_true :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterArray :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterArray_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterArray_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterArray_type :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModeModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModeModifier_in :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModeModifier_out :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModeModifier_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModifier_mode :: Name
+ Hydra.Ext.Csharp.Syntax: _ParameterModifier_this :: Name
+ Hydra.Ext.Csharp.Syntax: _Pattern :: Name
+ Hydra.Ext.Csharp.Syntax: _Pattern_constant :: Name
+ Hydra.Ext.Csharp.Syntax: _Pattern_declaration :: Name
+ Hydra.Ext.Csharp.Syntax: _Pattern_var :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerElementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerElementAccess_index :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerElementAccess_pointer :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerMemberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerMemberAccess_member :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerMemberAccess_pointer :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerMemberAccess_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerType :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerType_pointerDepth :: Name
+ Hydra.Ext.Csharp.Syntax: _PointerType_valueType :: Name
+ Hydra.Ext.Csharp.Syntax: _PositionalArgument :: Name
+ Hydra.Ext.Csharp.Syntax: _PositionalArgumentList :: Name
+ Hydra.Ext.Csharp.Syntax: _PositionalArgument_name :: Name
+ Hydra.Ext.Csharp.Syntax: _PositionalArgument_value :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_bool :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_byte :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_char :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_decimal :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_double :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_float :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_int :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_long :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_object :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_sbyte :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_short :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_string :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_uint :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_ulong :: Name
+ Hydra.Ext.Csharp.Syntax: _PredefinedType_ushort :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryConstraint :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryConstraint_class :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryConstraint_classType :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryConstraint_struct :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryConstraint_unmanaged :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryExpression_array :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryExpression_noArray :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_anonymousMethod :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_anonymousObjectCreation :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_baseAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_checked :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_defaultValue :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_delegateCreation :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_elementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_interpolatedString :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_invocation :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_literal :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_memberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nameof :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nullConditionalElementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_nullConditionalMemberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_objectCreation :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_parenthesized :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_pointerElementAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_pointerMemberAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_postDecrement :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_postIncrement :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_simpleName :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_sizeof :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_stackalloc :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_thisAccess :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_tuple :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_typeof :: Name
+ Hydra.Ext.Csharp.Syntax: _PrimaryNoArrayCreationExpression_unchecked :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyBody :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyDeclaration_refReturn :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyDeclaration_standard :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_abstract :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_override :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_sealed :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _PropertyModifier_virtual :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedAliasMember :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedAliasMember_alias :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedAliasMember_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedAliasMember_member :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedIdentifier :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedNamespaceOrTypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedNamespaceOrTypeName_arguments :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedNamespaceOrTypeName_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _QualifiedNamespaceOrTypeName_namespaceOrType :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBody :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause_from :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause_join :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause_let :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause_orderby :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBodyClause_where :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBody_clauses :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBody_continuation :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryBody_selectOrGroup :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryContinuation :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryContinuation_body :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryContinuation_into :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryExpression_body :: Name
+ Hydra.Ext.Csharp.Syntax: _QueryExpression_from :: Name
+ Hydra.Ext.Csharp.Syntax: _RankSpecifier :: Name
+ Hydra.Ext.Csharp.Syntax: _RankSpecifierArrayCreationExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _RankSpecifierArrayCreationExpression_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _RankSpecifierArrayCreationExpression_rankSpecifier :: Name
+ Hydra.Ext.Csharp.Syntax: _RefAccessorBody :: Name
+ Hydra.Ext.Csharp.Syntax: _RefAccessorBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _RefAccessorBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _RefAccessorBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefConditionalExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _RefConditionalExpression_condition :: Name
+ Hydra.Ext.Csharp.Syntax: _RefConditionalExpression_false :: Name
+ Hydra.Ext.Csharp.Syntax: _RefConditionalExpression_true :: Name
+ Hydra.Ext.Csharp.Syntax: _RefGetAccessorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefGetAccessorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _RefGetAccessorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _RefGetAccessorDeclaration_modifier :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerBody :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration_declarator :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _RefIndexerDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefKind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefKind_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefKind_refReadonly :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionBody :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalFunctionModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclarator_left :: Name
+ Hydra.Ext.Csharp.Syntax: _RefLocalVariableDeclarator_right :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodBody :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_abstract :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_override :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_sealed :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_static :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _RefMethodModifier_virtual :: Name
+ Hydra.Ext.Csharp.Syntax: _RefPropertyBody :: Name
+ Hydra.Ext.Csharp.Syntax: _RefPropertyBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _RefPropertyBody_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_kind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnMethodDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _RefReturnPropertyDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration_declarator :: Name
+ Hydra.Ext.Csharp.Syntax: _RefVarImplicitlyTypedLocalVariableDeclaration_refKind :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType_array :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType_class :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType_delegate :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType_dynamic :: Name
+ Hydra.Ext.Csharp.Syntax: _ReferenceType_interface :: Name
+ Hydra.Ext.Csharp.Syntax: _RegularInterpolation :: Name
+ Hydra.Ext.Csharp.Syntax: _RegularInterpolation_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _RegularInterpolation_format :: Name
+ Hydra.Ext.Csharp.Syntax: _RegularInterpolation_width :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression_asType :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression_isPattern :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression_isType :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalOperator_greaterThan :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalOperator_greaterThanOrEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalOperator_lessThan :: Name
+ Hydra.Ext.Csharp.Syntax: _RelationalOperator_lessThanOrEqual :: Name
+ Hydra.Ext.Csharp.Syntax: _ResourceAcquisition :: Name
+ Hydra.Ext.Csharp.Syntax: _ResourceAcquisition_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _ResourceAcquisition_local :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnStatement_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnStatement_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnStatement_value :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnType :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnType_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _ReturnType_void :: Name
+ Hydra.Ext.Csharp.Syntax: _SecondaryConstraint :: Name
+ Hydra.Ext.Csharp.Syntax: _SecondaryConstraint_interface :: Name
+ Hydra.Ext.Csharp.Syntax: _SecondaryConstraint_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _SecondaryConstraints :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectOrGroupClause :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectOrGroupClause_group :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectOrGroupClause_select :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectionStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectionStatement_if :: Name
+ Hydra.Ext.Csharp.Syntax: _SelectionStatement_switch :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftExpression_binary :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftExpression_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftOperator :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftOperator_left :: Name
+ Hydra.Ext.Csharp.Syntax: _ShiftOperator_right :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleConditionalExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleConditionalExpression_condition :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleConditionalExpression_false :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleConditionalExpression_true :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleName :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleName_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleName_typeArguments :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleType :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleType_bool :: Name
+ Hydra.Ext.Csharp.Syntax: _SimpleType_numeric :: Name
+ Hydra.Ext.Csharp.Syntax: _SpecificCatchClause :: Name
+ Hydra.Ext.Csharp.Syntax: _SpecificCatchClause_body :: Name
+ Hydra.Ext.Csharp.Syntax: _SpecificCatchClause_filter :: Name
+ Hydra.Ext.Csharp.Syntax: _SpecificCatchClause_specifier :: Name
+ Hydra.Ext.Csharp.Syntax: _StackallocExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _StackallocExpression_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _StackallocExpression_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _StackallocExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardEventDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardEventDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardEventDeclaration_declarators :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardEventDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardEventDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardIndexerDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardIndexerDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardIndexerDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardIndexerDeclaration_declarator :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardIndexerDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardLocalFunctionDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardLocalFunctionDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardLocalFunctionDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardLocalFunctionDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardLocalFunctionDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration_header :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardMethodDeclaration_returnType :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _StandardPropertyDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _Statement :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpressionList :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_assignment :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_await :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_invocation :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_nullConditionalInvocation :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_objectCreation :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_postDecrement :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_postIncrement :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_preDecrement :: Name
+ Hydra.Ext.Csharp.Syntax: _StatementExpression_preIncrement :: Name
+ Hydra.Ext.Csharp.Syntax: _Statement_declaration :: Name
+ Hydra.Ext.Csharp.Syntax: _Statement_embedded :: Name
+ Hydra.Ext.Csharp.Syntax: _Statement_labeled :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorBody :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorBody_block :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorBody_empty :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorBody_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorModifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorModifiers_extern :: Name
+ Hydra.Ext.Csharp.Syntax: _StaticConstructorModifiers_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_body :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_interfaces :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_modifiers :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_name :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_parameters :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_partial :: Name
+ Hydra.Ext.Csharp.Syntax: _StructDeclaration_ref :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_constant :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_constructor :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_event :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_field :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_fixedSizeBuffer :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_indexer :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_method :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_property :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_staticConstructor :: Name
+ Hydra.Ext.Csharp.Syntax: _StructMemberDeclaration_type :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_internal :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_new :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_private :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_protected :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_public :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_readonly :: Name
+ Hydra.Ext.Csharp.Syntax: _StructModifier_unsafe :: Name
+ Hydra.Ext.Csharp.Syntax: _StructOrEnumType :: Name
+ Hydra.Ext.Csharp.Syntax: _StructOrEnumType_enum :: Name
+ Hydra.Ext.Csharp.Syntax: _StructOrEnumType_struct :: Name
+ Hydra.Ext.Csharp.Syntax: _StructType :: Name
+ Hydra.Ext.Csharp.Syntax: _StructType_simple :: Name
+ Hydra.Ext.Csharp.Syntax: _StructType_tuple :: Name
+ Hydra.Ext.Csharp.Syntax: _StructType_typeName :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchBranch :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchBranch_guard :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchBranch_pattern :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchLabel :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchLabel_branch :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchLabel_default :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchSection :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchSection_labels :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchSection_statements :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchStatement_branches :: Name
+ Hydra.Ext.Csharp.Syntax: _SwitchStatement_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _TryStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _TryStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _TryStatement_catches :: Name
+ Hydra.Ext.Csharp.Syntax: _TryStatement_finally :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleElement :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleElement_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleElement_name :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleExpression_deconstruction :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleExpression_elements :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleType :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleTypeElement :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleTypeElement_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _TupleTypeElement_type :: Name
+ Hydra.Ext.Csharp.Syntax: _Type :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeArgumentList :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration_class :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration_delegate :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration_enum :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration_interface :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeDeclaration_struct :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameter :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraints :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraintsClause :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraintsClause_constraints :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraintsClause_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraints_constructor :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraints_primary :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterConstraints_secondary :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterList :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterPart :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterPart_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeParameterPart_name :: Name
+ Hydra.Ext.Csharp.Syntax: _Type_param :: Name
+ Hydra.Ext.Csharp.Syntax: _Type_pointer :: Name
+ Hydra.Ext.Csharp.Syntax: _Type_reference :: Name
+ Hydra.Ext.Csharp.Syntax: _Type_value :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeofExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeofExpression_type :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeofExpression_unboundTypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _TypeofExpression_void :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_addressOf :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_await :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_bitwiseComplement :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_cast :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_minus :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_not :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_plus :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_pointerIndirection :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_preDecrement :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_preIncrement :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryExpression_primary :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryOperatorDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryOperatorDeclarator_operator :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryOperatorDeclarator_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _UnaryOperatorDeclarator_type :: Name
+ Hydra.Ext.Csharp.Syntax: _UnboundTypeName :: Name
+ Hydra.Ext.Csharp.Syntax: _UnboundTypeNamePart :: Name
+ Hydra.Ext.Csharp.Syntax: _UnboundTypeNamePart_aliased :: Name
+ Hydra.Ext.Csharp.Syntax: _UnboundTypeNamePart_dimension :: Name
+ Hydra.Ext.Csharp.Syntax: _UnboundTypeNamePart_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _UnmanagedType :: Name
+ Hydra.Ext.Csharp.Syntax: _UnmanagedType_pointer :: Name
+ Hydra.Ext.Csharp.Syntax: _UnmanagedType_value :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingAliasDirective :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingAliasDirective_alias :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingAliasDirective_name :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingDirective :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingDirective_alias :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingDirective_namespace :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingDirective_static :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingStatement_acquisition :: Name
+ Hydra.Ext.Csharp.Syntax: _UsingStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _ValueType :: Name
+ Hydra.Ext.Csharp.Syntax: _ValueType_nonNullable :: Name
+ Hydra.Ext.Csharp.Syntax: _ValueType_nullable :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableDeclarator :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableDeclarator_identifier :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableDeclarator_initializer :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableDeclarators :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableInitializer :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableInitializer_array :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableInitializer_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _VariableReference :: Name
+ Hydra.Ext.Csharp.Syntax: _VarianceAnnotation :: Name
+ Hydra.Ext.Csharp.Syntax: _VarianceAnnotation_in :: Name
+ Hydra.Ext.Csharp.Syntax: _VarianceAnnotation_out :: Name
+ Hydra.Ext.Csharp.Syntax: _VariantTypeParameter :: Name
+ Hydra.Ext.Csharp.Syntax: _VariantTypeParameter_attributes :: Name
+ Hydra.Ext.Csharp.Syntax: _VariantTypeParameter_parameter :: Name
+ Hydra.Ext.Csharp.Syntax: _VariantTypeParameter_variance :: Name
+ Hydra.Ext.Csharp.Syntax: _VariantTypeParameters :: Name
+ Hydra.Ext.Csharp.Syntax: _VerbatimInterpolation :: Name
+ Hydra.Ext.Csharp.Syntax: _VerbatimInterpolation_expression :: Name
+ Hydra.Ext.Csharp.Syntax: _VerbatimInterpolation_format :: Name
+ Hydra.Ext.Csharp.Syntax: _VerbatimInterpolation_width :: Name
+ Hydra.Ext.Csharp.Syntax: _WhileStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _WhileStatement_body :: Name
+ Hydra.Ext.Csharp.Syntax: _WhileStatement_condition :: Name
+ Hydra.Ext.Csharp.Syntax: _YieldStatement :: Name
+ Hydra.Ext.Csharp.Syntax: _YieldStatement_break :: Name
+ Hydra.Ext.Csharp.Syntax: _YieldStatement_return :: Name
+ Hydra.Ext.Csharp.Syntax: data AccessorBody
+ Hydra.Ext.Csharp.Syntax: data AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: data AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: data AccessorModifier
+ Hydra.Ext.Csharp.Syntax: data AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: data AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: data AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: data AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: data AndExpression
+ Hydra.Ext.Csharp.Syntax: data AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: data AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: data AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: data AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: data Argument
+ Hydra.Ext.Csharp.Syntax: data ArgumentValue
+ Hydra.Ext.Csharp.Syntax: data ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: data ArrayType
+ Hydra.Ext.Csharp.Syntax: data ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: data AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: data Assignment
+ Hydra.Ext.Csharp.Syntax: data AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: data AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: data Attribute
+ Hydra.Ext.Csharp.Syntax: data AttributeArguments
+ Hydra.Ext.Csharp.Syntax: data AttributeSection
+ Hydra.Ext.Csharp.Syntax: data AttributeTarget
+ Hydra.Ext.Csharp.Syntax: data BaseAccess
+ Hydra.Ext.Csharp.Syntax: data BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: data BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: data BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: data BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: data BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: data CastExpression
+ Hydra.Ext.Csharp.Syntax: data CatchClauses
+ Hydra.Ext.Csharp.Syntax: data ClassBase
+ Hydra.Ext.Csharp.Syntax: data ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: data ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: data ClassModifier
+ Hydra.Ext.Csharp.Syntax: data ClassType
+ Hydra.Ext.Csharp.Syntax: data CompilationUnit
+ Hydra.Ext.Csharp.Syntax: data ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: data ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: data ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: data ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: data ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: data ConstantModifier
+ Hydra.Ext.Csharp.Syntax: data ConstructorBody
+ Hydra.Ext.Csharp.Syntax: data ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: data ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: data ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: data ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: data ConversionKind
+ Hydra.Ext.Csharp.Syntax: data ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: data DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: data DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: data DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: data DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: data DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: data DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: data DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: data DelegateHeader
+ Hydra.Ext.Csharp.Syntax: data DelegateModifier
+ Hydra.Ext.Csharp.Syntax: data DependentAccess
+ Hydra.Ext.Csharp.Syntax: data DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: data DoStatement
+ Hydra.Ext.Csharp.Syntax: data ElementAccess
+ Hydra.Ext.Csharp.Syntax: data ElementInitializer
+ Hydra.Ext.Csharp.Syntax: data EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: data EnumBase
+ Hydra.Ext.Csharp.Syntax: data EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: data EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: data EnumModifier
+ Hydra.Ext.Csharp.Syntax: data EqualityExpression
+ Hydra.Ext.Csharp.Syntax: data EqualityOperator
+ Hydra.Ext.Csharp.Syntax: data EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: data EventDeclaration
+ Hydra.Ext.Csharp.Syntax: data EventModifier
+ Hydra.Ext.Csharp.Syntax: data ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: data ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: data ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: data ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: data ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: data Expression
+ Hydra.Ext.Csharp.Syntax: data FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: data FieldModifier
+ Hydra.Ext.Csharp.Syntax: data FinalizerBody
+ Hydra.Ext.Csharp.Syntax: data FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: data FixedParameter
+ Hydra.Ext.Csharp.Syntax: data FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: data FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: data FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: data FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: data FixedStatement
+ Hydra.Ext.Csharp.Syntax: data FloatingPointType
+ Hydra.Ext.Csharp.Syntax: data ForInitializer
+ Hydra.Ext.Csharp.Syntax: data ForStatement
+ Hydra.Ext.Csharp.Syntax: data ForeachStatement
+ Hydra.Ext.Csharp.Syntax: data FormalParameterList
+ Hydra.Ext.Csharp.Syntax: data FromClause
+ Hydra.Ext.Csharp.Syntax: data GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: data GotoStatement
+ Hydra.Ext.Csharp.Syntax: data GroupClause
+ Hydra.Ext.Csharp.Syntax: data IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: data IfStatement
+ Hydra.Ext.Csharp.Syntax: data ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: data ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: data InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: data IndexerBody
+ Hydra.Ext.Csharp.Syntax: data IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: data IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: data IndexerModifier
+ Hydra.Ext.Csharp.Syntax: data InitializerTarget
+ Hydra.Ext.Csharp.Syntax: data InitializerValue
+ Hydra.Ext.Csharp.Syntax: data IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: data IntegralType
+ Hydra.Ext.Csharp.Syntax: data InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: data InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: data InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: data InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: data InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: data InvocationExpression
+ Hydra.Ext.Csharp.Syntax: data IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: data IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: data IterationStatement
+ Hydra.Ext.Csharp.Syntax: data JoinClause
+ Hydra.Ext.Csharp.Syntax: data JumpStatement
+ Hydra.Ext.Csharp.Syntax: data LabeledStatement
+ Hydra.Ext.Csharp.Syntax: data LambdaExpression
+ Hydra.Ext.Csharp.Syntax: data LetClause
+ Hydra.Ext.Csharp.Syntax: data Literal
+ Hydra.Ext.Csharp.Syntax: data LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: data LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: data LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: data LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: data LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: data LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: data LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: data LocalVariableType
+ Hydra.Ext.Csharp.Syntax: data LockStatement
+ Hydra.Ext.Csharp.Syntax: data MemberAccess
+ Hydra.Ext.Csharp.Syntax: data MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: data MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: data MemberInitializer
+ Hydra.Ext.Csharp.Syntax: data MemberName
+ Hydra.Ext.Csharp.Syntax: data MethodBody
+ Hydra.Ext.Csharp.Syntax: data MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: data MethodHeader
+ Hydra.Ext.Csharp.Syntax: data MethodModifier
+ Hydra.Ext.Csharp.Syntax: data MethodModifiers
+ Hydra.Ext.Csharp.Syntax: data MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: data MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: data NamedArgument
+ Hydra.Ext.Csharp.Syntax: data NamedEntity
+ Hydra.Ext.Csharp.Syntax: data NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: data NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: data NamespaceBody
+ Hydra.Ext.Csharp.Syntax: data NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: data NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: data NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: data NonArrayType
+ Hydra.Ext.Csharp.Syntax: data NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: data NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: data NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: data NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: data NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: data NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: data NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: data NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: data NumericType
+ Hydra.Ext.Csharp.Syntax: data ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: data ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: data OperatorBody
+ Hydra.Ext.Csharp.Syntax: data OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: data OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: data OperatorModifier
+ Hydra.Ext.Csharp.Syntax: data Ordering
+ Hydra.Ext.Csharp.Syntax: data OrderingDirection
+ Hydra.Ext.Csharp.Syntax: data OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: data OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: data ParameterArray
+ Hydra.Ext.Csharp.Syntax: data ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: data ParameterModifier
+ Hydra.Ext.Csharp.Syntax: data Pattern
+ Hydra.Ext.Csharp.Syntax: data PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: data PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: data PointerType
+ Hydra.Ext.Csharp.Syntax: data PositionalArgument
+ Hydra.Ext.Csharp.Syntax: data PredefinedType
+ Hydra.Ext.Csharp.Syntax: data PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: data PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: data PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: data PropertyBody
+ Hydra.Ext.Csharp.Syntax: data PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: data PropertyModifier
+ Hydra.Ext.Csharp.Syntax: data QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: data QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: data QueryBody
+ Hydra.Ext.Csharp.Syntax: data QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: data QueryContinuation
+ Hydra.Ext.Csharp.Syntax: data QueryExpression
+ Hydra.Ext.Csharp.Syntax: data RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: data RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: data RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: data RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: data RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefKind
+ Hydra.Ext.Csharp.Syntax: data RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: data RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: data RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: data RefMethodBody
+ Hydra.Ext.Csharp.Syntax: data RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: data RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: data RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: data RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: data ReferenceType
+ Hydra.Ext.Csharp.Syntax: data RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: data RelationalExpression
+ Hydra.Ext.Csharp.Syntax: data RelationalOperator
+ Hydra.Ext.Csharp.Syntax: data ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: data ReturnStatement
+ Hydra.Ext.Csharp.Syntax: data ReturnType
+ Hydra.Ext.Csharp.Syntax: data SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: data SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: data SelectionStatement
+ Hydra.Ext.Csharp.Syntax: data ShiftExpression
+ Hydra.Ext.Csharp.Syntax: data ShiftOperator
+ Hydra.Ext.Csharp.Syntax: data SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: data SimpleName
+ Hydra.Ext.Csharp.Syntax: data SimpleType
+ Hydra.Ext.Csharp.Syntax: data SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: data StackallocExpression
+ Hydra.Ext.Csharp.Syntax: data StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: data StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: data StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: data StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: data StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: data Statement
+ Hydra.Ext.Csharp.Syntax: data StatementExpression
+ Hydra.Ext.Csharp.Syntax: data StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: data StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: data StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: data StructDeclaration
+ Hydra.Ext.Csharp.Syntax: data StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: data StructModifier
+ Hydra.Ext.Csharp.Syntax: data StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: data StructType
+ Hydra.Ext.Csharp.Syntax: data SwitchBranch
+ Hydra.Ext.Csharp.Syntax: data SwitchLabel
+ Hydra.Ext.Csharp.Syntax: data SwitchSection
+ Hydra.Ext.Csharp.Syntax: data SwitchStatement
+ Hydra.Ext.Csharp.Syntax: data TryStatement
+ Hydra.Ext.Csharp.Syntax: data TupleElement
+ Hydra.Ext.Csharp.Syntax: data TupleExpression
+ Hydra.Ext.Csharp.Syntax: data TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: data Type
+ Hydra.Ext.Csharp.Syntax: data TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: data TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: data TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: data TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: data TypeofExpression
+ Hydra.Ext.Csharp.Syntax: data UnaryExpression
+ Hydra.Ext.Csharp.Syntax: data UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: data UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: data UnmanagedType
+ Hydra.Ext.Csharp.Syntax: data UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: data UsingDirective
+ Hydra.Ext.Csharp.Syntax: data UsingStatement
+ Hydra.Ext.Csharp.Syntax: data ValueType
+ Hydra.Ext.Csharp.Syntax: data VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: data VariableInitializer
+ Hydra.Ext.Csharp.Syntax: data VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: data VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: data VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: data WhileStatement
+ Hydra.Ext.Csharp.Syntax: data YieldStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AccessorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Argument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArgumentValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Assignment
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Attribute
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeArguments
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.AttributeTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Attributes
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BaseAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Block
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.BooleanExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.CastExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.CatchClauses
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ClassType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.CompilationUnit
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstantExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstantModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConversionKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DelegateHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DelegateModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DelegateType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DependentAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Designation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.DoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ElementInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EqualityOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.EventModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Expression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FieldModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FinalizerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FixedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FloatingPointType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ForInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ForStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ForeachStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FormalParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.FromClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.GotoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.GroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Identifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IfStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IndexerModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InitializerTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InitializerValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IntegralType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterfaceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.InvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.IterationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.JoinClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.JumpStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Keyword
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LabeledStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LambdaExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LetClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Literal
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LocalVariableType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.LockStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MemberName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MethodModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamedArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamedEntity
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamespaceBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamespaceName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NonArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.NumericType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OperatorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OperatorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Ordering
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OrderingDirection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ParameterArray
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Pattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PointerType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PositionalArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PredefinedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.PropertyModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QueryBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QueryContinuation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.QueryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RankSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefMethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ReferenceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.RelationalOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ReturnStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ReturnType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SelectionStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ShiftOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SimpleName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SimpleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StackallocExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Statement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StatementExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StructDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StructModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.StructType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SwitchBranch
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SwitchLabel
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SwitchSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.SwitchStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TryStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TupleElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TupleExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TupleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.Type
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.TypeofExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UnaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UnmanagedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UsingDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.UsingStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.ValueType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariableReference
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.WhileStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Eq Hydra.Ext.Csharp.Syntax.YieldStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AccessorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Argument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArgumentValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Assignment
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Attribute
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeArguments
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.AttributeTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Attributes
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BaseAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Block
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.BooleanExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.CastExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.CatchClauses
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ClassType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.CompilationUnit
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstantExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstantModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConversionKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DelegateHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DelegateModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DelegateType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DependentAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Designation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.DoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ElementInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EqualityOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.EventModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Expression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FieldModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FinalizerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FixedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FloatingPointType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ForInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ForStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ForeachStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FormalParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.FromClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.GotoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.GroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Identifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IfStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IndexerModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InitializerTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InitializerValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IntegralType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterfaceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.InvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.IterationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.JoinClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.JumpStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Keyword
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LabeledStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LambdaExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LetClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Literal
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LocalVariableType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.LockStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MemberName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MethodModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamedArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamedEntity
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamespaceBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamespaceName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NonArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.NumericType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OperatorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OperatorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Ordering
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OrderingDirection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ParameterArray
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Pattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PointerType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PositionalArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PredefinedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.PropertyModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QueryBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QueryContinuation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.QueryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RankSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefMethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ReferenceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.RelationalOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ReturnStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ReturnType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SelectionStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ShiftOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SimpleName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SimpleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StackallocExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Statement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StatementExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StructDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StructModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.StructType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SwitchBranch
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SwitchLabel
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SwitchSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.SwitchStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TryStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TupleElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TupleExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TupleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.Type
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.TypeofExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UnaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UnmanagedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UsingDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.UsingStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.ValueType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariableReference
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.WhileStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Classes.Ord Hydra.Ext.Csharp.Syntax.YieldStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AccessorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Argument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArgumentValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Assignment
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Attribute
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeArguments
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.AttributeTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Attributes
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BaseAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Block
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.BooleanExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.CastExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.CatchClauses
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ClassType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.CompilationUnit
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstantExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstantModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConversionKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DelegateHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DelegateModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DelegateType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DependentAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Designation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.DoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ElementInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EqualityOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.EventModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Expression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FieldModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FinalizerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FixedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FloatingPointType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ForInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ForStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ForeachStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FormalParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.FromClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.GotoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.GroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Identifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IfStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IndexerModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InitializerTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InitializerValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IntegralType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterfaceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.InvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.IterationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.JoinClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.JumpStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Keyword
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LabeledStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LambdaExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LetClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Literal
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LocalVariableType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.LockStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MemberName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MethodModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamedArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamedEntity
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamespaceBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamespaceName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NonArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.NumericType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OperatorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OperatorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Ordering
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OrderingDirection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ParameterArray
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Pattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PointerType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PositionalArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PredefinedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.PropertyModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QueryBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QueryContinuation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.QueryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RankSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefMethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ReferenceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.RelationalOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ReturnStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ReturnType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SelectionStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ShiftOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SimpleName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SimpleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StackallocExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Statement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StatementExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StructDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StructModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.StructType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SwitchBranch
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SwitchLabel
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SwitchSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.SwitchStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TryStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TupleElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TupleExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TupleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.Type
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.TypeofExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UnaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UnmanagedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UsingDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.UsingStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.ValueType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariableReference
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.WhileStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Csharp.Syntax.YieldStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AccessorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AccessorsEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AddRemoveAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AdditiveOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AnonymousFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AnonymousFunctionParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AnonymousFunctionSignature
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AnonymousMethodExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Argument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArgumentValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Assignment
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AssignmentMemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AssignmentOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Attribute
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeArguments
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.AttributeTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Attributes
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BaseAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BaseAccessWithIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryAdditiveExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryEqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryInclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryMultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryNullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryRelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BinaryShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Block
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BlockPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.BooleanExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.CastExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.CatchClauses
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ClassType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.CompilationUnit
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConditionalAndExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConditionalOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstantDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstantExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstantModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstructorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstructorInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConstructorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConversionKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ConversionOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DeclarationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DeclarationPattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DeclarationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DeconstructionElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DefaultValueExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DelegateCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DelegateDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DelegateHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DelegateModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DelegateType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DependentAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DependentAccessForMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Designation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.DoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ElementInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EmbeddedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumBase
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EqualityExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EqualityOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EventAccessorDeclarations
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.EventModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExceptionSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Expression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FieldDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FieldModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FinalizerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FinalizerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedPointerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedSizeBufferDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedSizeBufferModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FixedStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FloatingPointType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ForInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ForStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ForeachStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FormalParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.FromClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.GlobalAttributeSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.GotoStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.GroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Identifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IdentifierNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IfStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InclusiveOrExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IndexerDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IndexerModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InitializerTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InitializerValue
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IntegerLiteral
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IntegralType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceAccessors
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceMethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfacePropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterfaceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterpolatedStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.InvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IsPatternExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IsTypeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.IterationStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.JoinClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.JumpStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Keyword
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LabeledStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LambdaExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LetClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Literal
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalConstantDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalFunctionHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalVariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LocalVariableType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.LockStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberAccessHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MemberName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MethodHeader
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MethodModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MultiplicativeExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.MultiplicativeOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamedArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamedEntity
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamedEntityPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamedEntityTarget
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamespaceBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamespaceDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamespaceMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamespaceName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NonArrayType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NonAssignmentExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullCoalescingExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullConditionalElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullConditionalInvocationExpressionHead
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullConditionalMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NullConditionalProjectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.NumericType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ObjectCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ObjectOrCollectionInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OperatorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OperatorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OperatorModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Ordering
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OrderingDirection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OverloadableBinaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.OverloadableUnaryOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ParameterArray
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ParameterModeModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ParameterModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Pattern
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PointerElementAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PointerMemberAccess
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PointerType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PositionalArgument
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PredefinedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PrimaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PrimaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PrimaryNoArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.PropertyModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QualifiedAliasMember
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QualifiedNamespaceOrTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QueryBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QueryBodyClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QueryContinuation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.QueryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RankSpecifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RankSpecifierArrayCreationExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefAccessorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefGetAccessorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefIndexerBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefKind
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefLocalFunctionBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefLocalFunctionModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefLocalVariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefMethodBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefMethodModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefPropertyBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefReturnMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefReturnPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ReferenceType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RegularInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RelationalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.RelationalOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ResourceAcquisition
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ReturnStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ReturnType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SecondaryConstraint
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SelectOrGroupClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SelectionStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ShiftExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ShiftOperator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SimpleConditionalExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SimpleName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SimpleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SpecificCatchClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StackallocExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StandardEventDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StandardIndexerDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StandardLocalFunctionDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StandardMethodDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StandardPropertyDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Statement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StatementExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StaticConstructorBody
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StaticConstructorDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StaticConstructorModifiers
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StructDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StructMemberDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StructModifier
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StructOrEnumType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.StructType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SwitchBranch
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SwitchLabel
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SwitchSection
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.SwitchStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TryStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TupleElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TupleExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TupleType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TupleTypeElement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.Type
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeDeclaration
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeParameterConstraints
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeParameterConstraintsClause
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeParameterList
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeParameterPart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.TypeofExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UnaryExpression
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UnaryOperatorDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UnboundTypeNamePart
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UnmanagedType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UsingAliasDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UsingDirective
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.UsingStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.ValueType
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariableDeclarator
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariableInitializer
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariableReference
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VarianceAnnotation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariantTypeParameter
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VariantTypeParameters
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.VerbatimInterpolation
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.WhileStatement
+ Hydra.Ext.Csharp.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Csharp.Syntax.YieldStatement
+ Hydra.Ext.Csharp.Syntax: newtype ArgumentList
+ Hydra.Ext.Csharp.Syntax: newtype ArrayInitializer
+ Hydra.Ext.Csharp.Syntax: newtype AttributeArgumentExpression
+ Hydra.Ext.Csharp.Syntax: newtype AttributeList
+ Hydra.Ext.Csharp.Syntax: newtype AttributeName
+ Hydra.Ext.Csharp.Syntax: newtype Attributes
+ Hydra.Ext.Csharp.Syntax: newtype Block
+ Hydra.Ext.Csharp.Syntax: newtype BooleanExpression
+ Hydra.Ext.Csharp.Syntax: newtype ClassBody
+ Hydra.Ext.Csharp.Syntax: newtype ConstantExpression
+ Hydra.Ext.Csharp.Syntax: newtype DeconstructionTuple
+ Hydra.Ext.Csharp.Syntax: newtype DelegateType
+ Hydra.Ext.Csharp.Syntax: newtype Designation
+ Hydra.Ext.Csharp.Syntax: newtype EnumBody
+ Hydra.Ext.Csharp.Syntax: newtype EnumType
+ Hydra.Ext.Csharp.Syntax: newtype ExpressionList
+ Hydra.Ext.Csharp.Syntax: newtype ExternAliasDirective
+ Hydra.Ext.Csharp.Syntax: newtype Identifier
+ Hydra.Ext.Csharp.Syntax: newtype InterfaceType
+ Hydra.Ext.Csharp.Syntax: newtype InterpolatedRegularStringExpression
+ Hydra.Ext.Csharp.Syntax: newtype InterpolatedVerbatimStringExpression
+ Hydra.Ext.Csharp.Syntax: newtype Keyword
+ Hydra.Ext.Csharp.Syntax: newtype MemberDeclaratorList
+ Hydra.Ext.Csharp.Syntax: newtype NamedArgumentList
+ Hydra.Ext.Csharp.Syntax: newtype NamespaceName
+ Hydra.Ext.Csharp.Syntax: newtype PositionalArgumentList
+ Hydra.Ext.Csharp.Syntax: newtype QualifiedIdentifier
+ Hydra.Ext.Csharp.Syntax: newtype RankSpecifier
+ Hydra.Ext.Csharp.Syntax: newtype SecondaryConstraints
+ Hydra.Ext.Csharp.Syntax: newtype StatementExpressionList
+ Hydra.Ext.Csharp.Syntax: newtype TupleType
+ Hydra.Ext.Csharp.Syntax: newtype TypeArgumentList
+ Hydra.Ext.Csharp.Syntax: newtype TypeName
+ Hydra.Ext.Csharp.Syntax: newtype TypeParameter
+ Hydra.Ext.Csharp.Syntax: newtype TypeParameterList
+ Hydra.Ext.Csharp.Syntax: newtype UnboundTypeName
+ Hydra.Ext.Csharp.Syntax: newtype VariableDeclarators
+ Hydra.Ext.Csharp.Syntax: newtype VariableReference
+ Hydra.Ext.Csharp.Syntax: newtype VariantTypeParameters
+ Hydra.Ext.Datalog.Syntax: Atom :: Relation -> TermList -> Atom
+ Hydra.Ext.Datalog.Syntax: AtomListMany :: AtomListMultiple -> AtomList
+ Hydra.Ext.Datalog.Syntax: AtomListMultiple :: Atom -> AtomList -> AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: AtomListSingle :: Atom -> AtomList
+ Hydra.Ext.Datalog.Syntax: Constant :: String -> Constant
+ Hydra.Ext.Datalog.Syntax: ConstantListMany :: ConstantListMultiple -> ConstantList
+ Hydra.Ext.Datalog.Syntax: ConstantListMultiple :: Constant -> ConstantList -> ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: ConstantListSingle :: Constant -> ConstantList
+ Hydra.Ext.Datalog.Syntax: Fact :: Relation -> ConstantList -> Fact
+ Hydra.Ext.Datalog.Syntax: Program :: [ProgramElmt] -> Program
+ Hydra.Ext.Datalog.Syntax: ProgramElmtFact :: Fact -> ProgramElmt
+ Hydra.Ext.Datalog.Syntax: ProgramElmtRule :: Rule -> ProgramElmt
+ Hydra.Ext.Datalog.Syntax: Relation :: String -> Relation
+ Hydra.Ext.Datalog.Syntax: Rule :: Atom -> AtomList -> Rule
+ Hydra.Ext.Datalog.Syntax: TermConstant :: Constant -> Term
+ Hydra.Ext.Datalog.Syntax: TermListMany :: TermListMultiple -> TermList
+ Hydra.Ext.Datalog.Syntax: TermListMultiple :: Term -> TermList -> TermListMultiple
+ Hydra.Ext.Datalog.Syntax: TermListSingle :: Term -> TermList
+ Hydra.Ext.Datalog.Syntax: TermVariable :: Variable -> Term
+ Hydra.Ext.Datalog.Syntax: Variable :: String -> Variable
+ Hydra.Ext.Datalog.Syntax: [atomListMultipleAtomList] :: AtomListMultiple -> AtomList
+ Hydra.Ext.Datalog.Syntax: [atomListMultipleAtom] :: AtomListMultiple -> Atom
+ Hydra.Ext.Datalog.Syntax: [atomRelation] :: Atom -> Relation
+ Hydra.Ext.Datalog.Syntax: [atomTermList] :: Atom -> TermList
+ Hydra.Ext.Datalog.Syntax: [constantListMultipleConstantList] :: ConstantListMultiple -> ConstantList
+ Hydra.Ext.Datalog.Syntax: [constantListMultipleConstant] :: ConstantListMultiple -> Constant
+ Hydra.Ext.Datalog.Syntax: [factConstantList] :: Fact -> ConstantList
+ Hydra.Ext.Datalog.Syntax: [factRelation] :: Fact -> Relation
+ Hydra.Ext.Datalog.Syntax: [ruleAtomList] :: Rule -> AtomList
+ Hydra.Ext.Datalog.Syntax: [ruleAtom] :: Rule -> Atom
+ Hydra.Ext.Datalog.Syntax: [termListMultipleTermList] :: TermListMultiple -> TermList
+ Hydra.Ext.Datalog.Syntax: [termListMultipleTerm] :: TermListMultiple -> Term
+ Hydra.Ext.Datalog.Syntax: [unConstant] :: Constant -> String
+ Hydra.Ext.Datalog.Syntax: [unProgram] :: Program -> [ProgramElmt]
+ Hydra.Ext.Datalog.Syntax: [unRelation] :: Relation -> String
+ Hydra.Ext.Datalog.Syntax: [unVariable] :: Variable -> String
+ Hydra.Ext.Datalog.Syntax: _Atom :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomList :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomListMultiple :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomListMultiple_Atom :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomListMultiple_AtomList :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomList_many :: Name
+ Hydra.Ext.Datalog.Syntax: _AtomList_single :: Name
+ Hydra.Ext.Datalog.Syntax: _Atom_Relation :: Name
+ Hydra.Ext.Datalog.Syntax: _Atom_TermList :: Name
+ Hydra.Ext.Datalog.Syntax: _Constant :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantList :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantListMultiple :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantListMultiple_Constant :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantListMultiple_ConstantList :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantList_many :: Name
+ Hydra.Ext.Datalog.Syntax: _ConstantList_single :: Name
+ Hydra.Ext.Datalog.Syntax: _Fact :: Name
+ Hydra.Ext.Datalog.Syntax: _Fact_ConstantList :: Name
+ Hydra.Ext.Datalog.Syntax: _Fact_Relation :: Name
+ Hydra.Ext.Datalog.Syntax: _Program :: Name
+ Hydra.Ext.Datalog.Syntax: _ProgramElmt :: Name
+ Hydra.Ext.Datalog.Syntax: _ProgramElmt_Fact :: Name
+ Hydra.Ext.Datalog.Syntax: _ProgramElmt_Rule :: Name
+ Hydra.Ext.Datalog.Syntax: _Relation :: Name
+ Hydra.Ext.Datalog.Syntax: _Rule :: Name
+ Hydra.Ext.Datalog.Syntax: _Rule_Atom :: Name
+ Hydra.Ext.Datalog.Syntax: _Rule_AtomList :: Name
+ Hydra.Ext.Datalog.Syntax: _Term :: Name
+ Hydra.Ext.Datalog.Syntax: _TermList :: Name
+ Hydra.Ext.Datalog.Syntax: _TermListMultiple :: Name
+ Hydra.Ext.Datalog.Syntax: _TermListMultiple_Term :: Name
+ Hydra.Ext.Datalog.Syntax: _TermListMultiple_TermList :: Name
+ Hydra.Ext.Datalog.Syntax: _TermList_many :: Name
+ Hydra.Ext.Datalog.Syntax: _TermList_single :: Name
+ Hydra.Ext.Datalog.Syntax: _Term_Constant :: Name
+ Hydra.Ext.Datalog.Syntax: _Term_Variable :: Name
+ Hydra.Ext.Datalog.Syntax: _Variable :: Name
+ Hydra.Ext.Datalog.Syntax: data Atom
+ Hydra.Ext.Datalog.Syntax: data AtomList
+ Hydra.Ext.Datalog.Syntax: data AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: data ConstantList
+ Hydra.Ext.Datalog.Syntax: data ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: data Fact
+ Hydra.Ext.Datalog.Syntax: data ProgramElmt
+ Hydra.Ext.Datalog.Syntax: data Rule
+ Hydra.Ext.Datalog.Syntax: data Term
+ Hydra.Ext.Datalog.Syntax: data TermList
+ Hydra.Ext.Datalog.Syntax: data TermListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Atom
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.AtomList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Constant
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.ConstantList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Fact
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Program
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.ProgramElmt
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Relation
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Rule
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Term
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.TermList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.TermListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Eq Hydra.Ext.Datalog.Syntax.Variable
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Atom
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.AtomList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Constant
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.ConstantList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Fact
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Program
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.ProgramElmt
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Relation
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Rule
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Term
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.TermList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.TermListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Classes.Ord Hydra.Ext.Datalog.Syntax.Variable
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Atom
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.AtomList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Constant
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.ConstantList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Fact
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Program
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.ProgramElmt
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Relation
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Rule
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Term
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.TermList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.TermListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Datalog.Syntax.Variable
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Atom
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.AtomList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.AtomListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Constant
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.ConstantList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.ConstantListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Fact
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Program
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.ProgramElmt
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Relation
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Rule
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Term
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.TermList
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.TermListMultiple
+ Hydra.Ext.Datalog.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Datalog.Syntax.Variable
+ Hydra.Ext.Datalog.Syntax: newtype Constant
+ Hydra.Ext.Datalog.Syntax: newtype Program
+ Hydra.Ext.Datalog.Syntax: newtype Relation
+ Hydra.Ext.Datalog.Syntax: newtype Variable
+ Hydra.Ext.Delta.Parquet: ArrayType :: DataType -> Bool -> ArrayType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeBinary :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeBoolean :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeByte :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeDate :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeDouble :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeFloat :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeInteger :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeLong :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeShort :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeString :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: BasePrimitiveTypeTimestamp :: BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: DataTypeArray :: ArrayType -> DataType
+ Hydra.Ext.Delta.Parquet: DataTypeBase :: BasePrimitiveType -> DataType
+ Hydra.Ext.Delta.Parquet: DataTypeDecimal :: DecimalType -> DataType
+ Hydra.Ext.Delta.Parquet: DataTypeMap :: MapType -> DataType
+ Hydra.Ext.Delta.Parquet: DataTypeStruct :: StructType -> DataType
+ Hydra.Ext.Delta.Parquet: DecimalType :: Int -> Int -> DecimalType
+ Hydra.Ext.Delta.Parquet: MapType :: DataType -> DataType -> Bool -> MapType
+ Hydra.Ext.Delta.Parquet: StructField :: String -> DataType -> Bool -> StructField
+ Hydra.Ext.Delta.Parquet: StructType :: [StructField] -> StructType
+ Hydra.Ext.Delta.Parquet: [arrayTypeContainsNull] :: ArrayType -> Bool
+ Hydra.Ext.Delta.Parquet: [arrayTypeElementType] :: ArrayType -> DataType
+ Hydra.Ext.Delta.Parquet: [decimalTypePrecision] :: DecimalType -> Int
+ Hydra.Ext.Delta.Parquet: [decimalTypeScale] :: DecimalType -> Int
+ Hydra.Ext.Delta.Parquet: [mapTypeKeyType] :: MapType -> DataType
+ Hydra.Ext.Delta.Parquet: [mapTypeValueContainsNull] :: MapType -> Bool
+ Hydra.Ext.Delta.Parquet: [mapTypeValueType] :: MapType -> DataType
+ Hydra.Ext.Delta.Parquet: [structFieldDataType] :: StructField -> DataType
+ Hydra.Ext.Delta.Parquet: [structFieldName] :: StructField -> String
+ Hydra.Ext.Delta.Parquet: [structFieldNullable] :: StructField -> Bool
+ Hydra.Ext.Delta.Parquet: [structTypeFields] :: StructType -> [StructField]
+ Hydra.Ext.Delta.Parquet: _ArrayType :: Name
+ Hydra.Ext.Delta.Parquet: _ArrayType_containsNull :: Name
+ Hydra.Ext.Delta.Parquet: _ArrayType_elementType :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_binary :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_boolean :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_byte :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_date :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_double :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_float :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_integer :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_long :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_short :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_string :: Name
+ Hydra.Ext.Delta.Parquet: _BasePrimitiveType_timestamp :: Name
+ Hydra.Ext.Delta.Parquet: _DataType :: Name
+ Hydra.Ext.Delta.Parquet: _DataType_array :: Name
+ Hydra.Ext.Delta.Parquet: _DataType_base :: Name
+ Hydra.Ext.Delta.Parquet: _DataType_decimal :: Name
+ Hydra.Ext.Delta.Parquet: _DataType_map :: Name
+ Hydra.Ext.Delta.Parquet: _DataType_struct :: Name
+ Hydra.Ext.Delta.Parquet: _DecimalType :: Name
+ Hydra.Ext.Delta.Parquet: _DecimalType_precision :: Name
+ Hydra.Ext.Delta.Parquet: _DecimalType_scale :: Name
+ Hydra.Ext.Delta.Parquet: _MapType :: Name
+ Hydra.Ext.Delta.Parquet: _MapType_keyType :: Name
+ Hydra.Ext.Delta.Parquet: _MapType_valueContainsNull :: Name
+ Hydra.Ext.Delta.Parquet: _MapType_valueType :: Name
+ Hydra.Ext.Delta.Parquet: _StructField :: Name
+ Hydra.Ext.Delta.Parquet: _StructField_dataType :: Name
+ Hydra.Ext.Delta.Parquet: _StructField_name :: Name
+ Hydra.Ext.Delta.Parquet: _StructField_nullable :: Name
+ Hydra.Ext.Delta.Parquet: _StructType :: Name
+ Hydra.Ext.Delta.Parquet: _StructType_fields :: Name
+ Hydra.Ext.Delta.Parquet: data ArrayType
+ Hydra.Ext.Delta.Parquet: data BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: data DataType
+ Hydra.Ext.Delta.Parquet: data DecimalType
+ Hydra.Ext.Delta.Parquet: data MapType
+ Hydra.Ext.Delta.Parquet: data StructField
+ Hydra.Ext.Delta.Parquet: data StructType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.ArrayType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.DataType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.DecimalType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.MapType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.StructField
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Eq Hydra.Ext.Delta.Parquet.StructType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.ArrayType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.DataType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.DecimalType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.MapType
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.StructField
+ Hydra.Ext.Delta.Parquet: instance GHC.Classes.Ord Hydra.Ext.Delta.Parquet.StructType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.ArrayType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.DataType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.DecimalType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.MapType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.StructField
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Read.Read Hydra.Ext.Delta.Parquet.StructType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.ArrayType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.BasePrimitiveType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.DataType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.DecimalType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.MapType
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.StructField
+ Hydra.Ext.Delta.Parquet: instance GHC.Internal.Show.Show Hydra.Ext.Delta.Parquet.StructType
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDef :: TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm Bool -> TypedTerm (Maybe AtlasAttributeDefCardinality) -> TypedTerm Int -> TypedTerm Int -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm Int -> TypedTerm (Maybe AtlasAttributeDefIndexType) -> TypedTerm [AtlasConstraintDef] -> TypedTerm (Map String String) -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefAtlasAttributeDef :: TypedName AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefCardinality :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe AtlasAttributeDefCardinality)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefCardinalityAtlasAttributeDefCardinality :: TypedName AtlasAttributeDefCardinality
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefCardinalityList :: TypedTerm AtlasAttributeDefCardinality
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefCardinalitySet :: TypedTerm AtlasAttributeDefCardinality
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefCardinalitySingle :: TypedTerm AtlasAttributeDefCardinality
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefConstraints :: TypedTerm AtlasAttributeDef -> TypedTerm [AtlasConstraintDef]
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefDefaultValue :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefDescription :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefDisplayName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIncludeInNotification :: TypedTerm AtlasAttributeDef -> TypedTerm Bool
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIndexType :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe AtlasAttributeDefIndexType)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIndexTypeAtlasAttributeDefIndexType :: TypedName AtlasAttributeDefIndexType
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIndexTypeDefault :: TypedTerm AtlasAttributeDefIndexType
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIndexTypeString :: TypedTerm AtlasAttributeDefIndexType
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIsIndexable :: TypedTerm AtlasAttributeDef -> TypedTerm Bool
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIsOptional :: TypedTerm AtlasAttributeDef -> TypedTerm Bool
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefIsUnique :: TypedTerm AtlasAttributeDef -> TypedTerm Bool
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefOptions :: TypedTerm AtlasAttributeDef -> TypedTerm (Map String String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefSearchWeight :: TypedTerm AtlasAttributeDef -> TypedTerm Int
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefTypeName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefValuesMaxCount :: TypedTerm AtlasAttributeDef -> TypedTerm Int
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefValuesMinCount :: TypedTerm AtlasAttributeDef -> TypedTerm Int
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithCardinality :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe AtlasAttributeDefCardinality) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithConstraints :: TypedTerm AtlasAttributeDef -> TypedTerm [AtlasConstraintDef] -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithDefaultValue :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithDescription :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithDisplayName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithIncludeInNotification :: TypedTerm AtlasAttributeDef -> TypedTerm Bool -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithIndexType :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe AtlasAttributeDefIndexType) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithIsIndexable :: TypedTerm AtlasAttributeDef -> TypedTerm Bool -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithIsOptional :: TypedTerm AtlasAttributeDef -> TypedTerm Bool -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithIsUnique :: TypedTerm AtlasAttributeDef -> TypedTerm Bool -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithOptions :: TypedTerm AtlasAttributeDef -> TypedTerm (Map String String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithSearchWeight :: TypedTerm AtlasAttributeDef -> TypedTerm Int -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithTypeName :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithValuesMaxCount :: TypedTerm AtlasAttributeDef -> TypedTerm Int -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasAttributeDefWithValuesMinCount :: TypedTerm AtlasAttributeDef -> TypedTerm Int -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDef :: TypedTerm (Maybe TypeCategory) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe DateTime) -> TypedTerm (Maybe DateTime) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Map String String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefAtlasBaseTypeDef :: TypedName AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefCategory :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe TypeCategory)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefCreateTime :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe DateTime)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefCreatedBy :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefDescription :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefGuid :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefName :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefOptions :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Map String String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefServiceType :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefTypeVersion :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefUpdateTime :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe DateTime)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefUpdatedBy :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefVersion :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithCategory :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe TypeCategory) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithCreateTime :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe DateTime) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithCreatedBy :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithDescription :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithGuid :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithName :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithOptions :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Map String String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithServiceType :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithTypeVersion :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithUpdateTime :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe DateTime) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithUpdatedBy :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasBaseTypeDefWithVersion :: TypedTerm AtlasBaseTypeDef -> TypedTerm (Maybe Int64) -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDef :: TypedTerm (Maybe String) -> TypedTerm (Map String String) -> TypedTerm AtlasConstraintDef
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDefAtlasConstraintDef :: TypedName AtlasConstraintDef
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDefParams :: TypedTerm AtlasConstraintDef -> TypedTerm (Map String String)
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDefType :: TypedTerm AtlasConstraintDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDefWithParams :: TypedTerm AtlasConstraintDef -> TypedTerm (Map String String) -> TypedTerm AtlasConstraintDef
+ Hydra.Ext.Dsl.Atlas: atlasConstraintDefWithType :: TypedTerm AtlasConstraintDef -> TypedTerm (Maybe String) -> TypedTerm AtlasConstraintDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDef :: TypedTerm AtlasStructDef -> TypedTerm (Set String) -> TypedTerm (Set String) -> TypedTerm [AtlasRelationshipAttributeDef] -> TypedTerm (Map String [AtlasAttributeDef]) -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefAsAtlasStruct :: TypedTerm AtlasEntityDef -> TypedTerm AtlasStructDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefAtlasEntityDef :: TypedName AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefBusinessAttributeDefs :: TypedTerm AtlasEntityDef -> TypedTerm (Map String [AtlasAttributeDef])
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefRelationshipAttributeDefs :: TypedTerm AtlasEntityDef -> TypedTerm [AtlasRelationshipAttributeDef]
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefSubTypes :: TypedTerm AtlasEntityDef -> TypedTerm (Set String)
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefSuperTypes :: TypedTerm AtlasEntityDef -> TypedTerm (Set String)
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefWithAsAtlasStruct :: TypedTerm AtlasEntityDef -> TypedTerm AtlasStructDef -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefWithBusinessAttributeDefs :: TypedTerm AtlasEntityDef -> TypedTerm (Map String [AtlasAttributeDef]) -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefWithRelationshipAttributeDefs :: TypedTerm AtlasEntityDef -> TypedTerm [AtlasRelationshipAttributeDef] -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefWithSubTypes :: TypedTerm AtlasEntityDef -> TypedTerm (Set String) -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasEntityDefWithSuperTypes :: TypedTerm AtlasEntityDef -> TypedTerm (Set String) -> TypedTerm AtlasEntityDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDef :: TypedTerm AtlasAttributeDef -> TypedTerm (Maybe String) -> TypedTerm Bool -> TypedTerm AtlasRelationshipAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefAsAtlasAttribute :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm AtlasAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefAtlasRelationshipAttributeDef :: TypedName AtlasRelationshipAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefIsLegacyAttribute :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm Bool
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefRelationshipTypeName :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefWithAsAtlasAttribute :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm AtlasAttributeDef -> TypedTerm AtlasRelationshipAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefWithIsLegacyAttribute :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm Bool -> TypedTerm AtlasRelationshipAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasRelationshipAttributeDefWithRelationshipTypeName :: TypedTerm AtlasRelationshipAttributeDef -> TypedTerm (Maybe String) -> TypedTerm AtlasRelationshipAttributeDef
+ Hydra.Ext.Dsl.Atlas: atlasStructDef :: TypedTerm AtlasBaseTypeDef -> TypedTerm [AtlasAttributeDef] -> TypedTerm AtlasStructDef
+ Hydra.Ext.Dsl.Atlas: atlasStructDefAsAtlasBaseType :: TypedTerm AtlasStructDef -> TypedTerm AtlasBaseTypeDef
+ Hydra.Ext.Dsl.Atlas: atlasStructDefAtlasStructDef :: TypedName AtlasStructDef
+ Hydra.Ext.Dsl.Atlas: atlasStructDefAttributeDefs :: TypedTerm AtlasStructDef -> TypedTerm [AtlasAttributeDef]
+ Hydra.Ext.Dsl.Atlas: atlasStructDefWithAsAtlasBaseType :: TypedTerm AtlasStructDef -> TypedTerm AtlasBaseTypeDef -> TypedTerm AtlasStructDef
+ Hydra.Ext.Dsl.Atlas: atlasStructDefWithAttributeDefs :: TypedTerm AtlasStructDef -> TypedTerm [AtlasAttributeDef] -> TypedTerm AtlasStructDef
+ Hydra.Ext.Dsl.Atlas: typeCategoryArray :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryBusinessMetadata :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryClassification :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryEntity :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryEnum :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryMap :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryObjectIdType :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryPrimitive :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryRelationship :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryStruct :: TypedTerm TypeCategory
+ Hydra.Ext.Dsl.Atlas: typeCategoryTypeCategory :: TypedName TypeCategory
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironment :: TypedTerm (Map AvroQualifiedName (Adapter Schema Type Value Term Error)) -> TypedTerm (Maybe String) -> TypedTerm (Map Name Binding) -> TypedTerm AvroEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentAvroEnvironment :: TypedName AvroEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentElements :: TypedTerm AvroEnvironment -> TypedTerm (Map Name Binding)
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentNamedAdapters :: TypedTerm AvroEnvironment -> TypedTerm (Map AvroQualifiedName (Adapter Schema Type Value Term Error))
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentNamespace :: TypedTerm AvroEnvironment -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentWithElements :: TypedTerm AvroEnvironment -> TypedTerm (Map Name Binding) -> TypedTerm AvroEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentWithNamedAdapters :: TypedTerm AvroEnvironment -> TypedTerm (Map AvroQualifiedName (Adapter Schema Type Value Term Error)) -> TypedTerm AvroEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: avroEnvironmentWithNamespace :: TypedTerm AvroEnvironment -> TypedTerm (Maybe String) -> TypedTerm AvroEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKey :: TypedTerm Name -> TypedTerm (String -> Name) -> TypedTerm AvroForeignKey
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKeyAvroForeignKey :: TypedName AvroForeignKey
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKeyConstructor :: TypedTerm AvroForeignKey -> TypedTerm (String -> Name)
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKeyTypeName :: TypedTerm AvroForeignKey -> TypedTerm Name
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKeyWithConstructor :: TypedTerm AvroForeignKey -> TypedTerm (String -> Name) -> TypedTerm AvroForeignKey
+ Hydra.Ext.Dsl.Avro.Environment: avroForeignKeyWithTypeName :: TypedTerm AvroForeignKey -> TypedTerm Name -> TypedTerm AvroForeignKey
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKey :: TypedTerm Name -> TypedTerm (String -> Name) -> TypedTerm AvroPrimaryKey
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKeyAvroPrimaryKey :: TypedName AvroPrimaryKey
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKeyConstructor :: TypedTerm AvroPrimaryKey -> TypedTerm (String -> Name)
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKeyFieldName :: TypedTerm AvroPrimaryKey -> TypedTerm Name
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKeyWithConstructor :: TypedTerm AvroPrimaryKey -> TypedTerm (String -> Name) -> TypedTerm AvroPrimaryKey
+ Hydra.Ext.Dsl.Avro.Environment: avroPrimaryKeyWithFieldName :: TypedTerm AvroPrimaryKey -> TypedTerm Name -> TypedTerm AvroPrimaryKey
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedName :: TypedTerm (Maybe String) -> TypedTerm String -> TypedTerm AvroQualifiedName
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedNameAvroQualifiedName :: TypedName AvroQualifiedName
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedNameName :: TypedTerm AvroQualifiedName -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedNameNamespace :: TypedTerm AvroQualifiedName -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedNameWithName :: TypedTerm AvroQualifiedName -> TypedTerm String -> TypedTerm AvroQualifiedName
+ Hydra.Ext.Dsl.Avro.Environment: avroQualifiedNameWithNamespace :: TypedTerm AvroQualifiedName -> TypedTerm (Maybe String) -> TypedTerm AvroQualifiedName
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironment :: TypedTerm (Map Name Type) -> TypedTerm (Map Name (Adapter Type Schema Term Value Error)) -> TypedTerm EncodeEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironmentEmitted :: TypedTerm EncodeEnvironment -> TypedTerm (Map Name (Adapter Type Schema Term Value Error))
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironmentEncodeEnvironment :: TypedName EncodeEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironmentTypeMap :: TypedTerm EncodeEnvironment -> TypedTerm (Map Name Type)
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironmentWithEmitted :: TypedTerm EncodeEnvironment -> TypedTerm (Map Name (Adapter Type Schema Term Value Error)) -> TypedTerm EncodeEnvironment
+ Hydra.Ext.Dsl.Avro.Environment: encodeEnvironmentWithTypeMap :: TypedTerm EncodeEnvironment -> TypedTerm (Map Name Type) -> TypedTerm EncodeEnvironment
+ Hydra.Ext.Dsl.Avro.Schema: array :: TypedTerm Schema -> TypedTerm Array
+ Hydra.Ext.Dsl.Avro.Schema: arrayArray :: TypedName Array
+ Hydra.Ext.Dsl.Avro.Schema: arrayItems :: TypedTerm Array -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: arrayWithItems :: TypedTerm Array -> TypedTerm Schema -> TypedTerm Array
+ Hydra.Ext.Dsl.Avro.Schema: enum :: TypedTerm [String] -> TypedTerm (Maybe String) -> TypedTerm Enum
+ Hydra.Ext.Dsl.Avro.Schema: enumDefault :: TypedTerm Enum -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Schema: enumEnum :: TypedName Enum
+ Hydra.Ext.Dsl.Avro.Schema: enumSymbols :: TypedTerm Enum -> TypedTerm [String]
+ Hydra.Ext.Dsl.Avro.Schema: enumWithDefault :: TypedTerm Enum -> TypedTerm (Maybe String) -> TypedTerm Enum
+ Hydra.Ext.Dsl.Avro.Schema: enumWithSymbols :: TypedTerm Enum -> TypedTerm [String] -> TypedTerm Enum
+ Hydra.Ext.Dsl.Avro.Schema: field :: TypedTerm String -> TypedTerm (Maybe String) -> TypedTerm Schema -> TypedTerm (Maybe Value) -> TypedTerm (Maybe Order) -> TypedTerm (Maybe [String]) -> TypedTerm (Map String Value) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldAliases :: TypedTerm Field -> TypedTerm (Maybe [String])
+ Hydra.Ext.Dsl.Avro.Schema: fieldAnnotations :: TypedTerm Field -> TypedTerm (Map String Value)
+ Hydra.Ext.Dsl.Avro.Schema: fieldDefault :: TypedTerm Field -> TypedTerm (Maybe Value)
+ Hydra.Ext.Dsl.Avro.Schema: fieldDoc :: TypedTerm Field -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Schema: fieldField :: TypedName Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldName :: TypedTerm Field -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Schema: fieldOrder :: TypedTerm Field -> TypedTerm (Maybe Order)
+ Hydra.Ext.Dsl.Avro.Schema: fieldType :: TypedTerm Field -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithAliases :: TypedTerm Field -> TypedTerm (Maybe [String]) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithAnnotations :: TypedTerm Field -> TypedTerm (Map String Value) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithDefault :: TypedTerm Field -> TypedTerm (Maybe Value) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithDoc :: TypedTerm Field -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithName :: TypedTerm Field -> TypedTerm String -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithOrder :: TypedTerm Field -> TypedTerm (Maybe Order) -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fieldWithType :: TypedTerm Field -> TypedTerm Schema -> TypedTerm Field
+ Hydra.Ext.Dsl.Avro.Schema: fixed :: TypedTerm Int -> TypedTerm Fixed
+ Hydra.Ext.Dsl.Avro.Schema: fixedFixed :: TypedName Fixed
+ Hydra.Ext.Dsl.Avro.Schema: fixedSize :: TypedTerm Fixed -> TypedTerm Int
+ Hydra.Ext.Dsl.Avro.Schema: fixedWithSize :: TypedTerm Fixed -> TypedTerm Int -> TypedTerm Fixed
+ Hydra.Ext.Dsl.Avro.Schema: map :: TypedTerm Schema -> TypedTerm Map
+ Hydra.Ext.Dsl.Avro.Schema: mapMap :: TypedName Map
+ Hydra.Ext.Dsl.Avro.Schema: mapValues :: TypedTerm Map -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: mapWithValues :: TypedTerm Map -> TypedTerm Schema -> TypedTerm Map
+ Hydra.Ext.Dsl.Avro.Schema: named :: TypedTerm String -> TypedTerm (Maybe String) -> TypedTerm (Maybe [String]) -> TypedTerm (Maybe String) -> TypedTerm NamedType -> TypedTerm (Map String Value) -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedAliases :: TypedTerm Named -> TypedTerm (Maybe [String])
+ Hydra.Ext.Dsl.Avro.Schema: namedAnnotations :: TypedTerm Named -> TypedTerm (Map String Value)
+ Hydra.Ext.Dsl.Avro.Schema: namedDoc :: TypedTerm Named -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Schema: namedName :: TypedTerm Named -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Schema: namedNamed :: TypedName Named
+ Hydra.Ext.Dsl.Avro.Schema: namedNamespace :: TypedTerm Named -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Schema: namedType :: TypedTerm Named -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Avro.Schema: namedTypeEnum :: TypedTerm Enum -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Avro.Schema: namedTypeFixed :: TypedTerm Fixed -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Avro.Schema: namedTypeNamedType :: TypedName NamedType
+ Hydra.Ext.Dsl.Avro.Schema: namedTypeRecord :: TypedTerm Record -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Avro.Schema: namedWithAliases :: TypedTerm Named -> TypedTerm (Maybe [String]) -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedWithAnnotations :: TypedTerm Named -> TypedTerm (Map String Value) -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedWithDoc :: TypedTerm Named -> TypedTerm (Maybe String) -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedWithName :: TypedTerm Named -> TypedTerm String -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedWithNamespace :: TypedTerm Named -> TypedTerm (Maybe String) -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: namedWithType :: TypedTerm Named -> TypedTerm NamedType -> TypedTerm Named
+ Hydra.Ext.Dsl.Avro.Schema: orderAscending :: TypedTerm Order
+ Hydra.Ext.Dsl.Avro.Schema: orderDescending :: TypedTerm Order
+ Hydra.Ext.Dsl.Avro.Schema: orderIgnore :: TypedTerm Order
+ Hydra.Ext.Dsl.Avro.Schema: orderOrder :: TypedName Order
+ Hydra.Ext.Dsl.Avro.Schema: primitiveBoolean :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveBytes :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveDouble :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveFloat :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveInt :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveLong :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveNull :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitivePrimitive :: TypedName Primitive
+ Hydra.Ext.Dsl.Avro.Schema: primitiveString :: TypedTerm Primitive
+ Hydra.Ext.Dsl.Avro.Schema: record :: TypedTerm [Field] -> TypedTerm Record
+ Hydra.Ext.Dsl.Avro.Schema: recordFields :: TypedTerm Record -> TypedTerm [Field]
+ Hydra.Ext.Dsl.Avro.Schema: recordRecord :: TypedName Record
+ Hydra.Ext.Dsl.Avro.Schema: recordWithFields :: TypedTerm Record -> TypedTerm [Field] -> TypedTerm Record
+ Hydra.Ext.Dsl.Avro.Schema: schemaArray :: TypedTerm Array -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaMap :: TypedTerm Map -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaNamed :: TypedTerm Named -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaPrimitive :: TypedTerm Primitive -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaReference :: TypedTerm String -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaSchema :: TypedName Schema
+ Hydra.Ext.Dsl.Avro.Schema: schemaUnion :: TypedTerm Union -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Schema: unUnion :: TypedTerm Union -> TypedTerm [Schema]
+ Hydra.Ext.Dsl.Avro.Schema: union :: TypedTerm [Schema] -> TypedTerm Union
+ Hydra.Ext.Dsl.Avro.Schema: unionUnion :: TypedName Union
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseAvroTestCase :: TypedName AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseLossiness :: TypedTerm LossinessTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseNameMapping :: TypedTerm NameMappingTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseSchemaSerialization :: TypedTerm SchemaSerializationTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTermLevelForward :: TypedTerm TermLevelForwardTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTermLevelReverse :: TypedTerm TermLevelReverseTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTermLevelRoundTripJson :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTermLevelRoundTripTerm :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTypeLevelForward :: TypedTerm TypeLevelForwardTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTypeLevelReverse :: TypedTerm TypeLevelReverseTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTypeLevelRoundTripAvro :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseTypeLevelRoundTripHydra :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: avroTestCaseUnion :: TypedTerm UnionTestCase -> TypedTerm AvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Type -> TypedTerm Schema -> TypedTerm Bool -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseDescription :: TypedTerm LossinessTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseHydraType :: TypedTerm LossinessTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseIsLossy :: TypedTerm LossinessTestCase -> TypedTerm Bool
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseLossinessTestCase :: TypedName LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseOriginalSchema :: TypedTerm LossinessTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseRecoveredSchema :: TypedTerm LossinessTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseWithDescription :: TypedTerm LossinessTestCase -> TypedTerm String -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseWithHydraType :: TypedTerm LossinessTestCase -> TypedTerm Type -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseWithIsLossy :: TypedTerm LossinessTestCase -> TypedTerm Bool -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseWithOriginalSchema :: TypedTerm LossinessTestCase -> TypedTerm Schema -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: lossinessTestCaseWithRecoveredSchema :: TypedTerm LossinessTestCase -> TypedTerm Schema -> TypedTerm LossinessTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCase :: TypedTerm String -> TypedTerm Name -> TypedTerm String -> TypedTerm (Maybe String) -> TypedTerm NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseAvroName :: TypedTerm NameMappingTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseAvroNamespace :: TypedTerm NameMappingTestCase -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseDescription :: TypedTerm NameMappingTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseHydraName :: TypedTerm NameMappingTestCase -> TypedTerm Name
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseNameMappingTestCase :: TypedName NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseWithAvroName :: TypedTerm NameMappingTestCase -> TypedTerm String -> TypedTerm NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseWithAvroNamespace :: TypedTerm NameMappingTestCase -> TypedTerm (Maybe String) -> TypedTerm NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseWithDescription :: TypedTerm NameMappingTestCase -> TypedTerm String -> TypedTerm NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: nameMappingTestCaseWithHydraName :: TypedTerm NameMappingTestCase -> TypedTerm Name -> TypedTerm NameMappingTestCase
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Value -> TypedTerm SchemaSerializationTestCase
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseDescription :: TypedTerm SchemaSerializationTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseJson :: TypedTerm SchemaSerializationTestCase -> TypedTerm Value
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseSchema :: TypedTerm SchemaSerializationTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseSchemaSerializationTestCase :: TypedName SchemaSerializationTestCase
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseWithDescription :: TypedTerm SchemaSerializationTestCase -> TypedTerm String -> TypedTerm SchemaSerializationTestCase
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseWithJson :: TypedTerm SchemaSerializationTestCase -> TypedTerm Value -> TypedTerm SchemaSerializationTestCase
+ Hydra.Ext.Dsl.Avro.Testing: schemaSerializationTestCaseWithSchema :: TypedTerm SchemaSerializationTestCase -> TypedTerm Schema -> TypedTerm SchemaSerializationTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Value -> TypedTerm Term -> TypedTerm TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseDescription :: TypedTerm TermLevelForwardTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseJson :: TypedTerm TermLevelForwardTestCase -> TypedTerm Value
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseSchema :: TypedTerm TermLevelForwardTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseTerm :: TypedTerm TermLevelForwardTestCase -> TypedTerm Term
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseTermLevelForwardTestCase :: TypedName TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseWithDescription :: TypedTerm TermLevelForwardTestCase -> TypedTerm String -> TypedTerm TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseWithJson :: TypedTerm TermLevelForwardTestCase -> TypedTerm Value -> TypedTerm TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseWithSchema :: TypedTerm TermLevelForwardTestCase -> TypedTerm Schema -> TypedTerm TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelForwardTestCaseWithTerm :: TypedTerm TermLevelForwardTestCase -> TypedTerm Term -> TypedTerm TermLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Term -> TypedTerm Value -> TypedTerm TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseDescription :: TypedTerm TermLevelReverseTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseJson :: TypedTerm TermLevelReverseTestCase -> TypedTerm Value
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseSchema :: TypedTerm TermLevelReverseTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseTerm :: TypedTerm TermLevelReverseTestCase -> TypedTerm Term
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseTermLevelReverseTestCase :: TypedName TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseWithDescription :: TypedTerm TermLevelReverseTestCase -> TypedTerm String -> TypedTerm TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseWithJson :: TypedTerm TermLevelReverseTestCase -> TypedTerm Value -> TypedTerm TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseWithSchema :: TypedTerm TermLevelReverseTestCase -> TypedTerm Schema -> TypedTerm TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelReverseTestCaseWithTerm :: TypedTerm TermLevelReverseTestCase -> TypedTerm Term -> TypedTerm TermLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Value -> TypedTerm Value -> TypedTerm TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseDescription :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseExpectedJson :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Value
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseJson :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Value
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseSchema :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseTermLevelRoundTripJsonTestCase :: TypedName TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseWithDescription :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm String -> TypedTerm TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseWithExpectedJson :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Value -> TypedTerm TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseWithJson :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Value -> TypedTerm TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripJsonTestCaseWithSchema :: TypedTerm TermLevelRoundTripJsonTestCase -> TypedTerm Schema -> TypedTerm TermLevelRoundTripJsonTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCase :: TypedTerm String -> TypedTerm Type -> TypedTerm Term -> TypedTerm Term -> TypedTerm TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseDescription :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseExpectedTerm :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Term
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseTerm :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Term
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseTermLevelRoundTripTermTestCase :: TypedName TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseType :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseWithDescription :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm String -> TypedTerm TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseWithExpectedTerm :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Term -> TypedTerm TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseWithTerm :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Term -> TypedTerm TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: termLevelRoundTripTermTestCaseWithType :: TypedTerm TermLevelRoundTripTermTestCase -> TypedTerm Type -> TypedTerm TermLevelRoundTripTermTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Type -> TypedTerm TypeLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseDescription :: TypedTerm TypeLevelForwardTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseSchema :: TypedTerm TypeLevelForwardTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseType :: TypedTerm TypeLevelForwardTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseTypeLevelForwardTestCase :: TypedName TypeLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseWithDescription :: TypedTerm TypeLevelForwardTestCase -> TypedTerm String -> TypedTerm TypeLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseWithSchema :: TypedTerm TypeLevelForwardTestCase -> TypedTerm Schema -> TypedTerm TypeLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelForwardTestCaseWithType :: TypedTerm TypeLevelForwardTestCase -> TypedTerm Type -> TypedTerm TypeLevelForwardTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCase :: TypedTerm String -> TypedTerm Type -> TypedTerm Schema -> TypedTerm TypeLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseDescription :: TypedTerm TypeLevelReverseTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseSchema :: TypedTerm TypeLevelReverseTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseType :: TypedTerm TypeLevelReverseTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseTypeLevelReverseTestCase :: TypedName TypeLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseWithDescription :: TypedTerm TypeLevelReverseTestCase -> TypedTerm String -> TypedTerm TypeLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseWithSchema :: TypedTerm TypeLevelReverseTestCase -> TypedTerm Schema -> TypedTerm TypeLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelReverseTestCaseWithType :: TypedTerm TypeLevelReverseTestCase -> TypedTerm Type -> TypedTerm TypeLevelReverseTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCase :: TypedTerm String -> TypedTerm Schema -> TypedTerm Schema -> TypedTerm TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseDescription :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseExpectedSchema :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseSchema :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseTypeLevelRoundTripAvroTestCase :: TypedName TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseWithDescription :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm String -> TypedTerm TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseWithExpectedSchema :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm Schema -> TypedTerm TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripAvroTestCaseWithSchema :: TypedTerm TypeLevelRoundTripAvroTestCase -> TypedTerm Schema -> TypedTerm TypeLevelRoundTripAvroTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCase :: TypedTerm String -> TypedTerm Type -> TypedTerm Type -> TypedTerm TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseDescription :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseExpectedType :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseType :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseTypeLevelRoundTripHydraTestCase :: TypedName TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseWithDescription :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm String -> TypedTerm TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseWithExpectedType :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm Type -> TypedTerm TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Dsl.Avro.Testing: typeLevelRoundTripHydraTestCaseWithType :: TypedTerm TypeLevelRoundTripHydraTestCase -> TypedTerm Type -> TypedTerm TypeLevelRoundTripHydraTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCase :: TypedTerm String -> TypedTerm Type -> TypedTerm Schema -> TypedTerm [(Term, Value)] -> TypedTerm UnionTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseAvroSchema :: TypedTerm UnionTestCase -> TypedTerm Schema
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseDescription :: TypedTerm UnionTestCase -> TypedTerm String
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseHydraType :: TypedTerm UnionTestCase -> TypedTerm Type
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseTermPairs :: TypedTerm UnionTestCase -> TypedTerm [(Term, Value)]
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseUnionTestCase :: TypedName UnionTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseWithAvroSchema :: TypedTerm UnionTestCase -> TypedTerm Schema -> TypedTerm UnionTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseWithDescription :: TypedTerm UnionTestCase -> TypedTerm String -> TypedTerm UnionTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseWithHydraType :: TypedTerm UnionTestCase -> TypedTerm Type -> TypedTerm UnionTestCase
+ Hydra.Ext.Dsl.Avro.Testing: unionTestCaseWithTermPairs :: TypedTerm UnionTestCase -> TypedTerm [(Term, Value)] -> TypedTerm UnionTestCase
+ Hydra.Ext.Dsl.Azure.Dtld: command :: TypedTerm Iri -> TypedTerm String -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe CommandType) -> TypedTerm (Maybe CommandPayload) -> TypedTerm (Maybe CommandPayload) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandCommand :: TypedName Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandCommandType :: TypedTerm Command -> TypedTerm (Maybe CommandType)
+ Hydra.Ext.Dsl.Azure.Dtld: commandComment :: TypedTerm Command -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandDescription :: TypedTerm Command -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandDisplayName :: TypedTerm Command -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandId :: TypedTerm Command -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: commandName :: TypedTerm Command -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayload :: TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadCommandPayload :: TypedName CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadComment :: TypedTerm CommandPayload -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadDescription :: TypedTerm CommandPayload -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadDisplayName :: TypedTerm CommandPayload -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadId :: TypedTerm CommandPayload -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadName :: TypedTerm CommandPayload -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadSchema :: TypedTerm CommandPayload -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithComment :: TypedTerm CommandPayload -> TypedTerm (Maybe String) -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithDescription :: TypedTerm CommandPayload -> TypedTerm (Maybe String) -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithDisplayName :: TypedTerm CommandPayload -> TypedTerm (Maybe String) -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithId :: TypedTerm CommandPayload -> TypedTerm (Maybe Dtmi) -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithName :: TypedTerm CommandPayload -> TypedTerm String -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandPayloadWithSchema :: TypedTerm CommandPayload -> TypedTerm Schema -> TypedTerm CommandPayload
+ Hydra.Ext.Dsl.Azure.Dtld: commandRequest :: TypedTerm Command -> TypedTerm (Maybe CommandPayload)
+ Hydra.Ext.Dsl.Azure.Dtld: commandResponse :: TypedTerm Command -> TypedTerm (Maybe CommandPayload)
+ Hydra.Ext.Dsl.Azure.Dtld: commandType :: TypedTerm Command -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: commandTypeAsynchronous :: TypedTerm CommandType
+ Hydra.Ext.Dsl.Azure.Dtld: commandTypeCommandType :: TypedName CommandType
+ Hydra.Ext.Dsl.Azure.Dtld: commandTypeSynchronous :: TypedTerm CommandType
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithCommandType :: TypedTerm Command -> TypedTerm (Maybe CommandType) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithComment :: TypedTerm Command -> TypedTerm (Maybe String) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithDescription :: TypedTerm Command -> TypedTerm (Maybe String) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithDisplayName :: TypedTerm Command -> TypedTerm (Maybe String) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithId :: TypedTerm Command -> TypedTerm (Maybe Dtmi) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithName :: TypedTerm Command -> TypedTerm String -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithRequest :: TypedTerm Command -> TypedTerm (Maybe CommandPayload) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithResponse :: TypedTerm Command -> TypedTerm (Maybe CommandPayload) -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: commandWithType :: TypedTerm Command -> TypedTerm Iri -> TypedTerm Command
+ Hydra.Ext.Dsl.Azure.Dtld: component :: TypedTerm Iri -> TypedTerm String -> TypedTerm Interface -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentComment :: TypedTerm Component -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: componentComponent :: TypedName Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentDescription :: TypedTerm Component -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: componentDisplayName :: TypedTerm Component -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: componentId :: TypedTerm Component -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: componentName :: TypedTerm Component -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: componentSchema :: TypedTerm Component -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: componentType :: TypedTerm Component -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithComment :: TypedTerm Component -> TypedTerm (Maybe String) -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithDescription :: TypedTerm Component -> TypedTerm (Maybe String) -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithDisplayName :: TypedTerm Component -> TypedTerm (Maybe String) -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithId :: TypedTerm Component -> TypedTerm (Maybe Dtmi) -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithName :: TypedTerm Component -> TypedTerm String -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithSchema :: TypedTerm Component -> TypedTerm Interface -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: componentWithType :: TypedTerm Component -> TypedTerm Iri -> TypedTerm Component
+ Hydra.Ext.Dsl.Azure.Dtld: dtmi :: TypedTerm String -> TypedTerm Dtmi
+ Hydra.Ext.Dsl.Azure.Dtld: dtmiDtmi :: TypedName Dtmi
+ Hydra.Ext.Dsl.Azure.Dtld: enumValue :: TypedTerm String -> TypedTerm IntegerOrString -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueComment :: TypedTerm EnumValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueDescription :: TypedTerm EnumValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueDisplayName :: TypedTerm EnumValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueEnumValue :: TypedName EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueEnumValue2 :: TypedTerm EnumValue -> TypedTerm IntegerOrString
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueId :: TypedTerm EnumValue -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueName :: TypedTerm EnumValue -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithComment :: TypedTerm EnumValue -> TypedTerm (Maybe String) -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithDescription :: TypedTerm EnumValue -> TypedTerm (Maybe String) -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithDisplayName :: TypedTerm EnumValue -> TypedTerm (Maybe String) -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithEnumValue :: TypedTerm EnumValue -> TypedTerm IntegerOrString -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithId :: TypedTerm EnumValue -> TypedTerm (Maybe Dtmi) -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: enumValueWithName :: TypedTerm EnumValue -> TypedTerm String -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Azure.Dtld: field :: TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldComment :: TypedTerm Field -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: fieldDescription :: TypedTerm Field -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: fieldDisplayName :: TypedTerm Field -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: fieldField :: TypedName Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldId :: TypedTerm Field -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: fieldName :: TypedTerm Field -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: fieldSchema :: TypedTerm Field -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithComment :: TypedTerm Field -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithDescription :: TypedTerm Field -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithDisplayName :: TypedTerm Field -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithId :: TypedTerm Field -> TypedTerm (Maybe Dtmi) -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithName :: TypedTerm Field -> TypedTerm String -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: fieldWithSchema :: TypedTerm Field -> TypedTerm Schema -> TypedTerm Field
+ Hydra.Ext.Dsl.Azure.Dtld: integerOrStringInteger :: TypedTerm Int -> TypedTerm IntegerOrString
+ Hydra.Ext.Dsl.Azure.Dtld: integerOrStringIntegerOrString :: TypedName IntegerOrString
+ Hydra.Ext.Dsl.Azure.Dtld: integerOrStringString :: TypedTerm String -> TypedTerm IntegerOrString
+ Hydra.Ext.Dsl.Azure.Dtld: interface :: TypedTerm Dtmi -> TypedTerm Iri -> TypedTerm Iri -> TypedTerm (Maybe String) -> TypedTerm (Maybe (Set InterfaceContents)) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe (Set Interface)) -> TypedTerm (Maybe (Set SchemaInterface)) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceComment :: TypedTerm Interface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContents :: TypedTerm Interface -> TypedTerm (Maybe (Set InterfaceContents))
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsCommand :: TypedTerm Command -> TypedTerm InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsComponent :: TypedTerm Component -> TypedTerm InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsInterfaceContents :: TypedName InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsProperty :: TypedTerm Property -> TypedTerm InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsRelationship :: TypedTerm Relationship -> TypedTerm InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContentsTelemetry :: TypedTerm Telemetry -> TypedTerm InterfaceContents
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceContext :: TypedTerm Interface -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceDescription :: TypedTerm Interface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceDisplayName :: TypedTerm Interface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceExtends :: TypedTerm Interface -> TypedTerm (Maybe (Set Interface))
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceId :: TypedTerm Interface -> TypedTerm Dtmi
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceInterface :: TypedName Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceSchemas :: TypedTerm Interface -> TypedTerm (Maybe (Set SchemaInterface))
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceType :: TypedTerm Interface -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithComment :: TypedTerm Interface -> TypedTerm (Maybe String) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithContents :: TypedTerm Interface -> TypedTerm (Maybe (Set InterfaceContents)) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithContext :: TypedTerm Interface -> TypedTerm Iri -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithDescription :: TypedTerm Interface -> TypedTerm (Maybe String) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithDisplayName :: TypedTerm Interface -> TypedTerm (Maybe String) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithExtends :: TypedTerm Interface -> TypedTerm (Maybe (Set Interface)) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithId :: TypedTerm Interface -> TypedTerm Dtmi -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithSchemas :: TypedTerm Interface -> TypedTerm (Maybe (Set SchemaInterface)) -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: interfaceWithType :: TypedTerm Interface -> TypedTerm Iri -> TypedTerm Interface
+ Hydra.Ext.Dsl.Azure.Dtld: iri :: TypedTerm String -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: iriIri :: TypedName Iri
+ Hydra.Ext.Dsl.Azure.Dtld: mapKey :: TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyComment :: TypedTerm MapKey -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyDescription :: TypedTerm MapKey -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyDisplayName :: TypedTerm MapKey -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyId :: TypedTerm MapKey -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyMapKey :: TypedName MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyName :: TypedTerm MapKey -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeySchema :: TypedTerm MapKey -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithComment :: TypedTerm MapKey -> TypedTerm (Maybe String) -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithDescription :: TypedTerm MapKey -> TypedTerm (Maybe String) -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithDisplayName :: TypedTerm MapKey -> TypedTerm (Maybe String) -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithId :: TypedTerm MapKey -> TypedTerm (Maybe Dtmi) -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithName :: TypedTerm MapKey -> TypedTerm String -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapKeyWithSchema :: TypedTerm MapKey -> TypedTerm Schema -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: mapValue :: TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueComment :: TypedTerm MapValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueDescription :: TypedTerm MapValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueDisplayName :: TypedTerm MapValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueId :: TypedTerm MapValue -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueMapValue :: TypedName MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueName :: TypedTerm MapValue -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueSchema :: TypedTerm MapValue -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithComment :: TypedTerm MapValue -> TypedTerm (Maybe String) -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithDescription :: TypedTerm MapValue -> TypedTerm (Maybe String) -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithDisplayName :: TypedTerm MapValue -> TypedTerm (Maybe String) -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithId :: TypedTerm MapValue -> TypedTerm (Maybe Dtmi) -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithName :: TypedTerm MapValue -> TypedTerm String -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: mapValueWithSchema :: TypedTerm MapValue -> TypedTerm Schema -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: property :: TypedTerm Iri -> TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe Unit) -> TypedTerm (Maybe Bool) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyComment :: TypedTerm Property -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: propertyDescription :: TypedTerm Property -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: propertyDisplayName :: TypedTerm Property -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: propertyId :: TypedTerm Property -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: propertyName :: TypedTerm Property -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: propertyProperty :: TypedName Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertySchema :: TypedTerm Property -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: propertyType :: TypedTerm Property -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: propertyUnit :: TypedTerm Property -> TypedTerm (Maybe Unit)
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithComment :: TypedTerm Property -> TypedTerm (Maybe String) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithDescription :: TypedTerm Property -> TypedTerm (Maybe String) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithDisplayName :: TypedTerm Property -> TypedTerm (Maybe String) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithId :: TypedTerm Property -> TypedTerm (Maybe Dtmi) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithName :: TypedTerm Property -> TypedTerm String -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithSchema :: TypedTerm Property -> TypedTerm Schema -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithType :: TypedTerm Property -> TypedTerm Iri -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithUnit :: TypedTerm Property -> TypedTerm (Maybe Unit) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWithWritable :: TypedTerm Property -> TypedTerm (Maybe Bool) -> TypedTerm Property
+ Hydra.Ext.Dsl.Azure.Dtld: propertyWritable :: TypedTerm Property -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Azure.Dtld: relationship :: TypedTerm Iri -> TypedTerm String -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe (Set Property)) -> TypedTerm (Maybe Interface) -> TypedTerm (Maybe Bool) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipComment :: TypedTerm Relationship -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipDescription :: TypedTerm Relationship -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipDisplayName :: TypedTerm Relationship -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipId :: TypedTerm Relationship -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipMaxMultiplicity :: TypedTerm Relationship -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipMinMultiplicity :: TypedTerm Relationship -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipName :: TypedTerm Relationship -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipProperties :: TypedTerm Relationship -> TypedTerm (Maybe (Set Property))
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipRelationship :: TypedName Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipTarget :: TypedTerm Relationship -> TypedTerm (Maybe Interface)
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipType :: TypedTerm Relationship -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithComment :: TypedTerm Relationship -> TypedTerm (Maybe String) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithDescription :: TypedTerm Relationship -> TypedTerm (Maybe String) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithDisplayName :: TypedTerm Relationship -> TypedTerm (Maybe String) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithId :: TypedTerm Relationship -> TypedTerm (Maybe Dtmi) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithMaxMultiplicity :: TypedTerm Relationship -> TypedTerm (Maybe Int) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithMinMultiplicity :: TypedTerm Relationship -> TypedTerm (Maybe Int) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithName :: TypedTerm Relationship -> TypedTerm String -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithProperties :: TypedTerm Relationship -> TypedTerm (Maybe (Set Property)) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithTarget :: TypedTerm Relationship -> TypedTerm (Maybe Interface) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithType :: TypedTerm Relationship -> TypedTerm Iri -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWithWritable :: TypedTerm Relationship -> TypedTerm (Maybe Bool) -> TypedTerm Relationship
+ Hydra.Ext.Dsl.Azure.Dtld: relationshipWritable :: TypedTerm Relationship -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArray :: TypedTerm Iri -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayComment :: TypedTerm SchemaArray -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayDescription :: TypedTerm SchemaArray -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayDisplayName :: TypedTerm SchemaArray -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayElementSchema :: TypedTerm SchemaArray -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayId :: TypedTerm SchemaArray -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArraySchemaArray :: TypedName SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayType :: TypedTerm SchemaArray -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithComment :: TypedTerm SchemaArray -> TypedTerm (Maybe String) -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithDescription :: TypedTerm SchemaArray -> TypedTerm (Maybe String) -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithDisplayName :: TypedTerm SchemaArray -> TypedTerm (Maybe String) -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithElementSchema :: TypedTerm SchemaArray -> TypedTerm Schema -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithId :: TypedTerm SchemaArray -> TypedTerm (Maybe Dtmi) -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaArrayWithType :: TypedTerm SchemaArray -> TypedTerm Iri -> TypedTerm SchemaArray
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplex :: TypedTerm SchemaComplex -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplexArray :: TypedTerm SchemaArray -> TypedTerm SchemaComplex
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplexEnum :: TypedTerm SchemaEnum -> TypedTerm SchemaComplex
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplexMap :: TypedTerm SchemaMap -> TypedTerm SchemaComplex
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplexObject :: TypedTerm SchemaObject -> TypedTerm SchemaComplex
+ Hydra.Ext.Dsl.Azure.Dtld: schemaComplexSchemaComplex :: TypedName SchemaComplex
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnum :: TypedTerm Iri -> TypedTerm [EnumValue] -> TypedTerm IntegerOrString -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumComment :: TypedTerm SchemaEnum -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumDescription :: TypedTerm SchemaEnum -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumDisplayName :: TypedTerm SchemaEnum -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumEnumValues :: TypedTerm SchemaEnum -> TypedTerm [EnumValue]
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumId :: TypedTerm SchemaEnum -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumSchemaEnum :: TypedName SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumType :: TypedTerm SchemaEnum -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumValueSchema :: TypedTerm SchemaEnum -> TypedTerm IntegerOrString
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithComment :: TypedTerm SchemaEnum -> TypedTerm (Maybe String) -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithDescription :: TypedTerm SchemaEnum -> TypedTerm (Maybe String) -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithDisplayName :: TypedTerm SchemaEnum -> TypedTerm (Maybe String) -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithEnumValues :: TypedTerm SchemaEnum -> TypedTerm [EnumValue] -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithId :: TypedTerm SchemaEnum -> TypedTerm (Maybe Dtmi) -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithType :: TypedTerm SchemaEnum -> TypedTerm Iri -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaEnumWithValueSchema :: TypedTerm SchemaEnum -> TypedTerm IntegerOrString -> TypedTerm SchemaEnum
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterface :: TypedTerm Dtmi -> TypedTerm SchemaInterfaceType -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceComment :: TypedTerm SchemaInterface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceDescription :: TypedTerm SchemaInterface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceDisplayName :: TypedTerm SchemaInterface -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceId :: TypedTerm SchemaInterface -> TypedTerm Dtmi
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceSchemaInterface :: TypedName SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceType :: TypedTerm SchemaInterface -> TypedTerm SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceTypeArray :: TypedTerm SchemaArray -> TypedTerm SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceTypeEnum :: TypedTerm SchemaEnum -> TypedTerm SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceTypeMap :: TypedTerm SchemaMap -> TypedTerm SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceTypeObject :: TypedTerm SchemaObject -> TypedTerm SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceTypeSchemaInterfaceType :: TypedName SchemaInterfaceType
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceWithComment :: TypedTerm SchemaInterface -> TypedTerm (Maybe String) -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceWithDescription :: TypedTerm SchemaInterface -> TypedTerm (Maybe String) -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceWithDisplayName :: TypedTerm SchemaInterface -> TypedTerm (Maybe String) -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceWithId :: TypedTerm SchemaInterface -> TypedTerm Dtmi -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaInterfaceWithType :: TypedTerm SchemaInterface -> TypedTerm SchemaInterfaceType -> TypedTerm SchemaInterface
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMap :: TypedTerm Iri -> TypedTerm MapKey -> TypedTerm MapValue -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapComment :: TypedTerm SchemaMap -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapDescription :: TypedTerm SchemaMap -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapDisplayName :: TypedTerm SchemaMap -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapId :: TypedTerm SchemaMap -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapMapKey :: TypedTerm SchemaMap -> TypedTerm MapKey
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapMapValue :: TypedTerm SchemaMap -> TypedTerm MapValue
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapSchemaMap :: TypedName SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapType :: TypedTerm SchemaMap -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithComment :: TypedTerm SchemaMap -> TypedTerm (Maybe String) -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithDescription :: TypedTerm SchemaMap -> TypedTerm (Maybe String) -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithDisplayName :: TypedTerm SchemaMap -> TypedTerm (Maybe String) -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithId :: TypedTerm SchemaMap -> TypedTerm (Maybe Dtmi) -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithMapKey :: TypedTerm SchemaMap -> TypedTerm MapKey -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithMapValue :: TypedTerm SchemaMap -> TypedTerm MapValue -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaMapWithType :: TypedTerm SchemaMap -> TypedTerm Iri -> TypedTerm SchemaMap
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObject :: TypedTerm Iri -> TypedTerm (Set Field) -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectComment :: TypedTerm SchemaObject -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectDescription :: TypedTerm SchemaObject -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectDisplayName :: TypedTerm SchemaObject -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectFields :: TypedTerm SchemaObject -> TypedTerm (Set Field)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectId :: TypedTerm SchemaObject -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectSchemaObject :: TypedName SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectType :: TypedTerm SchemaObject -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithComment :: TypedTerm SchemaObject -> TypedTerm (Maybe String) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithDescription :: TypedTerm SchemaObject -> TypedTerm (Maybe String) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithDisplayName :: TypedTerm SchemaObject -> TypedTerm (Maybe String) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithFields :: TypedTerm SchemaObject -> TypedTerm (Set Field) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithId :: TypedTerm SchemaObject -> TypedTerm (Maybe Dtmi) -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaObjectWithType :: TypedTerm SchemaObject -> TypedTerm Iri -> TypedTerm SchemaObject
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitive :: TypedTerm SchemaPrimitive -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveBoolean :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveDate :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveDateTime :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveDouble :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveDuration :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveFloat :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveInteger :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveLong :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveSchemaPrimitive :: TypedName SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveString :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaPrimitiveTime :: TypedTerm SchemaPrimitive
+ Hydra.Ext.Dsl.Azure.Dtld: schemaSchema :: TypedName Schema
+ Hydra.Ext.Dsl.Azure.Dtld: telemetry :: TypedTerm Iri -> TypedTerm String -> TypedTerm Schema -> TypedTerm (Maybe Dtmi) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe Unit) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryComment :: TypedTerm Telemetry -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryDescription :: TypedTerm Telemetry -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryDisplayName :: TypedTerm Telemetry -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryId :: TypedTerm Telemetry -> TypedTerm (Maybe Dtmi)
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryName :: TypedTerm Telemetry -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: telemetrySchema :: TypedTerm Telemetry -> TypedTerm Schema
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryTelemetry :: TypedName Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryType :: TypedTerm Telemetry -> TypedTerm Iri
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryUnit :: TypedTerm Telemetry -> TypedTerm (Maybe Unit)
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithComment :: TypedTerm Telemetry -> TypedTerm (Maybe String) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithDescription :: TypedTerm Telemetry -> TypedTerm (Maybe String) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithDisplayName :: TypedTerm Telemetry -> TypedTerm (Maybe String) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithId :: TypedTerm Telemetry -> TypedTerm (Maybe Dtmi) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithName :: TypedTerm Telemetry -> TypedTerm String -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithSchema :: TypedTerm Telemetry -> TypedTerm Schema -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithType :: TypedTerm Telemetry -> TypedTerm Iri -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: telemetryWithUnit :: TypedTerm Telemetry -> TypedTerm (Maybe Unit) -> TypedTerm Telemetry
+ Hydra.Ext.Dsl.Azure.Dtld: unDtmi :: TypedTerm Dtmi -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: unIri :: TypedTerm Iri -> TypedTerm String
+ Hydra.Ext.Dsl.Azure.Dtld: unUnit :: TypedTerm Unit -> TypedTerm ()
+ Hydra.Ext.Dsl.Azure.Dtld: unit :: TypedTerm () -> TypedTerm Unit
+ Hydra.Ext.Dsl.Azure.Dtld: unitUnit :: TypedName Unit
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironment :: TypedTerm (ModuleNames String) -> TypedTerm ([Name], Map Name String) -> TypedTerm CppEnvironment
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironmentBoundTypeVariables :: TypedTerm CppEnvironment -> TypedTerm ([Name], Map Name String)
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironmentCppEnvironment :: TypedName CppEnvironment
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironmentNamespaces :: TypedTerm CppEnvironment -> TypedTerm (ModuleNames String)
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironmentWithBoundTypeVariables :: TypedTerm CppEnvironment -> TypedTerm ([Name], Map Name String) -> TypedTerm CppEnvironment
+ Hydra.Ext.Dsl.Cpp.Environment: cppEnvironmentWithNamespaces :: TypedTerm CppEnvironment -> TypedTerm (ModuleNames String) -> TypedTerm CppEnvironment
+ Hydra.Ext.Dsl.Cpp.Syntax: accessSpecifierAccessSpecifier :: TypedName AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: accessSpecifierNone :: TypedTerm AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: accessSpecifierPrivate :: TypedTerm AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: accessSpecifierProtected :: TypedTerm AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: accessSpecifierPublic :: TypedTerm AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperation :: TypedTerm AdditiveExpression -> TypedTerm MultiplicativeExpression -> TypedTerm AddOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperationAddOperation :: TypedName AddOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperationLeft :: TypedTerm AddOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperationRight :: TypedTerm AddOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperationWithLeft :: TypedTerm AddOperation -> TypedTerm AdditiveExpression -> TypedTerm AddOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: addOperationWithRight :: TypedTerm AddOperation -> TypedTerm MultiplicativeExpression -> TypedTerm AddOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: additiveExpressionAdd :: TypedTerm AddOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: additiveExpressionAdditiveExpression :: TypedName AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: additiveExpressionMultiplicative :: TypedTerm MultiplicativeExpression -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: additiveExpressionSubtract :: TypedTerm SubtractOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: andExpressionAndExpression :: TypedName AndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: andExpressionBitwiseAnd :: TypedTerm BitwiseAndOperation -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: andExpressionEquality :: TypedTerm EqualityExpression -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentExpressionAssignment :: TypedTerm ExplicitAssignment -> TypedTerm AssignmentExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentExpressionAssignmentExpression :: TypedName AssignmentExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentExpressionConditional :: TypedTerm ConditionalExpression -> TypedTerm AssignmentExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorAssignmentOperator :: TypedName AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorBitwiseAndAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorBitwiseOrAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorBitwiseXorAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorDivideAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorLeftShiftAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorMinusAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorModuloAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorMultiplyAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorPlusAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: assignmentOperatorRightShiftAssign :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifier :: TypedTerm AccessSpecifier -> TypedTerm String -> TypedTerm BaseSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifierAccess :: TypedTerm BaseSpecifier -> TypedTerm AccessSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifierBaseSpecifier :: TypedName BaseSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifierName :: TypedTerm BaseSpecifier -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifierWithAccess :: TypedTerm BaseSpecifier -> TypedTerm AccessSpecifier -> TypedTerm BaseSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: baseSpecifierWithName :: TypedTerm BaseSpecifier -> TypedTerm String -> TypedTerm BaseSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeAuto :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeBasicType :: TypedName BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeBool :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeChar :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeDouble :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeFloat :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeInt :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeNamed :: TypedTerm String -> TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeString :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: basicTypeVoid :: TypedTerm BasicType
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorBinaryOperator :: TypedName BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorBitwiseAnd :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorBitwiseOr :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorBitwiseXor :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorDivide :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorGreater :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorGreaterEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorLeftShift :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorLess :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorLessEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorLogicalAnd :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorLogicalOr :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorMinus :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorModulo :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorMultiply :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorNotEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorPlus :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: binaryOperatorRightShift :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperation :: TypedTerm AndExpression -> TypedTerm EqualityExpression -> TypedTerm BitwiseAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperationBitwiseAndOperation :: TypedName BitwiseAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperationLeft :: TypedTerm BitwiseAndOperation -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperationRight :: TypedTerm BitwiseAndOperation -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperationWithLeft :: TypedTerm BitwiseAndOperation -> TypedTerm AndExpression -> TypedTerm BitwiseAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseAndOperationWithRight :: TypedTerm BitwiseAndOperation -> TypedTerm EqualityExpression -> TypedTerm BitwiseAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperation :: TypedTerm InclusiveOrExpression -> TypedTerm ExclusiveOrExpression -> TypedTerm BitwiseOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperationBitwiseOrOperation :: TypedName BitwiseOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperationLeft :: TypedTerm BitwiseOrOperation -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperationRight :: TypedTerm BitwiseOrOperation -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperationWithLeft :: TypedTerm BitwiseOrOperation -> TypedTerm InclusiveOrExpression -> TypedTerm BitwiseOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseOrOperationWithRight :: TypedTerm BitwiseOrOperation -> TypedTerm ExclusiveOrExpression -> TypedTerm BitwiseOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperation :: TypedTerm ExclusiveOrExpression -> TypedTerm AndExpression -> TypedTerm BitwiseXorOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperationBitwiseXorOperation :: TypedName BitwiseXorOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperationLeft :: TypedTerm BitwiseXorOperation -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperationRight :: TypedTerm BitwiseXorOperation -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperationWithLeft :: TypedTerm BitwiseXorOperation -> TypedTerm ExclusiveOrExpression -> TypedTerm BitwiseXorOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: bitwiseXorOperationWithRight :: TypedTerm BitwiseXorOperation -> TypedTerm AndExpression -> TypedTerm BitwiseXorOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: booleanLiteral :: TypedTerm Bool -> TypedTerm BooleanLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: booleanLiteralBooleanLiteral :: TypedName BooleanLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: capture :: TypedTerm String -> TypedTerm Bool -> TypedTerm Capture
+ Hydra.Ext.Dsl.Cpp.Syntax: captureByReference :: TypedTerm Capture -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: captureCapture :: TypedName Capture
+ Hydra.Ext.Dsl.Cpp.Syntax: captureListCaptureByValue :: TypedTerm CaptureList
+ Hydra.Ext.Dsl.Cpp.Syntax: captureListCaptureList :: TypedName CaptureList
+ Hydra.Ext.Dsl.Cpp.Syntax: captureListCaptures :: TypedTerm [Capture] -> TypedTerm CaptureList
+ Hydra.Ext.Dsl.Cpp.Syntax: captureName :: TypedTerm Capture -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: captureWithByReference :: TypedTerm Capture -> TypedTerm Bool -> TypedTerm Capture
+ Hydra.Ext.Dsl.Cpp.Syntax: captureWithName :: TypedTerm Capture -> TypedTerm String -> TypedTerm Capture
+ Hydra.Ext.Dsl.Cpp.Syntax: caseStatementCase :: TypedTerm CaseValue -> TypedTerm CaseStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: caseStatementCaseStatement :: TypedName CaseStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: caseStatementDefault :: TypedTerm Statement -> TypedTerm CaseStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValue :: TypedTerm Expression -> TypedTerm Statement -> TypedTerm CaseValue
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValueCaseValue :: TypedName CaseValue
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValueStatement :: TypedTerm CaseValue -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValueValue :: TypedTerm CaseValue -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValueWithStatement :: TypedTerm CaseValue -> TypedTerm Statement -> TypedTerm CaseValue
+ Hydra.Ext.Dsl.Cpp.Syntax: caseValueWithValue :: TypedTerm CaseValue -> TypedTerm Expression -> TypedTerm CaseValue
+ Hydra.Ext.Dsl.Cpp.Syntax: characterLiteral :: TypedTerm String -> TypedTerm CharacterLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: characterLiteralCharacterLiteral :: TypedName CharacterLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: classBody :: TypedTerm [MemberSpecification] -> TypedTerm ClassBody
+ Hydra.Ext.Dsl.Cpp.Syntax: classBodyClassBody :: TypedName ClassBody
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclaration :: TypedTerm ClassSpecifier -> TypedTerm (Maybe ClassBody) -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclarationBody :: TypedTerm ClassDeclaration -> TypedTerm (Maybe ClassBody)
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclarationClassDeclaration :: TypedName ClassDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclarationSpecifier :: TypedTerm ClassDeclaration -> TypedTerm ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclarationWithBody :: TypedTerm ClassDeclaration -> TypedTerm (Maybe ClassBody) -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: classDeclarationWithSpecifier :: TypedTerm ClassDeclaration -> TypedTerm ClassSpecifier -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: classKeyClass :: TypedTerm ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classKeyClassKey :: TypedName ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classKeyEnum :: TypedTerm ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classKeyEnumClass :: TypedTerm ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classKeyStruct :: TypedTerm ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifier :: TypedTerm ClassKey -> TypedTerm String -> TypedTerm [BaseSpecifier] -> TypedTerm ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierClassSpecifier :: TypedName ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierInheritance :: TypedTerm ClassSpecifier -> TypedTerm [BaseSpecifier]
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierKey :: TypedTerm ClassSpecifier -> TypedTerm ClassKey
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierName :: TypedTerm ClassSpecifier -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierWithInheritance :: TypedTerm ClassSpecifier -> TypedTerm [BaseSpecifier] -> TypedTerm ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierWithKey :: TypedTerm ClassSpecifier -> TypedTerm ClassKey -> TypedTerm ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: classSpecifierWithName :: TypedTerm ClassSpecifier -> TypedTerm String -> TypedTerm ClassSpecifier
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpression :: TypedTerm Expression -> TypedTerm AssignmentExpression -> TypedTerm CommaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpressionCommaExpression :: TypedName CommaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpressionLeft :: TypedTerm CommaExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpressionRight :: TypedTerm CommaExpression -> TypedTerm AssignmentExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpressionWithLeft :: TypedTerm CommaExpression -> TypedTerm Expression -> TypedTerm CommaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: commaExpressionWithRight :: TypedTerm CommaExpression -> TypedTerm AssignmentExpression -> TypedTerm CommaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: comment :: TypedTerm String -> TypedTerm Bool -> TypedTerm Comment
+ Hydra.Ext.Dsl.Cpp.Syntax: commentComment :: TypedName Comment
+ Hydra.Ext.Dsl.Cpp.Syntax: commentIsMultiline :: TypedTerm Comment -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: commentText :: TypedTerm Comment -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: commentWithIsMultiline :: TypedTerm Comment -> TypedTerm Bool -> TypedTerm Comment
+ Hydra.Ext.Dsl.Cpp.Syntax: commentWithText :: TypedTerm Comment -> TypedTerm String -> TypedTerm Comment
+ Hydra.Ext.Dsl.Cpp.Syntax: compoundStatement :: TypedTerm [Statement] -> TypedTerm CompoundStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: compoundStatementCompoundStatement :: TypedName CompoundStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: conditionalExpressionConditionalExpression :: TypedName ConditionalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: conditionalExpressionLogicalOr :: TypedTerm LogicalOrExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: conditionalExpressionTernary :: TypedTerm TernaryExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclaration :: TypedTerm String -> TypedTerm [Parameter] -> TypedTerm [MemInitializer] -> TypedTerm FunctionBody -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationBody :: TypedTerm ConstructorDeclaration -> TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationConstructorDeclaration :: TypedName ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationInitializers :: TypedTerm ConstructorDeclaration -> TypedTerm [MemInitializer]
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationName :: TypedTerm ConstructorDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationParameters :: TypedTerm ConstructorDeclaration -> TypedTerm [Parameter]
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationWithBody :: TypedTerm ConstructorDeclaration -> TypedTerm FunctionBody -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationWithInitializers :: TypedTerm ConstructorDeclaration -> TypedTerm [MemInitializer] -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationWithName :: TypedTerm ConstructorDeclaration -> TypedTerm String -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: constructorDeclarationWithParameters :: TypedTerm ConstructorDeclaration -> TypedTerm [Parameter] -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: containerDeclarationContainerDeclaration :: TypedName ContainerDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: containerDeclarationList :: TypedTerm ListDeclaration -> TypedTerm ContainerDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: containerDeclarationMap :: TypedTerm MapDeclaration -> TypedTerm ContainerDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: containerDeclarationOptional :: TypedTerm OptionalDeclaration -> TypedTerm ContainerDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: containerDeclarationSet :: TypedTerm SetDeclaration -> TypedTerm ContainerDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationClass :: TypedTerm ClassDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationDeclaration :: TypedName Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationFunction :: TypedTerm FunctionDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationNamespace :: TypedTerm NamespaceDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationPreprocessor :: TypedTerm PreprocessorDirective -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationTemplate :: TypedTerm TemplateDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationTypedef :: TypedTerm TypedefDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: declarationVariable :: TypedTerm VariableDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirective :: TypedTerm String -> TypedTerm (Maybe [String]) -> TypedTerm (Maybe String) -> TypedTerm DefineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveDefineDirective :: TypedName DefineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveName :: TypedTerm DefineDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveParameters :: TypedTerm DefineDirective -> TypedTerm (Maybe [String])
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveReplacement :: TypedTerm DefineDirective -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveWithName :: TypedTerm DefineDirective -> TypedTerm String -> TypedTerm DefineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveWithParameters :: TypedTerm DefineDirective -> TypedTerm (Maybe [String]) -> TypedTerm DefineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: defineDirectiveWithReplacement :: TypedTerm DefineDirective -> TypedTerm (Maybe String) -> TypedTerm DefineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclaration :: TypedTerm [FunctionSpecifierPrefix] -> TypedTerm String -> TypedTerm [FunctionSpecifierSuffix] -> TypedTerm FunctionBody -> TypedTerm DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationBody :: TypedTerm DestructorDeclaration -> TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationDestructorDeclaration :: TypedName DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationName :: TypedTerm DestructorDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationPrefixSpecifiers :: TypedTerm DestructorDeclaration -> TypedTerm [FunctionSpecifierPrefix]
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationSuffixSpecifiers :: TypedTerm DestructorDeclaration -> TypedTerm [FunctionSpecifierSuffix]
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationWithBody :: TypedTerm DestructorDeclaration -> TypedTerm FunctionBody -> TypedTerm DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationWithName :: TypedTerm DestructorDeclaration -> TypedTerm String -> TypedTerm DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationWithPrefixSpecifiers :: TypedTerm DestructorDeclaration -> TypedTerm [FunctionSpecifierPrefix] -> TypedTerm DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: destructorDeclarationWithSuffixSpecifiers :: TypedTerm DestructorDeclaration -> TypedTerm [FunctionSpecifierSuffix] -> TypedTerm DestructorDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperation :: TypedTerm MultiplicativeExpression -> TypedTerm UnaryExpression -> TypedTerm DivideOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperationDivideOperation :: TypedName DivideOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperationLeft :: TypedTerm DivideOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperationRight :: TypedTerm DivideOperation -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperationWithLeft :: TypedTerm DivideOperation -> TypedTerm MultiplicativeExpression -> TypedTerm DivideOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: divideOperationWithRight :: TypedTerm DivideOperation -> TypedTerm UnaryExpression -> TypedTerm DivideOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatement :: TypedTerm Statement -> TypedTerm Expression -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatementBody :: TypedTerm DoStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatementCondition :: TypedTerm DoStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatementDoStatement :: TypedName DoStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatementWithBody :: TypedTerm DoStatement -> TypedTerm Statement -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: doStatementWithCondition :: TypedTerm DoStatement -> TypedTerm Expression -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: elifDirective :: TypedTerm String -> TypedTerm ElifDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: elifDirectiveCondition :: TypedTerm ElifDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: elifDirectiveElifDirective :: TypedName ElifDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: elifDirectiveWithCondition :: TypedTerm ElifDirective -> TypedTerm String -> TypedTerm ElifDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperation :: TypedTerm EqualityExpression -> TypedTerm RelationalExpression -> TypedTerm EqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperationEqualOperation :: TypedName EqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperationLeft :: TypedTerm EqualOperation -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperationRight :: TypedTerm EqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperationWithLeft :: TypedTerm EqualOperation -> TypedTerm EqualityExpression -> TypedTerm EqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: equalOperationWithRight :: TypedTerm EqualOperation -> TypedTerm RelationalExpression -> TypedTerm EqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: equalityExpressionEqual :: TypedTerm EqualOperation -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: equalityExpressionEqualityExpression :: TypedName EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: equalityExpressionNotEqual :: TypedTerm NotEqualOperation -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: equalityExpressionRelational :: TypedTerm RelationalExpression -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: errorDirective :: TypedTerm String -> TypedTerm ErrorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: errorDirectiveErrorDirective :: TypedName ErrorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: errorDirectiveMessage :: TypedTerm ErrorDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: errorDirectiveWithMessage :: TypedTerm ErrorDirective -> TypedTerm String -> TypedTerm ErrorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: exclusiveOrExpressionAnd :: TypedTerm AndExpression -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: exclusiveOrExpressionBitwiseXor :: TypedTerm BitwiseXorOperation -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: exclusiveOrExpressionExclusiveOrExpression :: TypedName ExclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignment :: TypedTerm LogicalOrExpression -> TypedTerm AssignmentOperator -> TypedTerm AssignmentExpression -> TypedTerm ExplicitAssignment
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentExplicitAssignment :: TypedName ExplicitAssignment
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentLeft :: TypedTerm ExplicitAssignment -> TypedTerm LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentOp :: TypedTerm ExplicitAssignment -> TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentRight :: TypedTerm ExplicitAssignment -> TypedTerm AssignmentExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentWithLeft :: TypedTerm ExplicitAssignment -> TypedTerm LogicalOrExpression -> TypedTerm ExplicitAssignment
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentWithOp :: TypedTerm ExplicitAssignment -> TypedTerm AssignmentOperator -> TypedTerm ExplicitAssignment
+ Hydra.Ext.Dsl.Cpp.Syntax: explicitAssignmentWithRight :: TypedTerm ExplicitAssignment -> TypedTerm AssignmentExpression -> TypedTerm ExplicitAssignment
+ Hydra.Ext.Dsl.Cpp.Syntax: expressionAssignment :: TypedTerm AssignmentExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: expressionComma :: TypedTerm CommaExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: expressionExpression :: TypedName Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: expressionStatement :: TypedTerm Expression -> TypedTerm ExpressionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: expressionStatementExpressionStatement :: TypedName ExpressionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: floatingLiteral :: TypedTerm Double -> TypedTerm FloatingLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: floatingLiteralFloatingLiteral :: TypedName FloatingLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: forInitDeclaration :: TypedTerm VariableDeclaration -> TypedTerm ForInit
+ Hydra.Ext.Dsl.Cpp.Syntax: forInitEmpty :: TypedTerm ForInit
+ Hydra.Ext.Dsl.Cpp.Syntax: forInitExpression :: TypedTerm Expression -> TypedTerm ForInit
+ Hydra.Ext.Dsl.Cpp.Syntax: forInitForInit :: TypedName ForInit
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatement :: TypedTerm ForInit -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm Statement -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementCondition :: TypedTerm ForStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementForStatement :: TypedName ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementIncrement :: TypedTerm ForStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementInit :: TypedTerm ForStatement -> TypedTerm ForInit
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm Statement -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementWithCondition :: TypedTerm ForStatement -> TypedTerm Expression -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementWithIncrement :: TypedTerm ForStatement -> TypedTerm Expression -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: forStatementWithInit :: TypedTerm ForStatement -> TypedTerm ForInit -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplication :: TypedTerm FunctionIdentifier -> TypedTerm [Expression] -> TypedTerm FunctionApplication
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplicationArguments :: TypedTerm FunctionApplication -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplicationFunction :: TypedTerm FunctionApplication -> TypedTerm FunctionIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplicationFunctionApplication :: TypedName FunctionApplication
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplicationWithArguments :: TypedTerm FunctionApplication -> TypedTerm [Expression] -> TypedTerm FunctionApplication
+ Hydra.Ext.Dsl.Cpp.Syntax: functionApplicationWithFunction :: TypedTerm FunctionApplication -> TypedTerm FunctionIdentifier -> TypedTerm FunctionApplication
+ Hydra.Ext.Dsl.Cpp.Syntax: functionBodyCompound :: TypedTerm CompoundStatement -> TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionBodyDeclaration :: TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionBodyDefault :: TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionBodyFunctionBody :: TypedName FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionBodyPure :: TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperation :: TypedTerm PostfixExpression -> TypedTerm [Expression] -> TypedTerm FunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperationArguments :: TypedTerm FunctionCallOperation -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperationFunction :: TypedTerm FunctionCallOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperationFunctionCallOperation :: TypedName FunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperationWithArguments :: TypedTerm FunctionCallOperation -> TypedTerm [Expression] -> TypedTerm FunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: functionCallOperationWithFunction :: TypedTerm FunctionCallOperation -> TypedTerm PostfixExpression -> TypedTerm FunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclaration :: TypedTerm [FunctionSpecifierPrefix] -> TypedTerm TypeExpression -> TypedTerm String -> TypedTerm [Parameter] -> TypedTerm [FunctionSpecifierSuffix] -> TypedTerm FunctionBody -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationBody :: TypedTerm FunctionDeclaration -> TypedTerm FunctionBody
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationFunctionDeclaration :: TypedName FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationName :: TypedTerm FunctionDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationParameters :: TypedTerm FunctionDeclaration -> TypedTerm [Parameter]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationPrefixSpecifiers :: TypedTerm FunctionDeclaration -> TypedTerm [FunctionSpecifierPrefix]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationReturnType :: TypedTerm FunctionDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationSuffixSpecifiers :: TypedTerm FunctionDeclaration -> TypedTerm [FunctionSpecifierSuffix]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithBody :: TypedTerm FunctionDeclaration -> TypedTerm FunctionBody -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithName :: TypedTerm FunctionDeclaration -> TypedTerm String -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithParameters :: TypedTerm FunctionDeclaration -> TypedTerm [Parameter] -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithPrefixSpecifiers :: TypedTerm FunctionDeclaration -> TypedTerm [FunctionSpecifierPrefix] -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithReturnType :: TypedTerm FunctionDeclaration -> TypedTerm TypeExpression -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionDeclarationWithSuffixSpecifiers :: TypedTerm FunctionDeclaration -> TypedTerm [FunctionSpecifierSuffix] -> TypedTerm FunctionDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: functionIdentifierFunctionIdentifier :: TypedName FunctionIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: functionIdentifierQualified :: TypedTerm QualifiedIdentifier -> TypedTerm FunctionIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: functionIdentifierSimple :: TypedTerm String -> TypedTerm FunctionIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierPrefixExplicit :: TypedTerm FunctionSpecifierPrefix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierPrefixFunctionSpecifierPrefix :: TypedName FunctionSpecifierPrefix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierPrefixInline :: TypedTerm FunctionSpecifierPrefix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierPrefixStatic :: TypedTerm FunctionSpecifierPrefix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierPrefixVirtual :: TypedTerm FunctionSpecifierPrefix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierSuffixConst :: TypedTerm FunctionSpecifierSuffix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierSuffixFinal :: TypedTerm FunctionSpecifierSuffix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierSuffixFunctionSpecifierSuffix :: TypedName FunctionSpecifierSuffix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierSuffixNoexcept :: TypedTerm FunctionSpecifierSuffix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionSpecifierSuffixOverride :: TypedTerm FunctionSpecifierSuffix
+ Hydra.Ext.Dsl.Cpp.Syntax: functionType :: TypedTerm TypeExpression -> TypedTerm [Parameter] -> TypedTerm FunctionType
+ Hydra.Ext.Dsl.Cpp.Syntax: functionTypeFunctionType :: TypedName FunctionType
+ Hydra.Ext.Dsl.Cpp.Syntax: functionTypeParameters :: TypedTerm FunctionType -> TypedTerm [Parameter]
+ Hydra.Ext.Dsl.Cpp.Syntax: functionTypeReturnType :: TypedTerm FunctionType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: functionTypeWithParameters :: TypedTerm FunctionType -> TypedTerm [Parameter] -> TypedTerm FunctionType
+ Hydra.Ext.Dsl.Cpp.Syntax: functionTypeWithReturnType :: TypedTerm FunctionType -> TypedTerm TypeExpression -> TypedTerm FunctionType
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperation :: TypedTerm RelationalExpression -> TypedTerm ShiftExpression -> TypedTerm GreaterEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperationGreaterEqualOperation :: TypedName GreaterEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperationLeft :: TypedTerm GreaterEqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperationRight :: TypedTerm GreaterEqualOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperationWithLeft :: TypedTerm GreaterEqualOperation -> TypedTerm RelationalExpression -> TypedTerm GreaterEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterEqualOperationWithRight :: TypedTerm GreaterEqualOperation -> TypedTerm ShiftExpression -> TypedTerm GreaterEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperation :: TypedTerm RelationalExpression -> TypedTerm ShiftExpression -> TypedTerm GreaterOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperationGreaterOperation :: TypedName GreaterOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperationLeft :: TypedTerm GreaterOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperationRight :: TypedTerm GreaterOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperationWithLeft :: TypedTerm GreaterOperation -> TypedTerm RelationalExpression -> TypedTerm GreaterOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: greaterOperationWithRight :: TypedTerm GreaterOperation -> TypedTerm ShiftExpression -> TypedTerm GreaterOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: ifDirective :: TypedTerm String -> TypedTerm IfDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifDirectiveCondition :: TypedTerm IfDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: ifDirectiveIfDirective :: TypedName IfDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifDirectiveWithCondition :: TypedTerm IfDirective -> TypedTerm String -> TypedTerm IfDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifdefDirective :: TypedTerm String -> TypedTerm IfdefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifdefDirectiveIdentifier :: TypedTerm IfdefDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: ifdefDirectiveIfdefDirective :: TypedName IfdefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifdefDirectiveWithIdentifier :: TypedTerm IfdefDirective -> TypedTerm String -> TypedTerm IfdefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifndefDirective :: TypedTerm String -> TypedTerm IfndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifndefDirectiveIdentifier :: TypedTerm IfndefDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: ifndefDirectiveIfndefDirective :: TypedName IfndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: ifndefDirectiveWithIdentifier :: TypedTerm IfndefDirective -> TypedTerm String -> TypedTerm IfndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirective :: TypedTerm String -> TypedTerm Bool -> TypedTerm IncludeDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirectiveIncludeDirective :: TypedName IncludeDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirectiveIsSystem :: TypedTerm IncludeDirective -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirectiveName :: TypedTerm IncludeDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirectiveWithIsSystem :: TypedTerm IncludeDirective -> TypedTerm Bool -> TypedTerm IncludeDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: includeDirectiveWithName :: TypedTerm IncludeDirective -> TypedTerm String -> TypedTerm IncludeDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: inclusiveOrExpressionBitwiseOr :: TypedTerm BitwiseOrOperation -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: inclusiveOrExpressionExclusiveOr :: TypedTerm ExclusiveOrExpression -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: inclusiveOrExpressionInclusiveOrExpression :: TypedName InclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: integerLiteralBinary :: TypedTerm String -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: integerLiteralDecimal :: TypedTerm Integer -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: integerLiteralHexadecimal :: TypedTerm String -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: integerLiteralIntegerLiteral :: TypedName IntegerLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: integerLiteralOctal :: TypedTerm String -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: iterationStatementDo :: TypedTerm DoStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: iterationStatementFor :: TypedTerm ForStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: iterationStatementIterationStatement :: TypedName IterationStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: iterationStatementRangeFor :: TypedTerm RangeForStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: iterationStatementWhile :: TypedTerm WhileStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementBreak :: TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementContinue :: TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementJumpStatement :: TypedName JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementReturnValue :: TypedTerm Expression -> TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementReturnVoid :: TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: jumpStatementThrow :: TypedTerm Expression -> TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatement :: TypedTerm String -> TypedTerm Statement -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatementLabel :: TypedTerm LabeledStatement -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatementLabeledStatement :: TypedName LabeledStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatementStatement :: TypedTerm LabeledStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatementWithLabel :: TypedTerm LabeledStatement -> TypedTerm String -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: labeledStatementWithStatement :: TypedTerm LabeledStatement -> TypedTerm Statement -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpression :: TypedTerm CaptureList -> TypedTerm [Parameter] -> TypedTerm (Maybe TypeExpression) -> TypedTerm CompoundStatement -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionBody :: TypedTerm LambdaExpression -> TypedTerm CompoundStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionCaptures :: TypedTerm LambdaExpression -> TypedTerm CaptureList
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionLambdaExpression :: TypedName LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionParameters :: TypedTerm LambdaExpression -> TypedTerm [Parameter]
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionReturnType :: TypedTerm LambdaExpression -> TypedTerm (Maybe TypeExpression)
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionWithBody :: TypedTerm LambdaExpression -> TypedTerm CompoundStatement -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionWithCaptures :: TypedTerm LambdaExpression -> TypedTerm CaptureList -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionWithParameters :: TypedTerm LambdaExpression -> TypedTerm [Parameter] -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lambdaExpressionWithReturnType :: TypedTerm LambdaExpression -> TypedTerm (Maybe TypeExpression) -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperation :: TypedTerm ShiftExpression -> TypedTerm AdditiveExpression -> TypedTerm LeftShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperationLeft :: TypedTerm LeftShiftOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperationLeftShiftOperation :: TypedName LeftShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperationRight :: TypedTerm LeftShiftOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperationWithLeft :: TypedTerm LeftShiftOperation -> TypedTerm ShiftExpression -> TypedTerm LeftShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: leftShiftOperationWithRight :: TypedTerm LeftShiftOperation -> TypedTerm AdditiveExpression -> TypedTerm LeftShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperation :: TypedTerm RelationalExpression -> TypedTerm ShiftExpression -> TypedTerm LessEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperationLeft :: TypedTerm LessEqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperationLessEqualOperation :: TypedName LessEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperationRight :: TypedTerm LessEqualOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperationWithLeft :: TypedTerm LessEqualOperation -> TypedTerm RelationalExpression -> TypedTerm LessEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessEqualOperationWithRight :: TypedTerm LessEqualOperation -> TypedTerm ShiftExpression -> TypedTerm LessEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperation :: TypedTerm RelationalExpression -> TypedTerm ShiftExpression -> TypedTerm LessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperationLeft :: TypedTerm LessOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperationLessOperation :: TypedName LessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperationRight :: TypedTerm LessOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperationWithLeft :: TypedTerm LessOperation -> TypedTerm RelationalExpression -> TypedTerm LessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lessOperationWithRight :: TypedTerm LessOperation -> TypedTerm ShiftExpression -> TypedTerm LessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirective :: TypedTerm Int -> TypedTerm (Maybe String) -> TypedTerm LineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirectiveFilename :: TypedTerm LineDirective -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirectiveLineDirective :: TypedName LineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirectiveLineNumber :: TypedTerm LineDirective -> TypedTerm Int
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirectiveWithFilename :: TypedTerm LineDirective -> TypedTerm (Maybe String) -> TypedTerm LineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: lineDirectiveWithLineNumber :: TypedTerm LineDirective -> TypedTerm Int -> TypedTerm LineDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclaration :: TypedTerm TypeExpression -> TypedTerm String -> TypedTerm ListDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclarationElementType :: TypedTerm ListDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclarationListDeclaration :: TypedName ListDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclarationName :: TypedTerm ListDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclarationWithElementType :: TypedTerm ListDeclaration -> TypedTerm TypeExpression -> TypedTerm ListDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: listDeclarationWithName :: TypedTerm ListDeclaration -> TypedTerm String -> TypedTerm ListDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: literalBoolean :: TypedTerm BooleanLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalCharacter :: TypedTerm CharacterLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalFloating :: TypedTerm FloatingLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalInteger :: TypedTerm IntegerLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalLiteral :: TypedName Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalNull :: TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: literalString :: TypedTerm StringLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndExpressionInclusiveOr :: TypedTerm InclusiveOrExpression -> TypedTerm LogicalAndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndExpressionLogicalAnd :: TypedTerm LogicalAndOperation -> TypedTerm LogicalAndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndExpressionLogicalAndExpression :: TypedName LogicalAndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperation :: TypedTerm LogicalAndExpression -> TypedTerm InclusiveOrExpression -> TypedTerm LogicalAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperationLeft :: TypedTerm LogicalAndOperation -> TypedTerm LogicalAndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperationLogicalAndOperation :: TypedName LogicalAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperationRight :: TypedTerm LogicalAndOperation -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperationWithLeft :: TypedTerm LogicalAndOperation -> TypedTerm LogicalAndExpression -> TypedTerm LogicalAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalAndOperationWithRight :: TypedTerm LogicalAndOperation -> TypedTerm InclusiveOrExpression -> TypedTerm LogicalAndOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrExpressionLogicalAnd :: TypedTerm LogicalAndExpression -> TypedTerm LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrExpressionLogicalOr :: TypedTerm LogicalOrOperation -> TypedTerm LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrExpressionLogicalOrExpression :: TypedName LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperation :: TypedTerm LogicalOrExpression -> TypedTerm LogicalAndExpression -> TypedTerm LogicalOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperationLeft :: TypedTerm LogicalOrOperation -> TypedTerm LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperationLogicalOrOperation :: TypedName LogicalOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperationRight :: TypedTerm LogicalOrOperation -> TypedTerm LogicalAndExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperationWithLeft :: TypedTerm LogicalOrOperation -> TypedTerm LogicalOrExpression -> TypedTerm LogicalOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: logicalOrOperationWithRight :: TypedTerm LogicalOrOperation -> TypedTerm LogicalAndExpression -> TypedTerm LogicalOrOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: map :: TypedTerm TypeExpression -> TypedTerm TypeExpression -> TypedTerm [MapEntry] -> TypedTerm Map
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclaration :: TypedTerm TypeExpression -> TypedTerm TypeExpression -> TypedTerm String -> TypedTerm MapDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationKeyType :: TypedTerm MapDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationMapDeclaration :: TypedName MapDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationName :: TypedTerm MapDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationValueType :: TypedTerm MapDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationWithKeyType :: TypedTerm MapDeclaration -> TypedTerm TypeExpression -> TypedTerm MapDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationWithName :: TypedTerm MapDeclaration -> TypedTerm String -> TypedTerm MapDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: mapDeclarationWithValueType :: TypedTerm MapDeclaration -> TypedTerm TypeExpression -> TypedTerm MapDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntries :: TypedTerm Map -> TypedTerm [MapEntry]
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntry :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm MapEntry
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntryKey :: TypedTerm MapEntry -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntryMapEntry :: TypedName MapEntry
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntryValue :: TypedTerm MapEntry -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntryWithKey :: TypedTerm MapEntry -> TypedTerm Expression -> TypedTerm MapEntry
+ Hydra.Ext.Dsl.Cpp.Syntax: mapEntryWithValue :: TypedTerm MapEntry -> TypedTerm Expression -> TypedTerm MapEntry
+ Hydra.Ext.Dsl.Cpp.Syntax: mapKeyType :: TypedTerm Map -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapMap :: TypedName Map
+ Hydra.Ext.Dsl.Cpp.Syntax: mapValueType :: TypedTerm Map -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: mapWithEntries :: TypedTerm Map -> TypedTerm [MapEntry] -> TypedTerm Map
+ Hydra.Ext.Dsl.Cpp.Syntax: mapWithKeyType :: TypedTerm Map -> TypedTerm TypeExpression -> TypedTerm Map
+ Hydra.Ext.Dsl.Cpp.Syntax: mapWithValueType :: TypedTerm Map -> TypedTerm TypeExpression -> TypedTerm Map
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializer :: TypedTerm String -> TypedTerm [Expression] -> TypedTerm MemInitializer
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializerArguments :: TypedTerm MemInitializer -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializerMemInitializer :: TypedName MemInitializer
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializerName :: TypedTerm MemInitializer -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializerWithArguments :: TypedTerm MemInitializer -> TypedTerm [Expression] -> TypedTerm MemInitializer
+ Hydra.Ext.Dsl.Cpp.Syntax: memInitializerWithName :: TypedTerm MemInitializer -> TypedTerm String -> TypedTerm MemInitializer
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperation :: TypedTerm PostfixExpression -> TypedTerm String -> TypedTerm MemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperationMember :: TypedTerm MemberAccessOperation -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperationMemberAccessOperation :: TypedName MemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperationObject :: TypedTerm MemberAccessOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperationWithMember :: TypedTerm MemberAccessOperation -> TypedTerm String -> TypedTerm MemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: memberAccessOperationWithObject :: TypedTerm MemberAccessOperation -> TypedTerm PostfixExpression -> TypedTerm MemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationConstructor :: TypedTerm ConstructorDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationDestructor :: TypedTerm DestructorDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationFunction :: TypedTerm FunctionDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationMemberDeclaration :: TypedName MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationNestedClass :: TypedTerm ClassDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationTemplate :: TypedTerm TemplateDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberDeclarationVariable :: TypedTerm VariableDeclaration -> TypedTerm MemberDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: memberSpecificationAccessLabel :: TypedTerm AccessSpecifier -> TypedTerm MemberSpecification
+ Hydra.Ext.Dsl.Cpp.Syntax: memberSpecificationMember :: TypedTerm MemberDeclaration -> TypedTerm MemberSpecification
+ Hydra.Ext.Dsl.Cpp.Syntax: memberSpecificationMemberSpecification :: TypedName MemberSpecification
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperation :: TypedTerm MultiplicativeExpression -> TypedTerm UnaryExpression -> TypedTerm ModuloOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperationLeft :: TypedTerm ModuloOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperationModuloOperation :: TypedName ModuloOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperationRight :: TypedTerm ModuloOperation -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperationWithLeft :: TypedTerm ModuloOperation -> TypedTerm MultiplicativeExpression -> TypedTerm ModuloOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: moduloOperationWithRight :: TypedTerm ModuloOperation -> TypedTerm UnaryExpression -> TypedTerm ModuloOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplicativeExpressionDivide :: TypedTerm DivideOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplicativeExpressionModulo :: TypedTerm ModuloOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplicativeExpressionMultiplicativeExpression :: TypedName MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplicativeExpressionMultiply :: TypedTerm MultiplyOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplicativeExpressionUnary :: TypedTerm UnaryExpression -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperation :: TypedTerm MultiplicativeExpression -> TypedTerm UnaryExpression -> TypedTerm MultiplyOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperationLeft :: TypedTerm MultiplyOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperationMultiplyOperation :: TypedName MultiplyOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperationRight :: TypedTerm MultiplyOperation -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperationWithLeft :: TypedTerm MultiplyOperation -> TypedTerm MultiplicativeExpression -> TypedTerm MultiplyOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: multiplyOperationWithRight :: TypedTerm MultiplyOperation -> TypedTerm UnaryExpression -> TypedTerm MultiplyOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclaration :: TypedTerm String -> TypedTerm [Declaration] -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclarationDeclarations :: TypedTerm NamespaceDeclaration -> TypedTerm [Declaration]
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclarationName :: TypedTerm NamespaceDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclarationNamespaceDeclaration :: TypedName NamespaceDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclarationWithDeclarations :: TypedTerm NamespaceDeclaration -> TypedTerm [Declaration] -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: namespaceDeclarationWithName :: TypedTerm NamespaceDeclaration -> TypedTerm String -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperation :: TypedTerm EqualityExpression -> TypedTerm RelationalExpression -> TypedTerm NotEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperationLeft :: TypedTerm NotEqualOperation -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperationNotEqualOperation :: TypedName NotEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperationRight :: TypedTerm NotEqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperationWithLeft :: TypedTerm NotEqualOperation -> TypedTerm EqualityExpression -> TypedTerm NotEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: notEqualOperationWithRight :: TypedTerm NotEqualOperation -> TypedTerm RelationalExpression -> TypedTerm NotEqualOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: optional :: TypedTerm TypeExpression -> TypedTerm (Maybe Expression) -> TypedTerm Optional
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclaration :: TypedTerm TypeExpression -> TypedTerm String -> TypedTerm OptionalDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclarationName :: TypedTerm OptionalDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclarationOptionalDeclaration :: TypedName OptionalDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclarationValueType :: TypedTerm OptionalDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclarationWithName :: TypedTerm OptionalDeclaration -> TypedTerm String -> TypedTerm OptionalDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalDeclarationWithValueType :: TypedTerm OptionalDeclaration -> TypedTerm TypeExpression -> TypedTerm OptionalDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalOptional :: TypedName Optional
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalValue :: TypedTerm Optional -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalValueType :: TypedTerm Optional -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalWithValue :: TypedTerm Optional -> TypedTerm (Maybe Expression) -> TypedTerm Optional
+ Hydra.Ext.Dsl.Cpp.Syntax: optionalWithValueType :: TypedTerm Optional -> TypedTerm TypeExpression -> TypedTerm Optional
+ Hydra.Ext.Dsl.Cpp.Syntax: overloadedLambdas :: TypedTerm [LambdaExpression] -> TypedTerm OverloadedLambdas
+ Hydra.Ext.Dsl.Cpp.Syntax: overloadedLambdasOverloadedLambdas :: TypedName OverloadedLambdas
+ Hydra.Ext.Dsl.Cpp.Syntax: parameter :: TypedTerm TypeExpression -> TypedTerm String -> TypedTerm Bool -> TypedTerm (Maybe Expression) -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterDefaultValue :: TypedTerm Parameter -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterName :: TypedTerm Parameter -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterParameter :: TypedName Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterType :: TypedTerm Parameter -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterUnnamed :: TypedTerm Parameter -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterWithDefaultValue :: TypedTerm Parameter -> TypedTerm (Maybe Expression) -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterWithName :: TypedTerm Parameter -> TypedTerm String -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterWithType :: TypedTerm Parameter -> TypedTerm TypeExpression -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: parameterWithUnnamed :: TypedTerm Parameter -> TypedTerm Bool -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatch :: TypedTerm Visitor -> TypedTerm Expression -> TypedTerm PatternMatch
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatchPatternMatch :: TypedName PatternMatch
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatchVariant :: TypedTerm PatternMatch -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatchVisitor :: TypedTerm PatternMatch -> TypedTerm Visitor
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatchWithVariant :: TypedTerm PatternMatch -> TypedTerm Expression -> TypedTerm PatternMatch
+ Hydra.Ext.Dsl.Cpp.Syntax: patternMatchWithVisitor :: TypedTerm PatternMatch -> TypedTerm Visitor -> TypedTerm PatternMatch
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperation :: TypedTerm PostfixExpression -> TypedTerm String -> TypedTerm PointerMemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperationMember :: TypedTerm PointerMemberAccessOperation -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperationPointer :: TypedTerm PointerMemberAccessOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperationPointerMemberAccessOperation :: TypedName PointerMemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperationWithMember :: TypedTerm PointerMemberAccessOperation -> TypedTerm String -> TypedTerm PointerMemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: pointerMemberAccessOperationWithPointer :: TypedTerm PointerMemberAccessOperation -> TypedTerm PostfixExpression -> TypedTerm PointerMemberAccessOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionFunctionCall :: TypedTerm FunctionCallOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionMemberAccess :: TypedTerm MemberAccessOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionPointerMemberAccess :: TypedTerm PointerMemberAccessOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionPostDecrement :: TypedTerm PostfixExpression -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionPostIncrement :: TypedTerm PostfixExpression -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionPostfixExpression :: TypedName PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionPrimary :: TypedTerm PrimaryExpression -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionSubscript :: TypedTerm SubscriptOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: postfixExpressionTemplateFunctionCall :: TypedTerm TemplateFunctionCallOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: pragmaDirective :: TypedTerm String -> TypedTerm PragmaDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: pragmaDirectiveContent :: TypedTerm PragmaDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: pragmaDirectivePragmaDirective :: TypedName PragmaDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: pragmaDirectiveWithContent :: TypedTerm PragmaDirective -> TypedTerm String -> TypedTerm PragmaDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveDefine :: TypedTerm DefineDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveElif :: TypedTerm ElifDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveElse :: TypedTerm ElseDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveEndif :: TypedTerm EndifDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveError :: TypedTerm ErrorDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveIf :: TypedTerm IfDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveIfdef :: TypedTerm IfdefDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveIfndef :: TypedTerm IfndefDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveInclude :: TypedTerm IncludeDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveLine :: TypedTerm LineDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectivePragma :: TypedTerm PragmaDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectivePreprocessorDirective :: TypedName PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveUndef :: TypedTerm UndefDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: preprocessorDirectiveWarning :: TypedTerm WarningDirective -> TypedTerm PreprocessorDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: primaryExpressionIdentifier :: TypedTerm String -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: primaryExpressionLambda :: TypedTerm LambdaExpression -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: primaryExpressionLiteral :: TypedTerm Literal -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: primaryExpressionParenthesized :: TypedTerm Expression -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: primaryExpressionPrimaryExpression :: TypedName PrimaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclaration :: TypedTerm String -> TypedTerm [VariableDeclaration] -> TypedTerm ProductDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclarationFields :: TypedTerm ProductDeclaration -> TypedTerm [VariableDeclaration]
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclarationName :: TypedTerm ProductDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclarationProductDeclaration :: TypedName ProductDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclarationWithFields :: TypedTerm ProductDeclaration -> TypedTerm [VariableDeclaration] -> TypedTerm ProductDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: productDeclarationWithName :: TypedTerm ProductDeclaration -> TypedTerm String -> TypedTerm ProductDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: program :: TypedTerm [PreprocessorDirective] -> TypedTerm [IncludeDirective] -> TypedTerm [Declaration] -> TypedTerm Program
+ Hydra.Ext.Dsl.Cpp.Syntax: programDeclarations :: TypedTerm Program -> TypedTerm [Declaration]
+ Hydra.Ext.Dsl.Cpp.Syntax: programIncludes :: TypedTerm Program -> TypedTerm [IncludeDirective]
+ Hydra.Ext.Dsl.Cpp.Syntax: programPreprocessorDirectives :: TypedTerm Program -> TypedTerm [PreprocessorDirective]
+ Hydra.Ext.Dsl.Cpp.Syntax: programProgram :: TypedName Program
+ Hydra.Ext.Dsl.Cpp.Syntax: programWithDeclarations :: TypedTerm Program -> TypedTerm [Declaration] -> TypedTerm Program
+ Hydra.Ext.Dsl.Cpp.Syntax: programWithIncludes :: TypedTerm Program -> TypedTerm [IncludeDirective] -> TypedTerm Program
+ Hydra.Ext.Dsl.Cpp.Syntax: programWithPreprocessorDirectives :: TypedTerm Program -> TypedTerm [PreprocessorDirective] -> TypedTerm Program
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifier :: TypedTerm String -> TypedTerm String -> TypedTerm QualifiedIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifierName :: TypedTerm QualifiedIdentifier -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifierNamespace :: TypedTerm QualifiedIdentifier -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifierQualifiedIdentifier :: TypedName QualifiedIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifierWithName :: TypedTerm QualifiedIdentifier -> TypedTerm String -> TypedTerm QualifiedIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedIdentifierWithNamespace :: TypedTerm QualifiedIdentifier -> TypedTerm String -> TypedTerm QualifiedIdentifier
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedType :: TypedTerm TypeExpression -> TypedTerm TypeQualifier -> TypedTerm QualifiedType
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedTypeBaseType :: TypedTerm QualifiedType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedTypeQualifiedType :: TypedName QualifiedType
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedTypeQualifier :: TypedTerm QualifiedType -> TypedTerm TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedTypeWithBaseType :: TypedTerm QualifiedType -> TypedTerm TypeExpression -> TypedTerm QualifiedType
+ Hydra.Ext.Dsl.Cpp.Syntax: qualifiedTypeWithQualifier :: TypedTerm QualifiedType -> TypedTerm TypeQualifier -> TypedTerm QualifiedType
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatement :: TypedTerm TypeExpression -> TypedTerm String -> TypedTerm Expression -> TypedTerm Statement -> TypedTerm RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementBody :: TypedTerm RangeForStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementRange :: TypedTerm RangeForStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementRangeForStatement :: TypedName RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementType :: TypedTerm RangeForStatement -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementVariable :: TypedTerm RangeForStatement -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementWithBody :: TypedTerm RangeForStatement -> TypedTerm Statement -> TypedTerm RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementWithRange :: TypedTerm RangeForStatement -> TypedTerm Expression -> TypedTerm RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementWithType :: TypedTerm RangeForStatement -> TypedTerm TypeExpression -> TypedTerm RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: rangeForStatementWithVariable :: TypedTerm RangeForStatement -> TypedTerm String -> TypedTerm RangeForStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionGreater :: TypedTerm GreaterOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionGreaterEqual :: TypedTerm GreaterEqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionLess :: TypedTerm LessOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionLessEqual :: TypedTerm LessEqualOperation -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionRelationalExpression :: TypedName RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: relationalExpressionShift :: TypedTerm ShiftExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperation :: TypedTerm ShiftExpression -> TypedTerm AdditiveExpression -> TypedTerm RightShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperationLeft :: TypedTerm RightShiftOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperationRight :: TypedTerm RightShiftOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperationRightShiftOperation :: TypedName RightShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperationWithLeft :: TypedTerm RightShiftOperation -> TypedTerm ShiftExpression -> TypedTerm RightShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: rightShiftOperationWithRight :: TypedTerm RightShiftOperation -> TypedTerm AdditiveExpression -> TypedTerm RightShiftOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatement :: TypedTerm Expression -> TypedTerm Statement -> TypedTerm (Maybe Statement) -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementCondition :: TypedTerm SelectionStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementElseBranch :: TypedTerm SelectionStatement -> TypedTerm (Maybe Statement)
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementSelectionStatement :: TypedName SelectionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementThenBranch :: TypedTerm SelectionStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementWithCondition :: TypedTerm SelectionStatement -> TypedTerm Expression -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementWithElseBranch :: TypedTerm SelectionStatement -> TypedTerm (Maybe Statement) -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: selectionStatementWithThenBranch :: TypedTerm SelectionStatement -> TypedTerm Statement -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: set :: TypedTerm TypeExpression -> TypedTerm [Expression] -> TypedTerm Set
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclaration :: TypedTerm TypeExpression -> TypedTerm String -> TypedTerm SetDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclarationElementType :: TypedTerm SetDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclarationName :: TypedTerm SetDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclarationSetDeclaration :: TypedName SetDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclarationWithElementType :: TypedTerm SetDeclaration -> TypedTerm TypeExpression -> TypedTerm SetDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: setDeclarationWithName :: TypedTerm SetDeclaration -> TypedTerm String -> TypedTerm SetDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: setElementType :: TypedTerm Set -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: setElements :: TypedTerm Set -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: setSet :: TypedName Set
+ Hydra.Ext.Dsl.Cpp.Syntax: setWithElementType :: TypedTerm Set -> TypedTerm TypeExpression -> TypedTerm Set
+ Hydra.Ext.Dsl.Cpp.Syntax: setWithElements :: TypedTerm Set -> TypedTerm [Expression] -> TypedTerm Set
+ Hydra.Ext.Dsl.Cpp.Syntax: shiftExpressionAdditive :: TypedTerm AdditiveExpression -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: shiftExpressionLeftShift :: TypedTerm LeftShiftOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: shiftExpressionRightShift :: TypedTerm RightShiftOperation -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: sizeofExpression :: TypedTerm TypeExpression -> TypedTerm SizeofExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: sizeofExpressionSizeofExpression :: TypedName SizeofExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: statementCompound :: TypedTerm CompoundStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementDeclaration :: TypedTerm VariableDeclaration -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementExpression :: TypedTerm Expression -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementIteration :: TypedTerm IterationStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementJump :: TypedTerm JumpStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementLabeled :: TypedTerm LabeledStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementSelection :: TypedTerm SelectionStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementStatement :: TypedName Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: statementSwitch :: TypedTerm SwitchStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: stringLiteral :: TypedTerm String -> TypedTerm StringLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: stringLiteralStringLiteral :: TypedName StringLiteral
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperation :: TypedTerm PostfixExpression -> TypedTerm Expression -> TypedTerm SubscriptOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperationArray :: TypedTerm SubscriptOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperationIndex :: TypedTerm SubscriptOperation -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperationSubscriptOperation :: TypedName SubscriptOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperationWithArray :: TypedTerm SubscriptOperation -> TypedTerm PostfixExpression -> TypedTerm SubscriptOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subscriptOperationWithIndex :: TypedTerm SubscriptOperation -> TypedTerm Expression -> TypedTerm SubscriptOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperation :: TypedTerm AdditiveExpression -> TypedTerm MultiplicativeExpression -> TypedTerm SubtractOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperationLeft :: TypedTerm SubtractOperation -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperationRight :: TypedTerm SubtractOperation -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperationSubtractOperation :: TypedName SubtractOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperationWithLeft :: TypedTerm SubtractOperation -> TypedTerm AdditiveExpression -> TypedTerm SubtractOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: subtractOperationWithRight :: TypedTerm SubtractOperation -> TypedTerm MultiplicativeExpression -> TypedTerm SubtractOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatement :: TypedTerm Expression -> TypedTerm [CaseStatement] -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatementCases :: TypedTerm SwitchStatement -> TypedTerm [CaseStatement]
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatementSwitchStatement :: TypedName SwitchStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatementValue :: TypedTerm SwitchStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatementWithCases :: TypedTerm SwitchStatement -> TypedTerm [CaseStatement] -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: switchStatementWithValue :: TypedTerm SwitchStatement -> TypedTerm Expression -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: templateArgumentTemplateArgument :: TypedName TemplateArgument
+ Hydra.Ext.Dsl.Cpp.Syntax: templateArgumentType :: TypedTerm TypeExpression -> TypedTerm TemplateArgument
+ Hydra.Ext.Dsl.Cpp.Syntax: templateArgumentValue :: TypedTerm Expression -> TypedTerm TemplateArgument
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclaration :: TypedTerm Bool -> TypedTerm [String] -> TypedTerm Declaration -> TypedTerm TemplateDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationDeclaration :: TypedTerm TemplateDeclaration -> TypedTerm Declaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationInline :: TypedTerm TemplateDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationParameters :: TypedTerm TemplateDeclaration -> TypedTerm [String]
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationTemplateDeclaration :: TypedName TemplateDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationWithDeclaration :: TypedTerm TemplateDeclaration -> TypedTerm Declaration -> TypedTerm TemplateDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationWithInline :: TypedTerm TemplateDeclaration -> TypedTerm Bool -> TypedTerm TemplateDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateDeclarationWithParameters :: TypedTerm TemplateDeclaration -> TypedTerm [String] -> TypedTerm TemplateDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperation :: TypedTerm PostfixExpression -> TypedTerm [TemplateArgument] -> TypedTerm [Expression] -> TypedTerm TemplateFunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationArguments :: TypedTerm TemplateFunctionCallOperation -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationFunction :: TypedTerm TemplateFunctionCallOperation -> TypedTerm PostfixExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationTemplateArguments :: TypedTerm TemplateFunctionCallOperation -> TypedTerm [TemplateArgument]
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationTemplateFunctionCallOperation :: TypedName TemplateFunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationWithArguments :: TypedTerm TemplateFunctionCallOperation -> TypedTerm [Expression] -> TypedTerm TemplateFunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationWithFunction :: TypedTerm TemplateFunctionCallOperation -> TypedTerm PostfixExpression -> TypedTerm TemplateFunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: templateFunctionCallOperationWithTemplateArguments :: TypedTerm TemplateFunctionCallOperation -> TypedTerm [TemplateArgument] -> TypedTerm TemplateFunctionCallOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: templateType :: TypedTerm String -> TypedTerm [TemplateArgument] -> TypedTerm TemplateType
+ Hydra.Ext.Dsl.Cpp.Syntax: templateTypeArguments :: TypedTerm TemplateType -> TypedTerm [TemplateArgument]
+ Hydra.Ext.Dsl.Cpp.Syntax: templateTypeName :: TypedTerm TemplateType -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: templateTypeTemplateType :: TypedName TemplateType
+ Hydra.Ext.Dsl.Cpp.Syntax: templateTypeWithArguments :: TypedTerm TemplateType -> TypedTerm [TemplateArgument] -> TypedTerm TemplateType
+ Hydra.Ext.Dsl.Cpp.Syntax: templateTypeWithName :: TypedTerm TemplateType -> TypedTerm String -> TypedTerm TemplateType
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpression :: TypedTerm LogicalOrExpression -> TypedTerm Expression -> TypedTerm ConditionalExpression -> TypedTerm TernaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionCondition :: TypedTerm TernaryExpression -> TypedTerm LogicalOrExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionFalseExpr :: TypedTerm TernaryExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionTernaryExpression :: TypedName TernaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionTrueExpr :: TypedTerm TernaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionWithCondition :: TypedTerm TernaryExpression -> TypedTerm LogicalOrExpression -> TypedTerm TernaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionWithFalseExpr :: TypedTerm TernaryExpression -> TypedTerm ConditionalExpression -> TypedTerm TernaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: ternaryExpressionWithTrueExpr :: TypedTerm TernaryExpression -> TypedTerm Expression -> TypedTerm TernaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionAuto :: TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionBasic :: TypedTerm BasicType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionFunction :: TypedTerm FunctionType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionQualified :: TypedTerm QualifiedType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionTemplate :: TypedTerm TemplateType -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeExpressionTypeExpression :: TypedName TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typeQualifierConst :: TypedTerm TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: typeQualifierLvalueRef :: TypedTerm TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: typeQualifierPointer :: TypedTerm TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: typeQualifierRvalueRef :: TypedTerm TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: typeQualifierTypeQualifier :: TypedName TypeQualifier
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclaration :: TypedTerm String -> TypedTerm TypeExpression -> TypedTerm Bool -> TypedTerm TypedefDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationIsUsing :: TypedTerm TypedefDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationName :: TypedTerm TypedefDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationType :: TypedTerm TypedefDeclaration -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationTypedefDeclaration :: TypedName TypedefDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationWithIsUsing :: TypedTerm TypedefDeclaration -> TypedTerm Bool -> TypedTerm TypedefDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationWithName :: TypedTerm TypedefDeclaration -> TypedTerm String -> TypedTerm TypedefDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: typedefDeclarationWithType :: TypedTerm TypedefDeclaration -> TypedTerm TypeExpression -> TypedTerm TypedefDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: unBooleanLiteral :: TypedTerm BooleanLiteral -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: unCharacterLiteral :: TypedTerm CharacterLiteral -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: unClassBody :: TypedTerm ClassBody -> TypedTerm [MemberSpecification]
+ Hydra.Ext.Dsl.Cpp.Syntax: unCompoundStatement :: TypedTerm CompoundStatement -> TypedTerm [Statement]
+ Hydra.Ext.Dsl.Cpp.Syntax: unExpressionStatement :: TypedTerm ExpressionStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: unFloatingLiteral :: TypedTerm FloatingLiteral -> TypedTerm Double
+ Hydra.Ext.Dsl.Cpp.Syntax: unOverloadedLambdas :: TypedTerm OverloadedLambdas -> TypedTerm [LambdaExpression]
+ Hydra.Ext.Dsl.Cpp.Syntax: unSizeofExpression :: TypedTerm SizeofExpression -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unStringLiteral :: TypedTerm StringLiteral -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryExpressionPostfix :: TypedTerm PostfixExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryExpressionSizeof :: TypedTerm SizeofExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryExpressionUnaryExpression :: TypedName UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryExpressionUnaryOp :: TypedTerm UnaryOperation -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperation :: TypedTerm UnaryOperator -> TypedTerm UnaryExpression -> TypedTerm UnaryOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperationOperand :: TypedTerm UnaryOperation -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperationOperator :: TypedTerm UnaryOperation -> TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperationUnaryOperation :: TypedName UnaryOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperationWithOperand :: TypedTerm UnaryOperation -> TypedTerm UnaryExpression -> TypedTerm UnaryOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperationWithOperator :: TypedTerm UnaryOperation -> TypedTerm UnaryOperator -> TypedTerm UnaryOperation
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorAddressOf :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorBitwiseNot :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorDereference :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorLogicalNot :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorMinus :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorPlus :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorPreDecrement :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorPreIncrement :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: unaryOperatorUnaryOperator :: TypedName UnaryOperator
+ Hydra.Ext.Dsl.Cpp.Syntax: undefDirective :: TypedTerm String -> TypedTerm UndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: undefDirectiveName :: TypedTerm UndefDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: undefDirectiveUndefDirective :: TypedName UndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: undefDirectiveWithName :: TypedTerm UndefDirective -> TypedTerm String -> TypedTerm UndefDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclaration :: TypedTerm (Maybe TypeExpression) -> TypedTerm String -> TypedTerm (Maybe Expression) -> TypedTerm Bool -> TypedTerm VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationInitializer :: TypedTerm VariableDeclaration -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationIsAuto :: TypedTerm VariableDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationName :: TypedTerm VariableDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationType :: TypedTerm VariableDeclaration -> TypedTerm (Maybe TypeExpression)
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationVariableDeclaration :: TypedName VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationWithInitializer :: TypedTerm VariableDeclaration -> TypedTerm (Maybe Expression) -> TypedTerm VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationWithIsAuto :: TypedTerm VariableDeclaration -> TypedTerm Bool -> TypedTerm VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationWithName :: TypedTerm VariableDeclaration -> TypedTerm String -> TypedTerm VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variableDeclarationWithType :: TypedTerm VariableDeclaration -> TypedTerm (Maybe TypeExpression) -> TypedTerm VariableDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclaration :: TypedTerm [TypeExpression] -> TypedTerm String -> TypedTerm VariantDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclarationName :: TypedTerm VariantDeclaration -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclarationTypes :: TypedTerm VariantDeclaration -> TypedTerm [TypeExpression]
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclarationVariantDeclaration :: TypedName VariantDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclarationWithName :: TypedTerm VariantDeclaration -> TypedTerm String -> TypedTerm VariantDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: variantDeclarationWithTypes :: TypedTerm VariantDeclaration -> TypedTerm [TypeExpression] -> TypedTerm VariantDeclaration
+ Hydra.Ext.Dsl.Cpp.Syntax: vector :: TypedTerm TypeExpression -> TypedTerm [Expression] -> TypedTerm Vector
+ Hydra.Ext.Dsl.Cpp.Syntax: vectorElementType :: TypedTerm Vector -> TypedTerm TypeExpression
+ Hydra.Ext.Dsl.Cpp.Syntax: vectorElements :: TypedTerm Vector -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Cpp.Syntax: vectorVector :: TypedName Vector
+ Hydra.Ext.Dsl.Cpp.Syntax: vectorWithElementType :: TypedTerm Vector -> TypedTerm TypeExpression -> TypedTerm Vector
+ Hydra.Ext.Dsl.Cpp.Syntax: vectorWithElements :: TypedTerm Vector -> TypedTerm [Expression] -> TypedTerm Vector
+ Hydra.Ext.Dsl.Cpp.Syntax: visitorLambda :: TypedTerm LambdaExpression -> TypedTerm Visitor
+ Hydra.Ext.Dsl.Cpp.Syntax: visitorOverloaded :: TypedTerm OverloadedLambdas -> TypedTerm Visitor
+ Hydra.Ext.Dsl.Cpp.Syntax: visitorVisitor :: TypedName Visitor
+ Hydra.Ext.Dsl.Cpp.Syntax: warningDirective :: TypedTerm String -> TypedTerm WarningDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: warningDirectiveMessage :: TypedTerm WarningDirective -> TypedTerm String
+ Hydra.Ext.Dsl.Cpp.Syntax: warningDirectiveWarningDirective :: TypedName WarningDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: warningDirectiveWithMessage :: TypedTerm WarningDirective -> TypedTerm String -> TypedTerm WarningDirective
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatement :: TypedTerm Expression -> TypedTerm Statement -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm Statement -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Cpp.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm Expression -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorBodyAccessorBody :: TypedName AccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorBodyBlock :: TypedTerm Block -> TypedTerm AccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorBodyEmpty :: TypedTerm AccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorBodyExpression :: TypedTerm Expression -> TypedTerm AccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm (Maybe AccessorModifier) -> TypedTerm AccessorBody -> TypedTerm AccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationAccessorDeclaration :: TypedName AccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationAttributes :: TypedTerm AccessorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationBody :: TypedTerm AccessorDeclaration -> TypedTerm AccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationModifier :: TypedTerm AccessorDeclaration -> TypedTerm (Maybe AccessorModifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationWithAttributes :: TypedTerm AccessorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm AccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationWithBody :: TypedTerm AccessorDeclaration -> TypedTerm AccessorBody -> TypedTerm AccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationWithModifier :: TypedTerm AccessorDeclaration -> TypedTerm (Maybe AccessorModifier) -> TypedTerm AccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationsAccessorDeclarations :: TypedName AccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationsGet :: TypedTerm (Maybe AccessorDeclaration) -> TypedTerm AccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorDeclarationsSet :: TypedTerm (Maybe AccessorDeclaration) -> TypedTerm AccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierAccessorModifier :: TypedName AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierInternal :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierInternalProtected :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierPrivate :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierPrivateProtected :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierProtected :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierProtectedInternal :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorModifierProtectedPrivate :: TypedTerm AccessorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [EventModifier] -> TypedTerm Type -> TypedTerm MemberName -> TypedTerm EventAccessorDeclarations -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationAccessors :: TypedTerm AccessorsEventDeclaration -> TypedTerm EventAccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationAccessorsEventDeclaration :: TypedName AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationAttributes :: TypedTerm AccessorsEventDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationModifiers :: TypedTerm AccessorsEventDeclaration -> TypedTerm [EventModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationName :: TypedTerm AccessorsEventDeclaration -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationType :: TypedTerm AccessorsEventDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationWithAccessors :: TypedTerm AccessorsEventDeclaration -> TypedTerm EventAccessorDeclarations -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationWithAttributes :: TypedTerm AccessorsEventDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationWithModifiers :: TypedTerm AccessorsEventDeclaration -> TypedTerm [EventModifier] -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationWithName :: TypedTerm AccessorsEventDeclaration -> TypedTerm MemberName -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: accessorsEventDeclarationWithType :: TypedTerm AccessorsEventDeclaration -> TypedTerm Type -> TypedTerm AccessorsEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Block -> TypedTerm AddRemoveAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclarationAddRemoveAccessorDeclaration :: TypedName AddRemoveAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclarationAttributes :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclarationBody :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm Block
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclarationWithAttributes :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm AddRemoveAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: addRemoveAccessorDeclarationWithBody :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm Block -> TypedTerm AddRemoveAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveExpressionAdditiveExpression :: TypedName AdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveExpressionBinary :: TypedTerm BinaryAdditiveExpression -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveExpressionSimple :: TypedTerm MultiplicativeExpression -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveOperatorAdditiveOperator :: TypedName AdditiveOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveOperatorMinus :: TypedTerm AdditiveOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: additiveOperatorPlus :: TypedTerm AdditiveOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: andExpressionAndExpression :: TypedName AndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: andExpressionBinary :: TypedTerm BinaryAndExpression -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: andExpressionSimple :: TypedTerm EqualityExpression -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionBodyAnonymousFunctionBody :: TypedName AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionBodyBlock :: TypedTerm Block -> TypedTerm AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionBodyExpression :: TypedTerm Expression -> TypedTerm AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionBodyNullConditionalInvocation :: TypedTerm NullConditionalInvocationExpression -> TypedTerm AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionBodyRef :: TypedTerm VariableReference -> TypedTerm AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionParameterModifierAnonymousFunctionParameterModifier :: TypedName AnonymousFunctionParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionParameterModifierIn :: TypedTerm AnonymousFunctionParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionParameterModifierOut :: TypedTerm AnonymousFunctionParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionParameterModifierRef :: TypedTerm AnonymousFunctionParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionSignatureAnonymousFunctionSignature :: TypedName AnonymousFunctionSignature
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionSignatureExplicit :: TypedTerm [ExplicitAnonymousFunctionParameter] -> TypedTerm AnonymousFunctionSignature
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousFunctionSignatureImplicit :: TypedTerm [Identifier] -> TypedTerm AnonymousFunctionSignature
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpression :: TypedTerm Bool -> TypedTerm [ExplicitAnonymousFunctionParameter] -> TypedTerm Block -> TypedTerm AnonymousMethodExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionAnonymousMethodExpression :: TypedName AnonymousMethodExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionAsync :: TypedTerm AnonymousMethodExpression -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionBody :: TypedTerm AnonymousMethodExpression -> TypedTerm Block
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionSignature :: TypedTerm AnonymousMethodExpression -> TypedTerm [ExplicitAnonymousFunctionParameter]
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionWithAsync :: TypedTerm AnonymousMethodExpression -> TypedTerm Bool -> TypedTerm AnonymousMethodExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionWithBody :: TypedTerm AnonymousMethodExpression -> TypedTerm Block -> TypedTerm AnonymousMethodExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: anonymousMethodExpressionWithSignature :: TypedTerm AnonymousMethodExpression -> TypedTerm [ExplicitAnonymousFunctionParameter] -> TypedTerm AnonymousMethodExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: argument :: TypedTerm (Maybe Identifier) -> TypedTerm ArgumentValue -> TypedTerm Argument
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentArgument :: TypedName Argument
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentList :: TypedTerm [Argument] -> TypedTerm ArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentListArgumentList :: TypedName ArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentName :: TypedTerm Argument -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValue :: TypedTerm Argument -> TypedTerm ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValueArgumentValue :: TypedName ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValueExpression :: TypedTerm Expression -> TypedTerm ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValueIn :: TypedTerm VariableReference -> TypedTerm ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValueOut :: TypedTerm VariableReference -> TypedTerm ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentValueRef :: TypedTerm VariableReference -> TypedTerm ArgumentValue
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentWithName :: TypedTerm Argument -> TypedTerm (Maybe Identifier) -> TypedTerm Argument
+ Hydra.Ext.Dsl.Csharp.Syntax: argumentWithValue :: TypedTerm Argument -> TypedTerm ArgumentValue -> TypedTerm Argument
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayCreationExpressionArrayCreationExpression :: TypedName ArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayCreationExpressionArrayType :: TypedTerm ArrayTypeArrayCreationExpression -> TypedTerm ArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayCreationExpressionNonArrayType :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm ArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayCreationExpressionRankSpecifier :: TypedTerm RankSpecifierArrayCreationExpression -> TypedTerm ArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayInitializer :: TypedTerm [VariableInitializer] -> TypedTerm ArrayInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayInitializerArrayInitializer :: TypedName ArrayInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayType :: TypedTerm NonArrayType -> TypedTerm [RankSpecifier] -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpression :: TypedTerm ArrayType -> TypedTerm ArrayInitializer -> TypedTerm ArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpressionArrayTypeArrayCreationExpression :: TypedName ArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpressionInitializer :: TypedTerm ArrayTypeArrayCreationExpression -> TypedTerm ArrayInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpressionType :: TypedTerm ArrayTypeArrayCreationExpression -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpressionWithInitializer :: TypedTerm ArrayTypeArrayCreationExpression -> TypedTerm ArrayInitializer -> TypedTerm ArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayCreationExpressionWithType :: TypedTerm ArrayTypeArrayCreationExpression -> TypedTerm ArrayType -> TypedTerm ArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeArrayType :: TypedName ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeRank :: TypedTerm ArrayType -> TypedTerm [RankSpecifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeType :: TypedTerm ArrayType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeWithRank :: TypedTerm ArrayType -> TypedTerm [RankSpecifier] -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: arrayTypeWithType :: TypedTerm ArrayType -> TypedTerm NonArrayType -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpression :: TypedTerm RelationalExpression -> TypedTerm Type -> TypedTerm AsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpressionAsTypeExpression :: TypedName AsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpressionExpression :: TypedTerm AsTypeExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpressionType :: TypedTerm AsTypeExpression -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpressionWithExpression :: TypedTerm AsTypeExpression -> TypedTerm RelationalExpression -> TypedTerm AsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: asTypeExpressionWithType :: TypedTerm AsTypeExpression -> TypedTerm Type -> TypedTerm AsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: assignment :: TypedTerm UnaryExpression -> TypedTerm AssignmentOperator -> TypedTerm Expression -> TypedTerm Assignment
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentAssignment :: TypedName Assignment
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentLeft :: TypedTerm Assignment -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclarator :: TypedTerm Identifier -> TypedTerm Expression -> TypedTerm AssignmentMemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclaratorAssignmentMemberDeclarator :: TypedName AssignmentMemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclaratorExpression :: TypedTerm AssignmentMemberDeclarator -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclaratorIdentifier :: TypedTerm AssignmentMemberDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclaratorWithExpression :: TypedTerm AssignmentMemberDeclarator -> TypedTerm Expression -> TypedTerm AssignmentMemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentMemberDeclaratorWithIdentifier :: TypedTerm AssignmentMemberDeclarator -> TypedTerm Identifier -> TypedTerm AssignmentMemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperator :: TypedTerm Assignment -> TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorAndEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorAssignmentOperator :: TypedName AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorDivideEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorLeftShiftEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorMinusEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorModEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorOrEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorPlusEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorRightShiftEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorSimple :: TypedTerm Bool -> TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorTimesEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentOperatorXorEquals :: TypedTerm AssignmentOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentRight :: TypedTerm Assignment -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentWithLeft :: TypedTerm Assignment -> TypedTerm UnaryExpression -> TypedTerm Assignment
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentWithOperator :: TypedTerm Assignment -> TypedTerm AssignmentOperator -> TypedTerm Assignment
+ Hydra.Ext.Dsl.Csharp.Syntax: assignmentWithRight :: TypedTerm Assignment -> TypedTerm Expression -> TypedTerm Assignment
+ Hydra.Ext.Dsl.Csharp.Syntax: attribute :: TypedTerm AttributeName -> TypedTerm (Maybe AttributeArguments) -> TypedTerm Attribute
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentExpression :: TypedTerm NonAssignmentExpression -> TypedTerm AttributeArgumentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentExpressionAttributeArgumentExpression :: TypedName AttributeArgumentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArguments :: TypedTerm Attribute -> TypedTerm (Maybe AttributeArguments)
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArguments2 :: TypedTerm (Maybe PositionalArgumentList) -> TypedTerm (Maybe NamedArgumentList) -> TypedTerm AttributeArguments
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentsAttributeArguments :: TypedName AttributeArguments
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentsNamed :: TypedTerm AttributeArguments -> TypedTerm (Maybe NamedArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentsPositonal :: TypedTerm AttributeArguments -> TypedTerm (Maybe PositionalArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentsWithNamed :: TypedTerm AttributeArguments -> TypedTerm (Maybe NamedArgumentList) -> TypedTerm AttributeArguments
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeArgumentsWithPositonal :: TypedTerm AttributeArguments -> TypedTerm (Maybe PositionalArgumentList) -> TypedTerm AttributeArguments
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeAttribute :: TypedName Attribute
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeList :: TypedTerm [Attribute] -> TypedTerm AttributeList
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeListAttributeList :: TypedName AttributeList
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeName :: TypedTerm Attribute -> TypedTerm AttributeName
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeName2 :: TypedTerm TypeName -> TypedTerm AttributeName
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeNameAttributeName :: TypedName AttributeName
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSection :: TypedTerm (Maybe AttributeTarget) -> TypedTerm AttributeList -> TypedTerm AttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSectionAttributeSection :: TypedName AttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSectionAttributes :: TypedTerm AttributeSection -> TypedTerm AttributeList
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSectionTarget :: TypedTerm AttributeSection -> TypedTerm (Maybe AttributeTarget)
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSectionWithAttributes :: TypedTerm AttributeSection -> TypedTerm AttributeList -> TypedTerm AttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeSectionWithTarget :: TypedTerm AttributeSection -> TypedTerm (Maybe AttributeTarget) -> TypedTerm AttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeTargetAttributeTarget :: TypedName AttributeTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeTargetIdentifier :: TypedTerm Identifier -> TypedTerm AttributeTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeTargetKeyword :: TypedTerm Keyword -> TypedTerm AttributeTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeWithArguments :: TypedTerm Attribute -> TypedTerm (Maybe AttributeArguments) -> TypedTerm Attribute
+ Hydra.Ext.Dsl.Csharp.Syntax: attributeWithName :: TypedTerm Attribute -> TypedTerm AttributeName -> TypedTerm Attribute
+ Hydra.Ext.Dsl.Csharp.Syntax: attributes :: TypedTerm [AttributeSection] -> TypedTerm Attributes
+ Hydra.Ext.Dsl.Csharp.Syntax: attributesAttributes :: TypedName Attributes
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessArguments :: TypedTerm ArgumentList -> TypedTerm BaseAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessBaseAccess :: TypedName BaseAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessIdentifier :: TypedTerm BaseAccessWithIdentifier -> TypedTerm BaseAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifier :: TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm BaseAccessWithIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifierBaseAccessWithIdentifier :: TypedName BaseAccessWithIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifierIdentifier :: TypedTerm BaseAccessWithIdentifier -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifierTypeArguments :: TypedTerm BaseAccessWithIdentifier -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifierWithIdentifier :: TypedTerm BaseAccessWithIdentifier -> TypedTerm Identifier -> TypedTerm BaseAccessWithIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: baseAccessWithIdentifierWithTypeArguments :: TypedTerm BaseAccessWithIdentifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm BaseAccessWithIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpression :: TypedTerm AdditiveExpression -> TypedTerm AdditiveOperator -> TypedTerm MultiplicativeExpression -> TypedTerm BinaryAdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionBinaryAdditiveExpression :: TypedName BinaryAdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionLeft :: TypedTerm BinaryAdditiveExpression -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionOperator :: TypedTerm BinaryAdditiveExpression -> TypedTerm AdditiveOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionRight :: TypedTerm BinaryAdditiveExpression -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionWithLeft :: TypedTerm BinaryAdditiveExpression -> TypedTerm AdditiveExpression -> TypedTerm BinaryAdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionWithOperator :: TypedTerm BinaryAdditiveExpression -> TypedTerm AdditiveOperator -> TypedTerm BinaryAdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAdditiveExpressionWithRight :: TypedTerm BinaryAdditiveExpression -> TypedTerm MultiplicativeExpression -> TypedTerm BinaryAdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpression :: TypedTerm AndExpression -> TypedTerm EqualityExpression -> TypedTerm BinaryAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpressionBinaryAndExpression :: TypedName BinaryAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpressionLeft :: TypedTerm BinaryAndExpression -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpressionRight :: TypedTerm BinaryAndExpression -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpressionWithLeft :: TypedTerm BinaryAndExpression -> TypedTerm AndExpression -> TypedTerm BinaryAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryAndExpressionWithRight :: TypedTerm BinaryAndExpression -> TypedTerm EqualityExpression -> TypedTerm BinaryAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpression :: TypedTerm ConditionalAndExpression -> TypedTerm InclusiveOrExpression -> TypedTerm BinaryConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpressionBinaryConditionalAndExpression :: TypedName BinaryConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpressionLeft :: TypedTerm BinaryConditionalAndExpression -> TypedTerm ConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpressionRight :: TypedTerm BinaryConditionalAndExpression -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpressionWithLeft :: TypedTerm BinaryConditionalAndExpression -> TypedTerm ConditionalAndExpression -> TypedTerm BinaryConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalAndExpressionWithRight :: TypedTerm BinaryConditionalAndExpression -> TypedTerm InclusiveOrExpression -> TypedTerm BinaryConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpression :: TypedTerm ConditionalOrExpression -> TypedTerm ConditionalAndExpression -> TypedTerm BinaryConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpressionBinaryConditionalOrExpression :: TypedName BinaryConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpressionLeft :: TypedTerm BinaryConditionalOrExpression -> TypedTerm ConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpressionRight :: TypedTerm BinaryConditionalOrExpression -> TypedTerm ConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpressionWithLeft :: TypedTerm BinaryConditionalOrExpression -> TypedTerm ConditionalOrExpression -> TypedTerm BinaryConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryConditionalOrExpressionWithRight :: TypedTerm BinaryConditionalOrExpression -> TypedTerm ConditionalAndExpression -> TypedTerm BinaryConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpression :: TypedTerm EqualityExpression -> TypedTerm EqualityOperator -> TypedTerm RelationalExpression -> TypedTerm BinaryEqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionBinaryEqualityExpression :: TypedName BinaryEqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionLeft :: TypedTerm BinaryEqualityExpression -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionOperator :: TypedTerm BinaryEqualityExpression -> TypedTerm EqualityOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionRight :: TypedTerm BinaryEqualityExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionWithLeft :: TypedTerm BinaryEqualityExpression -> TypedTerm EqualityExpression -> TypedTerm BinaryEqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionWithOperator :: TypedTerm BinaryEqualityExpression -> TypedTerm EqualityOperator -> TypedTerm BinaryEqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryEqualityExpressionWithRight :: TypedTerm BinaryEqualityExpression -> TypedTerm RelationalExpression -> TypedTerm BinaryEqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpression :: TypedTerm ExclusiveOrExpression -> TypedTerm AndExpression -> TypedTerm BinaryExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpressionBinaryExclusiveOrExpression :: TypedName BinaryExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpressionLeft :: TypedTerm BinaryExclusiveOrExpression -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpressionRight :: TypedTerm BinaryExclusiveOrExpression -> TypedTerm AndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpressionWithLeft :: TypedTerm BinaryExclusiveOrExpression -> TypedTerm ExclusiveOrExpression -> TypedTerm BinaryExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryExclusiveOrExpressionWithRight :: TypedTerm BinaryExclusiveOrExpression -> TypedTerm AndExpression -> TypedTerm BinaryExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpression :: TypedTerm InclusiveOrExpression -> TypedTerm ExclusiveOrExpression -> TypedTerm BinaryInclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpressionBinaryInclusiveOrExpression :: TypedName BinaryInclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpressionLeft :: TypedTerm BinaryInclusiveOrExpression -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpressionRight :: TypedTerm BinaryInclusiveOrExpression -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpressionWithLeft :: TypedTerm BinaryInclusiveOrExpression -> TypedTerm InclusiveOrExpression -> TypedTerm BinaryInclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryInclusiveOrExpressionWithRight :: TypedTerm BinaryInclusiveOrExpression -> TypedTerm ExclusiveOrExpression -> TypedTerm BinaryInclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpression :: TypedTerm MultiplicativeExpression -> TypedTerm MultiplicativeOperator -> TypedTerm UnaryExpression -> TypedTerm BinaryMultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionBinaryMultiplicativeExpression :: TypedName BinaryMultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionLeft :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionOperator :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm MultiplicativeOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionRight :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionWithLeft :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm MultiplicativeExpression -> TypedTerm BinaryMultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionWithOperator :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm MultiplicativeOperator -> TypedTerm BinaryMultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryMultiplicativeExpressionWithRight :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm UnaryExpression -> TypedTerm BinaryMultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpression :: TypedTerm ConditionalOrExpression -> TypedTerm NullCoalescingExpression -> TypedTerm BinaryNullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpressionBinaryNullCoalescingExpression :: TypedName BinaryNullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpressionLeft :: TypedTerm BinaryNullCoalescingExpression -> TypedTerm ConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpressionRight :: TypedTerm BinaryNullCoalescingExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpressionWithLeft :: TypedTerm BinaryNullCoalescingExpression -> TypedTerm ConditionalOrExpression -> TypedTerm BinaryNullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryNullCoalescingExpressionWithRight :: TypedTerm BinaryNullCoalescingExpression -> TypedTerm NullCoalescingExpression -> TypedTerm BinaryNullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclarator :: TypedTerm Type -> TypedTerm OverloadableBinaryOperator -> TypedTerm FixedParameter -> TypedTerm FixedParameter -> TypedTerm BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorBinaryOperatorDeclarator :: TypedName BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorLeft :: TypedTerm BinaryOperatorDeclarator -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorOperator :: TypedTerm BinaryOperatorDeclarator -> TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorRight :: TypedTerm BinaryOperatorDeclarator -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorType :: TypedTerm BinaryOperatorDeclarator -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorWithLeft :: TypedTerm BinaryOperatorDeclarator -> TypedTerm FixedParameter -> TypedTerm BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorWithOperator :: TypedTerm BinaryOperatorDeclarator -> TypedTerm OverloadableBinaryOperator -> TypedTerm BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorWithRight :: TypedTerm BinaryOperatorDeclarator -> TypedTerm FixedParameter -> TypedTerm BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryOperatorDeclaratorWithType :: TypedTerm BinaryOperatorDeclarator -> TypedTerm Type -> TypedTerm BinaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpression :: TypedTerm RelationalExpression -> TypedTerm RelationalOperator -> TypedTerm ShiftExpression -> TypedTerm BinaryRelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionBinaryRelationalExpression :: TypedName BinaryRelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionLeft :: TypedTerm BinaryRelationalExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionOperator :: TypedTerm BinaryRelationalExpression -> TypedTerm RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionRight :: TypedTerm BinaryRelationalExpression -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionWithLeft :: TypedTerm BinaryRelationalExpression -> TypedTerm RelationalExpression -> TypedTerm BinaryRelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionWithOperator :: TypedTerm BinaryRelationalExpression -> TypedTerm RelationalOperator -> TypedTerm BinaryRelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryRelationalExpressionWithRight :: TypedTerm BinaryRelationalExpression -> TypedTerm ShiftExpression -> TypedTerm BinaryRelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpression :: TypedTerm ShiftExpression -> TypedTerm ShiftOperator -> TypedTerm AdditiveExpression -> TypedTerm BinaryShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionBinaryShiftExpression :: TypedName BinaryShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionLeft :: TypedTerm BinaryShiftExpression -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionOperator :: TypedTerm BinaryShiftExpression -> TypedTerm ShiftOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionRight :: TypedTerm BinaryShiftExpression -> TypedTerm AdditiveExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionWithLeft :: TypedTerm BinaryShiftExpression -> TypedTerm ShiftExpression -> TypedTerm BinaryShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionWithOperator :: TypedTerm BinaryShiftExpression -> TypedTerm ShiftOperator -> TypedTerm BinaryShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: binaryShiftExpressionWithRight :: TypedTerm BinaryShiftExpression -> TypedTerm AdditiveExpression -> TypedTerm BinaryShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: block :: TypedTerm [Statement] -> TypedTerm Block
+ Hydra.Ext.Dsl.Csharp.Syntax: blockBlock :: TypedName Block
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBody :: TypedTerm AccessorDeclarations -> TypedTerm (Maybe VariableInitializer) -> TypedTerm BlockPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBodyAccessors :: TypedTerm BlockPropertyBody -> TypedTerm AccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBodyBlockPropertyBody :: TypedName BlockPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBodyInitializer :: TypedTerm BlockPropertyBody -> TypedTerm (Maybe VariableInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBodyWithAccessors :: TypedTerm BlockPropertyBody -> TypedTerm AccessorDeclarations -> TypedTerm BlockPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: blockPropertyBodyWithInitializer :: TypedTerm BlockPropertyBody -> TypedTerm (Maybe VariableInitializer) -> TypedTerm BlockPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: booleanExpression :: TypedTerm Expression -> TypedTerm BooleanExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: booleanExpressionBooleanExpression :: TypedName BooleanExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpression :: TypedTerm Type -> TypedTerm UnaryExpression -> TypedTerm CastExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpressionCastExpression :: TypedName CastExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpressionExpression :: TypedTerm CastExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpressionType :: TypedTerm CastExpression -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpressionWithExpression :: TypedTerm CastExpression -> TypedTerm UnaryExpression -> TypedTerm CastExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: castExpressionWithType :: TypedTerm CastExpression -> TypedTerm Type -> TypedTerm CastExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: catchClausesCatchClauses :: TypedName CatchClauses
+ Hydra.Ext.Dsl.Csharp.Syntax: catchClausesGeneral :: TypedTerm Block -> TypedTerm CatchClauses
+ Hydra.Ext.Dsl.Csharp.Syntax: catchClausesSpecific :: TypedTerm [SpecificCatchClause] -> TypedTerm CatchClauses
+ Hydra.Ext.Dsl.Csharp.Syntax: classBaseClass :: TypedTerm (Maybe ClassType) -> TypedTerm ClassBase
+ Hydra.Ext.Dsl.Csharp.Syntax: classBaseClassBase :: TypedName ClassBase
+ Hydra.Ext.Dsl.Csharp.Syntax: classBaseInterfaces :: TypedTerm [InterfaceType] -> TypedTerm ClassBase
+ Hydra.Ext.Dsl.Csharp.Syntax: classBody :: TypedTerm [ClassMemberDeclaration] -> TypedTerm ClassBody
+ Hydra.Ext.Dsl.Csharp.Syntax: classBodyClassBody :: TypedName ClassBody
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclaration :: TypedTerm [AttributeSection] -> TypedTerm [ClassModifier] -> TypedTerm Bool -> TypedTerm Identifier -> TypedTerm (Maybe TypeParameterList) -> TypedTerm (Maybe ClassBase) -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm ClassBody -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationAttributes :: TypedTerm ClassDeclaration -> TypedTerm [AttributeSection]
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationBase :: TypedTerm ClassDeclaration -> TypedTerm (Maybe ClassBase)
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationBody :: TypedTerm ClassDeclaration -> TypedTerm ClassBody
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationClassDeclaration :: TypedName ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationConstraints :: TypedTerm ClassDeclaration -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationModifiers :: TypedTerm ClassDeclaration -> TypedTerm [ClassModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationName :: TypedTerm ClassDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationParameters :: TypedTerm ClassDeclaration -> TypedTerm (Maybe TypeParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationPartial :: TypedTerm ClassDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithAttributes :: TypedTerm ClassDeclaration -> TypedTerm [AttributeSection] -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithBase :: TypedTerm ClassDeclaration -> TypedTerm (Maybe ClassBase) -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithBody :: TypedTerm ClassDeclaration -> TypedTerm ClassBody -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithConstraints :: TypedTerm ClassDeclaration -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithModifiers :: TypedTerm ClassDeclaration -> TypedTerm [ClassModifier] -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithName :: TypedTerm ClassDeclaration -> TypedTerm Identifier -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithParameters :: TypedTerm ClassDeclaration -> TypedTerm (Maybe TypeParameterList) -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classDeclarationWithPartial :: TypedTerm ClassDeclaration -> TypedTerm Bool -> TypedTerm ClassDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationClassMemberDeclaration :: TypedName ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationConstant :: TypedTerm ConstantDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationConstructor :: TypedTerm ConstructorDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationEvent :: TypedTerm EventDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationField :: TypedTerm FieldDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationFinalizer :: TypedTerm FinalizerDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationIndexer :: TypedTerm IndexerDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationMethod :: TypedTerm MethodDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationOperator :: TypedTerm OperatorDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationProperty :: TypedTerm PropertyDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationStaticConstructor :: TypedTerm StaticConstructorDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classMemberDeclarationType :: TypedTerm TypeDeclaration -> TypedTerm ClassMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierAbstract :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierClassModifier :: TypedName ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierInternal :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierNew :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierPrivate :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierProtected :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierPublic :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierSealed :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierStatic :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classModifierUnsafe :: TypedTerm ClassModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: classTypeClassType :: TypedName ClassType
+ Hydra.Ext.Dsl.Csharp.Syntax: classTypeObject :: TypedTerm ClassType
+ Hydra.Ext.Dsl.Csharp.Syntax: classTypeString :: TypedTerm ClassType
+ Hydra.Ext.Dsl.Csharp.Syntax: classTypeTypeName :: TypedTerm TypeName -> TypedTerm ClassType
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnit :: TypedTerm [ExternAliasDirective] -> TypedTerm [UsingDirective] -> TypedTerm [GlobalAttributeSection] -> TypedTerm [NamespaceMemberDeclaration] -> TypedTerm CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitAttributes :: TypedTerm CompilationUnit -> TypedTerm [GlobalAttributeSection]
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitCompilationUnit :: TypedName CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitExterns :: TypedTerm CompilationUnit -> TypedTerm [ExternAliasDirective]
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitMembers :: TypedTerm CompilationUnit -> TypedTerm [NamespaceMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitUsings :: TypedTerm CompilationUnit -> TypedTerm [UsingDirective]
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitWithAttributes :: TypedTerm CompilationUnit -> TypedTerm [GlobalAttributeSection] -> TypedTerm CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitWithExterns :: TypedTerm CompilationUnit -> TypedTerm [ExternAliasDirective] -> TypedTerm CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitWithMembers :: TypedTerm CompilationUnit -> TypedTerm [NamespaceMemberDeclaration] -> TypedTerm CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: compilationUnitWithUsings :: TypedTerm CompilationUnit -> TypedTerm [UsingDirective] -> TypedTerm CompilationUnit
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalAndExpressionBinary :: TypedTerm BinaryConditionalAndExpression -> TypedTerm ConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalAndExpressionConditionalAndExpression :: TypedName ConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalAndExpressionSimple :: TypedTerm InclusiveOrExpression -> TypedTerm ConditionalAndExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalExpressionConditionalExpression :: TypedName ConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalExpressionRefConditional :: TypedTerm RefConditionalExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalExpressionSimple :: TypedTerm NullCoalescingExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalExpressionSimpleConditional :: TypedTerm SimpleConditionalExpression -> TypedTerm ConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalOrExpressionBinary :: TypedTerm BinaryConditionalOrExpression -> TypedTerm ConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalOrExpressionConditionalOrExpression :: TypedName ConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: conditionalOrExpressionSimple :: TypedTerm ConditionalAndExpression -> TypedTerm ConditionalOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [ConstantModifier] -> TypedTerm Type -> TypedTerm [ConstantDeclarator] -> TypedTerm ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationAttributes :: TypedTerm ConstantDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationConstantDeclaration :: TypedName ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationDeclarators :: TypedTerm ConstantDeclaration -> TypedTerm [ConstantDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationModifiers :: TypedTerm ConstantDeclaration -> TypedTerm [ConstantModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationType :: TypedTerm ConstantDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationWithAttributes :: TypedTerm ConstantDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationWithDeclarators :: TypedTerm ConstantDeclaration -> TypedTerm [ConstantDeclarator] -> TypedTerm ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationWithModifiers :: TypedTerm ConstantDeclaration -> TypedTerm [ConstantModifier] -> TypedTerm ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarationWithType :: TypedTerm ConstantDeclaration -> TypedTerm Type -> TypedTerm ConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclarator :: TypedTerm Identifier -> TypedTerm ConstantExpression -> TypedTerm ConstantDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaratorConstantDeclarator :: TypedName ConstantDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaratorExpression :: TypedTerm ConstantDeclarator -> TypedTerm ConstantExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaratorIdentifier :: TypedTerm ConstantDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaratorWithExpression :: TypedTerm ConstantDeclarator -> TypedTerm ConstantExpression -> TypedTerm ConstantDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constantDeclaratorWithIdentifier :: TypedTerm ConstantDeclarator -> TypedTerm Identifier -> TypedTerm ConstantDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constantExpression :: TypedTerm Expression -> TypedTerm ConstantExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: constantExpressionConstantExpression :: TypedName ConstantExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierConstantModifier :: TypedName ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierInternal :: TypedTerm ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierNew :: TypedTerm ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierPrivate :: TypedTerm ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierProtected :: TypedTerm ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constantModifierPublic :: TypedTerm ConstantModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorBodyBlock :: TypedTerm Block -> TypedTerm ConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorBodyConstructorBody :: TypedName ConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorBodyEmpty :: TypedTerm ConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorBodyExpression :: TypedTerm Expression -> TypedTerm ConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [ConstructorModifier] -> TypedTerm ConstructorDeclarator -> TypedTerm ConstructorBody -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationAttributes :: TypedTerm ConstructorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationBody :: TypedTerm ConstructorDeclaration -> TypedTerm ConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationConstructorDeclaration :: TypedName ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationDeclarator :: TypedTerm ConstructorDeclaration -> TypedTerm ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationModifiers :: TypedTerm ConstructorDeclaration -> TypedTerm [ConstructorModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationWithAttributes :: TypedTerm ConstructorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationWithBody :: TypedTerm ConstructorDeclaration -> TypedTerm ConstructorBody -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationWithDeclarator :: TypedTerm ConstructorDeclaration -> TypedTerm ConstructorDeclarator -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarationWithModifiers :: TypedTerm ConstructorDeclaration -> TypedTerm [ConstructorModifier] -> TypedTerm ConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclarator :: TypedTerm Identifier -> TypedTerm (Maybe FormalParameterList) -> TypedTerm (Maybe ConstructorInitializer) -> TypedTerm ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorConstructorDeclarator :: TypedName ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorInitializer :: TypedTerm ConstructorDeclarator -> TypedTerm (Maybe ConstructorInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorName :: TypedTerm ConstructorDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorParameters :: TypedTerm ConstructorDeclarator -> TypedTerm (Maybe FormalParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorWithInitializer :: TypedTerm ConstructorDeclarator -> TypedTerm (Maybe ConstructorInitializer) -> TypedTerm ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorWithName :: TypedTerm ConstructorDeclarator -> TypedTerm Identifier -> TypedTerm ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorDeclaratorWithParameters :: TypedTerm ConstructorDeclarator -> TypedTerm (Maybe FormalParameterList) -> TypedTerm ConstructorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorInitializerBase :: TypedTerm (Maybe ArgumentList) -> TypedTerm ConstructorInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorInitializerConstructorInitializer :: TypedName ConstructorInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorInitializerThis :: TypedTerm (Maybe ArgumentList) -> TypedTerm ConstructorInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierConstructorModifier :: TypedName ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierExtern :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierInternal :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierPrivate :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierProtected :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierPublic :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: constructorModifierUnsafe :: TypedTerm ConstructorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionKindConversionKind :: TypedName ConversionKind
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionKindExplicit :: TypedTerm ConversionKind
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionKindImplicit :: TypedTerm ConversionKind
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclarator :: TypedTerm ConversionKind -> TypedTerm Type -> TypedTerm FixedParameter -> TypedTerm ConversionOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorConversionOperatorDeclarator :: TypedName ConversionOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorKind :: TypedTerm ConversionOperatorDeclarator -> TypedTerm ConversionKind
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorParameter :: TypedTerm ConversionOperatorDeclarator -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorType :: TypedTerm ConversionOperatorDeclarator -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorWithKind :: TypedTerm ConversionOperatorDeclarator -> TypedTerm ConversionKind -> TypedTerm ConversionOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorWithParameter :: TypedTerm ConversionOperatorDeclarator -> TypedTerm FixedParameter -> TypedTerm ConversionOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: conversionOperatorDeclaratorWithType :: TypedTerm ConversionOperatorDeclarator -> TypedTerm Type -> TypedTerm ConversionOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpression :: TypedTerm LocalVariableType -> TypedTerm Identifier -> TypedTerm DeclarationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpressionDeclarationExpression :: TypedName DeclarationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpressionIdentifier :: TypedTerm DeclarationExpression -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpressionType :: TypedTerm DeclarationExpression -> TypedTerm LocalVariableType
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpressionWithIdentifier :: TypedTerm DeclarationExpression -> TypedTerm Identifier -> TypedTerm DeclarationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationExpressionWithType :: TypedTerm DeclarationExpression -> TypedTerm LocalVariableType -> TypedTerm DeclarationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPattern :: TypedTerm Type -> TypedTerm Designation -> TypedTerm DeclarationPattern
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPatternDeclarationPattern :: TypedName DeclarationPattern
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPatternDesignation :: TypedTerm DeclarationPattern -> TypedTerm Designation
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPatternType :: TypedTerm DeclarationPattern -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPatternWithDesignation :: TypedTerm DeclarationPattern -> TypedTerm Designation -> TypedTerm DeclarationPattern
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationPatternWithType :: TypedTerm DeclarationPattern -> TypedTerm Type -> TypedTerm DeclarationPattern
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationStatementConstant :: TypedTerm LocalConstantDeclaration -> TypedTerm DeclarationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationStatementDeclarationStatement :: TypedName DeclarationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationStatementFunction :: TypedTerm LocalFunctionDeclaration -> TypedTerm DeclarationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: declarationStatementVariable :: TypedTerm LocalVariableDeclaration -> TypedTerm DeclarationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: deconstructionElementDeconstructionElement :: TypedName DeconstructionElement
+ Hydra.Ext.Dsl.Csharp.Syntax: deconstructionElementIdentifier :: TypedTerm Identifier -> TypedTerm DeconstructionElement
+ Hydra.Ext.Dsl.Csharp.Syntax: deconstructionElementTuple :: TypedTerm DeconstructionTuple -> TypedTerm DeconstructionElement
+ Hydra.Ext.Dsl.Csharp.Syntax: deconstructionTuple :: TypedTerm [DeconstructionElement] -> TypedTerm DeconstructionTuple
+ Hydra.Ext.Dsl.Csharp.Syntax: deconstructionTupleDeconstructionTuple :: TypedName DeconstructionTuple
+ Hydra.Ext.Dsl.Csharp.Syntax: defaultValueExpressionDefaultLiteral :: TypedTerm DefaultValueExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: defaultValueExpressionDefaultValueExpression :: TypedName DefaultValueExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: defaultValueExpressionExplicitlyTyped :: TypedTerm Type -> TypedTerm DefaultValueExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpression :: TypedTerm DelegateType -> TypedTerm Expression -> TypedTerm DelegateCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpressionDelegateCreationExpression :: TypedName DelegateCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpressionExpression :: TypedTerm DelegateCreationExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpressionType :: TypedTerm DelegateCreationExpression -> TypedTerm DelegateType
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpressionWithExpression :: TypedTerm DelegateCreationExpression -> TypedTerm Expression -> TypedTerm DelegateCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateCreationExpressionWithType :: TypedTerm DelegateCreationExpression -> TypedTerm DelegateType -> TypedTerm DelegateCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [DelegateModifier] -> TypedTerm ReturnType -> TypedTerm (Maybe RefKind) -> TypedTerm (Maybe Type) -> TypedTerm DelegateHeader -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationAttributes :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationDelegateDeclaration :: TypedName DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationHeader :: TypedTerm DelegateDeclaration -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationModifiers :: TypedTerm DelegateDeclaration -> TypedTerm [DelegateModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationRefKind :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe RefKind)
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationRefReturnType :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe Type)
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationReturnType :: TypedTerm DelegateDeclaration -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithAttributes :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithHeader :: TypedTerm DelegateDeclaration -> TypedTerm DelegateHeader -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithModifiers :: TypedTerm DelegateDeclaration -> TypedTerm [DelegateModifier] -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithRefKind :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe RefKind) -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithRefReturnType :: TypedTerm DelegateDeclaration -> TypedTerm (Maybe Type) -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateDeclarationWithReturnType :: TypedTerm DelegateDeclaration -> TypedTerm ReturnType -> TypedTerm DelegateDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeader :: TypedTerm Identifier -> TypedTerm (Maybe VariantTypeParameters) -> TypedTerm (Maybe FormalParameterList) -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderConstraints :: TypedTerm DelegateHeader -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderDelegateHeader :: TypedName DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderName :: TypedTerm DelegateHeader -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderParameters :: TypedTerm DelegateHeader -> TypedTerm (Maybe FormalParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderTypeParameters :: TypedTerm DelegateHeader -> TypedTerm (Maybe VariantTypeParameters)
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderWithConstraints :: TypedTerm DelegateHeader -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderWithName :: TypedTerm DelegateHeader -> TypedTerm Identifier -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderWithParameters :: TypedTerm DelegateHeader -> TypedTerm (Maybe FormalParameterList) -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateHeaderWithTypeParameters :: TypedTerm DelegateHeader -> TypedTerm (Maybe VariantTypeParameters) -> TypedTerm DelegateHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierDelegateModifier :: TypedName DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierInternal :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierNew :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierPrivate :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierProtected :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierPublic :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateModifierUnsafe :: TypedTerm DelegateModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateType :: TypedTerm TypeName -> TypedTerm DelegateType
+ Hydra.Ext.Dsl.Csharp.Syntax: delegateTypeDelegateType :: TypedName DelegateType
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessDependentAccess :: TypedName DependentAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessElementAccess :: TypedTerm ArgumentList -> TypedTerm DependentAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMember :: TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm DependentAccessForMember
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMemberDependentAccessForMember :: TypedName DependentAccessForMember
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMemberIdentifier :: TypedTerm DependentAccessForMember -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMemberTypeArguments :: TypedTerm DependentAccessForMember -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMemberWithIdentifier :: TypedTerm DependentAccessForMember -> TypedTerm Identifier -> TypedTerm DependentAccessForMember
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessForMemberWithTypeArguments :: TypedTerm DependentAccessForMember -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm DependentAccessForMember
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessInvocation :: TypedTerm (Maybe ArgumentList) -> TypedTerm DependentAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: dependentAccessMemberAccess :: TypedTerm DependentAccessForMember -> TypedTerm DependentAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: designation :: TypedTerm Identifier -> TypedTerm Designation
+ Hydra.Ext.Dsl.Csharp.Syntax: designationDesignation :: TypedName Designation
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatement :: TypedTerm EmbeddedStatement -> TypedTerm BooleanExpression -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatementBody :: TypedTerm DoStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatementDoStatement :: TypedName DoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatementWhile :: TypedTerm DoStatement -> TypedTerm BooleanExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatementWithBody :: TypedTerm DoStatement -> TypedTerm EmbeddedStatement -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: doStatementWithWhile :: TypedTerm DoStatement -> TypedTerm BooleanExpression -> TypedTerm DoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccess :: TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm ArgumentList -> TypedTerm ElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccessArguments :: TypedTerm ElementAccess -> TypedTerm ArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccessElementAccess :: TypedName ElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccessExpression :: TypedTerm ElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccessWithArguments :: TypedTerm ElementAccess -> TypedTerm ArgumentList -> TypedTerm ElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: elementAccessWithExpression :: TypedTerm ElementAccess -> TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm ElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: elementInitializerElementInitializer :: TypedName ElementInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: elementInitializerList :: TypedTerm ExpressionList -> TypedTerm ElementInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: elementInitializerSingle :: TypedTerm NonAssignmentExpression -> TypedTerm ElementInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementBlock :: TypedTerm Block -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementChecked :: TypedTerm Block -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementEmbeddedStatement :: TypedName EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementEmpty :: TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementExpression :: TypedTerm StatementExpression -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementFixed :: TypedTerm FixedStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementIteration :: TypedTerm IterationStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementJump :: TypedTerm JumpStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementLock :: TypedTerm LockStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementSelection :: TypedTerm SelectionStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementTry :: TypedTerm TryStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementUnchecked :: TypedTerm Block -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementUnsafe :: TypedTerm Block -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementUsing :: TypedTerm UsingStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: embeddedStatementYield :: TypedTerm YieldStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: enumBaseEnumBase :: TypedName EnumBase
+ Hydra.Ext.Dsl.Csharp.Syntax: enumBaseName :: TypedTerm TypeName -> TypedTerm EnumBase
+ Hydra.Ext.Dsl.Csharp.Syntax: enumBaseType :: TypedTerm IntegralType -> TypedTerm EnumBase
+ Hydra.Ext.Dsl.Csharp.Syntax: enumBody :: TypedTerm [EnumMemberDeclaration] -> TypedTerm EnumBody
+ Hydra.Ext.Dsl.Csharp.Syntax: enumBodyEnumBody :: TypedName EnumBody
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [EnumModifier] -> TypedTerm Identifier -> TypedTerm (Maybe EnumBase) -> TypedTerm (Maybe EnumBody) -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationAttributes :: TypedTerm EnumDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationBase :: TypedTerm EnumDeclaration -> TypedTerm (Maybe EnumBase)
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationBody :: TypedTerm EnumDeclaration -> TypedTerm (Maybe EnumBody)
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationEnumDeclaration :: TypedName EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationModifiers :: TypedTerm EnumDeclaration -> TypedTerm [EnumModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationName :: TypedTerm EnumDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationWithAttributes :: TypedTerm EnumDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationWithBase :: TypedTerm EnumDeclaration -> TypedTerm (Maybe EnumBase) -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationWithBody :: TypedTerm EnumDeclaration -> TypedTerm (Maybe EnumBody) -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationWithModifiers :: TypedTerm EnumDeclaration -> TypedTerm [EnumModifier] -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumDeclarationWithName :: TypedTerm EnumDeclaration -> TypedTerm Identifier -> TypedTerm EnumDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Identifier -> TypedTerm (Maybe ConstantExpression) -> TypedTerm EnumMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationAttributes :: TypedTerm EnumMemberDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationEnumMemberDeclaration :: TypedName EnumMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationName :: TypedTerm EnumMemberDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationValue :: TypedTerm EnumMemberDeclaration -> TypedTerm (Maybe ConstantExpression)
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationWithAttributes :: TypedTerm EnumMemberDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm EnumMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationWithName :: TypedTerm EnumMemberDeclaration -> TypedTerm Identifier -> TypedTerm EnumMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumMemberDeclarationWithValue :: TypedTerm EnumMemberDeclaration -> TypedTerm (Maybe ConstantExpression) -> TypedTerm EnumMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierEnumModifier :: TypedName EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierInternal :: TypedTerm EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierNew :: TypedTerm EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierPrivate :: TypedTerm EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierProtected :: TypedTerm EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumModifierPublic :: TypedTerm EnumModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: enumType :: TypedTerm TypeName -> TypedTerm EnumType
+ Hydra.Ext.Dsl.Csharp.Syntax: enumTypeEnumType :: TypedName EnumType
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityExpressionBinary :: TypedTerm BinaryEqualityExpression -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityExpressionEqualityExpression :: TypedName EqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityExpressionSimple :: TypedTerm RelationalExpression -> TypedTerm EqualityExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityOperatorEqual :: TypedTerm EqualityOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityOperatorEqualityOperator :: TypedName EqualityOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: equalityOperatorNotEqual :: TypedTerm EqualityOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: eventAccessorDeclarationsAdd :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm EventAccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: eventAccessorDeclarationsEventAccessorDeclarations :: TypedName EventAccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: eventAccessorDeclarationsRemove :: TypedTerm AddRemoveAccessorDeclaration -> TypedTerm EventAccessorDeclarations
+ Hydra.Ext.Dsl.Csharp.Syntax: eventDeclarationAccessors :: TypedTerm AccessorsEventDeclaration -> TypedTerm EventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: eventDeclarationEventDeclaration :: TypedName EventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: eventDeclarationStandard :: TypedTerm StandardEventDeclaration -> TypedTerm EventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierAbstract :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierEventModifier :: TypedName EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierExtern :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierInternal :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierNew :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierOverride :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierPrivate :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierProtected :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierPublic :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierSealed :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierStatic :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierUnsafe :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: eventModifierVirtual :: TypedTerm EventModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifier :: TypedTerm Type -> TypedTerm (Maybe Identifier) -> TypedTerm ExceptionSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifierExceptionSpecifier :: TypedName ExceptionSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifierIdentifier :: TypedTerm ExceptionSpecifier -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifierType :: TypedTerm ExceptionSpecifier -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifierWithIdentifier :: TypedTerm ExceptionSpecifier -> TypedTerm (Maybe Identifier) -> TypedTerm ExceptionSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: exceptionSpecifierWithType :: TypedTerm ExceptionSpecifier -> TypedTerm Type -> TypedTerm ExceptionSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: exclusiveOrExpressionBinary :: TypedTerm BinaryExclusiveOrExpression -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: exclusiveOrExpressionExclusiveOrExpression :: TypedName ExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: exclusiveOrExpressionSimple :: TypedTerm AndExpression -> TypedTerm ExclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameter :: TypedTerm (Maybe AnonymousFunctionParameterModifier) -> TypedTerm Type -> TypedTerm Identifier -> TypedTerm ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterExplicitAnonymousFunctionParameter :: TypedName ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterIdentifier :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterModifier :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm (Maybe AnonymousFunctionParameterModifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterType :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterWithIdentifier :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm Identifier -> TypedTerm ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterWithModifier :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm (Maybe AnonymousFunctionParameterModifier) -> TypedTerm ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitAnonymousFunctionParameterWithType :: TypedTerm ExplicitAnonymousFunctionParameter -> TypedTerm Type -> TypedTerm ExplicitAnonymousFunctionParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaration :: TypedTerm Type -> TypedTerm [ExplicitlyTypedLocalVariableDeclarator] -> TypedTerm ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarationDeclarators :: TypedTerm ExplicitlyTypedLocalVariableDeclaration -> TypedTerm [ExplicitlyTypedLocalVariableDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarationExplicitlyTypedLocalVariableDeclaration :: TypedName ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarationType :: TypedTerm ExplicitlyTypedLocalVariableDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarationWithDeclarators :: TypedTerm ExplicitlyTypedLocalVariableDeclaration -> TypedTerm [ExplicitlyTypedLocalVariableDeclarator] -> TypedTerm ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarationWithType :: TypedTerm ExplicitlyTypedLocalVariableDeclaration -> TypedTerm Type -> TypedTerm ExplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclarator :: TypedTerm Identifier -> TypedTerm (Maybe LocalVariableInitializer) -> TypedTerm ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaratorExplicitlyTypedLocalVariableDeclarator :: TypedName ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaratorIdentifier :: TypedTerm ExplicitlyTypedLocalVariableDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaratorInitializer :: TypedTerm ExplicitlyTypedLocalVariableDeclarator -> TypedTerm (Maybe LocalVariableInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaratorWithIdentifier :: TypedTerm ExplicitlyTypedLocalVariableDeclarator -> TypedTerm Identifier -> TypedTerm ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: explicitlyTypedLocalVariableDeclaratorWithInitializer :: TypedTerm ExplicitlyTypedLocalVariableDeclarator -> TypedTerm (Maybe LocalVariableInitializer) -> TypedTerm ExplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: expressionAssignment :: TypedTerm Assignment -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: expressionExpression :: TypedName Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: expressionList :: TypedTerm [Expression] -> TypedTerm ExpressionList
+ Hydra.Ext.Dsl.Csharp.Syntax: expressionListExpressionList :: TypedName ExpressionList
+ Hydra.Ext.Dsl.Csharp.Syntax: expressionNonAssignment :: TypedTerm NonAssignmentExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: externAliasDirective :: TypedTerm Identifier -> TypedTerm ExternAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: externAliasDirectiveExternAliasDirective :: TypedName ExternAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [FieldModifier] -> TypedTerm Type -> TypedTerm [VariableDeclarator] -> TypedTerm FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationAttributes :: TypedTerm FieldDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationDeclarators :: TypedTerm FieldDeclaration -> TypedTerm [VariableDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationFieldDeclaration :: TypedName FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationModifiers :: TypedTerm FieldDeclaration -> TypedTerm [FieldModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationType :: TypedTerm FieldDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationWithAttributes :: TypedTerm FieldDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationWithDeclarators :: TypedTerm FieldDeclaration -> TypedTerm [VariableDeclarator] -> TypedTerm FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationWithModifiers :: TypedTerm FieldDeclaration -> TypedTerm [FieldModifier] -> TypedTerm FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldDeclarationWithType :: TypedTerm FieldDeclaration -> TypedTerm Type -> TypedTerm FieldDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierFieldModifier :: TypedName FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierInternal :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierNew :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierPrivate :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierProtected :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierPublic :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierReadonly :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierStatic :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierUnsafe :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fieldModifierVolatile :: TypedTerm FieldModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerBodyBlock :: TypedTerm Block -> TypedTerm FinalizerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerBodyEmpty :: TypedTerm FinalizerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerBodyExpression :: TypedTerm Expression -> TypedTerm FinalizerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerBodyFinalizerBody :: TypedName FinalizerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Identifier -> TypedTerm FinalizerBody -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationAttributes :: TypedTerm FinalizerDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationBody :: TypedTerm FinalizerDeclaration -> TypedTerm FinalizerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationExtern :: TypedTerm FinalizerDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationFinalizerDeclaration :: TypedName FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationName :: TypedTerm FinalizerDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationUnsafe :: TypedTerm FinalizerDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationWithAttributes :: TypedTerm FinalizerDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationWithBody :: TypedTerm FinalizerDeclaration -> TypedTerm FinalizerBody -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationWithExtern :: TypedTerm FinalizerDeclaration -> TypedTerm Bool -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationWithName :: TypedTerm FinalizerDeclaration -> TypedTerm Identifier -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: finalizerDeclarationWithUnsafe :: TypedTerm FinalizerDeclaration -> TypedTerm Bool -> TypedTerm FinalizerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameter :: TypedTerm (Maybe Attributes) -> TypedTerm (Maybe ParameterModifier) -> TypedTerm Type -> TypedTerm Identifier -> TypedTerm (Maybe Expression) -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterAttributes :: TypedTerm FixedParameter -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterDefaultArgument :: TypedTerm FixedParameter -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterFixedParameter :: TypedName FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterIdentifier :: TypedTerm FixedParameter -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterModifier :: TypedTerm FixedParameter -> TypedTerm (Maybe ParameterModifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterType :: TypedTerm FixedParameter -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterWithAttributes :: TypedTerm FixedParameter -> TypedTerm (Maybe Attributes) -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterWithDefaultArgument :: TypedTerm FixedParameter -> TypedTerm (Maybe Expression) -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterWithIdentifier :: TypedTerm FixedParameter -> TypedTerm Identifier -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterWithModifier :: TypedTerm FixedParameter -> TypedTerm (Maybe ParameterModifier) -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedParameterWithType :: TypedTerm FixedParameter -> TypedTerm Type -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedPointerDeclaratorExpression :: TypedTerm Expression -> TypedTerm FixedPointerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedPointerDeclaratorFixedPointerDeclarator :: TypedName FixedPointerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedPointerDeclaratorReference :: TypedTerm VariableReference -> TypedTerm FixedPointerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [FixedSizeBufferModifier] -> TypedTerm Type -> TypedTerm [FixedSizeBufferDeclarator] -> TypedTerm FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationAttributes :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationDeclarators :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm [FixedSizeBufferDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationElementType :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationFixedSizeBufferDeclaration :: TypedName FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationModifiers :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm [FixedSizeBufferModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationWithAttributes :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationWithDeclarators :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm [FixedSizeBufferDeclarator] -> TypedTerm FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationWithElementType :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm Type -> TypedTerm FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarationWithModifiers :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm [FixedSizeBufferModifier] -> TypedTerm FixedSizeBufferDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclarator :: TypedTerm Identifier -> TypedTerm ConstantExpression -> TypedTerm FixedSizeBufferDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaratorFixedSizeBufferDeclarator :: TypedName FixedSizeBufferDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaratorName :: TypedTerm FixedSizeBufferDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaratorSize :: TypedTerm FixedSizeBufferDeclarator -> TypedTerm ConstantExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaratorWithName :: TypedTerm FixedSizeBufferDeclarator -> TypedTerm Identifier -> TypedTerm FixedSizeBufferDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferDeclaratorWithSize :: TypedTerm FixedSizeBufferDeclarator -> TypedTerm ConstantExpression -> TypedTerm FixedSizeBufferDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierFixedSizeBufferModifier :: TypedName FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierInternal :: TypedTerm FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierNew :: TypedTerm FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierPrivate :: TypedTerm FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierPublic :: TypedTerm FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedSizeBufferModifierUnsafe :: TypedTerm FixedSizeBufferModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatement :: TypedTerm PointerType -> TypedTerm [FixedPointerDeclarator] -> TypedTerm EmbeddedStatement -> TypedTerm FixedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementDeclarators :: TypedTerm FixedStatement -> TypedTerm [FixedPointerDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementFixedStatement :: TypedName FixedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementPointerType :: TypedTerm FixedStatement -> TypedTerm PointerType
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementStatement :: TypedTerm FixedStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementWithDeclarators :: TypedTerm FixedStatement -> TypedTerm [FixedPointerDeclarator] -> TypedTerm FixedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementWithPointerType :: TypedTerm FixedStatement -> TypedTerm PointerType -> TypedTerm FixedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: fixedStatementWithStatement :: TypedTerm FixedStatement -> TypedTerm EmbeddedStatement -> TypedTerm FixedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: floatingPointTypeDouble :: TypedTerm FloatingPointType
+ Hydra.Ext.Dsl.Csharp.Syntax: floatingPointTypeFloat :: TypedTerm FloatingPointType
+ Hydra.Ext.Dsl.Csharp.Syntax: floatingPointTypeFloatingPointType :: TypedName FloatingPointType
+ Hydra.Ext.Dsl.Csharp.Syntax: forInitializerForInitializer :: TypedName ForInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: forInitializerStatements :: TypedTerm StatementExpressionList -> TypedTerm ForInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: forInitializerVariable :: TypedTerm LocalVariableDeclaration -> TypedTerm ForInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatement :: TypedTerm (Maybe ForInitializer) -> TypedTerm (Maybe BooleanExpression) -> TypedTerm (Maybe StatementExpressionList) -> TypedTerm EmbeddedStatement -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementCondition :: TypedTerm ForStatement -> TypedTerm (Maybe BooleanExpression)
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementForStatement :: TypedName ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementInitializer :: TypedTerm ForStatement -> TypedTerm (Maybe ForInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementIterator :: TypedTerm ForStatement -> TypedTerm (Maybe StatementExpressionList)
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm EmbeddedStatement -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementWithCondition :: TypedTerm ForStatement -> TypedTerm (Maybe BooleanExpression) -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementWithInitializer :: TypedTerm ForStatement -> TypedTerm (Maybe ForInitializer) -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: forStatementWithIterator :: TypedTerm ForStatement -> TypedTerm (Maybe StatementExpressionList) -> TypedTerm ForStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatement :: TypedTerm (Maybe RefKind) -> TypedTerm LocalVariableType -> TypedTerm Identifier -> TypedTerm Expression -> TypedTerm EmbeddedStatement -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementBody :: TypedTerm ForeachStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementExpression :: TypedTerm ForeachStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementForeachStatement :: TypedName ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementIdentifier :: TypedTerm ForeachStatement -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementKind :: TypedTerm ForeachStatement -> TypedTerm (Maybe RefKind)
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementType :: TypedTerm ForeachStatement -> TypedTerm LocalVariableType
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementWithBody :: TypedTerm ForeachStatement -> TypedTerm EmbeddedStatement -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementWithExpression :: TypedTerm ForeachStatement -> TypedTerm Expression -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementWithIdentifier :: TypedTerm ForeachStatement -> TypedTerm Identifier -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementWithKind :: TypedTerm ForeachStatement -> TypedTerm (Maybe RefKind) -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: foreachStatementWithType :: TypedTerm ForeachStatement -> TypedTerm LocalVariableType -> TypedTerm ForeachStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterList :: TypedTerm [FixedParameter] -> TypedTerm (Maybe ParameterArray) -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterListArray :: TypedTerm FormalParameterList -> TypedTerm (Maybe ParameterArray)
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterListFixed :: TypedTerm FormalParameterList -> TypedTerm [FixedParameter]
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterListFormalParameterList :: TypedName FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterListWithArray :: TypedTerm FormalParameterList -> TypedTerm (Maybe ParameterArray) -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: formalParameterListWithFixed :: TypedTerm FormalParameterList -> TypedTerm [FixedParameter] -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClause :: TypedTerm (Maybe Type) -> TypedTerm Identifier -> TypedTerm Expression -> TypedTerm FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseFromClause :: TypedName FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseIdentifier :: TypedTerm FromClause -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseIn :: TypedTerm FromClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseType :: TypedTerm FromClause -> TypedTerm (Maybe Type)
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseWithIdentifier :: TypedTerm FromClause -> TypedTerm Identifier -> TypedTerm FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseWithIn :: TypedTerm FromClause -> TypedTerm Expression -> TypedTerm FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: fromClauseWithType :: TypedTerm FromClause -> TypedTerm (Maybe Type) -> TypedTerm FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSection :: TypedTerm Identifier -> TypedTerm AttributeList -> TypedTerm GlobalAttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSectionAttributes :: TypedTerm GlobalAttributeSection -> TypedTerm AttributeList
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSectionGlobalAttributeSection :: TypedName GlobalAttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSectionTarget :: TypedTerm GlobalAttributeSection -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSectionWithAttributes :: TypedTerm GlobalAttributeSection -> TypedTerm AttributeList -> TypedTerm GlobalAttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: globalAttributeSectionWithTarget :: TypedTerm GlobalAttributeSection -> TypedTerm Identifier -> TypedTerm GlobalAttributeSection
+ Hydra.Ext.Dsl.Csharp.Syntax: gotoStatementCase :: TypedTerm ConstantExpression -> TypedTerm GotoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: gotoStatementDefault :: TypedTerm GotoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: gotoStatementGotoStatement :: TypedName GotoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: gotoStatementIdentifier :: TypedTerm Identifier -> TypedTerm GotoStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClause :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm GroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClauseBy :: TypedTerm GroupClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClauseGroupClause :: TypedName GroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClauseGrouped :: TypedTerm GroupClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClauseWithBy :: TypedTerm GroupClause -> TypedTerm Expression -> TypedTerm GroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: groupClauseWithGrouped :: TypedTerm GroupClause -> TypedTerm Expression -> TypedTerm GroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: identifier :: TypedTerm String -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierIdentifier :: TypedName Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeName :: TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm IdentifierNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeNameArguments :: TypedTerm IdentifierNamespaceOrTypeName -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeNameIdentifier :: TypedTerm IdentifierNamespaceOrTypeName -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeNameIdentifierNamespaceOrTypeName :: TypedName IdentifierNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeNameWithArguments :: TypedTerm IdentifierNamespaceOrTypeName -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm IdentifierNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: identifierNamespaceOrTypeNameWithIdentifier :: TypedTerm IdentifierNamespaceOrTypeName -> TypedTerm Identifier -> TypedTerm IdentifierNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatement :: TypedTerm BooleanExpression -> TypedTerm EmbeddedStatement -> TypedTerm EmbeddedStatement -> TypedTerm IfStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementCondition :: TypedTerm IfStatement -> TypedTerm BooleanExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementElseBranch :: TypedTerm IfStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementIfBranch :: TypedTerm IfStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementIfStatement :: TypedName IfStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementWithCondition :: TypedTerm IfStatement -> TypedTerm BooleanExpression -> TypedTerm IfStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementWithElseBranch :: TypedTerm IfStatement -> TypedTerm EmbeddedStatement -> TypedTerm IfStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: ifStatementWithIfBranch :: TypedTerm IfStatement -> TypedTerm EmbeddedStatement -> TypedTerm IfStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclarationImplicitlyTypedLocalVariableDeclaration :: TypedName ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclarationRefVar :: TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration -> TypedTerm ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclarationVar :: TypedTerm ImplicitlyTypedLocalVariableDeclarator -> TypedTerm ImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclarator :: TypedTerm Identifier -> TypedTerm Expression -> TypedTerm ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclaratorExpression :: TypedTerm ImplicitlyTypedLocalVariableDeclarator -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclaratorIdentifier :: TypedTerm ImplicitlyTypedLocalVariableDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclaratorImplicitlyTypedLocalVariableDeclarator :: TypedName ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclaratorWithExpression :: TypedTerm ImplicitlyTypedLocalVariableDeclarator -> TypedTerm Expression -> TypedTerm ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: implicitlyTypedLocalVariableDeclaratorWithIdentifier :: TypedTerm ImplicitlyTypedLocalVariableDeclarator -> TypedTerm Identifier -> TypedTerm ImplicitlyTypedLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: inclusiveOrExpressionBinary :: TypedTerm BinaryInclusiveOrExpression -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: inclusiveOrExpressionInclusiveOrExpression :: TypedName InclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: inclusiveOrExpressionSimple :: TypedTerm ExclusiveOrExpression -> TypedTerm InclusiveOrExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerBodyBlock :: TypedTerm AccessorDeclarations -> TypedTerm IndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerBodyExpression :: TypedTerm Expression -> TypedTerm IndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerBodyIndexerBody :: TypedName IndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclarationIndexerDeclaration :: TypedName IndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclarationRef :: TypedTerm RefIndexerDeclaration -> TypedTerm IndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclarationStandard :: TypedTerm StandardIndexerDeclaration -> TypedTerm IndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclarator :: TypedTerm Type -> TypedTerm (Maybe InterfaceType) -> TypedTerm FormalParameterList -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorIndexerDeclarator :: TypedName IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorInterface :: TypedTerm IndexerDeclarator -> TypedTerm (Maybe InterfaceType)
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorParameters :: TypedTerm IndexerDeclarator -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorType :: TypedTerm IndexerDeclarator -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorWithInterface :: TypedTerm IndexerDeclarator -> TypedTerm (Maybe InterfaceType) -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorWithParameters :: TypedTerm IndexerDeclarator -> TypedTerm FormalParameterList -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerDeclaratorWithType :: TypedTerm IndexerDeclarator -> TypedTerm Type -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierAbstract :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierExtern :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierIndexerModifier :: TypedName IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierInternal :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierNew :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierOverride :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierPrivate :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierProtected :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierPublic :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierSealed :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierUnsafe :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: indexerModifierVirtual :: TypedTerm IndexerModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerTargetArguments :: TypedTerm ArgumentList -> TypedTerm InitializerTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerTargetIdentifier :: TypedTerm Identifier -> TypedTerm InitializerTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerTargetInitializerTarget :: TypedName InitializerTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerValueExpression :: TypedTerm Expression -> TypedTerm InitializerValue
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerValueInitializerValue :: TypedName InitializerValue
+ Hydra.Ext.Dsl.Csharp.Syntax: initializerValueObjectOrCollection :: TypedTerm ObjectOrCollectionInitializer -> TypedTerm InitializerValue
+ Hydra.Ext.Dsl.Csharp.Syntax: integerLiteralBinary :: TypedTerm Integer -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Csharp.Syntax: integerLiteralDecimal :: TypedTerm String -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Csharp.Syntax: integerLiteralHexadecimal :: TypedTerm String -> TypedTerm IntegerLiteral
+ Hydra.Ext.Dsl.Csharp.Syntax: integerLiteralIntegerLiteral :: TypedName IntegerLiteral
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeByte :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeChar :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeInt :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeIntegralType :: TypedName IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeLong :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeSbyte :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeShort :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeUint :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeUlong :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: integralTypeUshort :: TypedTerm IntegralType
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessors :: TypedTerm (Maybe Attributes) -> TypedTerm (Maybe Attributes) -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsAttributes :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsGet :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsInterfaceAccessors :: TypedName InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsSet :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsWithAttributes :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsWithGet :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceAccessorsWithSet :: TypedTerm InterfaceAccessors -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [InterfaceModifier] -> TypedTerm Bool -> TypedTerm Identifier -> TypedTerm (Maybe VariantTypeParameters) -> TypedTerm [InterfaceType] -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm [InterfaceMemberDeclaration] -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationAttributes :: TypedTerm InterfaceDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationBase :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceType]
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationBody :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationConstraints :: TypedTerm InterfaceDeclaration -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationInterfaceDeclaration :: TypedName InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationModifiers :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationName :: TypedTerm InterfaceDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationParameters :: TypedTerm InterfaceDeclaration -> TypedTerm (Maybe VariantTypeParameters)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationPartial :: TypedTerm InterfaceDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithAttributes :: TypedTerm InterfaceDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithBase :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceType] -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithBody :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceMemberDeclaration] -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithConstraints :: TypedTerm InterfaceDeclaration -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithModifiers :: TypedTerm InterfaceDeclaration -> TypedTerm [InterfaceModifier] -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithName :: TypedTerm InterfaceDeclaration -> TypedTerm Identifier -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithParameters :: TypedTerm InterfaceDeclaration -> TypedTerm (Maybe VariantTypeParameters) -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceDeclarationWithPartial :: TypedTerm InterfaceDeclaration -> TypedTerm Bool -> TypedTerm InterfaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Bool -> TypedTerm Type -> TypedTerm Identifier -> TypedTerm InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationAttributes :: TypedTerm InterfaceEventDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationInterfaceEventDeclaration :: TypedName InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationName :: TypedTerm InterfaceEventDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationNew :: TypedTerm InterfaceEventDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationType :: TypedTerm InterfaceEventDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationWithAttributes :: TypedTerm InterfaceEventDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationWithName :: TypedTerm InterfaceEventDeclaration -> TypedTerm Identifier -> TypedTerm InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationWithNew :: TypedTerm InterfaceEventDeclaration -> TypedTerm Bool -> TypedTerm InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceEventDeclarationWithType :: TypedTerm InterfaceEventDeclaration -> TypedTerm Type -> TypedTerm InterfaceEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Bool -> TypedTerm (Maybe RefKind) -> TypedTerm Type -> TypedTerm FormalParameterList -> TypedTerm InterfaceAccessors -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationAccessors :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationAttributes :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationInterfaceIndexerDeclaration :: TypedName InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationNew :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationParameters :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationRefKind :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm (Maybe RefKind)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationType :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithAccessors :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm InterfaceAccessors -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithAttributes :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithNew :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm Bool -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithParameters :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm FormalParameterList -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithRefKind :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm (Maybe RefKind) -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceIndexerDeclarationWithType :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm Type -> TypedTerm InterfaceIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMemberDeclarationEvent :: TypedTerm InterfaceEventDeclaration -> TypedTerm InterfaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMemberDeclarationIndexer :: TypedTerm InterfaceIndexerDeclaration -> TypedTerm InterfaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMemberDeclarationInterfaceMemberDeclaration :: TypedName InterfaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMemberDeclarationMethod :: TypedTerm InterfaceMethodDeclaration -> TypedTerm InterfaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMemberDeclarationProperty :: TypedTerm InterfacePropertyDeclaration -> TypedTerm InterfaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Bool -> TypedTerm ReturnType -> TypedTerm (Maybe RefKind) -> TypedTerm InterfaceMethodHeader -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationAttributes :: TypedTerm InterfaceMethodDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationHeader :: TypedTerm InterfaceMethodDeclaration -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationInterfaceMethodDeclaration :: TypedName InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationNew :: TypedTerm InterfaceMethodDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationRefKind :: TypedTerm InterfaceMethodDeclaration -> TypedTerm (Maybe RefKind)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationReturnType :: TypedTerm InterfaceMethodDeclaration -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationWithAttributes :: TypedTerm InterfaceMethodDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationWithHeader :: TypedTerm InterfaceMethodDeclaration -> TypedTerm InterfaceMethodHeader -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationWithNew :: TypedTerm InterfaceMethodDeclaration -> TypedTerm Bool -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationWithRefKind :: TypedTerm InterfaceMethodDeclaration -> TypedTerm (Maybe RefKind) -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodDeclarationWithReturnType :: TypedTerm InterfaceMethodDeclaration -> TypedTerm ReturnType -> TypedTerm InterfaceMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeader :: TypedTerm Identifier -> TypedTerm (Maybe FormalParameterList) -> TypedTerm (Maybe TypeParameterList) -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderConstraints :: TypedTerm InterfaceMethodHeader -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderInterfaceMethodHeader :: TypedName InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderName :: TypedTerm InterfaceMethodHeader -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderParameters :: TypedTerm InterfaceMethodHeader -> TypedTerm (Maybe FormalParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderTypeParameters :: TypedTerm InterfaceMethodHeader -> TypedTerm (Maybe TypeParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderWithConstraints :: TypedTerm InterfaceMethodHeader -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderWithName :: TypedTerm InterfaceMethodHeader -> TypedTerm Identifier -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderWithParameters :: TypedTerm InterfaceMethodHeader -> TypedTerm (Maybe FormalParameterList) -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceMethodHeaderWithTypeParameters :: TypedTerm InterfaceMethodHeader -> TypedTerm (Maybe TypeParameterList) -> TypedTerm InterfaceMethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierInterfaceModifier :: TypedName InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierInternal :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierNew :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierPrivate :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierProtected :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierPublic :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceModifierUnsafe :: TypedTerm InterfaceModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm Bool -> TypedTerm (Maybe RefKind) -> TypedTerm Type -> TypedTerm Identifier -> TypedTerm InterfaceAccessors -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationAccessors :: TypedTerm InterfacePropertyDeclaration -> TypedTerm InterfaceAccessors
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationAttributes :: TypedTerm InterfacePropertyDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationInterfacePropertyDeclaration :: TypedName InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationName :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationNew :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationRefKind :: TypedTerm InterfacePropertyDeclaration -> TypedTerm (Maybe RefKind)
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationType :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithAccessors :: TypedTerm InterfacePropertyDeclaration -> TypedTerm InterfaceAccessors -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithAttributes :: TypedTerm InterfacePropertyDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithName :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Identifier -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithNew :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Bool -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithRefKind :: TypedTerm InterfacePropertyDeclaration -> TypedTerm (Maybe RefKind) -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfacePropertyDeclarationWithType :: TypedTerm InterfacePropertyDeclaration -> TypedTerm Type -> TypedTerm InterfacePropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceType :: TypedTerm TypeName -> TypedTerm InterfaceType
+ Hydra.Ext.Dsl.Csharp.Syntax: interfaceTypeInterfaceType :: TypedName InterfaceType
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedRegularStringExpression :: TypedTerm String -> TypedTerm InterpolatedRegularStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedRegularStringExpressionInterpolatedRegularStringExpression :: TypedName InterpolatedRegularStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedStringExpressionInterpolatedStringExpression :: TypedName InterpolatedStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedStringExpressionRegular :: TypedTerm InterpolatedRegularStringExpression -> TypedTerm InterpolatedStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedStringExpressionVerbatim :: TypedTerm InterpolatedVerbatimStringExpression -> TypedTerm InterpolatedStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedVerbatimStringExpression :: TypedTerm String -> TypedTerm InterpolatedVerbatimStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: interpolatedVerbatimStringExpressionInterpolatedVerbatimStringExpression :: TypedName InterpolatedVerbatimStringExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpression :: TypedTerm PrimaryExpression -> TypedTerm (Maybe ArgumentList) -> TypedTerm InvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpressionArguments :: TypedTerm InvocationExpression -> TypedTerm (Maybe ArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpressionExpression :: TypedTerm InvocationExpression -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpressionInvocationExpression :: TypedName InvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpressionWithArguments :: TypedTerm InvocationExpression -> TypedTerm (Maybe ArgumentList) -> TypedTerm InvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: invocationExpressionWithExpression :: TypedTerm InvocationExpression -> TypedTerm PrimaryExpression -> TypedTerm InvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpression :: TypedTerm RelationalExpression -> TypedTerm Pattern -> TypedTerm IsPatternExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpressionExpression :: TypedTerm IsPatternExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpressionIsPatternExpression :: TypedName IsPatternExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpressionPattern :: TypedTerm IsPatternExpression -> TypedTerm Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpressionWithExpression :: TypedTerm IsPatternExpression -> TypedTerm RelationalExpression -> TypedTerm IsPatternExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isPatternExpressionWithPattern :: TypedTerm IsPatternExpression -> TypedTerm Pattern -> TypedTerm IsPatternExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpression :: TypedTerm RelationalExpression -> TypedTerm Type -> TypedTerm IsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpressionExpression :: TypedTerm IsTypeExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpressionIsTypeExpression :: TypedName IsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpressionType :: TypedTerm IsTypeExpression -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpressionWithExpression :: TypedTerm IsTypeExpression -> TypedTerm RelationalExpression -> TypedTerm IsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: isTypeExpressionWithType :: TypedTerm IsTypeExpression -> TypedTerm Type -> TypedTerm IsTypeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: iterationStatementDo :: TypedTerm DoStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: iterationStatementFor :: TypedTerm ForStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: iterationStatementForeach :: TypedTerm ForeachStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: iterationStatementIterationStatement :: TypedName IterationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: iterationStatementWhile :: TypedTerm WhileStatement -> TypedTerm IterationStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClause :: TypedTerm (Maybe Type) -> TypedTerm Identifier -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm (Maybe Identifier) -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseEquals :: TypedTerm JoinClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseIdentifier :: TypedTerm JoinClause -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseIn :: TypedTerm JoinClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseInto :: TypedTerm JoinClause -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseJoinClause :: TypedName JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseOn :: TypedTerm JoinClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseType :: TypedTerm JoinClause -> TypedTerm (Maybe Type)
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithEquals :: TypedTerm JoinClause -> TypedTerm Expression -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithIdentifier :: TypedTerm JoinClause -> TypedTerm Identifier -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithIn :: TypedTerm JoinClause -> TypedTerm Expression -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithInto :: TypedTerm JoinClause -> TypedTerm (Maybe Identifier) -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithOn :: TypedTerm JoinClause -> TypedTerm Expression -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: joinClauseWithType :: TypedTerm JoinClause -> TypedTerm (Maybe Type) -> TypedTerm JoinClause
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementBreak :: TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementContinue :: TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementGoto :: TypedTerm GotoStatement -> TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementJumpStatement :: TypedName JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementReturn :: TypedTerm ReturnStatement -> TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: jumpStatementThrow :: TypedTerm (Maybe Expression) -> TypedTerm JumpStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: keyword :: TypedTerm String -> TypedTerm Keyword
+ Hydra.Ext.Dsl.Csharp.Syntax: keywordKeyword :: TypedName Keyword
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatement :: TypedTerm Identifier -> TypedTerm Statement -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatementLabel :: TypedTerm LabeledStatement -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatementLabeledStatement :: TypedName LabeledStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatementStatement :: TypedTerm LabeledStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatementWithLabel :: TypedTerm LabeledStatement -> TypedTerm Identifier -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: labeledStatementWithStatement :: TypedTerm LabeledStatement -> TypedTerm Statement -> TypedTerm LabeledStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpression :: TypedTerm Bool -> TypedTerm AnonymousFunctionSignature -> TypedTerm AnonymousFunctionBody -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionAsync :: TypedTerm LambdaExpression -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionBody :: TypedTerm LambdaExpression -> TypedTerm AnonymousFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionLambdaExpression :: TypedName LambdaExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionSignature :: TypedTerm LambdaExpression -> TypedTerm AnonymousFunctionSignature
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionWithAsync :: TypedTerm LambdaExpression -> TypedTerm Bool -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionWithBody :: TypedTerm LambdaExpression -> TypedTerm AnonymousFunctionBody -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: lambdaExpressionWithSignature :: TypedTerm LambdaExpression -> TypedTerm AnonymousFunctionSignature -> TypedTerm LambdaExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: letClause :: TypedTerm Identifier -> TypedTerm Expression -> TypedTerm LetClause
+ Hydra.Ext.Dsl.Csharp.Syntax: letClauseLeft :: TypedTerm LetClause -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: letClauseLetClause :: TypedName LetClause
+ Hydra.Ext.Dsl.Csharp.Syntax: letClauseRight :: TypedTerm LetClause -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: letClauseWithLeft :: TypedTerm LetClause -> TypedTerm Identifier -> TypedTerm LetClause
+ Hydra.Ext.Dsl.Csharp.Syntax: letClauseWithRight :: TypedTerm LetClause -> TypedTerm Expression -> TypedTerm LetClause
+ Hydra.Ext.Dsl.Csharp.Syntax: literalBoolean :: TypedTerm Bool -> TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalCharacter :: TypedTerm String -> TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalInteger :: TypedTerm IntegerLiteral -> TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalLiteral :: TypedName Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalNull :: TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalReal :: TypedTerm Double -> TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: literalString :: TypedTerm String -> TypedTerm Literal
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclaration :: TypedTerm Type -> TypedTerm [ConstantDeclarator] -> TypedTerm LocalConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclarationDeclarators :: TypedTerm LocalConstantDeclaration -> TypedTerm [ConstantDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclarationLocalConstantDeclaration :: TypedName LocalConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclarationType :: TypedTerm LocalConstantDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclarationWithDeclarators :: TypedTerm LocalConstantDeclaration -> TypedTerm [ConstantDeclarator] -> TypedTerm LocalConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localConstantDeclarationWithType :: TypedTerm LocalConstantDeclaration -> TypedTerm Type -> TypedTerm LocalConstantDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionBodyBlock :: TypedTerm Block -> TypedTerm LocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionBodyExpression :: TypedTerm Expression -> TypedTerm LocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionBodyLocalFunctionBody :: TypedName LocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionBodyNullConditionalInvocation :: TypedTerm NullConditionalInvocationExpression -> TypedTerm LocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionDeclarationLocalFunctionDeclaration :: TypedName LocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionDeclarationRef :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm LocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionDeclarationStandard :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm LocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeader :: TypedTerm Identifier -> TypedTerm (Maybe TypeParameterList) -> TypedTerm FormalParameterList -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderConstraints :: TypedTerm LocalFunctionHeader -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderIdentifier :: TypedTerm LocalFunctionHeader -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderLocalFunctionHeader :: TypedName LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderParameters :: TypedTerm LocalFunctionHeader -> TypedTerm FormalParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderTypeParameters :: TypedTerm LocalFunctionHeader -> TypedTerm (Maybe TypeParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderWithConstraints :: TypedTerm LocalFunctionHeader -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderWithIdentifier :: TypedTerm LocalFunctionHeader -> TypedTerm Identifier -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderWithParameters :: TypedTerm LocalFunctionHeader -> TypedTerm FormalParameterList -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionHeaderWithTypeParameters :: TypedTerm LocalFunctionHeader -> TypedTerm (Maybe TypeParameterList) -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionModifierAsync :: TypedTerm LocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionModifierLocalFunctionModifier :: TypedName LocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: localFunctionModifierRef :: TypedTerm RefLocalFunctionModifier -> TypedTerm LocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableDeclarationExplicitlyTyped :: TypedTerm ExplicitlyTypedLocalVariableDeclaration -> TypedTerm LocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableDeclarationImplicitlyTyped :: TypedTerm ImplicitlyTypedLocalVariableDeclaration -> TypedTerm LocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableDeclarationLocalVariableDeclaration :: TypedName LocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableDeclarationRef :: TypedTerm RefLocalVariableDeclaration -> TypedTerm LocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableInitializerExpression :: TypedTerm Expression -> TypedTerm LocalVariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableInitializerInitializer :: TypedTerm ArrayInitializer -> TypedTerm LocalVariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableInitializerLocalVariableInitializer :: TypedName LocalVariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableTypeLocalVariableType :: TypedName LocalVariableType
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableTypeType :: TypedTerm Type -> TypedTerm LocalVariableType
+ Hydra.Ext.Dsl.Csharp.Syntax: localVariableTypeVar :: TypedTerm LocalVariableType
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatement :: TypedTerm Expression -> TypedTerm EmbeddedStatement -> TypedTerm LockStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatementBody :: TypedTerm LockStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatementExpression :: TypedTerm LockStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatementLockStatement :: TypedName LockStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatementWithBody :: TypedTerm LockStatement -> TypedTerm EmbeddedStatement -> TypedTerm LockStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: lockStatementWithExpression :: TypedTerm LockStatement -> TypedTerm Expression -> TypedTerm LockStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccess :: TypedTerm MemberAccessHead -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm MemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessHead :: TypedTerm MemberAccess -> TypedTerm MemberAccessHead
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessHeadMemberAccessHead :: TypedName MemberAccessHead
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessHeadPredefined :: TypedTerm PredefinedType -> TypedTerm MemberAccessHead
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessHeadPrimary :: TypedTerm PrimaryExpression -> TypedTerm MemberAccessHead
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessHeadQualifiedAlias :: TypedTerm QualifiedAliasMember -> TypedTerm MemberAccessHead
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessIdentifier :: TypedTerm MemberAccess -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessMemberAccess :: TypedName MemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessTypeArguments :: TypedTerm MemberAccess -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessWithHead :: TypedTerm MemberAccess -> TypedTerm MemberAccessHead -> TypedTerm MemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessWithIdentifier :: TypedTerm MemberAccess -> TypedTerm Identifier -> TypedTerm MemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: memberAccessWithTypeArguments :: TypedTerm MemberAccess -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm MemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorAssignment :: TypedTerm AssignmentMemberDeclarator -> TypedTerm MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorBaseAccess :: TypedTerm BaseAccess -> TypedTerm MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorList :: TypedTerm [MemberDeclarator] -> TypedTerm MemberDeclaratorList
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorListMemberDeclaratorList :: TypedName MemberDeclaratorList
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorMemberAccess :: TypedTerm MemberAccess -> TypedTerm MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorMemberDeclarator :: TypedName MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorName :: TypedTerm SimpleName -> TypedTerm MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberDeclaratorNullConditionalProjectionInitializer :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm MemberDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializer :: TypedTerm InitializerTarget -> TypedTerm InitializerValue -> TypedTerm MemberInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializerMemberInitializer :: TypedName MemberInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializerTarget :: TypedTerm MemberInitializer -> TypedTerm InitializerTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializerValue :: TypedTerm MemberInitializer -> TypedTerm InitializerValue
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializerWithTarget :: TypedTerm MemberInitializer -> TypedTerm InitializerTarget -> TypedTerm MemberInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: memberInitializerWithValue :: TypedTerm MemberInitializer -> TypedTerm InitializerValue -> TypedTerm MemberInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: memberName :: TypedTerm (Maybe TypeName) -> TypedTerm Identifier -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: memberNameIdentifier :: TypedTerm MemberName -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: memberNameInterfaceType :: TypedTerm MemberName -> TypedTerm (Maybe TypeName)
+ Hydra.Ext.Dsl.Csharp.Syntax: memberNameMemberName :: TypedName MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: memberNameWithIdentifier :: TypedTerm MemberName -> TypedTerm Identifier -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: memberNameWithInterfaceType :: TypedTerm MemberName -> TypedTerm (Maybe TypeName) -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: methodBodyBlock :: TypedTerm Block -> TypedTerm MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: methodBodyEmpty :: TypedTerm MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: methodBodyExpression :: TypedTerm Expression -> TypedTerm MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: methodBodyMethodBody :: TypedName MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: methodBodyNullConditionalInvocation :: TypedTerm NullConditionalInvocationExpression -> TypedTerm MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: methodDeclarationMethodDeclaration :: TypedName MethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: methodDeclarationRefReturn :: TypedTerm RefReturnMethodDeclaration -> TypedTerm MethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: methodDeclarationStandard :: TypedTerm StandardMethodDeclaration -> TypedTerm MethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeader :: TypedTerm MemberName -> TypedTerm (Maybe TypeParameterList) -> TypedTerm (Maybe FormalParameterList) -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderConstraints :: TypedTerm MethodHeader -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderMethodHeader :: TypedName MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderName :: TypedTerm MethodHeader -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderParameters :: TypedTerm MethodHeader -> TypedTerm (Maybe FormalParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderTypeParameters :: TypedTerm MethodHeader -> TypedTerm (Maybe TypeParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderWithConstraints :: TypedTerm MethodHeader -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderWithName :: TypedTerm MethodHeader -> TypedTerm MemberName -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderWithParameters :: TypedTerm MethodHeader -> TypedTerm (Maybe FormalParameterList) -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodHeaderWithTypeParameters :: TypedTerm MethodHeader -> TypedTerm (Maybe TypeParameterList) -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifierAsync :: TypedTerm MethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifierMethodModifier :: TypedName MethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifierRef :: TypedTerm RefMethodModifier -> TypedTerm MethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiers :: TypedTerm [MethodModifier] -> TypedTerm Bool -> TypedTerm MethodModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiersMethodModifiers :: TypedName MethodModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiersModifiers :: TypedTerm MethodModifiers -> TypedTerm [MethodModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiersPartial :: TypedTerm MethodModifiers -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiersWithModifiers :: TypedTerm MethodModifiers -> TypedTerm [MethodModifier] -> TypedTerm MethodModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: methodModifiersWithPartial :: TypedTerm MethodModifiers -> TypedTerm Bool -> TypedTerm MethodModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeExpressionBinary :: TypedTerm BinaryMultiplicativeExpression -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeExpressionMultiplicativeExpression :: TypedName MultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeExpressionSimple :: TypedTerm UnaryExpression -> TypedTerm MultiplicativeExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeOperatorDivide :: TypedTerm MultiplicativeOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeOperatorModulo :: TypedTerm MultiplicativeOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeOperatorMultiplicativeOperator :: TypedName MultiplicativeOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: multiplicativeOperatorTimes :: TypedTerm MultiplicativeOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgument :: TypedTerm Identifier -> TypedTerm AttributeArgumentExpression -> TypedTerm NamedArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentList :: TypedTerm [NamedArgument] -> TypedTerm NamedArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentListNamedArgumentList :: TypedName NamedArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentName :: TypedTerm NamedArgument -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentNamedArgument :: TypedName NamedArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentValue :: TypedTerm NamedArgument -> TypedTerm AttributeArgumentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentWithName :: TypedTerm NamedArgument -> TypedTerm Identifier -> TypedTerm NamedArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: namedArgumentWithValue :: TypedTerm NamedArgument -> TypedTerm AttributeArgumentExpression -> TypedTerm NamedArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntity :: TypedTerm NamedEntityTarget -> TypedTerm [NamedEntityPart] -> TypedTerm NamedEntity
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityNamedEntity :: TypedName NamedEntity
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPart :: TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm NamedEntityPart
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPartIdentifier :: TypedTerm NamedEntityPart -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPartNamedEntityPart :: TypedName NamedEntityPart
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPartTypeArguments :: TypedTerm NamedEntityPart -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPartWithIdentifier :: TypedTerm NamedEntityPart -> TypedTerm Identifier -> TypedTerm NamedEntityPart
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityPartWithTypeArguments :: TypedTerm NamedEntityPart -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm NamedEntityPart
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityParts :: TypedTerm NamedEntity -> TypedTerm [NamedEntityPart]
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTarget :: TypedTerm NamedEntity -> TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetBase :: TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetName :: TypedTerm SimpleName -> TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetNamedEntityTarget :: TypedName NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetPredefinedType :: TypedTerm PredefinedType -> TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetQualifiedAliasMember :: TypedTerm QualifiedAliasMember -> TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityTargetThis :: TypedTerm NamedEntityTarget
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityWithParts :: TypedTerm NamedEntity -> TypedTerm [NamedEntityPart] -> TypedTerm NamedEntity
+ Hydra.Ext.Dsl.Csharp.Syntax: namedEntityWithTarget :: TypedTerm NamedEntity -> TypedTerm NamedEntityTarget -> TypedTerm NamedEntity
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBody :: TypedTerm [ExternAliasDirective] -> TypedTerm [UsingDirective] -> TypedTerm [NamespaceMemberDeclaration] -> TypedTerm NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyExterns :: TypedTerm NamespaceBody -> TypedTerm [ExternAliasDirective]
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyMembers :: TypedTerm NamespaceBody -> TypedTerm [NamespaceMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyNamespaceBody :: TypedName NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyUsings :: TypedTerm NamespaceBody -> TypedTerm [UsingDirective]
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyWithExterns :: TypedTerm NamespaceBody -> TypedTerm [ExternAliasDirective] -> TypedTerm NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyWithMembers :: TypedTerm NamespaceBody -> TypedTerm [NamespaceMemberDeclaration] -> TypedTerm NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceBodyWithUsings :: TypedTerm NamespaceBody -> TypedTerm [UsingDirective] -> TypedTerm NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclaration :: TypedTerm QualifiedIdentifier -> TypedTerm NamespaceBody -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclarationBody :: TypedTerm NamespaceDeclaration -> TypedTerm NamespaceBody
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclarationName :: TypedTerm NamespaceDeclaration -> TypedTerm QualifiedIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclarationNamespaceDeclaration :: TypedName NamespaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclarationWithBody :: TypedTerm NamespaceDeclaration -> TypedTerm NamespaceBody -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceDeclarationWithName :: TypedTerm NamespaceDeclaration -> TypedTerm QualifiedIdentifier -> TypedTerm NamespaceDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceMemberDeclarationNamespace :: TypedTerm NamespaceDeclaration -> TypedTerm NamespaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceMemberDeclarationNamespaceMemberDeclaration :: TypedName NamespaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceMemberDeclarationType :: TypedTerm TypeDeclaration -> TypedTerm NamespaceMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceName :: TypedTerm NamespaceOrTypeName -> TypedTerm NamespaceName
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceNameNamespaceName :: TypedName NamespaceName
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceOrTypeNameAlias :: TypedTerm QualifiedAliasMember -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceOrTypeNameIdentifier :: TypedTerm IdentifierNamespaceOrTypeName -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceOrTypeNameNamespaceOrTypeName :: TypedName NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: namespaceOrTypeNameQualified :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpression :: TypedTerm NonArrayType -> TypedTerm ExpressionList -> TypedTerm [RankSpecifier] -> TypedTerm (Maybe ArrayInitializer) -> TypedTerm NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionExpressions :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm ExpressionList
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionInitializer :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm (Maybe ArrayInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionNonArrayTypeArrayCreationExpression :: TypedName NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionRankSpecifiers :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm [RankSpecifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionType :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionWithExpressions :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm ExpressionList -> TypedTerm NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionWithInitializer :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm (Maybe ArrayInitializer) -> TypedTerm NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionWithRankSpecifiers :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm [RankSpecifier] -> TypedTerm NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeArrayCreationExpressionWithType :: TypedTerm NonArrayTypeArrayCreationExpression -> TypedTerm NonArrayType -> TypedTerm NonArrayTypeArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeClass :: TypedTerm ClassType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeDelegate :: TypedTerm DelegateType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeDynamic :: TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeInterface :: TypedTerm InterfaceType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeNonArrayType :: TypedName NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeParameter :: TypedTerm TypeParameter -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypePointer :: TypedTerm PointerType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonArrayTypeValue :: TypedTerm ValueType -> TypedTerm NonArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: nonAssignmentExpressionConditional :: TypedTerm ConditionalExpression -> TypedTerm NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonAssignmentExpressionDeclaration :: TypedTerm DeclarationExpression -> TypedTerm NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonAssignmentExpressionLambda :: TypedTerm LambdaExpression -> TypedTerm NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonAssignmentExpressionNonAssignmentExpression :: TypedName NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nonAssignmentExpressionQuery :: TypedTerm QueryExpression -> TypedTerm NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullCoalescingExpressionBinary :: TypedTerm BinaryNullCoalescingExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullCoalescingExpressionNullCoalescingExpression :: TypedName NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullCoalescingExpressionSimple :: TypedTerm ConditionalOrExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullCoalescingExpressionThrow :: TypedTerm NullCoalescingExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccess :: TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm ArgumentList -> TypedTerm [DependentAccess] -> TypedTerm NullConditionalElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessArguments :: TypedTerm NullConditionalElementAccess -> TypedTerm ArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessDependentAccess :: TypedTerm NullConditionalElementAccess -> TypedTerm [DependentAccess]
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessExpression :: TypedTerm NullConditionalElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessNullConditionalElementAccess :: TypedName NullConditionalElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessWithArguments :: TypedTerm NullConditionalElementAccess -> TypedTerm ArgumentList -> TypedTerm NullConditionalElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessWithDependentAccess :: TypedTerm NullConditionalElementAccess -> TypedTerm [DependentAccess] -> TypedTerm NullConditionalElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalElementAccessWithExpression :: TypedTerm NullConditionalElementAccess -> TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm NullConditionalElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpression :: TypedTerm NullConditionalInvocationExpressionHead -> TypedTerm (Maybe ArgumentList) -> TypedTerm NullConditionalInvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionArguments :: TypedTerm NullConditionalInvocationExpression -> TypedTerm (Maybe ArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionHead :: TypedTerm NullConditionalInvocationExpression -> TypedTerm NullConditionalInvocationExpressionHead
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionHeadElement :: TypedTerm NullConditionalElementAccess -> TypedTerm NullConditionalInvocationExpressionHead
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionHeadMember :: TypedTerm NullConditionalMemberAccess -> TypedTerm NullConditionalInvocationExpressionHead
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionHeadNullConditionalInvocationExpressionHead :: TypedName NullConditionalInvocationExpressionHead
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionNullConditionalInvocationExpression :: TypedName NullConditionalInvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionWithArguments :: TypedTerm NullConditionalInvocationExpression -> TypedTerm (Maybe ArgumentList) -> TypedTerm NullConditionalInvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalInvocationExpressionWithHead :: TypedTerm NullConditionalInvocationExpression -> TypedTerm NullConditionalInvocationExpressionHead -> TypedTerm NullConditionalInvocationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccess :: TypedTerm PrimaryExpression -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm [DependentAccess] -> TypedTerm NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessDependentAccess :: TypedTerm NullConditionalMemberAccess -> TypedTerm [DependentAccess]
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessExpression :: TypedTerm NullConditionalMemberAccess -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessIdentifier :: TypedTerm NullConditionalMemberAccess -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessNullConditionalMemberAccess :: TypedName NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessTypeArguments :: TypedTerm NullConditionalMemberAccess -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessWithDependentAccess :: TypedTerm NullConditionalMemberAccess -> TypedTerm [DependentAccess] -> TypedTerm NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessWithExpression :: TypedTerm NullConditionalMemberAccess -> TypedTerm PrimaryExpression -> TypedTerm NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessWithIdentifier :: TypedTerm NullConditionalMemberAccess -> TypedTerm Identifier -> TypedTerm NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalMemberAccessWithTypeArguments :: TypedTerm NullConditionalMemberAccess -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm NullConditionalMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializer :: TypedTerm PrimaryExpression -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm NullConditionalProjectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerExpression :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerIdentifier :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerNullConditionalProjectionInitializer :: TypedName NullConditionalProjectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerTypeArguments :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerWithExpression :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm PrimaryExpression -> TypedTerm NullConditionalProjectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerWithIdentifier :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm Identifier -> TypedTerm NullConditionalProjectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: nullConditionalProjectionInitializerWithTypeArguments :: TypedTerm NullConditionalProjectionInitializer -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm NullConditionalProjectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: numericTypeDecimal :: TypedTerm NumericType
+ Hydra.Ext.Dsl.Csharp.Syntax: numericTypeFloatingPoint :: TypedTerm FloatingPointType -> TypedTerm NumericType
+ Hydra.Ext.Dsl.Csharp.Syntax: numericTypeIntegral :: TypedTerm IntegralType -> TypedTerm NumericType
+ Hydra.Ext.Dsl.Csharp.Syntax: numericTypeNumericType :: TypedName NumericType
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpression :: TypedTerm Type -> TypedTerm (Maybe ArgumentList) -> TypedTerm (Maybe ObjectOrCollectionInitializer) -> TypedTerm ObjectCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionArguments :: TypedTerm ObjectCreationExpression -> TypedTerm (Maybe ArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionInitializer :: TypedTerm ObjectCreationExpression -> TypedTerm (Maybe ObjectOrCollectionInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionObjectCreationExpression :: TypedName ObjectCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionType :: TypedTerm ObjectCreationExpression -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionWithArguments :: TypedTerm ObjectCreationExpression -> TypedTerm (Maybe ArgumentList) -> TypedTerm ObjectCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionWithInitializer :: TypedTerm ObjectCreationExpression -> TypedTerm (Maybe ObjectOrCollectionInitializer) -> TypedTerm ObjectCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: objectCreationExpressionWithType :: TypedTerm ObjectCreationExpression -> TypedTerm Type -> TypedTerm ObjectCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: objectOrCollectionInitializerCollection :: TypedTerm [ElementInitializer] -> TypedTerm ObjectOrCollectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: objectOrCollectionInitializerObject :: TypedTerm [MemberInitializer] -> TypedTerm ObjectOrCollectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: objectOrCollectionInitializerObjectOrCollectionInitializer :: TypedName ObjectOrCollectionInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorBodyBlock :: TypedTerm Block -> TypedTerm OperatorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorBodyEmpty :: TypedTerm OperatorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorBodyExpression :: TypedTerm Expression -> TypedTerm OperatorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorBodyOperatorBody :: TypedName OperatorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [OperatorModifier] -> TypedTerm OperatorDeclarator -> TypedTerm OperatorBody -> TypedTerm OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationAttributes :: TypedTerm OperatorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationBody :: TypedTerm OperatorDeclaration -> TypedTerm OperatorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationDeclarator :: TypedTerm OperatorDeclaration -> TypedTerm OperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationModifiers :: TypedTerm OperatorDeclaration -> TypedTerm [OperatorModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationOperatorDeclaration :: TypedName OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationWithAttributes :: TypedTerm OperatorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationWithBody :: TypedTerm OperatorDeclaration -> TypedTerm OperatorBody -> TypedTerm OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationWithDeclarator :: TypedTerm OperatorDeclaration -> TypedTerm OperatorDeclarator -> TypedTerm OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclarationWithModifiers :: TypedTerm OperatorDeclaration -> TypedTerm [OperatorModifier] -> TypedTerm OperatorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclaratorBinary :: TypedTerm BinaryOperatorDeclarator -> TypedTerm OperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclaratorConversion :: TypedTerm ConversionOperatorDeclarator -> TypedTerm OperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclaratorOperatorDeclarator :: TypedName OperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorDeclaratorUnary :: TypedTerm UnaryOperatorDeclarator -> TypedTerm OperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorModifierExtern :: TypedTerm OperatorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorModifierOperatorModifier :: TypedName OperatorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorModifierPublic :: TypedTerm OperatorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorModifierStatic :: TypedTerm OperatorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: operatorModifierUnsafe :: TypedTerm OperatorModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: ordering :: TypedTerm Expression -> TypedTerm (Maybe OrderingDirection) -> TypedTerm Ordering
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingDirection :: TypedTerm Ordering -> TypedTerm (Maybe OrderingDirection)
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingDirectionAscending :: TypedTerm OrderingDirection
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingDirectionDescending :: TypedTerm OrderingDirection
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingDirectionOrderingDirection :: TypedName OrderingDirection
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingExpression :: TypedTerm Ordering -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingOrdering :: TypedName Ordering
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingWithDirection :: TypedTerm Ordering -> TypedTerm (Maybe OrderingDirection) -> TypedTerm Ordering
+ Hydra.Ext.Dsl.Csharp.Syntax: orderingWithExpression :: TypedTerm Ordering -> TypedTerm Expression -> TypedTerm Ordering
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorAdd :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorAnd :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorDivide :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorEqual :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorGreaterThan :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorGreaterThanOrEqual :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorLeftShift :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorLessThan :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorLessThanOrEqual :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorModulus :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorMultiply :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorNotEqual :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorOr :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorOverloadableBinaryOperator :: TypedName OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorRightShift :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorSubtract :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableBinaryOperatorXor :: TypedTerm OverloadableBinaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorComplement :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorDecrement :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorFalse :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorIncrement :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorMinus :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorNot :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorOverloadableUnaryOperator :: TypedName OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorPlus :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: overloadableUnaryOperatorTrue :: TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArray :: TypedTerm (Maybe Attributes) -> TypedTerm ArrayType -> TypedTerm Identifier -> TypedTerm ParameterArray
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayAttributes :: TypedTerm ParameterArray -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayIdentifier :: TypedTerm ParameterArray -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayParameterArray :: TypedName ParameterArray
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayType :: TypedTerm ParameterArray -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayWithAttributes :: TypedTerm ParameterArray -> TypedTerm (Maybe Attributes) -> TypedTerm ParameterArray
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayWithIdentifier :: TypedTerm ParameterArray -> TypedTerm Identifier -> TypedTerm ParameterArray
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterArrayWithType :: TypedTerm ParameterArray -> TypedTerm ArrayType -> TypedTerm ParameterArray
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModeModifierIn :: TypedTerm ParameterModeModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModeModifierOut :: TypedTerm ParameterModeModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModeModifierParameterModeModifier :: TypedName ParameterModeModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModeModifierRef :: TypedTerm ParameterModeModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModifierMode :: TypedTerm ParameterModeModifier -> TypedTerm ParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModifierParameterModifier :: TypedName ParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: parameterModifierThis :: TypedTerm ParameterModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: patternConstant :: TypedTerm Expression -> TypedTerm Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: patternDeclaration :: TypedTerm DeclarationPattern -> TypedTerm Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: patternPattern :: TypedName Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: patternVar :: TypedTerm Designation -> TypedTerm Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccess :: TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm Expression -> TypedTerm PointerElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccessIndex :: TypedTerm PointerElementAccess -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccessPointer :: TypedTerm PointerElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccessPointerElementAccess :: TypedName PointerElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccessWithIndex :: TypedTerm PointerElementAccess -> TypedTerm Expression -> TypedTerm PointerElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerElementAccessWithPointer :: TypedTerm PointerElementAccess -> TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm PointerElementAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccess :: TypedTerm PrimaryExpression -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm PointerMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessMember :: TypedTerm PointerMemberAccess -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessPointer :: TypedTerm PointerMemberAccess -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessPointerMemberAccess :: TypedName PointerMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessTypeArguments :: TypedTerm PointerMemberAccess -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessWithMember :: TypedTerm PointerMemberAccess -> TypedTerm Identifier -> TypedTerm PointerMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessWithPointer :: TypedTerm PointerMemberAccess -> TypedTerm PrimaryExpression -> TypedTerm PointerMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerMemberAccessWithTypeArguments :: TypedTerm PointerMemberAccess -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm PointerMemberAccess
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerTypePointerDepth :: TypedTerm Int -> TypedTerm PointerType
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerTypePointerType :: TypedName PointerType
+ Hydra.Ext.Dsl.Csharp.Syntax: pointerTypeValueType :: TypedTerm (Maybe ValueType) -> TypedTerm PointerType
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgument :: TypedTerm (Maybe Identifier) -> TypedTerm AttributeArgumentExpression -> TypedTerm PositionalArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentList :: TypedTerm [PositionalArgument] -> TypedTerm PositionalArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentListPositionalArgumentList :: TypedName PositionalArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentName :: TypedTerm PositionalArgument -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentPositionalArgument :: TypedName PositionalArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentValue :: TypedTerm PositionalArgument -> TypedTerm AttributeArgumentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentWithName :: TypedTerm PositionalArgument -> TypedTerm (Maybe Identifier) -> TypedTerm PositionalArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: positionalArgumentWithValue :: TypedTerm PositionalArgument -> TypedTerm AttributeArgumentExpression -> TypedTerm PositionalArgument
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeBool :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeByte :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeChar :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeDecimal :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeDouble :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeFloat :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeInt :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeLong :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeObject :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypePredefinedType :: TypedName PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeSbyte :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeShort :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeString :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeUint :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeUlong :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: predefinedTypeUshort :: TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryConstraintClass :: TypedTerm PrimaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryConstraintClassType :: TypedTerm ClassType -> TypedTerm PrimaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryConstraintPrimaryConstraint :: TypedName PrimaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryConstraintStruct :: TypedTerm PrimaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryConstraintUnmanaged :: TypedTerm PrimaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryExpressionArray :: TypedTerm ArrayCreationExpression -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryExpressionNoArray :: TypedTerm PrimaryNoArrayCreationExpression -> TypedTerm PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryExpressionPrimaryExpression :: TypedName PrimaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionAnonymousMethod :: TypedTerm AnonymousMethodExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionAnonymousObjectCreation :: TypedTerm (Maybe MemberDeclaratorList) -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionBaseAccess :: TypedTerm BaseAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionChecked :: TypedTerm Expression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionDefaultValue :: TypedTerm DefaultValueExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionDelegateCreation :: TypedTerm DelegateCreationExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionElementAccess :: TypedTerm ElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionInterpolatedString :: TypedTerm InterpolatedStringExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionInvocation :: TypedTerm InvocationExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionLiteral :: TypedTerm Literal -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionMemberAccess :: TypedTerm MemberAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionNameof :: TypedTerm NamedEntity -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionNullConditionalElementAccess :: TypedTerm NullConditionalElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionNullConditionalMemberAccess :: TypedTerm NullConditionalMemberAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionObjectCreation :: TypedTerm ObjectCreationExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionParenthesized :: TypedTerm Expression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionPointerElementAccess :: TypedTerm PointerElementAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionPointerMemberAccess :: TypedTerm PointerMemberAccess -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionPostDecrement :: TypedTerm PrimaryExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionPostIncrement :: TypedTerm PrimaryExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionPrimaryNoArrayCreationExpression :: TypedName PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionSimpleName :: TypedTerm SimpleName -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionSizeof :: TypedTerm UnmanagedType -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionStackalloc :: TypedTerm StackallocExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionThisAccess :: TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionTuple :: TypedTerm TupleExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionTypeof :: TypedTerm TypeofExpression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: primaryNoArrayCreationExpressionUnchecked :: TypedTerm Expression -> TypedTerm PrimaryNoArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyBodyBlock :: TypedTerm BlockPropertyBody -> TypedTerm PropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyBodyExpression :: TypedTerm Expression -> TypedTerm PropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyBodyPropertyBody :: TypedName PropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyDeclarationPropertyDeclaration :: TypedName PropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyDeclarationRefReturn :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm PropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyDeclarationStandard :: TypedTerm StandardPropertyDeclaration -> TypedTerm PropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierAbstract :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierExtern :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierInternal :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierNew :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierOverride :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierPrivate :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierPropertyModifier :: TypedName PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierProtected :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierPublic :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierSealed :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierStatic :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierUnsafe :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: propertyModifierVirtual :: TypedTerm PropertyModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMember :: TypedTerm Identifier -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm QualifiedAliasMember
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberAlias :: TypedTerm QualifiedAliasMember -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberArguments :: TypedTerm QualifiedAliasMember -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberMember :: TypedTerm QualifiedAliasMember -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberQualifiedAliasMember :: TypedName QualifiedAliasMember
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberWithAlias :: TypedTerm QualifiedAliasMember -> TypedTerm Identifier -> TypedTerm QualifiedAliasMember
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberWithArguments :: TypedTerm QualifiedAliasMember -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm QualifiedAliasMember
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedAliasMemberWithMember :: TypedTerm QualifiedAliasMember -> TypedTerm Identifier -> TypedTerm QualifiedAliasMember
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedIdentifier :: TypedTerm [Identifier] -> TypedTerm QualifiedIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedIdentifierQualifiedIdentifier :: TypedName QualifiedIdentifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeName :: TypedTerm NamespaceOrTypeName -> TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm QualifiedNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameArguments :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameIdentifier :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameNamespaceOrType :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameQualifiedNamespaceOrTypeName :: TypedName QualifiedNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameWithArguments :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm QualifiedNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameWithIdentifier :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm Identifier -> TypedTerm QualifiedNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: qualifiedNamespaceOrTypeNameWithNamespaceOrType :: TypedTerm QualifiedNamespaceOrTypeName -> TypedTerm NamespaceOrTypeName -> TypedTerm QualifiedNamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBody :: TypedTerm [QueryBodyClause] -> TypedTerm SelectOrGroupClause -> TypedTerm (Maybe QueryContinuation) -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseFrom :: TypedTerm FromClause -> TypedTerm QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseJoin :: TypedTerm JoinClause -> TypedTerm QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseLet :: TypedTerm LetClause -> TypedTerm QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseOrderby :: TypedTerm [Ordering] -> TypedTerm QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseQueryBodyClause :: TypedName QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauseWhere :: TypedTerm BooleanExpression -> TypedTerm QueryBodyClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyClauses :: TypedTerm QueryBody -> TypedTerm [QueryBodyClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyContinuation :: TypedTerm QueryBody -> TypedTerm (Maybe QueryContinuation)
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyQueryBody :: TypedName QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodySelectOrGroup :: TypedTerm QueryBody -> TypedTerm SelectOrGroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyWithClauses :: TypedTerm QueryBody -> TypedTerm [QueryBodyClause] -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyWithContinuation :: TypedTerm QueryBody -> TypedTerm (Maybe QueryContinuation) -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryBodyWithSelectOrGroup :: TypedTerm QueryBody -> TypedTerm SelectOrGroupClause -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuation :: TypedTerm Identifier -> TypedTerm QueryBody -> TypedTerm QueryContinuation
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuationBody :: TypedTerm QueryContinuation -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuationInto :: TypedTerm QueryContinuation -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuationQueryContinuation :: TypedName QueryContinuation
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuationWithBody :: TypedTerm QueryContinuation -> TypedTerm QueryBody -> TypedTerm QueryContinuation
+ Hydra.Ext.Dsl.Csharp.Syntax: queryContinuationWithInto :: TypedTerm QueryContinuation -> TypedTerm Identifier -> TypedTerm QueryContinuation
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpression :: TypedTerm FromClause -> TypedTerm QueryBody -> TypedTerm QueryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpressionBody :: TypedTerm QueryExpression -> TypedTerm QueryBody
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpressionFrom :: TypedTerm QueryExpression -> TypedTerm FromClause
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpressionQueryExpression :: TypedName QueryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpressionWithBody :: TypedTerm QueryExpression -> TypedTerm QueryBody -> TypedTerm QueryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: queryExpressionWithFrom :: TypedTerm QueryExpression -> TypedTerm FromClause -> TypedTerm QueryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifier :: TypedTerm Int -> TypedTerm RankSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpression :: TypedTerm RankSpecifier -> TypedTerm ArrayInitializer -> TypedTerm RankSpecifierArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpressionInitializer :: TypedTerm RankSpecifierArrayCreationExpression -> TypedTerm ArrayInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpressionRankSpecifier :: TypedTerm RankSpecifierArrayCreationExpression -> TypedTerm RankSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpressionRankSpecifierArrayCreationExpression :: TypedName RankSpecifierArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpressionWithInitializer :: TypedTerm RankSpecifierArrayCreationExpression -> TypedTerm ArrayInitializer -> TypedTerm RankSpecifierArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierArrayCreationExpressionWithRankSpecifier :: TypedTerm RankSpecifierArrayCreationExpression -> TypedTerm RankSpecifier -> TypedTerm RankSpecifierArrayCreationExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: rankSpecifierRankSpecifier :: TypedName RankSpecifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refAccessorBodyBlock :: TypedTerm Block -> TypedTerm RefAccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refAccessorBodyEmpty :: TypedTerm RefAccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refAccessorBodyRef :: TypedTerm VariableReference -> TypedTerm RefAccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refAccessorBodyRefAccessorBody :: TypedName RefAccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpression :: TypedTerm NullCoalescingExpression -> TypedTerm VariableReference -> TypedTerm VariableReference -> TypedTerm RefConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionCondition :: TypedTerm RefConditionalExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionFalse :: TypedTerm RefConditionalExpression -> TypedTerm VariableReference
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionRefConditionalExpression :: TypedName RefConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionTrue :: TypedTerm RefConditionalExpression -> TypedTerm VariableReference
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionWithCondition :: TypedTerm RefConditionalExpression -> TypedTerm NullCoalescingExpression -> TypedTerm RefConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionWithFalse :: TypedTerm RefConditionalExpression -> TypedTerm VariableReference -> TypedTerm RefConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refConditionalExpressionWithTrue :: TypedTerm RefConditionalExpression -> TypedTerm VariableReference -> TypedTerm RefConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm (Maybe AccessorModifier) -> TypedTerm RefAccessorBody -> TypedTerm RefGetAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationAttributes :: TypedTerm RefGetAccessorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationBody :: TypedTerm RefGetAccessorDeclaration -> TypedTerm RefAccessorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationModifier :: TypedTerm RefGetAccessorDeclaration -> TypedTerm (Maybe AccessorModifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationRefGetAccessorDeclaration :: TypedName RefGetAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationWithAttributes :: TypedTerm RefGetAccessorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm RefGetAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationWithBody :: TypedTerm RefGetAccessorDeclaration -> TypedTerm RefAccessorBody -> TypedTerm RefGetAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refGetAccessorDeclarationWithModifier :: TypedTerm RefGetAccessorDeclaration -> TypedTerm (Maybe AccessorModifier) -> TypedTerm RefGetAccessorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerBodyBlock :: TypedTerm RefGetAccessorDeclaration -> TypedTerm RefIndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerBodyRef :: TypedTerm VariableReference -> TypedTerm RefIndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerBodyRefIndexerBody :: TypedName RefIndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [IndexerModifier] -> TypedTerm RefKind -> TypedTerm IndexerDeclarator -> TypedTerm RefIndexerBody -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationAttributes :: TypedTerm RefIndexerDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationBody :: TypedTerm RefIndexerDeclaration -> TypedTerm RefIndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationDeclarator :: TypedTerm RefIndexerDeclaration -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationModifiers :: TypedTerm RefIndexerDeclaration -> TypedTerm [IndexerModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationRefIndexerDeclaration :: TypedName RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationRefKind :: TypedTerm RefIndexerDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationWithAttributes :: TypedTerm RefIndexerDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationWithBody :: TypedTerm RefIndexerDeclaration -> TypedTerm RefIndexerBody -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationWithDeclarator :: TypedTerm RefIndexerDeclaration -> TypedTerm IndexerDeclarator -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationWithModifiers :: TypedTerm RefIndexerDeclaration -> TypedTerm [IndexerModifier] -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refIndexerDeclarationWithRefKind :: TypedTerm RefIndexerDeclaration -> TypedTerm RefKind -> TypedTerm RefIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refKindRef :: TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refKindRefKind :: TypedName RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refKindRefReadonly :: TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionBodyBlock :: TypedTerm Block -> TypedTerm RefLocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionBodyRef :: TypedTerm VariableReference -> TypedTerm RefLocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionBodyRefLocalFunctionBody :: TypedName RefLocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclaration :: TypedTerm [RefLocalFunctionModifier] -> TypedTerm RefKind -> TypedTerm Type -> TypedTerm LocalFunctionHeader -> TypedTerm RefLocalFunctionBody -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationBody :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm RefLocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationHeader :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationModifiers :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm [RefLocalFunctionModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationRefKind :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationRefLocalFunctionDeclaration :: TypedName RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationReturnType :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationWithBody :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm RefLocalFunctionBody -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationWithHeader :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm LocalFunctionHeader -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationWithModifiers :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm [RefLocalFunctionModifier] -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationWithRefKind :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm RefKind -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionDeclarationWithReturnType :: TypedTerm RefLocalFunctionDeclaration -> TypedTerm Type -> TypedTerm RefLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionModifierRefLocalFunctionModifier :: TypedName RefLocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionModifierStatic :: TypedTerm RefLocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalFunctionModifierUnsafe :: TypedTerm RefLocalFunctionModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaration :: TypedTerm RefKind -> TypedTerm Type -> TypedTerm [RefLocalVariableDeclarator] -> TypedTerm RefLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationDeclarators :: TypedTerm RefLocalVariableDeclaration -> TypedTerm [RefLocalVariableDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationRefKind :: TypedTerm RefLocalVariableDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationRefLocalVariableDeclaration :: TypedName RefLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationType :: TypedTerm RefLocalVariableDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationWithDeclarators :: TypedTerm RefLocalVariableDeclaration -> TypedTerm [RefLocalVariableDeclarator] -> TypedTerm RefLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationWithRefKind :: TypedTerm RefLocalVariableDeclaration -> TypedTerm RefKind -> TypedTerm RefLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarationWithType :: TypedTerm RefLocalVariableDeclaration -> TypedTerm Type -> TypedTerm RefLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclarator :: TypedTerm Identifier -> TypedTerm VariableReference -> TypedTerm RefLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaratorLeft :: TypedTerm RefLocalVariableDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaratorRefLocalVariableDeclarator :: TypedName RefLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaratorRight :: TypedTerm RefLocalVariableDeclarator -> TypedTerm VariableReference
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaratorWithLeft :: TypedTerm RefLocalVariableDeclarator -> TypedTerm Identifier -> TypedTerm RefLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refLocalVariableDeclaratorWithRight :: TypedTerm RefLocalVariableDeclarator -> TypedTerm VariableReference -> TypedTerm RefLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodBodyBlock :: TypedTerm Block -> TypedTerm RefMethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodBodyEmpty :: TypedTerm RefMethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodBodyRef :: TypedTerm VariableReference -> TypedTerm RefMethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodBodyRefMethodBody :: TypedName RefMethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierAbstract :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierExtern :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierInternal :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierNew :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierOverride :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierPrivate :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierProtected :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierPublic :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierRefMethodModifier :: TypedName RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierSealed :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierStatic :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierUnsafe :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refMethodModifierVirtual :: TypedTerm RefMethodModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: refPropertyBodyBlock :: TypedTerm RefGetAccessorDeclaration -> TypedTerm RefPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refPropertyBodyRef :: TypedTerm VariableReference -> TypedTerm RefPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refPropertyBodyRefPropertyBody :: TypedName RefPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [RefMethodModifier] -> TypedTerm RefKind -> TypedTerm ReturnType -> TypedTerm MethodHeader -> TypedTerm RefMethodBody -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationAttributes :: TypedTerm RefReturnMethodDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationBody :: TypedTerm RefReturnMethodDeclaration -> TypedTerm RefMethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationHeader :: TypedTerm RefReturnMethodDeclaration -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationKind :: TypedTerm RefReturnMethodDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationModifiers :: TypedTerm RefReturnMethodDeclaration -> TypedTerm [RefMethodModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationRefReturnMethodDeclaration :: TypedName RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationReturnType :: TypedTerm RefReturnMethodDeclaration -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithAttributes :: TypedTerm RefReturnMethodDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithBody :: TypedTerm RefReturnMethodDeclaration -> TypedTerm RefMethodBody -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithHeader :: TypedTerm RefReturnMethodDeclaration -> TypedTerm MethodHeader -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithKind :: TypedTerm RefReturnMethodDeclaration -> TypedTerm RefKind -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithModifiers :: TypedTerm RefReturnMethodDeclaration -> TypedTerm [RefMethodModifier] -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnMethodDeclarationWithReturnType :: TypedTerm RefReturnMethodDeclaration -> TypedTerm ReturnType -> TypedTerm RefReturnMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [PropertyModifier] -> TypedTerm RefKind -> TypedTerm Type -> TypedTerm MemberName -> TypedTerm RefPropertyBody -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationAttributes :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationBody :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm RefPropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationModifiers :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm [PropertyModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationName :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationRefKind :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationRefReturnPropertyDeclaration :: TypedName RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationType :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithAttributes :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithBody :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm RefPropertyBody -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithModifiers :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm [PropertyModifier] -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithName :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm MemberName -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithRefKind :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm RefKind -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refReturnPropertyDeclarationWithType :: TypedTerm RefReturnPropertyDeclaration -> TypedTerm Type -> TypedTerm RefReturnPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclaration :: TypedTerm RefKind -> TypedTerm RefLocalVariableDeclarator -> TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclarationDeclarator :: TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration -> TypedTerm RefLocalVariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclarationRefKind :: TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration -> TypedTerm RefKind
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclarationRefVarImplicitlyTypedLocalVariableDeclaration :: TypedName RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclarationWithDeclarator :: TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration -> TypedTerm RefLocalVariableDeclarator -> TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: refVarImplicitlyTypedLocalVariableDeclarationWithRefKind :: TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration -> TypedTerm RefKind -> TypedTerm RefVarImplicitlyTypedLocalVariableDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeArray :: TypedTerm ArrayType -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeClass :: TypedTerm ClassType -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeDelegate :: TypedTerm DelegateType -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeDynamic :: TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeInterface :: TypedTerm InterfaceType -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: referenceTypeReferenceType :: TypedName ReferenceType
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolation :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe String) -> TypedTerm RegularInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationExpression :: TypedTerm RegularInterpolation -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationFormat :: TypedTerm RegularInterpolation -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationRegularInterpolation :: TypedName RegularInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationWidth :: TypedTerm RegularInterpolation -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationWithExpression :: TypedTerm RegularInterpolation -> TypedTerm Expression -> TypedTerm RegularInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationWithFormat :: TypedTerm RegularInterpolation -> TypedTerm (Maybe String) -> TypedTerm RegularInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: regularInterpolationWithWidth :: TypedTerm RegularInterpolation -> TypedTerm (Maybe Expression) -> TypedTerm RegularInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionAsType :: TypedTerm AsTypeExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionBinary :: TypedTerm BinaryRelationalExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionIsPattern :: TypedTerm IsPatternExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionIsType :: TypedTerm IsTypeExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionRelationalExpression :: TypedName RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalExpressionSimple :: TypedTerm ShiftExpression -> TypedTerm RelationalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalOperatorGreaterThan :: TypedTerm RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalOperatorGreaterThanOrEqual :: TypedTerm RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalOperatorLessThan :: TypedTerm RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalOperatorLessThanOrEqual :: TypedTerm RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: relationalOperatorRelationalOperator :: TypedName RelationalOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: resourceAcquisitionExpression :: TypedTerm Expression -> TypedTerm ResourceAcquisition
+ Hydra.Ext.Dsl.Csharp.Syntax: resourceAcquisitionLocal :: TypedTerm LocalVariableDeclaration -> TypedTerm ResourceAcquisition
+ Hydra.Ext.Dsl.Csharp.Syntax: resourceAcquisitionResourceAcquisition :: TypedName ResourceAcquisition
+ Hydra.Ext.Dsl.Csharp.Syntax: returnStatementRef :: TypedTerm VariableReference -> TypedTerm ReturnStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: returnStatementReturnStatement :: TypedName ReturnStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: returnStatementSimple :: TypedTerm ReturnStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: returnStatementValue :: TypedTerm Expression -> TypedTerm ReturnStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: returnTypeRef :: TypedTerm Type -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: returnTypeReturnType :: TypedName ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: returnTypeVoid :: TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: secondaryConstraintInterface :: TypedTerm InterfaceType -> TypedTerm SecondaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: secondaryConstraintParameter :: TypedTerm TypeParameter -> TypedTerm SecondaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: secondaryConstraintSecondaryConstraint :: TypedName SecondaryConstraint
+ Hydra.Ext.Dsl.Csharp.Syntax: secondaryConstraints :: TypedTerm [SecondaryConstraint] -> TypedTerm SecondaryConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: secondaryConstraintsSecondaryConstraints :: TypedName SecondaryConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: selectOrGroupClauseGroup :: TypedTerm GroupClause -> TypedTerm SelectOrGroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: selectOrGroupClauseSelect :: TypedTerm Expression -> TypedTerm SelectOrGroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: selectOrGroupClauseSelectOrGroupClause :: TypedName SelectOrGroupClause
+ Hydra.Ext.Dsl.Csharp.Syntax: selectionStatementIf :: TypedTerm IfStatement -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: selectionStatementSelectionStatement :: TypedName SelectionStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: selectionStatementSwitch :: TypedTerm SwitchStatement -> TypedTerm SelectionStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftExpressionBinary :: TypedTerm BinaryShiftExpression -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftExpressionSimple :: TypedTerm AdditiveExpression -> TypedTerm ShiftExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftOperatorLeft :: TypedTerm ShiftOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftOperatorRight :: TypedTerm ShiftOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: shiftOperatorShiftOperator :: TypedName ShiftOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpression :: TypedTerm NullCoalescingExpression -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm SimpleConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionCondition :: TypedTerm SimpleConditionalExpression -> TypedTerm NullCoalescingExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionFalse :: TypedTerm SimpleConditionalExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionSimpleConditionalExpression :: TypedName SimpleConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionTrue :: TypedTerm SimpleConditionalExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionWithCondition :: TypedTerm SimpleConditionalExpression -> TypedTerm NullCoalescingExpression -> TypedTerm SimpleConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionWithFalse :: TypedTerm SimpleConditionalExpression -> TypedTerm Expression -> TypedTerm SimpleConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleConditionalExpressionWithTrue :: TypedTerm SimpleConditionalExpression -> TypedTerm Expression -> TypedTerm SimpleConditionalExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleName :: TypedTerm Identifier -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm SimpleName
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleNameIdentifier :: TypedTerm SimpleName -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleNameSimpleName :: TypedName SimpleName
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleNameTypeArguments :: TypedTerm SimpleName -> TypedTerm (Maybe TypeArgumentList)
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleNameWithIdentifier :: TypedTerm SimpleName -> TypedTerm Identifier -> TypedTerm SimpleName
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleNameWithTypeArguments :: TypedTerm SimpleName -> TypedTerm (Maybe TypeArgumentList) -> TypedTerm SimpleName
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleTypeBool :: TypedTerm SimpleType
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleTypeNumeric :: TypedTerm NumericType -> TypedTerm SimpleType
+ Hydra.Ext.Dsl.Csharp.Syntax: simpleTypeSimpleType :: TypedName SimpleType
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClause :: TypedTerm (Maybe ExceptionSpecifier) -> TypedTerm (Maybe BooleanExpression) -> TypedTerm Block -> TypedTerm SpecificCatchClause
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseBody :: TypedTerm SpecificCatchClause -> TypedTerm Block
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseFilter :: TypedTerm SpecificCatchClause -> TypedTerm (Maybe BooleanExpression)
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseSpecificCatchClause :: TypedName SpecificCatchClause
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseSpecifier :: TypedTerm SpecificCatchClause -> TypedTerm (Maybe ExceptionSpecifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseWithBody :: TypedTerm SpecificCatchClause -> TypedTerm Block -> TypedTerm SpecificCatchClause
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseWithFilter :: TypedTerm SpecificCatchClause -> TypedTerm (Maybe BooleanExpression) -> TypedTerm SpecificCatchClause
+ Hydra.Ext.Dsl.Csharp.Syntax: specificCatchClauseWithSpecifier :: TypedTerm SpecificCatchClause -> TypedTerm (Maybe ExceptionSpecifier) -> TypedTerm SpecificCatchClause
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpression :: TypedTerm (Maybe UnmanagedType) -> TypedTerm (Maybe ConstantExpression) -> TypedTerm [Expression] -> TypedTerm StackallocExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionExpression :: TypedTerm StackallocExpression -> TypedTerm (Maybe ConstantExpression)
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionInitializer :: TypedTerm StackallocExpression -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionStackallocExpression :: TypedName StackallocExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionType :: TypedTerm StackallocExpression -> TypedTerm (Maybe UnmanagedType)
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionWithExpression :: TypedTerm StackallocExpression -> TypedTerm (Maybe ConstantExpression) -> TypedTerm StackallocExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionWithInitializer :: TypedTerm StackallocExpression -> TypedTerm [Expression] -> TypedTerm StackallocExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: stackallocExpressionWithType :: TypedTerm StackallocExpression -> TypedTerm (Maybe UnmanagedType) -> TypedTerm StackallocExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [EventModifier] -> TypedTerm Type -> TypedTerm VariableDeclarators -> TypedTerm StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationAttributes :: TypedTerm StandardEventDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationDeclarators :: TypedTerm StandardEventDeclaration -> TypedTerm VariableDeclarators
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationModifiers :: TypedTerm StandardEventDeclaration -> TypedTerm [EventModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationStandardEventDeclaration :: TypedName StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationType :: TypedTerm StandardEventDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationWithAttributes :: TypedTerm StandardEventDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationWithDeclarators :: TypedTerm StandardEventDeclaration -> TypedTerm VariableDeclarators -> TypedTerm StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationWithModifiers :: TypedTerm StandardEventDeclaration -> TypedTerm [EventModifier] -> TypedTerm StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardEventDeclarationWithType :: TypedTerm StandardEventDeclaration -> TypedTerm Type -> TypedTerm StandardEventDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [IndexerModifier] -> TypedTerm IndexerDeclarator -> TypedTerm IndexerBody -> TypedTerm StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationAttributes :: TypedTerm StandardIndexerDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationBody :: TypedTerm StandardIndexerDeclaration -> TypedTerm IndexerBody
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationDeclarator :: TypedTerm StandardIndexerDeclaration -> TypedTerm IndexerDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationModifiers :: TypedTerm StandardIndexerDeclaration -> TypedTerm [IndexerModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationStandardIndexerDeclaration :: TypedName StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationWithAttributes :: TypedTerm StandardIndexerDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationWithBody :: TypedTerm StandardIndexerDeclaration -> TypedTerm IndexerBody -> TypedTerm StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationWithDeclarator :: TypedTerm StandardIndexerDeclaration -> TypedTerm IndexerDeclarator -> TypedTerm StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardIndexerDeclarationWithModifiers :: TypedTerm StandardIndexerDeclaration -> TypedTerm [IndexerModifier] -> TypedTerm StandardIndexerDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclaration :: TypedTerm [LocalFunctionModifier] -> TypedTerm ReturnType -> TypedTerm LocalFunctionHeader -> TypedTerm LocalFunctionBody -> TypedTerm StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationBody :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm LocalFunctionBody
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationHeader :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm LocalFunctionHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationModifiers :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm [LocalFunctionModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationReturnType :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationStandardLocalFunctionDeclaration :: TypedName StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationWithBody :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm LocalFunctionBody -> TypedTerm StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationWithHeader :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm LocalFunctionHeader -> TypedTerm StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationWithModifiers :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm [LocalFunctionModifier] -> TypedTerm StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardLocalFunctionDeclarationWithReturnType :: TypedTerm StandardLocalFunctionDeclaration -> TypedTerm ReturnType -> TypedTerm StandardLocalFunctionDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [MethodModifier] -> TypedTerm ReturnType -> TypedTerm MethodHeader -> TypedTerm MethodBody -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationAttributes :: TypedTerm StandardMethodDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationBody :: TypedTerm StandardMethodDeclaration -> TypedTerm MethodBody
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationHeader :: TypedTerm StandardMethodDeclaration -> TypedTerm MethodHeader
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationModifiers :: TypedTerm StandardMethodDeclaration -> TypedTerm [MethodModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationReturnType :: TypedTerm StandardMethodDeclaration -> TypedTerm ReturnType
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationStandardMethodDeclaration :: TypedName StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationWithAttributes :: TypedTerm StandardMethodDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationWithBody :: TypedTerm StandardMethodDeclaration -> TypedTerm MethodBody -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationWithHeader :: TypedTerm StandardMethodDeclaration -> TypedTerm MethodHeader -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationWithModifiers :: TypedTerm StandardMethodDeclaration -> TypedTerm [MethodModifier] -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardMethodDeclarationWithReturnType :: TypedTerm StandardMethodDeclaration -> TypedTerm ReturnType -> TypedTerm StandardMethodDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [PropertyModifier] -> TypedTerm Type -> TypedTerm MemberName -> TypedTerm PropertyBody -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationAttributes :: TypedTerm StandardPropertyDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationBody :: TypedTerm StandardPropertyDeclaration -> TypedTerm PropertyBody
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationModifiers :: TypedTerm StandardPropertyDeclaration -> TypedTerm [PropertyModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationName :: TypedTerm StandardPropertyDeclaration -> TypedTerm MemberName
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationStandardPropertyDeclaration :: TypedName StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationType :: TypedTerm StandardPropertyDeclaration -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationWithAttributes :: TypedTerm StandardPropertyDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationWithBody :: TypedTerm StandardPropertyDeclaration -> TypedTerm PropertyBody -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationWithModifiers :: TypedTerm StandardPropertyDeclaration -> TypedTerm [PropertyModifier] -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationWithName :: TypedTerm StandardPropertyDeclaration -> TypedTerm MemberName -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: standardPropertyDeclarationWithType :: TypedTerm StandardPropertyDeclaration -> TypedTerm Type -> TypedTerm StandardPropertyDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: statementDeclaration :: TypedTerm DeclarationStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Csharp.Syntax: statementEmbedded :: TypedTerm EmbeddedStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionAssignment :: TypedTerm Assignment -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionAwait :: TypedTerm UnaryExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionInvocation :: TypedTerm InvocationExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionList :: TypedTerm [StatementExpression] -> TypedTerm StatementExpressionList
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionListStatementExpressionList :: TypedName StatementExpressionList
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionNullConditionalInvocation :: TypedTerm NullConditionalInvocationExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionObjectCreation :: TypedTerm ObjectCreationExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionPostDecrement :: TypedTerm PrimaryExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionPostIncrement :: TypedTerm PrimaryExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionPreDecrement :: TypedTerm UnaryExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionPreIncrement :: TypedTerm UnaryExpression -> TypedTerm StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementExpressionStatementExpression :: TypedName StatementExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: statementLabeled :: TypedTerm LabeledStatement -> TypedTerm Statement
+ Hydra.Ext.Dsl.Csharp.Syntax: statementStatement :: TypedName Statement
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorBodyBlock :: TypedTerm Block -> TypedTerm StaticConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorBodyEmpty :: TypedTerm StaticConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorBodyExpression :: TypedTerm Expression -> TypedTerm StaticConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorBodyStaticConstructorBody :: TypedName StaticConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm StaticConstructorModifiers -> TypedTerm Identifier -> TypedTerm StaticConstructorBody -> TypedTerm StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationAttributes :: TypedTerm StaticConstructorDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationBody :: TypedTerm StaticConstructorDeclaration -> TypedTerm StaticConstructorBody
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationModifiers :: TypedTerm StaticConstructorDeclaration -> TypedTerm StaticConstructorModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationName :: TypedTerm StaticConstructorDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationStaticConstructorDeclaration :: TypedName StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationWithAttributes :: TypedTerm StaticConstructorDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationWithBody :: TypedTerm StaticConstructorDeclaration -> TypedTerm StaticConstructorBody -> TypedTerm StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationWithModifiers :: TypedTerm StaticConstructorDeclaration -> TypedTerm StaticConstructorModifiers -> TypedTerm StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorDeclarationWithName :: TypedTerm StaticConstructorDeclaration -> TypedTerm Identifier -> TypedTerm StaticConstructorDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiers :: TypedTerm Bool -> TypedTerm Bool -> TypedTerm StaticConstructorModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiersExtern :: TypedTerm StaticConstructorModifiers -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiersStaticConstructorModifiers :: TypedName StaticConstructorModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiersUnsafe :: TypedTerm StaticConstructorModifiers -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiersWithExtern :: TypedTerm StaticConstructorModifiers -> TypedTerm Bool -> TypedTerm StaticConstructorModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: staticConstructorModifiersWithUnsafe :: TypedTerm StaticConstructorModifiers -> TypedTerm Bool -> TypedTerm StaticConstructorModifiers
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclaration :: TypedTerm (Maybe Attributes) -> TypedTerm [StructModifier] -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Identifier -> TypedTerm (Maybe TypeParameterList) -> TypedTerm [InterfaceType] -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm [StructMemberDeclaration] -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationAttributes :: TypedTerm StructDeclaration -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationBody :: TypedTerm StructDeclaration -> TypedTerm [StructMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationConstraints :: TypedTerm StructDeclaration -> TypedTerm [TypeParameterConstraintsClause]
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationInterfaces :: TypedTerm StructDeclaration -> TypedTerm [InterfaceType]
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationModifiers :: TypedTerm StructDeclaration -> TypedTerm [StructModifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationName :: TypedTerm StructDeclaration -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationParameters :: TypedTerm StructDeclaration -> TypedTerm (Maybe TypeParameterList)
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationPartial :: TypedTerm StructDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationRef :: TypedTerm StructDeclaration -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationStructDeclaration :: TypedName StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithAttributes :: TypedTerm StructDeclaration -> TypedTerm (Maybe Attributes) -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithBody :: TypedTerm StructDeclaration -> TypedTerm [StructMemberDeclaration] -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithConstraints :: TypedTerm StructDeclaration -> TypedTerm [TypeParameterConstraintsClause] -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithInterfaces :: TypedTerm StructDeclaration -> TypedTerm [InterfaceType] -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithModifiers :: TypedTerm StructDeclaration -> TypedTerm [StructModifier] -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithName :: TypedTerm StructDeclaration -> TypedTerm Identifier -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithParameters :: TypedTerm StructDeclaration -> TypedTerm (Maybe TypeParameterList) -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithPartial :: TypedTerm StructDeclaration -> TypedTerm Bool -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structDeclarationWithRef :: TypedTerm StructDeclaration -> TypedTerm Bool -> TypedTerm StructDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationConstant :: TypedTerm ConstantDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationConstructor :: TypedTerm ConstructorDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationEvent :: TypedTerm EventDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationField :: TypedTerm FieldDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationFixedSizeBuffer :: TypedTerm FixedSizeBufferDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationIndexer :: TypedTerm IndexerDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationMethod :: TypedTerm MethodDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationOperator :: TypedTerm OperatorDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationProperty :: TypedTerm PropertyDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationStaticConstructor :: TypedTerm StaticConstructorDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationStructMemberDeclaration :: TypedName StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structMemberDeclarationType :: TypedTerm TypeDeclaration -> TypedTerm StructMemberDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierInternal :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierNew :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierPrivate :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierProtected :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierPublic :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierReadonly :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierStructModifier :: TypedName StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structModifierUnsafe :: TypedTerm StructModifier
+ Hydra.Ext.Dsl.Csharp.Syntax: structOrEnumTypeEnum :: TypedTerm EnumType -> TypedTerm StructOrEnumType
+ Hydra.Ext.Dsl.Csharp.Syntax: structOrEnumTypeStruct :: TypedTerm StructType -> TypedTerm StructOrEnumType
+ Hydra.Ext.Dsl.Csharp.Syntax: structOrEnumTypeStructOrEnumType :: TypedName StructOrEnumType
+ Hydra.Ext.Dsl.Csharp.Syntax: structTypeSimple :: TypedTerm SimpleType -> TypedTerm StructType
+ Hydra.Ext.Dsl.Csharp.Syntax: structTypeStructType :: TypedName StructType
+ Hydra.Ext.Dsl.Csharp.Syntax: structTypeTuple :: TypedTerm TupleType -> TypedTerm StructType
+ Hydra.Ext.Dsl.Csharp.Syntax: structTypeTypeName :: TypedTerm TypeName -> TypedTerm StructType
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranch :: TypedTerm Pattern -> TypedTerm (Maybe Expression) -> TypedTerm SwitchBranch
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranchGuard :: TypedTerm SwitchBranch -> TypedTerm (Maybe Expression)
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranchPattern :: TypedTerm SwitchBranch -> TypedTerm Pattern
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranchSwitchBranch :: TypedName SwitchBranch
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranchWithGuard :: TypedTerm SwitchBranch -> TypedTerm (Maybe Expression) -> TypedTerm SwitchBranch
+ Hydra.Ext.Dsl.Csharp.Syntax: switchBranchWithPattern :: TypedTerm SwitchBranch -> TypedTerm Pattern -> TypedTerm SwitchBranch
+ Hydra.Ext.Dsl.Csharp.Syntax: switchLabelBranch :: TypedTerm SwitchBranch -> TypedTerm SwitchLabel
+ Hydra.Ext.Dsl.Csharp.Syntax: switchLabelDefault :: TypedTerm SwitchLabel
+ Hydra.Ext.Dsl.Csharp.Syntax: switchLabelSwitchLabel :: TypedName SwitchLabel
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSection :: TypedTerm [SwitchLabel] -> TypedTerm [Statement] -> TypedTerm SwitchSection
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSectionLabels :: TypedTerm SwitchSection -> TypedTerm [SwitchLabel]
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSectionStatements :: TypedTerm SwitchSection -> TypedTerm [Statement]
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSectionSwitchSection :: TypedName SwitchSection
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSectionWithLabels :: TypedTerm SwitchSection -> TypedTerm [SwitchLabel] -> TypedTerm SwitchSection
+ Hydra.Ext.Dsl.Csharp.Syntax: switchSectionWithStatements :: TypedTerm SwitchSection -> TypedTerm [Statement] -> TypedTerm SwitchSection
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatement :: TypedTerm Expression -> TypedTerm [SwitchSection] -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatementBranches :: TypedTerm SwitchStatement -> TypedTerm [SwitchSection]
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatementExpression :: TypedTerm SwitchStatement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatementSwitchStatement :: TypedName SwitchStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatementWithBranches :: TypedTerm SwitchStatement -> TypedTerm [SwitchSection] -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: switchStatementWithExpression :: TypedTerm SwitchStatement -> TypedTerm Expression -> TypedTerm SwitchStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatement :: TypedTerm Block -> TypedTerm CatchClauses -> TypedTerm (Maybe Block) -> TypedTerm TryStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementBody :: TypedTerm TryStatement -> TypedTerm Block
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementCatches :: TypedTerm TryStatement -> TypedTerm CatchClauses
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementFinally :: TypedTerm TryStatement -> TypedTerm (Maybe Block)
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementTryStatement :: TypedName TryStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementWithBody :: TypedTerm TryStatement -> TypedTerm Block -> TypedTerm TryStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementWithCatches :: TypedTerm TryStatement -> TypedTerm CatchClauses -> TypedTerm TryStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tryStatementWithFinally :: TypedTerm TryStatement -> TypedTerm (Maybe Block) -> TypedTerm TryStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElement :: TypedTerm (Maybe Identifier) -> TypedTerm Expression -> TypedTerm TupleElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElementExpression :: TypedTerm TupleElement -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElementName :: TypedTerm TupleElement -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElementTupleElement :: TypedName TupleElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElementWithExpression :: TypedTerm TupleElement -> TypedTerm Expression -> TypedTerm TupleElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleElementWithName :: TypedTerm TupleElement -> TypedTerm (Maybe Identifier) -> TypedTerm TupleElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleExpressionDeconstruction :: TypedTerm DeconstructionTuple -> TypedTerm TupleExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleExpressionElements :: TypedTerm [TupleElement] -> TypedTerm TupleExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleExpressionTupleExpression :: TypedName TupleExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleType :: TypedTerm [TupleTypeElement] -> TypedTerm TupleType
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElement :: TypedTerm Type -> TypedTerm (Maybe Identifier) -> TypedTerm TupleTypeElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElementIdentifier :: TypedTerm TupleTypeElement -> TypedTerm (Maybe Identifier)
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElementTupleTypeElement :: TypedName TupleTypeElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElementType :: TypedTerm TupleTypeElement -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElementWithIdentifier :: TypedTerm TupleTypeElement -> TypedTerm (Maybe Identifier) -> TypedTerm TupleTypeElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeElementWithType :: TypedTerm TupleTypeElement -> TypedTerm Type -> TypedTerm TupleTypeElement
+ Hydra.Ext.Dsl.Csharp.Syntax: tupleTypeTupleType :: TypedName TupleType
+ Hydra.Ext.Dsl.Csharp.Syntax: typeArgumentList :: TypedTerm [Type] -> TypedTerm TypeArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: typeArgumentListTypeArgumentList :: TypedName TypeArgumentList
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationClass :: TypedTerm ClassDeclaration -> TypedTerm TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationDelegate :: TypedTerm DelegateDeclaration -> TypedTerm TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationEnum :: TypedTerm EnumDeclaration -> TypedTerm TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationInterface :: TypedTerm InterfaceDeclaration -> TypedTerm TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationStruct :: TypedTerm StructDeclaration -> TypedTerm TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeDeclarationTypeDeclaration :: TypedName TypeDeclaration
+ Hydra.Ext.Dsl.Csharp.Syntax: typeName :: TypedTerm NamespaceOrTypeName -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: typeNameTypeName :: TypedName TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParam :: TypedTerm TypeParameter -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameter :: TypedTerm Identifier -> TypedTerm TypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraints :: TypedTerm (Maybe PrimaryConstraint) -> TypedTerm (Maybe SecondaryConstraints) -> TypedTerm Bool -> TypedTerm TypeParameterConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClause :: TypedTerm TypeParameter -> TypedTerm [TypeParameterConstraints] -> TypedTerm TypeParameterConstraintsClause
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClauseConstraints :: TypedTerm TypeParameterConstraintsClause -> TypedTerm [TypeParameterConstraints]
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClauseParameter :: TypedTerm TypeParameterConstraintsClause -> TypedTerm TypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClauseTypeParameterConstraintsClause :: TypedName TypeParameterConstraintsClause
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClauseWithConstraints :: TypedTerm TypeParameterConstraintsClause -> TypedTerm [TypeParameterConstraints] -> TypedTerm TypeParameterConstraintsClause
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsClauseWithParameter :: TypedTerm TypeParameterConstraintsClause -> TypedTerm TypeParameter -> TypedTerm TypeParameterConstraintsClause
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsConstructor :: TypedTerm TypeParameterConstraints -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsPrimary :: TypedTerm TypeParameterConstraints -> TypedTerm (Maybe PrimaryConstraint)
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsSecondary :: TypedTerm TypeParameterConstraints -> TypedTerm (Maybe SecondaryConstraints)
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsTypeParameterConstraints :: TypedName TypeParameterConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsWithConstructor :: TypedTerm TypeParameterConstraints -> TypedTerm Bool -> TypedTerm TypeParameterConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsWithPrimary :: TypedTerm TypeParameterConstraints -> TypedTerm (Maybe PrimaryConstraint) -> TypedTerm TypeParameterConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterConstraintsWithSecondary :: TypedTerm TypeParameterConstraints -> TypedTerm (Maybe SecondaryConstraints) -> TypedTerm TypeParameterConstraints
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterList :: TypedTerm [TypeParameterPart] -> TypedTerm TypeParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterListTypeParameterList :: TypedName TypeParameterList
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPart :: TypedTerm (Maybe Attributes) -> TypedTerm TypeParameter -> TypedTerm TypeParameterPart
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPartAttributes :: TypedTerm TypeParameterPart -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPartName :: TypedTerm TypeParameterPart -> TypedTerm TypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPartTypeParameterPart :: TypedName TypeParameterPart
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPartWithAttributes :: TypedTerm TypeParameterPart -> TypedTerm (Maybe Attributes) -> TypedTerm TypeParameterPart
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterPartWithName :: TypedTerm TypeParameterPart -> TypedTerm TypeParameter -> TypedTerm TypeParameterPart
+ Hydra.Ext.Dsl.Csharp.Syntax: typeParameterTypeParameter :: TypedName TypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: typePointer :: TypedTerm PointerType -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: typeReference :: TypedTerm ReferenceType -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: typeType :: TypedName Type
+ Hydra.Ext.Dsl.Csharp.Syntax: typeValue :: TypedTerm ValueType -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: typeofExpressionType :: TypedTerm Type -> TypedTerm TypeofExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: typeofExpressionTypeofExpression :: TypedName TypeofExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: typeofExpressionUnboundTypeName :: TypedTerm UnboundTypeName -> TypedTerm TypeofExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: typeofExpressionVoid :: TypedTerm TypeofExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unArgumentList :: TypedTerm ArgumentList -> TypedTerm [Argument]
+ Hydra.Ext.Dsl.Csharp.Syntax: unArrayInitializer :: TypedTerm ArrayInitializer -> TypedTerm [VariableInitializer]
+ Hydra.Ext.Dsl.Csharp.Syntax: unAttributeArgumentExpression :: TypedTerm AttributeArgumentExpression -> TypedTerm NonAssignmentExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unAttributeList :: TypedTerm AttributeList -> TypedTerm [Attribute]
+ Hydra.Ext.Dsl.Csharp.Syntax: unAttributeName :: TypedTerm AttributeName -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unAttributes :: TypedTerm Attributes -> TypedTerm [AttributeSection]
+ Hydra.Ext.Dsl.Csharp.Syntax: unBlock :: TypedTerm Block -> TypedTerm [Statement]
+ Hydra.Ext.Dsl.Csharp.Syntax: unBooleanExpression :: TypedTerm BooleanExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: unClassBody :: TypedTerm ClassBody -> TypedTerm [ClassMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: unConstantExpression :: TypedTerm ConstantExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: unDeconstructionTuple :: TypedTerm DeconstructionTuple -> TypedTerm [DeconstructionElement]
+ Hydra.Ext.Dsl.Csharp.Syntax: unDelegateType :: TypedTerm DelegateType -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unDesignation :: TypedTerm Designation -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: unEnumBody :: TypedTerm EnumBody -> TypedTerm [EnumMemberDeclaration]
+ Hydra.Ext.Dsl.Csharp.Syntax: unEnumType :: TypedTerm EnumType -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unExpressionList :: TypedTerm ExpressionList -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Csharp.Syntax: unExternAliasDirective :: TypedTerm ExternAliasDirective -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: unIdentifier :: TypedTerm Identifier -> TypedTerm String
+ Hydra.Ext.Dsl.Csharp.Syntax: unInterfaceType :: TypedTerm InterfaceType -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unInterpolatedRegularStringExpression :: TypedTerm InterpolatedRegularStringExpression -> TypedTerm String
+ Hydra.Ext.Dsl.Csharp.Syntax: unInterpolatedVerbatimStringExpression :: TypedTerm InterpolatedVerbatimStringExpression -> TypedTerm String
+ Hydra.Ext.Dsl.Csharp.Syntax: unKeyword :: TypedTerm Keyword -> TypedTerm String
+ Hydra.Ext.Dsl.Csharp.Syntax: unMemberDeclaratorList :: TypedTerm MemberDeclaratorList -> TypedTerm [MemberDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: unNamedArgumentList :: TypedTerm NamedArgumentList -> TypedTerm [NamedArgument]
+ Hydra.Ext.Dsl.Csharp.Syntax: unNamespaceName :: TypedTerm NamespaceName -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unPositionalArgumentList :: TypedTerm PositionalArgumentList -> TypedTerm [PositionalArgument]
+ Hydra.Ext.Dsl.Csharp.Syntax: unQualifiedIdentifier :: TypedTerm QualifiedIdentifier -> TypedTerm [Identifier]
+ Hydra.Ext.Dsl.Csharp.Syntax: unRankSpecifier :: TypedTerm RankSpecifier -> TypedTerm Int
+ Hydra.Ext.Dsl.Csharp.Syntax: unSecondaryConstraints :: TypedTerm SecondaryConstraints -> TypedTerm [SecondaryConstraint]
+ Hydra.Ext.Dsl.Csharp.Syntax: unStatementExpressionList :: TypedTerm StatementExpressionList -> TypedTerm [StatementExpression]
+ Hydra.Ext.Dsl.Csharp.Syntax: unTupleType :: TypedTerm TupleType -> TypedTerm [TupleTypeElement]
+ Hydra.Ext.Dsl.Csharp.Syntax: unTypeArgumentList :: TypedTerm TypeArgumentList -> TypedTerm [Type]
+ Hydra.Ext.Dsl.Csharp.Syntax: unTypeName :: TypedTerm TypeName -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unTypeParameter :: TypedTerm TypeParameter -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: unTypeParameterList :: TypedTerm TypeParameterList -> TypedTerm [TypeParameterPart]
+ Hydra.Ext.Dsl.Csharp.Syntax: unUnboundTypeName :: TypedTerm UnboundTypeName -> TypedTerm [UnboundTypeNamePart]
+ Hydra.Ext.Dsl.Csharp.Syntax: unVariableDeclarators :: TypedTerm VariableDeclarators -> TypedTerm [VariableDeclarator]
+ Hydra.Ext.Dsl.Csharp.Syntax: unVariableReference :: TypedTerm VariableReference -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: unVariantTypeParameters :: TypedTerm VariantTypeParameters -> TypedTerm [VariantTypeParameter]
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionAddressOf :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionAwait :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionBitwiseComplement :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionCast :: TypedTerm CastExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionMinus :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionNot :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionPlus :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionPointerIndirection :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionPreDecrement :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionPreIncrement :: TypedTerm UnaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionPrimary :: TypedTerm PrimaryExpression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryExpressionUnaryExpression :: TypedName UnaryExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclarator :: TypedTerm Type -> TypedTerm OverloadableUnaryOperator -> TypedTerm FixedParameter -> TypedTerm UnaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorOperator :: TypedTerm UnaryOperatorDeclarator -> TypedTerm OverloadableUnaryOperator
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorParameter :: TypedTerm UnaryOperatorDeclarator -> TypedTerm FixedParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorType :: TypedTerm UnaryOperatorDeclarator -> TypedTerm Type
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorUnaryOperatorDeclarator :: TypedName UnaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorWithOperator :: TypedTerm UnaryOperatorDeclarator -> TypedTerm OverloadableUnaryOperator -> TypedTerm UnaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorWithParameter :: TypedTerm UnaryOperatorDeclarator -> TypedTerm FixedParameter -> TypedTerm UnaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: unaryOperatorDeclaratorWithType :: TypedTerm UnaryOperatorDeclarator -> TypedTerm Type -> TypedTerm UnaryOperatorDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeName :: TypedTerm [UnboundTypeNamePart] -> TypedTerm UnboundTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePart :: TypedTerm Identifier -> TypedTerm Bool -> TypedTerm (Maybe Int) -> TypedTerm UnboundTypeNamePart
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartAliased :: TypedTerm UnboundTypeNamePart -> TypedTerm Bool
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartDimension :: TypedTerm UnboundTypeNamePart -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartIdentifier :: TypedTerm UnboundTypeNamePart -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartUnboundTypeNamePart :: TypedName UnboundTypeNamePart
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartWithAliased :: TypedTerm UnboundTypeNamePart -> TypedTerm Bool -> TypedTerm UnboundTypeNamePart
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartWithDimension :: TypedTerm UnboundTypeNamePart -> TypedTerm (Maybe Int) -> TypedTerm UnboundTypeNamePart
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNamePartWithIdentifier :: TypedTerm UnboundTypeNamePart -> TypedTerm Identifier -> TypedTerm UnboundTypeNamePart
+ Hydra.Ext.Dsl.Csharp.Syntax: unboundTypeNameUnboundTypeName :: TypedName UnboundTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: unmanagedTypePointer :: TypedTerm PointerType -> TypedTerm UnmanagedType
+ Hydra.Ext.Dsl.Csharp.Syntax: unmanagedTypeUnmanagedType :: TypedName UnmanagedType
+ Hydra.Ext.Dsl.Csharp.Syntax: unmanagedTypeValue :: TypedTerm ValueType -> TypedTerm UnmanagedType
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirective :: TypedTerm Identifier -> TypedTerm NamespaceOrTypeName -> TypedTerm UsingAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirectiveAlias :: TypedTerm UsingAliasDirective -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirectiveName :: TypedTerm UsingAliasDirective -> TypedTerm NamespaceOrTypeName
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirectiveUsingAliasDirective :: TypedName UsingAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirectiveWithAlias :: TypedTerm UsingAliasDirective -> TypedTerm Identifier -> TypedTerm UsingAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingAliasDirectiveWithName :: TypedTerm UsingAliasDirective -> TypedTerm NamespaceOrTypeName -> TypedTerm UsingAliasDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingDirectiveAlias :: TypedTerm UsingAliasDirective -> TypedTerm UsingDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingDirectiveNamespace :: TypedTerm NamespaceName -> TypedTerm UsingDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingDirectiveStatic :: TypedTerm TypeName -> TypedTerm UsingDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingDirectiveUsingDirective :: TypedName UsingDirective
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatement :: TypedTerm ResourceAcquisition -> TypedTerm EmbeddedStatement -> TypedTerm UsingStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatementAcquisition :: TypedTerm UsingStatement -> TypedTerm ResourceAcquisition
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatementBody :: TypedTerm UsingStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatementUsingStatement :: TypedName UsingStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatementWithAcquisition :: TypedTerm UsingStatement -> TypedTerm ResourceAcquisition -> TypedTerm UsingStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: usingStatementWithBody :: TypedTerm UsingStatement -> TypedTerm EmbeddedStatement -> TypedTerm UsingStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: valueTypeNonNullable :: TypedTerm StructOrEnumType -> TypedTerm ValueType
+ Hydra.Ext.Dsl.Csharp.Syntax: valueTypeNullable :: TypedTerm StructOrEnumType -> TypedTerm ValueType
+ Hydra.Ext.Dsl.Csharp.Syntax: valueTypeValueType :: TypedName ValueType
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclarator :: TypedTerm Identifier -> TypedTerm (Maybe VariableInitializer) -> TypedTerm VariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorIdentifier :: TypedTerm VariableDeclarator -> TypedTerm Identifier
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorInitializer :: TypedTerm VariableDeclarator -> TypedTerm (Maybe VariableInitializer)
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorVariableDeclarator :: TypedName VariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorWithIdentifier :: TypedTerm VariableDeclarator -> TypedTerm Identifier -> TypedTerm VariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorWithInitializer :: TypedTerm VariableDeclarator -> TypedTerm (Maybe VariableInitializer) -> TypedTerm VariableDeclarator
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclarators :: TypedTerm [VariableDeclarator] -> TypedTerm VariableDeclarators
+ Hydra.Ext.Dsl.Csharp.Syntax: variableDeclaratorsVariableDeclarators :: TypedName VariableDeclarators
+ Hydra.Ext.Dsl.Csharp.Syntax: variableInitializerArray :: TypedTerm ArrayInitializer -> TypedTerm VariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: variableInitializerExpression :: TypedTerm Expression -> TypedTerm VariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: variableInitializerVariableInitializer :: TypedName VariableInitializer
+ Hydra.Ext.Dsl.Csharp.Syntax: variableReference :: TypedTerm Expression -> TypedTerm VariableReference
+ Hydra.Ext.Dsl.Csharp.Syntax: variableReferenceVariableReference :: TypedName VariableReference
+ Hydra.Ext.Dsl.Csharp.Syntax: varianceAnnotationIn :: TypedTerm VarianceAnnotation
+ Hydra.Ext.Dsl.Csharp.Syntax: varianceAnnotationOut :: TypedTerm VarianceAnnotation
+ Hydra.Ext.Dsl.Csharp.Syntax: varianceAnnotationVarianceAnnotation :: TypedName VarianceAnnotation
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameter :: TypedTerm (Maybe Attributes) -> TypedTerm (Maybe VarianceAnnotation) -> TypedTerm TypeParameter -> TypedTerm VariantTypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterAttributes :: TypedTerm VariantTypeParameter -> TypedTerm (Maybe Attributes)
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterParameter :: TypedTerm VariantTypeParameter -> TypedTerm TypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterVariance :: TypedTerm VariantTypeParameter -> TypedTerm (Maybe VarianceAnnotation)
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterVariantTypeParameter :: TypedName VariantTypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterWithAttributes :: TypedTerm VariantTypeParameter -> TypedTerm (Maybe Attributes) -> TypedTerm VariantTypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterWithParameter :: TypedTerm VariantTypeParameter -> TypedTerm TypeParameter -> TypedTerm VariantTypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameterWithVariance :: TypedTerm VariantTypeParameter -> TypedTerm (Maybe VarianceAnnotation) -> TypedTerm VariantTypeParameter
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParameters :: TypedTerm [VariantTypeParameter] -> TypedTerm VariantTypeParameters
+ Hydra.Ext.Dsl.Csharp.Syntax: variantTypeParametersVariantTypeParameters :: TypedName VariantTypeParameters
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolation :: TypedTerm Expression -> TypedTerm (Maybe ConstantExpression) -> TypedTerm (Maybe String) -> TypedTerm VerbatimInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationExpression :: TypedTerm VerbatimInterpolation -> TypedTerm Expression
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationFormat :: TypedTerm VerbatimInterpolation -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationVerbatimInterpolation :: TypedName VerbatimInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationWidth :: TypedTerm VerbatimInterpolation -> TypedTerm (Maybe ConstantExpression)
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationWithExpression :: TypedTerm VerbatimInterpolation -> TypedTerm Expression -> TypedTerm VerbatimInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationWithFormat :: TypedTerm VerbatimInterpolation -> TypedTerm (Maybe String) -> TypedTerm VerbatimInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: verbatimInterpolationWithWidth :: TypedTerm VerbatimInterpolation -> TypedTerm (Maybe ConstantExpression) -> TypedTerm VerbatimInterpolation
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatement :: TypedTerm BooleanExpression -> TypedTerm EmbeddedStatement -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm EmbeddedStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm BooleanExpression
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm EmbeddedStatement -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm BooleanExpression -> TypedTerm WhileStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: yieldStatementBreak :: TypedTerm YieldStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: yieldStatementReturn :: TypedTerm Expression -> TypedTerm YieldStatement
+ Hydra.Ext.Dsl.Csharp.Syntax: yieldStatementYieldStatement :: TypedName YieldStatement
+ Hydra.Ext.Dsl.Datalog.Syntax: atom :: TypedTerm Relation -> TypedTerm TermList -> TypedTerm Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: atomAtom :: TypedName Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListAtomList :: TypedName AtomList
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMany :: TypedTerm AtomListMultiple -> TypedTerm AtomList
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultiple :: TypedTerm Atom -> TypedTerm AtomList -> TypedTerm AtomListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultipleAtom :: TypedTerm AtomListMultiple -> TypedTerm Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultipleAtomList :: TypedTerm AtomListMultiple -> TypedTerm AtomList
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultipleAtomListMultiple :: TypedName AtomListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultipleWithAtom :: TypedTerm AtomListMultiple -> TypedTerm Atom -> TypedTerm AtomListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListMultipleWithAtomList :: TypedTerm AtomListMultiple -> TypedTerm AtomList -> TypedTerm AtomListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: atomListSingle :: TypedTerm Atom -> TypedTerm AtomList
+ Hydra.Ext.Dsl.Datalog.Syntax: atomRelation :: TypedTerm Atom -> TypedTerm Relation
+ Hydra.Ext.Dsl.Datalog.Syntax: atomTermList :: TypedTerm Atom -> TypedTerm TermList
+ Hydra.Ext.Dsl.Datalog.Syntax: atomWithRelation :: TypedTerm Atom -> TypedTerm Relation -> TypedTerm Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: atomWithTermList :: TypedTerm Atom -> TypedTerm TermList -> TypedTerm Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: constant :: TypedTerm String -> TypedTerm Constant
+ Hydra.Ext.Dsl.Datalog.Syntax: constantConstant :: TypedName Constant
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListConstantList :: TypedName ConstantList
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMany :: TypedTerm ConstantListMultiple -> TypedTerm ConstantList
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultiple :: TypedTerm Constant -> TypedTerm ConstantList -> TypedTerm ConstantListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultipleConstant :: TypedTerm ConstantListMultiple -> TypedTerm Constant
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultipleConstantList :: TypedTerm ConstantListMultiple -> TypedTerm ConstantList
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultipleConstantListMultiple :: TypedName ConstantListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultipleWithConstant :: TypedTerm ConstantListMultiple -> TypedTerm Constant -> TypedTerm ConstantListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListMultipleWithConstantList :: TypedTerm ConstantListMultiple -> TypedTerm ConstantList -> TypedTerm ConstantListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: constantListSingle :: TypedTerm Constant -> TypedTerm ConstantList
+ Hydra.Ext.Dsl.Datalog.Syntax: fact :: TypedTerm Relation -> TypedTerm ConstantList -> TypedTerm Fact
+ Hydra.Ext.Dsl.Datalog.Syntax: factConstantList :: TypedTerm Fact -> TypedTerm ConstantList
+ Hydra.Ext.Dsl.Datalog.Syntax: factFact :: TypedName Fact
+ Hydra.Ext.Dsl.Datalog.Syntax: factRelation :: TypedTerm Fact -> TypedTerm Relation
+ Hydra.Ext.Dsl.Datalog.Syntax: factWithConstantList :: TypedTerm Fact -> TypedTerm ConstantList -> TypedTerm Fact
+ Hydra.Ext.Dsl.Datalog.Syntax: factWithRelation :: TypedTerm Fact -> TypedTerm Relation -> TypedTerm Fact
+ Hydra.Ext.Dsl.Datalog.Syntax: program :: TypedTerm [ProgramElmt] -> TypedTerm Program
+ Hydra.Ext.Dsl.Datalog.Syntax: programElmtFact :: TypedTerm Fact -> TypedTerm ProgramElmt
+ Hydra.Ext.Dsl.Datalog.Syntax: programElmtProgramElmt :: TypedName ProgramElmt
+ Hydra.Ext.Dsl.Datalog.Syntax: programElmtRule :: TypedTerm Rule -> TypedTerm ProgramElmt
+ Hydra.Ext.Dsl.Datalog.Syntax: programProgram :: TypedName Program
+ Hydra.Ext.Dsl.Datalog.Syntax: relation :: TypedTerm String -> TypedTerm Relation
+ Hydra.Ext.Dsl.Datalog.Syntax: relationRelation :: TypedName Relation
+ Hydra.Ext.Dsl.Datalog.Syntax: rule :: TypedTerm Atom -> TypedTerm AtomList -> TypedTerm Rule
+ Hydra.Ext.Dsl.Datalog.Syntax: ruleAtom :: TypedTerm Rule -> TypedTerm Atom
+ Hydra.Ext.Dsl.Datalog.Syntax: ruleAtomList :: TypedTerm Rule -> TypedTerm AtomList
+ Hydra.Ext.Dsl.Datalog.Syntax: ruleRule :: TypedName Rule
+ Hydra.Ext.Dsl.Datalog.Syntax: ruleWithAtom :: TypedTerm Rule -> TypedTerm Atom -> TypedTerm Rule
+ Hydra.Ext.Dsl.Datalog.Syntax: ruleWithAtomList :: TypedTerm Rule -> TypedTerm AtomList -> TypedTerm Rule
+ Hydra.Ext.Dsl.Datalog.Syntax: termConstant :: TypedTerm Constant -> TypedTerm Term
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMany :: TypedTerm TermListMultiple -> TypedTerm TermList
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultiple :: TypedTerm Term -> TypedTerm TermList -> TypedTerm TermListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultipleTerm :: TypedTerm TermListMultiple -> TypedTerm Term
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultipleTermList :: TypedTerm TermListMultiple -> TypedTerm TermList
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultipleTermListMultiple :: TypedName TermListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultipleWithTerm :: TypedTerm TermListMultiple -> TypedTerm Term -> TypedTerm TermListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: termListMultipleWithTermList :: TypedTerm TermListMultiple -> TypedTerm TermList -> TypedTerm TermListMultiple
+ Hydra.Ext.Dsl.Datalog.Syntax: termListSingle :: TypedTerm Term -> TypedTerm TermList
+ Hydra.Ext.Dsl.Datalog.Syntax: termListTermList :: TypedName TermList
+ Hydra.Ext.Dsl.Datalog.Syntax: termTerm :: TypedName Term
+ Hydra.Ext.Dsl.Datalog.Syntax: termVariable :: TypedTerm Variable -> TypedTerm Term
+ Hydra.Ext.Dsl.Datalog.Syntax: unConstant :: TypedTerm Constant -> TypedTerm String
+ Hydra.Ext.Dsl.Datalog.Syntax: unProgram :: TypedTerm Program -> TypedTerm [ProgramElmt]
+ Hydra.Ext.Dsl.Datalog.Syntax: unRelation :: TypedTerm Relation -> TypedTerm String
+ Hydra.Ext.Dsl.Datalog.Syntax: unVariable :: TypedTerm Variable -> TypedTerm String
+ Hydra.Ext.Dsl.Datalog.Syntax: variable :: TypedTerm String -> TypedTerm Variable
+ Hydra.Ext.Dsl.Datalog.Syntax: variableVariable :: TypedName Variable
+ Hydra.Ext.Dsl.Delta.Parquet: arrayType :: TypedTerm DataType -> TypedTerm Bool -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Delta.Parquet: arrayTypeArrayType :: TypedName ArrayType
+ Hydra.Ext.Dsl.Delta.Parquet: arrayTypeContainsNull :: TypedTerm ArrayType -> TypedTerm Bool
+ Hydra.Ext.Dsl.Delta.Parquet: arrayTypeElementType :: TypedTerm ArrayType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: arrayTypeWithContainsNull :: TypedTerm ArrayType -> TypedTerm Bool -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Delta.Parquet: arrayTypeWithElementType :: TypedTerm ArrayType -> TypedTerm DataType -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeBasePrimitiveType :: TypedName BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeBinary :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeBoolean :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeByte :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeDate :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeDouble :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeFloat :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeInteger :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeLong :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeShort :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeString :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: basePrimitiveTypeTimestamp :: TypedTerm BasePrimitiveType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeArray :: TypedTerm ArrayType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeBase :: TypedTerm BasePrimitiveType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeDataType :: TypedName DataType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeDecimal :: TypedTerm DecimalType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeMap :: TypedTerm MapType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: dataTypeStruct :: TypedTerm StructType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: decimalType :: TypedTerm Int -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Delta.Parquet: decimalTypeDecimalType :: TypedName DecimalType
+ Hydra.Ext.Dsl.Delta.Parquet: decimalTypePrecision :: TypedTerm DecimalType -> TypedTerm Int
+ Hydra.Ext.Dsl.Delta.Parquet: decimalTypeScale :: TypedTerm DecimalType -> TypedTerm Int
+ Hydra.Ext.Dsl.Delta.Parquet: decimalTypeWithPrecision :: TypedTerm DecimalType -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Delta.Parquet: decimalTypeWithScale :: TypedTerm DecimalType -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Delta.Parquet: mapType :: TypedTerm DataType -> TypedTerm DataType -> TypedTerm Bool -> TypedTerm MapType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeKeyType :: TypedTerm MapType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeMapType :: TypedName MapType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeValueContainsNull :: TypedTerm MapType -> TypedTerm Bool
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeValueType :: TypedTerm MapType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeWithKeyType :: TypedTerm MapType -> TypedTerm DataType -> TypedTerm MapType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeWithValueContainsNull :: TypedTerm MapType -> TypedTerm Bool -> TypedTerm MapType
+ Hydra.Ext.Dsl.Delta.Parquet: mapTypeWithValueType :: TypedTerm MapType -> TypedTerm DataType -> TypedTerm MapType
+ Hydra.Ext.Dsl.Delta.Parquet: structField :: TypedTerm String -> TypedTerm DataType -> TypedTerm Bool -> TypedTerm StructField
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldDataType :: TypedTerm StructField -> TypedTerm DataType
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldName :: TypedTerm StructField -> TypedTerm String
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldNullable :: TypedTerm StructField -> TypedTerm Bool
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldStructField :: TypedName StructField
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldWithDataType :: TypedTerm StructField -> TypedTerm DataType -> TypedTerm StructField
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldWithName :: TypedTerm StructField -> TypedTerm String -> TypedTerm StructField
+ Hydra.Ext.Dsl.Delta.Parquet: structFieldWithNullable :: TypedTerm StructField -> TypedTerm Bool -> TypedTerm StructField
+ Hydra.Ext.Dsl.Delta.Parquet: structType :: TypedTerm [StructField] -> TypedTerm StructType
+ Hydra.Ext.Dsl.Delta.Parquet: structTypeFields :: TypedTerm StructType -> TypedTerm [StructField]
+ Hydra.Ext.Dsl.Delta.Parquet: structTypeStructType :: TypedName StructType
+ Hydra.Ext.Dsl.Delta.Parquet: structTypeWithFields :: TypedTerm StructType -> TypedTerm [StructField] -> TypedTerm StructType
+ Hydra.Ext.Dsl.Geojson.Model: boundingBox :: TypedTerm [CoordinateRange] -> TypedTerm BoundingBox
+ Hydra.Ext.Dsl.Geojson.Model: boundingBoxBoundingBox :: TypedName BoundingBox
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRange :: TypedTerm Double -> TypedTerm Double -> TypedTerm CoordinateRange
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRangeCoordinateRange :: TypedName CoordinateRange
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRangeMax :: TypedTerm CoordinateRange -> TypedTerm Double
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRangeMin :: TypedTerm CoordinateRange -> TypedTerm Double
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRangeWithMax :: TypedTerm CoordinateRange -> TypedTerm Double -> TypedTerm CoordinateRange
+ Hydra.Ext.Dsl.Geojson.Model: coordinateRangeWithMin :: TypedTerm CoordinateRange -> TypedTerm Double -> TypedTerm CoordinateRange
+ Hydra.Ext.Dsl.Geojson.Model: feature :: TypedTerm (Maybe Geometry) -> TypedTerm (Maybe (Map String Value)) -> TypedTerm (Maybe Id) -> TypedTerm (Maybe BoundingBox) -> TypedTerm Feature
+ Hydra.Ext.Dsl.Geojson.Model: featureBbox :: TypedTerm Feature -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: featureCollection :: TypedTerm [Feature] -> TypedTerm (Maybe BoundingBox) -> TypedTerm FeatureCollection
+ Hydra.Ext.Dsl.Geojson.Model: featureCollectionBbox :: TypedTerm FeatureCollection -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: featureCollectionFeatureCollection :: TypedName FeatureCollection
+ Hydra.Ext.Dsl.Geojson.Model: featureCollectionFeatures :: TypedTerm FeatureCollection -> TypedTerm [Feature]
+ Hydra.Ext.Dsl.Geojson.Model: featureCollectionWithBbox :: TypedTerm FeatureCollection -> TypedTerm (Maybe BoundingBox) -> TypedTerm FeatureCollection
+ Hydra.Ext.Dsl.Geojson.Model: featureCollectionWithFeatures :: TypedTerm FeatureCollection -> TypedTerm [Feature] -> TypedTerm FeatureCollection
+ Hydra.Ext.Dsl.Geojson.Model: featureFeature :: TypedName Feature
+ Hydra.Ext.Dsl.Geojson.Model: featureGeometry :: TypedTerm Feature -> TypedTerm (Maybe Geometry)
+ Hydra.Ext.Dsl.Geojson.Model: featureId :: TypedTerm Feature -> TypedTerm (Maybe Id)
+ Hydra.Ext.Dsl.Geojson.Model: featureProperties :: TypedTerm Feature -> TypedTerm (Maybe (Map String Value))
+ Hydra.Ext.Dsl.Geojson.Model: featureWithBbox :: TypedTerm Feature -> TypedTerm (Maybe BoundingBox) -> TypedTerm Feature
+ Hydra.Ext.Dsl.Geojson.Model: featureWithGeometry :: TypedTerm Feature -> TypedTerm (Maybe Geometry) -> TypedTerm Feature
+ Hydra.Ext.Dsl.Geojson.Model: featureWithId :: TypedTerm Feature -> TypedTerm (Maybe Id) -> TypedTerm Feature
+ Hydra.Ext.Dsl.Geojson.Model: featureWithProperties :: TypedTerm Feature -> TypedTerm (Maybe (Map String Value)) -> TypedTerm Feature
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollection :: TypedTerm [Geometry] -> TypedTerm (Maybe BoundingBox) -> TypedTerm GeometryCollection
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollectionBbox :: TypedTerm GeometryCollection -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollectionGeometries :: TypedTerm GeometryCollection -> TypedTerm [Geometry]
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollectionGeometryCollection :: TypedName GeometryCollection
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollectionWithBbox :: TypedTerm GeometryCollection -> TypedTerm (Maybe BoundingBox) -> TypedTerm GeometryCollection
+ Hydra.Ext.Dsl.Geojson.Model: geometryCollectionWithGeometries :: TypedTerm GeometryCollection -> TypedTerm [Geometry] -> TypedTerm GeometryCollection
+ Hydra.Ext.Dsl.Geojson.Model: geometryGeometry :: TypedName Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryGeometryCollection :: TypedTerm GeometryCollection -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryLineString :: TypedTerm LineString -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryMultiLineString :: TypedTerm MultiLineString -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryMultiPoint :: TypedTerm MultiPoint -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryMultiPolygon :: TypedTerm MultiPolygon -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryPoint :: TypedTerm Point -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: geometryPolygon :: TypedTerm Polygon -> TypedTerm Geometry
+ Hydra.Ext.Dsl.Geojson.Model: idId :: TypedName Id
+ Hydra.Ext.Dsl.Geojson.Model: idNumber :: TypedTerm Double -> TypedTerm Id
+ Hydra.Ext.Dsl.Geojson.Model: idString :: TypedTerm String -> TypedTerm Id
+ Hydra.Ext.Dsl.Geojson.Model: lineString :: TypedTerm [Position] -> TypedTerm (Maybe BoundingBox) -> TypedTerm LineString
+ Hydra.Ext.Dsl.Geojson.Model: lineStringBbox :: TypedTerm LineString -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: lineStringCoordinates :: TypedTerm LineString -> TypedTerm [Position]
+ Hydra.Ext.Dsl.Geojson.Model: lineStringLineString :: TypedName LineString
+ Hydra.Ext.Dsl.Geojson.Model: lineStringWithBbox :: TypedTerm LineString -> TypedTerm (Maybe BoundingBox) -> TypedTerm LineString
+ Hydra.Ext.Dsl.Geojson.Model: lineStringWithCoordinates :: TypedTerm LineString -> TypedTerm [Position] -> TypedTerm LineString
+ Hydra.Ext.Dsl.Geojson.Model: multiLineString :: TypedTerm [LineString] -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiLineString
+ Hydra.Ext.Dsl.Geojson.Model: multiLineStringBbox :: TypedTerm MultiLineString -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: multiLineStringCoordinates :: TypedTerm MultiLineString -> TypedTerm [LineString]
+ Hydra.Ext.Dsl.Geojson.Model: multiLineStringMultiLineString :: TypedName MultiLineString
+ Hydra.Ext.Dsl.Geojson.Model: multiLineStringWithBbox :: TypedTerm MultiLineString -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiLineString
+ Hydra.Ext.Dsl.Geojson.Model: multiLineStringWithCoordinates :: TypedTerm MultiLineString -> TypedTerm [LineString] -> TypedTerm MultiLineString
+ Hydra.Ext.Dsl.Geojson.Model: multiPoint :: TypedTerm [Point] -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiPoint
+ Hydra.Ext.Dsl.Geojson.Model: multiPointBbox :: TypedTerm MultiPoint -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: multiPointCoordinates :: TypedTerm MultiPoint -> TypedTerm [Point]
+ Hydra.Ext.Dsl.Geojson.Model: multiPointMultiPoint :: TypedName MultiPoint
+ Hydra.Ext.Dsl.Geojson.Model: multiPointWithBbox :: TypedTerm MultiPoint -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiPoint
+ Hydra.Ext.Dsl.Geojson.Model: multiPointWithCoordinates :: TypedTerm MultiPoint -> TypedTerm [Point] -> TypedTerm MultiPoint
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygon :: TypedTerm [Polygon] -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiPolygon
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygonBbox :: TypedTerm MultiPolygon -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygonCoordinates :: TypedTerm MultiPolygon -> TypedTerm [Polygon]
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygonMultiPolygon :: TypedName MultiPolygon
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygonWithBbox :: TypedTerm MultiPolygon -> TypedTerm (Maybe BoundingBox) -> TypedTerm MultiPolygon
+ Hydra.Ext.Dsl.Geojson.Model: multiPolygonWithCoordinates :: TypedTerm MultiPolygon -> TypedTerm [Polygon] -> TypedTerm MultiPolygon
+ Hydra.Ext.Dsl.Geojson.Model: objectFeature :: TypedTerm Feature -> TypedTerm Object
+ Hydra.Ext.Dsl.Geojson.Model: objectFeatureCollection :: TypedTerm FeatureCollection -> TypedTerm Object
+ Hydra.Ext.Dsl.Geojson.Model: objectGeometry :: TypedTerm Geometry -> TypedTerm Object
+ Hydra.Ext.Dsl.Geojson.Model: objectObject :: TypedName Object
+ Hydra.Ext.Dsl.Geojson.Model: point :: TypedTerm Position -> TypedTerm (Maybe BoundingBox) -> TypedTerm Point
+ Hydra.Ext.Dsl.Geojson.Model: pointBbox :: TypedTerm Point -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: pointCoordinates :: TypedTerm Point -> TypedTerm Position
+ Hydra.Ext.Dsl.Geojson.Model: pointPoint :: TypedName Point
+ Hydra.Ext.Dsl.Geojson.Model: pointWithBbox :: TypedTerm Point -> TypedTerm (Maybe BoundingBox) -> TypedTerm Point
+ Hydra.Ext.Dsl.Geojson.Model: pointWithCoordinates :: TypedTerm Point -> TypedTerm Position -> TypedTerm Point
+ Hydra.Ext.Dsl.Geojson.Model: polygon :: TypedTerm [Position] -> TypedTerm (Maybe BoundingBox) -> TypedTerm Polygon
+ Hydra.Ext.Dsl.Geojson.Model: polygonBbox :: TypedTerm Polygon -> TypedTerm (Maybe BoundingBox)
+ Hydra.Ext.Dsl.Geojson.Model: polygonCoordinates :: TypedTerm Polygon -> TypedTerm [Position]
+ Hydra.Ext.Dsl.Geojson.Model: polygonPolygon :: TypedName Polygon
+ Hydra.Ext.Dsl.Geojson.Model: polygonWithBbox :: TypedTerm Polygon -> TypedTerm (Maybe BoundingBox) -> TypedTerm Polygon
+ Hydra.Ext.Dsl.Geojson.Model: polygonWithCoordinates :: TypedTerm Polygon -> TypedTerm [Position] -> TypedTerm Polygon
+ Hydra.Ext.Dsl.Geojson.Model: position :: TypedTerm Double -> TypedTerm Double -> TypedTerm (Maybe Double) -> TypedTerm Position
+ Hydra.Ext.Dsl.Geojson.Model: positionAltitude :: TypedTerm Position -> TypedTerm (Maybe Double)
+ Hydra.Ext.Dsl.Geojson.Model: positionLatitude :: TypedTerm Position -> TypedTerm Double
+ Hydra.Ext.Dsl.Geojson.Model: positionLongitude :: TypedTerm Position -> TypedTerm Double
+ Hydra.Ext.Dsl.Geojson.Model: positionPosition :: TypedName Position
+ Hydra.Ext.Dsl.Geojson.Model: positionWithAltitude :: TypedTerm Position -> TypedTerm (Maybe Double) -> TypedTerm Position
+ Hydra.Ext.Dsl.Geojson.Model: positionWithLatitude :: TypedTerm Position -> TypedTerm Double -> TypedTerm Position
+ Hydra.Ext.Dsl.Geojson.Model: positionWithLongitude :: TypedTerm Position -> TypedTerm Double -> TypedTerm Position
+ Hydra.Ext.Dsl.Geojson.Model: unBoundingBox :: TypedTerm BoundingBox -> TypedTerm [CoordinateRange]
+ Hydra.Ext.Dsl.Graphql.Syntax: aliasAlias :: TypedName Alias
+ Hydra.Ext.Dsl.Graphql.Syntax: aliasColon :: TypedTerm Alias
+ Hydra.Ext.Dsl.Graphql.Syntax: aliasName :: TypedTerm Name -> TypedTerm Alias
+ Hydra.Ext.Dsl.Graphql.Syntax: argument :: TypedTerm Name -> TypedTerm Value -> TypedTerm Argument
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentArgument :: TypedName Argument
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentName :: TypedTerm Argument -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentValue :: TypedTerm Argument -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentWithName :: TypedTerm Argument -> TypedTerm Name -> TypedTerm Argument
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentWithValue :: TypedTerm Argument -> TypedTerm Value -> TypedTerm Argument
+ Hydra.Ext.Dsl.Graphql.Syntax: arguments :: TypedTerm [Argument] -> TypedTerm Arguments
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentsArguments :: TypedName Arguments
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentsDefinition :: TypedTerm [InputValueDefinition] -> TypedTerm ArgumentsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: argumentsDefinitionArgumentsDefinition :: TypedName ArgumentsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: booleanValueBooleanValue :: TypedName BooleanValue
+ Hydra.Ext.Dsl.Graphql.Syntax: booleanValueFalse :: TypedTerm BooleanValue
+ Hydra.Ext.Dsl.Graphql.Syntax: booleanValueTrue :: TypedTerm BooleanValue
+ Hydra.Ext.Dsl.Graphql.Syntax: defaultValue :: TypedTerm Value -> TypedTerm DefaultValue
+ Hydra.Ext.Dsl.Graphql.Syntax: defaultValueDefaultValue :: TypedName DefaultValue
+ Hydra.Ext.Dsl.Graphql.Syntax: definitionDefinition :: TypedName Definition
+ Hydra.Ext.Dsl.Graphql.Syntax: definitionExecutable :: TypedTerm ExecutableDefinition -> TypedTerm Definition
+ Hydra.Ext.Dsl.Graphql.Syntax: definitionTypeSystem :: TypedTerm TypeSystemDefinitionOrExtension -> TypedTerm Definition
+ Hydra.Ext.Dsl.Graphql.Syntax: description :: TypedTerm StringValue -> TypedTerm Description
+ Hydra.Ext.Dsl.Graphql.Syntax: descriptionDescription :: TypedName Description
+ Hydra.Ext.Dsl.Graphql.Syntax: directive :: TypedTerm Name -> TypedTerm (Maybe Arguments) -> TypedTerm Directive
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveArguments :: TypedTerm Directive -> TypedTerm (Maybe Arguments)
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe ArgumentsDefinition) -> TypedTerm (Maybe ()) -> TypedTerm DirectiveLocations -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionArgumentsDefinition :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe ArgumentsDefinition)
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionDescription :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionDirectiveDefinition :: TypedName DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionDirectiveLocations :: TypedTerm DirectiveDefinition -> TypedTerm DirectiveLocations
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionName :: TypedTerm DirectiveDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionRepeatable :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionWithArgumentsDefinition :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe ArgumentsDefinition) -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionWithDescription :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe Description) -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionWithDirectiveLocations :: TypedTerm DirectiveDefinition -> TypedTerm DirectiveLocations -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionWithName :: TypedTerm DirectiveDefinition -> TypedTerm Name -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDefinitionWithRepeatable :: TypedTerm DirectiveDefinition -> TypedTerm (Maybe ()) -> TypedTerm DirectiveDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveDirective :: TypedName Directive
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationDirectiveLocation :: TypedName DirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationExecutable :: TypedTerm ExecutableDirectiveLocation -> TypedTerm DirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationTypeSystem :: TypedTerm TypeSystemDirectiveLocation -> TypedTerm DirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsDirectiveLocations :: TypedName DirectiveLocations
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSeq :: TypedTerm DirectiveLocationsSequence -> TypedTerm DirectiveLocations
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSeq2 :: TypedTerm DirectiveLocationsSequence2 -> TypedTerm DirectiveLocations
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence :: TypedTerm DirectiveLocations -> TypedTerm DirectiveLocation -> TypedTerm DirectiveLocationsSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2 :: TypedTerm (Maybe ()) -> TypedTerm DirectiveLocation -> TypedTerm DirectiveLocationsSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2DirectiveLocation :: TypedTerm DirectiveLocationsSequence2 -> TypedTerm DirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2DirectiveLocationsSequence2 :: TypedName DirectiveLocationsSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2Or :: TypedTerm DirectiveLocationsSequence2 -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2WithDirectiveLocation :: TypedTerm DirectiveLocationsSequence2 -> TypedTerm DirectiveLocation -> TypedTerm DirectiveLocationsSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequence2WithOr :: TypedTerm DirectiveLocationsSequence2 -> TypedTerm (Maybe ()) -> TypedTerm DirectiveLocationsSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequenceDirectiveLocation :: TypedTerm DirectiveLocationsSequence -> TypedTerm DirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequenceDirectiveLocations :: TypedTerm DirectiveLocationsSequence -> TypedTerm DirectiveLocations
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequenceDirectiveLocationsSequence :: TypedName DirectiveLocationsSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequenceWithDirectiveLocation :: TypedTerm DirectiveLocationsSequence -> TypedTerm DirectiveLocation -> TypedTerm DirectiveLocationsSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveLocationsSequenceWithDirectiveLocations :: TypedTerm DirectiveLocationsSequence -> TypedTerm DirectiveLocations -> TypedTerm DirectiveLocationsSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveName :: TypedTerm Directive -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveWithArguments :: TypedTerm Directive -> TypedTerm (Maybe Arguments) -> TypedTerm Directive
+ Hydra.Ext.Dsl.Graphql.Syntax: directiveWithName :: TypedTerm Directive -> TypedTerm Name -> TypedTerm Directive
+ Hydra.Ext.Dsl.Graphql.Syntax: directives :: TypedTerm [Directive] -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: directivesDirectives :: TypedName Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: document :: TypedTerm [Definition] -> TypedTerm Document
+ Hydra.Ext.Dsl.Graphql.Syntax: documentDocument :: TypedName Document
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm (Maybe EnumValuesDefinition) -> TypedTerm EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionDescription :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionDirectives :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionEnumTypeDefinition :: TypedName EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionEnumValuesDefinition :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe EnumValuesDefinition)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionName :: TypedTerm EnumTypeDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionWithDescription :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe Description) -> TypedTerm EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionWithDirectives :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe Directives) -> TypedTerm EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionWithEnumValuesDefinition :: TypedTerm EnumTypeDefinition -> TypedTerm (Maybe EnumValuesDefinition) -> TypedTerm EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeDefinitionWithName :: TypedTerm EnumTypeDefinition -> TypedTerm Name -> TypedTerm EnumTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionEnumTypeExtension :: TypedName EnumTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSeq :: TypedTerm EnumTypeExtensionSequence -> TypedTerm EnumTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSeq2 :: TypedTerm EnumTypeExtensionSequence2 -> TypedTerm EnumTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence :: TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm EnumValuesDefinition -> TypedTerm EnumTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2 :: TypedTerm Name -> TypedTerm Directives -> TypedTerm EnumTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2Directives :: TypedTerm EnumTypeExtensionSequence2 -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2EnumTypeExtensionSequence2 :: TypedName EnumTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2Name :: TypedTerm EnumTypeExtensionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2WithDirectives :: TypedTerm EnumTypeExtensionSequence2 -> TypedTerm Directives -> TypedTerm EnumTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequence2WithName :: TypedTerm EnumTypeExtensionSequence2 -> TypedTerm Name -> TypedTerm EnumTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceDirectives :: TypedTerm EnumTypeExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceEnumTypeExtensionSequence :: TypedName EnumTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceEnumValuesDefinition :: TypedTerm EnumTypeExtensionSequence -> TypedTerm EnumValuesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceName :: TypedTerm EnumTypeExtensionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceWithDirectives :: TypedTerm EnumTypeExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm EnumTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceWithEnumValuesDefinition :: TypedTerm EnumTypeExtensionSequence -> TypedTerm EnumValuesDefinition -> TypedTerm EnumTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: enumTypeExtensionSequenceWithName :: TypedTerm EnumTypeExtensionSequence -> TypedTerm Name -> TypedTerm EnumTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValue :: TypedTerm Name -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinition :: TypedTerm (Maybe Description) -> TypedTerm EnumValue -> TypedTerm (Maybe Directives) -> TypedTerm EnumValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionDescription :: TypedTerm EnumValueDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionDirectives :: TypedTerm EnumValueDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionEnumValue :: TypedTerm EnumValueDefinition -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionEnumValueDefinition :: TypedName EnumValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionWithDescription :: TypedTerm EnumValueDefinition -> TypedTerm (Maybe Description) -> TypedTerm EnumValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionWithDirectives :: TypedTerm EnumValueDefinition -> TypedTerm (Maybe Directives) -> TypedTerm EnumValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueDefinitionWithEnumValue :: TypedTerm EnumValueDefinition -> TypedTerm EnumValue -> TypedTerm EnumValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValueEnumValue :: TypedName EnumValue
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValuesDefinition :: TypedTerm [EnumValueDefinition] -> TypedTerm EnumValuesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: enumValuesDefinitionEnumValuesDefinition :: TypedName EnumValuesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDefinitionExecutableDefinition :: TypedName ExecutableDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDefinitionFragment :: TypedTerm FragmentDefinition -> TypedTerm ExecutableDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDefinitionOperation :: TypedTerm OperationDefinition -> TypedTerm ExecutableDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationExecutableDirectiveLocation :: TypedName ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationFIELD :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationFRAGMENT_DEFINITION :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationFRAGMENT_SPREAD :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationINLINE_FRAGMENT :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationMUTATION :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationQUERY :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationSUBSCRIPTION :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDirectiveLocationVARIABLE_DEFINITION :: TypedTerm ExecutableDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDocument :: TypedTerm [ExecutableDefinition] -> TypedTerm ExecutableDocument
+ Hydra.Ext.Dsl.Graphql.Syntax: executableDocumentExecutableDocument :: TypedName ExecutableDocument
+ Hydra.Ext.Dsl.Graphql.Syntax: field :: TypedTerm (Maybe Alias) -> TypedTerm Name -> TypedTerm (Maybe Arguments) -> TypedTerm (Maybe Directives) -> TypedTerm (Maybe SelectionSet) -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldAlias :: TypedTerm Field -> TypedTerm (Maybe Alias)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldArguments :: TypedTerm Field -> TypedTerm (Maybe Arguments)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe ArgumentsDefinition) -> TypedTerm Type -> TypedTerm (Maybe Directives) -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionArgumentsDefinition :: TypedTerm FieldDefinition -> TypedTerm (Maybe ArgumentsDefinition)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionDescription :: TypedTerm FieldDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionDirectives :: TypedTerm FieldDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionFieldDefinition :: TypedName FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionName :: TypedTerm FieldDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionType :: TypedTerm FieldDefinition -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionWithArgumentsDefinition :: TypedTerm FieldDefinition -> TypedTerm (Maybe ArgumentsDefinition) -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionWithDescription :: TypedTerm FieldDefinition -> TypedTerm (Maybe Description) -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionWithDirectives :: TypedTerm FieldDefinition -> TypedTerm (Maybe Directives) -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionWithName :: TypedTerm FieldDefinition -> TypedTerm Name -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDefinitionWithType :: TypedTerm FieldDefinition -> TypedTerm Type -> TypedTerm FieldDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldDirectives :: TypedTerm Field -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldField :: TypedName Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldName :: TypedTerm Field -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldSelectionSet :: TypedTerm Field -> TypedTerm (Maybe SelectionSet)
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldWithAlias :: TypedTerm Field -> TypedTerm (Maybe Alias) -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldWithArguments :: TypedTerm Field -> TypedTerm (Maybe Arguments) -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldWithDirectives :: TypedTerm Field -> TypedTerm (Maybe Directives) -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldWithName :: TypedTerm Field -> TypedTerm Name -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldWithSelectionSet :: TypedTerm Field -> TypedTerm (Maybe SelectionSet) -> TypedTerm Field
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldsDefinition :: TypedTerm [FieldDefinition] -> TypedTerm FieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fieldsDefinitionFieldsDefinition :: TypedName FieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: floatValue :: TypedTerm String -> TypedTerm FloatValue
+ Hydra.Ext.Dsl.Graphql.Syntax: floatValueFloatValue :: TypedName FloatValue
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinition :: TypedTerm FragmentName -> TypedTerm TypeCondition -> TypedTerm (Maybe Directives) -> TypedTerm SelectionSet -> TypedTerm FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionDirectives :: TypedTerm FragmentDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionFragmentDefinition :: TypedName FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionFragmentName :: TypedTerm FragmentDefinition -> TypedTerm FragmentName
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionSelectionSet :: TypedTerm FragmentDefinition -> TypedTerm SelectionSet
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionTypeCondition :: TypedTerm FragmentDefinition -> TypedTerm TypeCondition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionWithDirectives :: TypedTerm FragmentDefinition -> TypedTerm (Maybe Directives) -> TypedTerm FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionWithFragmentName :: TypedTerm FragmentDefinition -> TypedTerm FragmentName -> TypedTerm FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionWithSelectionSet :: TypedTerm FragmentDefinition -> TypedTerm SelectionSet -> TypedTerm FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentDefinitionWithTypeCondition :: TypedTerm FragmentDefinition -> TypedTerm TypeCondition -> TypedTerm FragmentDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentName :: TypedTerm Name -> TypedTerm FragmentName
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentNameFragmentName :: TypedName FragmentName
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpread :: TypedTerm FragmentName -> TypedTerm (Maybe Directives) -> TypedTerm FragmentSpread
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpreadDirectives :: TypedTerm FragmentSpread -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpreadFragmentName :: TypedTerm FragmentSpread -> TypedTerm FragmentName
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpreadFragmentSpread :: TypedName FragmentSpread
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpreadWithDirectives :: TypedTerm FragmentSpread -> TypedTerm (Maybe Directives) -> TypedTerm FragmentSpread
+ Hydra.Ext.Dsl.Graphql.Syntax: fragmentSpreadWithFragmentName :: TypedTerm FragmentSpread -> TypedTerm FragmentName -> TypedTerm FragmentSpread
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesImplementsInterfaces :: TypedName ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSeq :: TypedTerm ImplementsInterfacesSequence -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSeq2 :: TypedTerm ImplementsInterfacesSequence2 -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence :: TypedTerm ImplementsInterfaces -> TypedTerm NamedType -> TypedTerm ImplementsInterfacesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2 :: TypedTerm (Maybe ()) -> TypedTerm NamedType -> TypedTerm ImplementsInterfacesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2Amp :: TypedTerm ImplementsInterfacesSequence2 -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2ImplementsInterfacesSequence2 :: TypedName ImplementsInterfacesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2NamedType :: TypedTerm ImplementsInterfacesSequence2 -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2WithAmp :: TypedTerm ImplementsInterfacesSequence2 -> TypedTerm (Maybe ()) -> TypedTerm ImplementsInterfacesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequence2WithNamedType :: TypedTerm ImplementsInterfacesSequence2 -> TypedTerm NamedType -> TypedTerm ImplementsInterfacesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequenceImplementsInterfaces :: TypedTerm ImplementsInterfacesSequence -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequenceImplementsInterfacesSequence :: TypedName ImplementsInterfacesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequenceNamedType :: TypedTerm ImplementsInterfacesSequence -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequenceWithImplementsInterfaces :: TypedTerm ImplementsInterfacesSequence -> TypedTerm ImplementsInterfaces -> TypedTerm ImplementsInterfacesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: implementsInterfacesSequenceWithNamedType :: TypedTerm ImplementsInterfacesSequence -> TypedTerm NamedType -> TypedTerm ImplementsInterfacesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragment :: TypedTerm (Maybe TypeCondition) -> TypedTerm (Maybe Directives) -> TypedTerm SelectionSet -> TypedTerm InlineFragment
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentDirectives :: TypedTerm InlineFragment -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentInlineFragment :: TypedName InlineFragment
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentSelectionSet :: TypedTerm InlineFragment -> TypedTerm SelectionSet
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentTypeCondition :: TypedTerm InlineFragment -> TypedTerm (Maybe TypeCondition)
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentWithDirectives :: TypedTerm InlineFragment -> TypedTerm (Maybe Directives) -> TypedTerm InlineFragment
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentWithSelectionSet :: TypedTerm InlineFragment -> TypedTerm SelectionSet -> TypedTerm InlineFragment
+ Hydra.Ext.Dsl.Graphql.Syntax: inlineFragmentWithTypeCondition :: TypedTerm InlineFragment -> TypedTerm (Maybe TypeCondition) -> TypedTerm InlineFragment
+ Hydra.Ext.Dsl.Graphql.Syntax: inputFieldsDefinition :: TypedTerm [InputValueDefinition] -> TypedTerm InputFieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputFieldsDefinitionInputFieldsDefinition :: TypedName InputFieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionInputObjectTypeDefinition :: TypedName InputObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSeq :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm InputObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSeq2 :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm InputObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm InputFieldsDefinition -> TypedTerm InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2 :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2Description :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2Directives :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2InputObjectTypeDefinitionSequence2 :: TypedName InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2Name :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2WithDescription :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm (Maybe Description) -> TypedTerm InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2WithDirectives :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm (Maybe Directives) -> TypedTerm InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequence2WithName :: TypedTerm InputObjectTypeDefinitionSequence2 -> TypedTerm Name -> TypedTerm InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceDescription :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceDirectives :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceInputFieldsDefinition :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm InputFieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceInputObjectTypeDefinitionSequence :: TypedName InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceName :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceWithDescription :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm (Maybe Description) -> TypedTerm InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceWithDirectives :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm (Maybe Directives) -> TypedTerm InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceWithInputFieldsDefinition :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm InputFieldsDefinition -> TypedTerm InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeDefinitionSequenceWithName :: TypedTerm InputObjectTypeDefinitionSequence -> TypedTerm Name -> TypedTerm InputObjectTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionInputObjectTypeExtension :: TypedName InputObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSeq :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm InputObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSeq2 :: TypedTerm InputObjectTypeExtensionSequence2 -> TypedTerm InputObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence :: TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm InputFieldsDefinition -> TypedTerm InputObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2 :: TypedTerm Name -> TypedTerm Directives -> TypedTerm InputObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2Directives :: TypedTerm InputObjectTypeExtensionSequence2 -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2InputObjectTypeExtensionSequence2 :: TypedName InputObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2Name :: TypedTerm InputObjectTypeExtensionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2WithDirectives :: TypedTerm InputObjectTypeExtensionSequence2 -> TypedTerm Directives -> TypedTerm InputObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequence2WithName :: TypedTerm InputObjectTypeExtensionSequence2 -> TypedTerm Name -> TypedTerm InputObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceDirectives :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceInputFieldsDefinition :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm InputFieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceInputObjectTypeExtensionSequence :: TypedName InputObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceName :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceWithDirectives :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm InputObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceWithInputFieldsDefinition :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm InputFieldsDefinition -> TypedTerm InputObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputObjectTypeExtensionSequenceWithName :: TypedTerm InputObjectTypeExtensionSequence -> TypedTerm Name -> TypedTerm InputObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm Type -> TypedTerm (Maybe DefaultValue) -> TypedTerm (Maybe Directives) -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionDefaultValue :: TypedTerm InputValueDefinition -> TypedTerm (Maybe DefaultValue)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionDescription :: TypedTerm InputValueDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionDirectives :: TypedTerm InputValueDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionInputValueDefinition :: TypedName InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionName :: TypedTerm InputValueDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionType :: TypedTerm InputValueDefinition -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionWithDefaultValue :: TypedTerm InputValueDefinition -> TypedTerm (Maybe DefaultValue) -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionWithDescription :: TypedTerm InputValueDefinition -> TypedTerm (Maybe Description) -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionWithDirectives :: TypedTerm InputValueDefinition -> TypedTerm (Maybe Directives) -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionWithName :: TypedTerm InputValueDefinition -> TypedTerm Name -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: inputValueDefinitionWithType :: TypedTerm InputValueDefinition -> TypedTerm Type -> TypedTerm InputValueDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: intValue :: TypedTerm String -> TypedTerm IntValue
+ Hydra.Ext.Dsl.Graphql.Syntax: intValueIntValue :: TypedName IntValue
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionInterfaceTypeDefinition :: TypedName InterfaceTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSeq :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm InterfaceTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSeq2 :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm InterfaceTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm (Maybe Directives) -> TypedTerm FieldsDefinition -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2 :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm ImplementsInterfaces -> TypedTerm (Maybe Directives) -> TypedTerm InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2Description :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2Directives :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2ImplementsInterfaces :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2InterfaceTypeDefinitionSequence2 :: TypedName InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2Name :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2WithDescription :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm (Maybe Description) -> TypedTerm InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2WithDirectives :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm (Maybe Directives) -> TypedTerm InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2WithImplementsInterfaces :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm ImplementsInterfaces -> TypedTerm InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequence2WithName :: TypedTerm InterfaceTypeDefinitionSequence2 -> TypedTerm Name -> TypedTerm InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceDescription :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceDirectives :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceFieldsDefinition :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm FieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceImplementsInterfaces :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceInterfaceTypeDefinitionSequence :: TypedName InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceName :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceWithDescription :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe Description) -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceWithDirectives :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe Directives) -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceWithFieldsDefinition :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm FieldsDefinition -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceWithImplementsInterfaces :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeDefinitionSequenceWithName :: TypedTerm InterfaceTypeDefinitionSequence -> TypedTerm Name -> TypedTerm InterfaceTypeDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionInterfaceTypeExtension :: TypedName InterfaceTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSeq :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm InterfaceTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSeq2 :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm InterfaceTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSeq3 :: TypedTerm InterfaceTypeExtensionSequence3 -> TypedTerm InterfaceTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence :: TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm (Maybe Directives) -> TypedTerm FieldsDefinition -> TypedTerm InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2 :: TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm Directives -> TypedTerm InterfaceTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2Directives :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2ImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2InterfaceTypeExtensionSequence2 :: TypedName InterfaceTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2Name :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2WithDirectives :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm Directives -> TypedTerm InterfaceTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2WithImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm InterfaceTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence2WithName :: TypedTerm InterfaceTypeExtensionSequence2 -> TypedTerm Name -> TypedTerm InterfaceTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3 :: TypedTerm Name -> TypedTerm ImplementsInterfaces -> TypedTerm InterfaceTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3ImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence3 -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3InterfaceTypeExtensionSequence3 :: TypedName InterfaceTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3Name :: TypedTerm InterfaceTypeExtensionSequence3 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3WithImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence3 -> TypedTerm ImplementsInterfaces -> TypedTerm InterfaceTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequence3WithName :: TypedTerm InterfaceTypeExtensionSequence3 -> TypedTerm Name -> TypedTerm InterfaceTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceDirectives :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceFieldsDefinition :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm FieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceInterfaceTypeExtensionSequence :: TypedName InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceName :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceWithDirectives :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceWithFieldsDefinition :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm FieldsDefinition -> TypedTerm InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceWithImplementsInterfaces :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: interfaceTypeExtensionSequenceWithName :: TypedTerm InterfaceTypeExtensionSequence -> TypedTerm Name -> TypedTerm InterfaceTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: listType :: TypedTerm Type -> TypedTerm ListType
+ Hydra.Ext.Dsl.Graphql.Syntax: listTypeListType :: TypedName ListType
+ Hydra.Ext.Dsl.Graphql.Syntax: listValueListValue :: TypedName ListValue
+ Hydra.Ext.Dsl.Graphql.Syntax: listValueSeq :: TypedTerm ListValueSequence -> TypedTerm ListValue
+ Hydra.Ext.Dsl.Graphql.Syntax: listValueSequence2 :: TypedTerm [Value] -> TypedTerm ListValue
+ Hydra.Ext.Dsl.Graphql.Syntax: name :: TypedTerm String -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: nameName :: TypedName Name
+ Hydra.Ext.Dsl.Graphql.Syntax: namedType :: TypedTerm Name -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: namedTypeNamedType :: TypedName NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: nonNullTypeList :: TypedTerm ListType -> TypedTerm NonNullType
+ Hydra.Ext.Dsl.Graphql.Syntax: nonNullTypeNamed :: TypedTerm NamedType -> TypedTerm NonNullType
+ Hydra.Ext.Dsl.Graphql.Syntax: nonNullTypeNonNullType :: TypedName NonNullType
+ Hydra.Ext.Dsl.Graphql.Syntax: nullValue :: TypedTerm () -> TypedTerm NullValue
+ Hydra.Ext.Dsl.Graphql.Syntax: nullValueNullValue :: TypedName NullValue
+ Hydra.Ext.Dsl.Graphql.Syntax: objectField :: TypedTerm Name -> TypedTerm Value -> TypedTerm ObjectField
+ Hydra.Ext.Dsl.Graphql.Syntax: objectFieldName :: TypedTerm ObjectField -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: objectFieldObjectField :: TypedName ObjectField
+ Hydra.Ext.Dsl.Graphql.Syntax: objectFieldValue :: TypedTerm ObjectField -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: objectFieldWithName :: TypedTerm ObjectField -> TypedTerm Name -> TypedTerm ObjectField
+ Hydra.Ext.Dsl.Graphql.Syntax: objectFieldWithValue :: TypedTerm ObjectField -> TypedTerm Value -> TypedTerm ObjectField
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm (Maybe Directives) -> TypedTerm (Maybe FieldsDefinition) -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionDescription :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionDirectives :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionFieldsDefinition :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe FieldsDefinition)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionImplementsInterfaces :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionName :: TypedTerm ObjectTypeDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionObjectTypeDefinition :: TypedName ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionWithDescription :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe Description) -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionWithDirectives :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe Directives) -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionWithFieldsDefinition :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe FieldsDefinition) -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionWithImplementsInterfaces :: TypedTerm ObjectTypeDefinition -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeDefinitionWithName :: TypedTerm ObjectTypeDefinition -> TypedTerm Name -> TypedTerm ObjectTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionObjectTypeExtension :: TypedName ObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSeq :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm ObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSeq2 :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm ObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSeq3 :: TypedTerm ObjectTypeExtensionSequence3 -> TypedTerm ObjectTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence :: TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm (Maybe Directives) -> TypedTerm FieldsDefinition -> TypedTerm ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2 :: TypedTerm Name -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm (Maybe Directives) -> TypedTerm ObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2Directives :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2ImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2Name :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2ObjectTypeExtensionSequence2 :: TypedName ObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2WithDirectives :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm (Maybe Directives) -> TypedTerm ObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2WithImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm ObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence2WithName :: TypedTerm ObjectTypeExtensionSequence2 -> TypedTerm Name -> TypedTerm ObjectTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3 :: TypedTerm Name -> TypedTerm ImplementsInterfaces -> TypedTerm ObjectTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3ImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence3 -> TypedTerm ImplementsInterfaces
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3Name :: TypedTerm ObjectTypeExtensionSequence3 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3ObjectTypeExtensionSequence3 :: TypedName ObjectTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3WithImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence3 -> TypedTerm ImplementsInterfaces -> TypedTerm ObjectTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequence3WithName :: TypedTerm ObjectTypeExtensionSequence3 -> TypedTerm Name -> TypedTerm ObjectTypeExtensionSequence3
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceDirectives :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceFieldsDefinition :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm FieldsDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm (Maybe ImplementsInterfaces)
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceName :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceObjectTypeExtensionSequence :: TypedName ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceWithDirectives :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceWithFieldsDefinition :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm FieldsDefinition -> TypedTerm ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceWithImplementsInterfaces :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm (Maybe ImplementsInterfaces) -> TypedTerm ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectTypeExtensionSequenceWithName :: TypedTerm ObjectTypeExtensionSequence -> TypedTerm Name -> TypedTerm ObjectTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: objectValueObjectValue :: TypedName ObjectValue
+ Hydra.Ext.Dsl.Graphql.Syntax: objectValueSeq :: TypedTerm ObjectValueSequence -> TypedTerm ObjectValue
+ Hydra.Ext.Dsl.Graphql.Syntax: objectValueSequence2 :: TypedTerm [ObjectField] -> TypedTerm ObjectValue
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionOperationDefinition :: TypedName OperationDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSelectionSet :: TypedTerm SelectionSet -> TypedTerm OperationDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSeq :: TypedTerm OperationDefinitionSequence -> TypedTerm OperationDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequence :: TypedTerm OperationType -> TypedTerm (Maybe Name) -> TypedTerm (Maybe VariablesDefinition) -> TypedTerm (Maybe Directives) -> TypedTerm SelectionSet -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceDirectives :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceName :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe Name)
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceOperationDefinitionSequence :: TypedName OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceOperationType :: TypedTerm OperationDefinitionSequence -> TypedTerm OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceSelectionSet :: TypedTerm OperationDefinitionSequence -> TypedTerm SelectionSet
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceVariablesDefinition :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe VariablesDefinition)
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceWithDirectives :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe Directives) -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceWithName :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe Name) -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceWithOperationType :: TypedTerm OperationDefinitionSequence -> TypedTerm OperationType -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceWithSelectionSet :: TypedTerm OperationDefinitionSequence -> TypedTerm SelectionSet -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationDefinitionSequenceWithVariablesDefinition :: TypedTerm OperationDefinitionSequence -> TypedTerm (Maybe VariablesDefinition) -> TypedTerm OperationDefinitionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: operationTypeMutation :: TypedTerm OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: operationTypeOperationType :: TypedName OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: operationTypeQuery :: TypedTerm OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: operationTypeSubscription :: TypedTerm OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinition :: TypedTerm OperationType -> TypedTerm NamedType -> TypedTerm RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinitionNamedType :: TypedTerm RootOperationTypeDefinition -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinitionOperationType :: TypedTerm RootOperationTypeDefinition -> TypedTerm OperationType
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinitionRootOperationTypeDefinition :: TypedName RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinitionWithNamedType :: TypedTerm RootOperationTypeDefinition -> TypedTerm NamedType -> TypedTerm RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: rootOperationTypeDefinitionWithOperationType :: TypedTerm RootOperationTypeDefinition -> TypedTerm OperationType -> TypedTerm RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm ScalarTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionDescription :: TypedTerm ScalarTypeDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionDirectives :: TypedTerm ScalarTypeDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionName :: TypedTerm ScalarTypeDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionScalarTypeDefinition :: TypedName ScalarTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionWithDescription :: TypedTerm ScalarTypeDefinition -> TypedTerm (Maybe Description) -> TypedTerm ScalarTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionWithDirectives :: TypedTerm ScalarTypeDefinition -> TypedTerm (Maybe Directives) -> TypedTerm ScalarTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeDefinitionWithName :: TypedTerm ScalarTypeDefinition -> TypedTerm Name -> TypedTerm ScalarTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtension :: TypedTerm Name -> TypedTerm Directives -> TypedTerm ScalarTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtensionDirectives :: TypedTerm ScalarTypeExtension -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtensionName :: TypedTerm ScalarTypeExtension -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtensionScalarTypeExtension :: TypedName ScalarTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtensionWithDirectives :: TypedTerm ScalarTypeExtension -> TypedTerm Directives -> TypedTerm ScalarTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: scalarTypeExtensionWithName :: TypedTerm ScalarTypeExtension -> TypedTerm Name -> TypedTerm ScalarTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinition :: TypedTerm (Maybe Description) -> TypedTerm (Maybe Directives) -> TypedTerm RootOperationTypeDefinition -> TypedTerm SchemaDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionDescription :: TypedTerm SchemaDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionDirectives :: TypedTerm SchemaDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionRootOperationTypeDefinition :: TypedTerm SchemaDefinition -> TypedTerm RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionSchemaDefinition :: TypedName SchemaDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionWithDescription :: TypedTerm SchemaDefinition -> TypedTerm (Maybe Description) -> TypedTerm SchemaDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionWithDirectives :: TypedTerm SchemaDefinition -> TypedTerm (Maybe Directives) -> TypedTerm SchemaDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaDefinitionWithRootOperationTypeDefinition :: TypedTerm SchemaDefinition -> TypedTerm RootOperationTypeDefinition -> TypedTerm SchemaDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSchemaExtension :: TypedName SchemaExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSeq :: TypedTerm SchemaExtensionSequence -> TypedTerm SchemaExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequence :: TypedTerm (Maybe Directives) -> TypedTerm RootOperationTypeDefinition -> TypedTerm SchemaExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequence2 :: TypedTerm Directives -> TypedTerm SchemaExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequenceDirectives :: TypedTerm SchemaExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequenceRootOperationTypeDefinition :: TypedTerm SchemaExtensionSequence -> TypedTerm RootOperationTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequenceSchemaExtensionSequence :: TypedName SchemaExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequenceWithDirectives :: TypedTerm SchemaExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm SchemaExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: schemaExtensionSequenceWithRootOperationTypeDefinition :: TypedTerm SchemaExtensionSequence -> TypedTerm RootOperationTypeDefinition -> TypedTerm SchemaExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionField :: TypedTerm Field -> TypedTerm Selection
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionFragmentSpread :: TypedTerm FragmentSpread -> TypedTerm Selection
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionInlineFragment :: TypedTerm InlineFragment -> TypedTerm Selection
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionSelection :: TypedName Selection
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionSet :: TypedTerm [Selection] -> TypedTerm SelectionSet
+ Hydra.Ext.Dsl.Graphql.Syntax: selectionSetSelectionSet :: TypedName SelectionSet
+ Hydra.Ext.Dsl.Graphql.Syntax: stringValue :: TypedTerm String -> TypedTerm StringValue
+ Hydra.Ext.Dsl.Graphql.Syntax: stringValueStringValue :: TypedName StringValue
+ Hydra.Ext.Dsl.Graphql.Syntax: typeConditionNamedType :: TypedTerm NamedType -> TypedTerm TypeCondition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeConditionOn :: TypedTerm TypeCondition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeConditionTypeCondition :: TypedName TypeCondition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionEnum :: TypedTerm EnumTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionInputObject :: TypedTerm InputObjectTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionInterface :: TypedTerm InterfaceTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionObject :: TypedTerm ObjectTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionScalar :: TypedTerm ScalarTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionTypeDefinition :: TypedName TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeDefinitionUnion :: TypedTerm UnionTypeDefinition -> TypedTerm TypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionEnum :: TypedTerm EnumTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionInputObject :: TypedTerm InputObjectTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionInterface :: TypedTerm InterfaceTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionObject :: TypedTerm ObjectTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionScalar :: TypedTerm ScalarTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionTypeExtension :: TypedName TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeExtensionUnion :: TypedTerm UnionTypeExtension -> TypedTerm TypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeList :: TypedTerm ListType -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: typeNamed :: TypedTerm NamedType -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: typeNonNull :: TypedTerm NonNullType -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionDirective :: TypedTerm DirectiveDefinition -> TypedTerm TypeSystemDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionOrExtensionDefinition :: TypedTerm TypeSystemDefinition -> TypedTerm TypeSystemDefinitionOrExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionOrExtensionExtension :: TypedTerm TypeSystemExtension -> TypedTerm TypeSystemDefinitionOrExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionOrExtensionTypeSystemDefinitionOrExtension :: TypedName TypeSystemDefinitionOrExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionSchema :: TypedTerm SchemaDefinition -> TypedTerm TypeSystemDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionType :: TypedTerm TypeDefinition -> TypedTerm TypeSystemDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDefinitionTypeSystemDefinition :: TypedName TypeSystemDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationARGUMENT_DEFINITION :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationENUM :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationENUM_VALUE :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationFIELD_DEFINITION :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationINPUT_FIELD_DEFINITION :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationINPUT_OBJECT :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationINTERFACE :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationOBJECT :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationSCALAR :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationSCHEMA :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationTypeSystemDirectiveLocation :: TypedName TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDirectiveLocationUNION :: TypedTerm TypeSystemDirectiveLocation
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDocment :: TypedTerm [TypeSystemDefinition] -> TypedTerm TypeSystemDocment
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemDocmentTypeSystemDocment :: TypedName TypeSystemDocment
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemExtensionDocument :: TypedTerm [TypeSystemDefinitionOrExtension] -> TypedTerm TypeSystemExtensionDocument
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemExtensionDocumentTypeSystemExtensionDocument :: TypedName TypeSystemExtensionDocument
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemExtensionSchema :: TypedTerm SchemaExtension -> TypedTerm TypeSystemExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemExtensionType :: TypedTerm TypeExtension -> TypedTerm TypeSystemExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeSystemExtensionTypeSystemExtension :: TypedName TypeSystemExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: typeType :: TypedName Type
+ Hydra.Ext.Dsl.Graphql.Syntax: unArguments :: TypedTerm Arguments -> TypedTerm [Argument]
+ Hydra.Ext.Dsl.Graphql.Syntax: unArgumentsDefinition :: TypedTerm ArgumentsDefinition -> TypedTerm [InputValueDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unDefaultValue :: TypedTerm DefaultValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: unDescription :: TypedTerm Description -> TypedTerm StringValue
+ Hydra.Ext.Dsl.Graphql.Syntax: unDirectives :: TypedTerm Directives -> TypedTerm [Directive]
+ Hydra.Ext.Dsl.Graphql.Syntax: unDocument :: TypedTerm Document -> TypedTerm [Definition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unEnumValue :: TypedTerm EnumValue -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unEnumValuesDefinition :: TypedTerm EnumValuesDefinition -> TypedTerm [EnumValueDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unExecutableDocument :: TypedTerm ExecutableDocument -> TypedTerm [ExecutableDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unFieldsDefinition :: TypedTerm FieldsDefinition -> TypedTerm [FieldDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unFloatValue :: TypedTerm FloatValue -> TypedTerm String
+ Hydra.Ext.Dsl.Graphql.Syntax: unFragmentName :: TypedTerm FragmentName -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unInputFieldsDefinition :: TypedTerm InputFieldsDefinition -> TypedTerm [InputValueDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unIntValue :: TypedTerm IntValue -> TypedTerm String
+ Hydra.Ext.Dsl.Graphql.Syntax: unListType :: TypedTerm ListType -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: unName :: TypedTerm Name -> TypedTerm String
+ Hydra.Ext.Dsl.Graphql.Syntax: unNamedType :: TypedTerm NamedType -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unNullValue :: TypedTerm NullValue -> TypedTerm ()
+ Hydra.Ext.Dsl.Graphql.Syntax: unSelectionSet :: TypedTerm SelectionSet -> TypedTerm [Selection]
+ Hydra.Ext.Dsl.Graphql.Syntax: unStringValue :: TypedTerm StringValue -> TypedTerm String
+ Hydra.Ext.Dsl.Graphql.Syntax: unTypeSystemDocment :: TypedTerm TypeSystemDocment -> TypedTerm [TypeSystemDefinition]
+ Hydra.Ext.Dsl.Graphql.Syntax: unTypeSystemExtensionDocument :: TypedTerm TypeSystemExtensionDocument -> TypedTerm [TypeSystemDefinitionOrExtension]
+ Hydra.Ext.Dsl.Graphql.Syntax: unVariable :: TypedTerm Variable -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSeq :: TypedTerm UnionMemberTypesSequence -> TypedTerm UnionMemberTypes
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSeq2 :: TypedTerm UnionMemberTypesSequence2 -> TypedTerm UnionMemberTypes
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence :: TypedTerm UnionMemberTypes -> TypedTerm NamedType -> TypedTerm UnionMemberTypesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2 :: TypedTerm (Maybe ()) -> TypedTerm NamedType -> TypedTerm UnionMemberTypesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2NamedType :: TypedTerm UnionMemberTypesSequence2 -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2Or :: TypedTerm UnionMemberTypesSequence2 -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2UnionMemberTypesSequence2 :: TypedName UnionMemberTypesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2WithNamedType :: TypedTerm UnionMemberTypesSequence2 -> TypedTerm NamedType -> TypedTerm UnionMemberTypesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequence2WithOr :: TypedTerm UnionMemberTypesSequence2 -> TypedTerm (Maybe ()) -> TypedTerm UnionMemberTypesSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequenceNamedType :: TypedTerm UnionMemberTypesSequence -> TypedTerm NamedType
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequenceUnionMemberTypes :: TypedTerm UnionMemberTypesSequence -> TypedTerm UnionMemberTypes
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequenceUnionMemberTypesSequence :: TypedName UnionMemberTypesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequenceWithNamedType :: TypedTerm UnionMemberTypesSequence -> TypedTerm NamedType -> TypedTerm UnionMemberTypesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesSequenceWithUnionMemberTypes :: TypedTerm UnionMemberTypesSequence -> TypedTerm UnionMemberTypes -> TypedTerm UnionMemberTypesSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionMemberTypesUnionMemberTypes :: TypedName UnionMemberTypes
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinition :: TypedTerm (Maybe Description) -> TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm (Maybe UnionMemberTypes) -> TypedTerm UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionDescription :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe Description)
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionDirectives :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionName :: TypedTerm UnionTypeDefinition -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionUnionMemberTypes :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe UnionMemberTypes)
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionUnionTypeDefinition :: TypedName UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionWithDescription :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe Description) -> TypedTerm UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionWithDirectives :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe Directives) -> TypedTerm UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionWithName :: TypedTerm UnionTypeDefinition -> TypedTerm Name -> TypedTerm UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeDefinitionWithUnionMemberTypes :: TypedTerm UnionTypeDefinition -> TypedTerm (Maybe UnionMemberTypes) -> TypedTerm UnionTypeDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSeq :: TypedTerm UnionTypeExtensionSequence -> TypedTerm UnionTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSeq2 :: TypedTerm UnionTypeExtensionSequence2 -> TypedTerm UnionTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence :: TypedTerm Name -> TypedTerm (Maybe Directives) -> TypedTerm UnionMemberTypes -> TypedTerm UnionTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2 :: TypedTerm Name -> TypedTerm Directives -> TypedTerm UnionTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2Directives :: TypedTerm UnionTypeExtensionSequence2 -> TypedTerm Directives
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2Name :: TypedTerm UnionTypeExtensionSequence2 -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2UnionTypeExtensionSequence2 :: TypedName UnionTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2WithDirectives :: TypedTerm UnionTypeExtensionSequence2 -> TypedTerm Directives -> TypedTerm UnionTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequence2WithName :: TypedTerm UnionTypeExtensionSequence2 -> TypedTerm Name -> TypedTerm UnionTypeExtensionSequence2
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceDirectives :: TypedTerm UnionTypeExtensionSequence -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceName :: TypedTerm UnionTypeExtensionSequence -> TypedTerm Name
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceUnionMemberTypes :: TypedTerm UnionTypeExtensionSequence -> TypedTerm UnionMemberTypes
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceUnionTypeExtensionSequence :: TypedName UnionTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceWithDirectives :: TypedTerm UnionTypeExtensionSequence -> TypedTerm (Maybe Directives) -> TypedTerm UnionTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceWithName :: TypedTerm UnionTypeExtensionSequence -> TypedTerm Name -> TypedTerm UnionTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionSequenceWithUnionMemberTypes :: TypedTerm UnionTypeExtensionSequence -> TypedTerm UnionMemberTypes -> TypedTerm UnionTypeExtensionSequence
+ Hydra.Ext.Dsl.Graphql.Syntax: unionTypeExtensionUnionTypeExtension :: TypedName UnionTypeExtension
+ Hydra.Ext.Dsl.Graphql.Syntax: valueBoolean :: TypedTerm BooleanValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueEnum :: TypedTerm EnumValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueFloat :: TypedTerm FloatValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueInt :: TypedTerm IntValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueList :: TypedTerm ListValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueNull :: TypedTerm NullValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueObject :: TypedTerm ObjectValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueString :: TypedTerm StringValue -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueValue :: TypedName Value
+ Hydra.Ext.Dsl.Graphql.Syntax: valueVariable :: TypedTerm Variable -> TypedTerm Value
+ Hydra.Ext.Dsl.Graphql.Syntax: variable :: TypedTerm Name -> TypedTerm Variable
+ Hydra.Ext.Dsl.Graphql.Syntax: variableVariable :: TypedName Variable
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinition :: TypedTerm Variable -> TypedTerm Type -> TypedTerm (Maybe DefaultValue) -> TypedTerm (Maybe Directives) -> TypedTerm VariablesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionDefaultValue :: TypedTerm VariablesDefinition -> TypedTerm (Maybe DefaultValue)
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionDirectives :: TypedTerm VariablesDefinition -> TypedTerm (Maybe Directives)
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionType :: TypedTerm VariablesDefinition -> TypedTerm Type
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionVariable :: TypedTerm VariablesDefinition -> TypedTerm Variable
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionVariablesDefinition :: TypedName VariablesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionWithDefaultValue :: TypedTerm VariablesDefinition -> TypedTerm (Maybe DefaultValue) -> TypedTerm VariablesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionWithDirectives :: TypedTerm VariablesDefinition -> TypedTerm (Maybe Directives) -> TypedTerm VariablesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionWithType :: TypedTerm VariablesDefinition -> TypedTerm Type -> TypedTerm VariablesDefinition
+ Hydra.Ext.Dsl.Graphql.Syntax: variablesDefinitionWithVariable :: TypedTerm VariablesDefinition -> TypedTerm Variable -> TypedTerm VariablesDefinition
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAbout :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAcl :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAlternate :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAmphtml :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAppendix :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeApple_touch_icon :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeApple_touch_startup_image :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeArchives :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeAuthor :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeBlocked_by :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeBookmark :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCanonical :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeChapter :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCite_as :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCollection :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeContents :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeConvertedfrom :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCopyright :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCreate_form :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeCurrent :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeDescribedby :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeDescribes :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeDisclosure :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeDns_prefetch :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeDuplicate :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeEdit :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeEdit_form :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeEdit_media :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeEnclosure :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeExternal :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeFirst :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeGlossary :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeHelp :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeHosts :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeHub :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIcon :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIndex :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalafter :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalbefore :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalcontains :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervaldisjoint :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalduring :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalequals :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalfinishedby :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalfinishes :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalin :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalmeets :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalmetby :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervaloverlappedby :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervaloverlaps :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalstartedby :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeIntervalstarts :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeItem :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLast :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLatest_version :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLicense :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLinkRelationType :: TypedName LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLinkset :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeLrdd :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeManifest :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMask_icon :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMedia_feed :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMemento :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMicropub :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeModulepreload :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMonitor :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeMonitor_group :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeNext :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeNext_archive :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeNofollow :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeNoopener :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeNoreferrer :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeOpener :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeOpenid2Local_id :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeOpenid2Provider :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeOriginal :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeP3pv1 :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePayment :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePingback :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePreconnect :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePredecessor_version :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrefetch :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePreload :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrerender :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrev :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrev_archive :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePreview :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrevious :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePrivacy_policy :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeProfile :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypePublication :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeRelated :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeReplies :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeRestconf :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeRuleinput :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSearch :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSection :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSelf :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeService :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeService_desc :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeService_doc :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeService_meta :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSiptrunkingcapability :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSponsored :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeStart :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeStatus :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeStylesheet :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSubsection :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSuccessor_version :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeSunset :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeTag :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeTerms_of_service :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeTimegate :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeTimemap :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeType :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeUgc :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeUp :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeVersion_history :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeVia :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeWebmention :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeWorking_copy :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Iana.Linkrelations: linkRelationTypeWorking_copy_of :: TypedTerm LinkRelationType
+ Hydra.Ext.Dsl.Json.Schema.Model: additionalItemsAdditionalItems :: TypedName AdditionalItems
+ Hydra.Ext.Dsl.Json.Schema.Model: additionalItemsAny :: TypedTerm Bool -> TypedTerm AdditionalItems
+ Hydra.Ext.Dsl.Json.Schema.Model: additionalItemsSchema :: TypedTerm Schema -> TypedTerm AdditionalItems
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionAdditionalItems :: TypedTerm AdditionalItems -> TypedTerm ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionArrayRestriction :: TypedName ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionItems :: TypedTerm Items -> TypedTerm ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionMaxItems :: TypedTerm Int -> TypedTerm ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionMinItems :: TypedTerm Int -> TypedTerm ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: arrayRestrictionUniqueItems :: TypedTerm Bool -> TypedTerm ArrayRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: document :: TypedTerm (Maybe String) -> TypedTerm (Maybe (Map Keyword Schema)) -> TypedTerm Schema -> TypedTerm Document
+ Hydra.Ext.Dsl.Json.Schema.Model: documentDefinitions :: TypedTerm Document -> TypedTerm (Maybe (Map Keyword Schema))
+ Hydra.Ext.Dsl.Json.Schema.Model: documentDocument :: TypedName Document
+ Hydra.Ext.Dsl.Json.Schema.Model: documentId :: TypedTerm Document -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Json.Schema.Model: documentRoot :: TypedTerm Document -> TypedTerm Schema
+ Hydra.Ext.Dsl.Json.Schema.Model: documentWithDefinitions :: TypedTerm Document -> TypedTerm (Maybe (Map Keyword Schema)) -> TypedTerm Document
+ Hydra.Ext.Dsl.Json.Schema.Model: documentWithId :: TypedTerm Document -> TypedTerm (Maybe String) -> TypedTerm Document
+ Hydra.Ext.Dsl.Json.Schema.Model: documentWithRoot :: TypedTerm Document -> TypedTerm Schema -> TypedTerm Document
+ Hydra.Ext.Dsl.Json.Schema.Model: itemsItems :: TypedName Items
+ Hydra.Ext.Dsl.Json.Schema.Model: itemsSameItems :: TypedTerm Schema -> TypedTerm Items
+ Hydra.Ext.Dsl.Json.Schema.Model: itemsVarItems :: TypedTerm [Schema] -> TypedTerm Items
+ Hydra.Ext.Dsl.Json.Schema.Model: keyword :: TypedTerm String -> TypedTerm Keyword
+ Hydra.Ext.Dsl.Json.Schema.Model: keywordKeyword :: TypedName Keyword
+ Hydra.Ext.Dsl.Json.Schema.Model: limit :: TypedTerm Int -> TypedTerm Bool -> TypedTerm Limit
+ Hydra.Ext.Dsl.Json.Schema.Model: limitExclusive :: TypedTerm Limit -> TypedTerm Bool
+ Hydra.Ext.Dsl.Json.Schema.Model: limitLimit :: TypedName Limit
+ Hydra.Ext.Dsl.Json.Schema.Model: limitValue :: TypedTerm Limit -> TypedTerm Int
+ Hydra.Ext.Dsl.Json.Schema.Model: limitWithExclusive :: TypedTerm Limit -> TypedTerm Bool -> TypedTerm Limit
+ Hydra.Ext.Dsl.Json.Schema.Model: limitWithValue :: TypedTerm Limit -> TypedTerm Int -> TypedTerm Limit
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionAllOf :: TypedTerm [Schema] -> TypedTerm MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionAnyOf :: TypedTerm [Schema] -> TypedTerm MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionEnum :: TypedTerm [Value] -> TypedTerm MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionMultipleRestriction :: TypedName MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionNot :: TypedTerm Schema -> TypedTerm MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: multipleRestrictionOneOf :: TypedTerm [Schema] -> TypedTerm MultipleRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: numericRestrictionMaximum :: TypedTerm Limit -> TypedTerm NumericRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: numericRestrictionMinimum :: TypedTerm Limit -> TypedTerm NumericRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: numericRestrictionMultipleOf :: TypedTerm Int -> TypedTerm NumericRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: numericRestrictionNumericRestriction :: TypedName NumericRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionAdditionalProperties :: TypedTerm AdditionalItems -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionDependencies :: TypedTerm (Map Keyword SchemaOrArray) -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionMaxProperties :: TypedTerm Int -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionMinProperties :: TypedTerm Int -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionObjectRestriction :: TypedName ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionPatternProperties :: TypedTerm (Map RegularExpression Schema) -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionProperties :: TypedTerm (Map Keyword Schema) -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: objectRestrictionRequired :: TypedTerm [Keyword] -> TypedTerm ObjectRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: regularExpression :: TypedTerm String -> TypedTerm RegularExpression
+ Hydra.Ext.Dsl.Json.Schema.Model: regularExpressionRegularExpression :: TypedName RegularExpression
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionArray :: TypedTerm ArrayRestriction -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionDescription :: TypedTerm String -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionMultiple :: TypedTerm MultipleRestriction -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionNumber :: TypedTerm NumericRestriction -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionObject :: TypedTerm ObjectRestriction -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionReference :: TypedTerm SchemaReference -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionRestriction :: TypedName Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionString :: TypedTerm StringRestriction -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionTitle :: TypedTerm String -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: restrictionType :: TypedTerm Type -> TypedTerm Restriction
+ Hydra.Ext.Dsl.Json.Schema.Model: schema :: TypedTerm [Restriction] -> TypedTerm Schema
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaOrArrayArray :: TypedTerm [Keyword] -> TypedTerm SchemaOrArray
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaOrArraySchema :: TypedTerm Schema -> TypedTerm SchemaOrArray
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaOrArraySchemaOrArray :: TypedName SchemaOrArray
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaReference :: TypedTerm String -> TypedTerm SchemaReference
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaReferenceSchemaReference :: TypedName SchemaReference
+ Hydra.Ext.Dsl.Json.Schema.Model: schemaSchema :: TypedName Schema
+ Hydra.Ext.Dsl.Json.Schema.Model: stringRestrictionMaxLength :: TypedTerm Int -> TypedTerm StringRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: stringRestrictionMinLength :: TypedTerm Int -> TypedTerm StringRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: stringRestrictionPattern :: TypedTerm RegularExpression -> TypedTerm StringRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: stringRestrictionStringRestriction :: TypedName StringRestriction
+ Hydra.Ext.Dsl.Json.Schema.Model: typeMultiple :: TypedTerm [TypeName] -> TypedTerm Type
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameArray :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameBoolean :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameInteger :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameNull :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameNumber :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameObject :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameString :: TypedTerm TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeNameTypeName :: TypedName TypeName
+ Hydra.Ext.Dsl.Json.Schema.Model: typeSingle :: TypedTerm TypeName -> TypedTerm Type
+ Hydra.Ext.Dsl.Json.Schema.Model: typeType :: TypedName Type
+ Hydra.Ext.Dsl.Json.Schema.Model: unKeyword :: TypedTerm Keyword -> TypedTerm String
+ Hydra.Ext.Dsl.Json.Schema.Model: unRegularExpression :: TypedTerm RegularExpression -> TypedTerm String
+ Hydra.Ext.Dsl.Json.Schema.Model: unSchema :: TypedTerm Schema -> TypedTerm [Restriction]
+ Hydra.Ext.Dsl.Json.Schema.Model: unSchemaReference :: TypedTerm SchemaReference -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpression :: TypedTerm Bool -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression -> TypedTerm BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionBetweenExpression :: TypedName BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionExpression :: TypedTerm BetweenExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionLowerBound :: TypedTerm BetweenExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionNot :: TypedTerm BetweenExpression -> TypedTerm Bool
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionUpperBound :: TypedTerm BetweenExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionWithExpression :: TypedTerm BetweenExpression -> TypedTerm Expression -> TypedTerm BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionWithLowerBound :: TypedTerm BetweenExpression -> TypedTerm Expression -> TypedTerm BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionWithNot :: TypedTerm BetweenExpression -> TypedTerm Bool -> TypedTerm BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: betweenExpressionWithUpperBound :: TypedTerm BetweenExpression -> TypedTerm Expression -> TypedTerm BetweenExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpression :: TypedTerm Expression -> TypedTerm BinaryOperator -> TypedTerm Expression -> TypedTerm BinaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionBinaryExpression :: TypedName BinaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionLeft :: TypedTerm BinaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionOperator :: TypedTerm BinaryExpression -> TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionRight :: TypedTerm BinaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionWithLeft :: TypedTerm BinaryExpression -> TypedTerm Expression -> TypedTerm BinaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionWithOperator :: TypedTerm BinaryExpression -> TypedTerm BinaryOperator -> TypedTerm BinaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryExpressionWithRight :: TypedTerm BinaryExpression -> TypedTerm Expression -> TypedTerm BinaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorBinaryOperator :: TypedName BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorCaseInsensitiveEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorContains :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorDivide :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorEndsWith :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorGreater :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorGreaterOrEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorHas :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorHasPrefix :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorHasSuffix :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorLess :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorLessOrEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorMatchesRegex :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorMinus :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorNotEqual :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorPlus :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorStartsWith :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: binaryOperatorTimes :: TypedTerm BinaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionAgo :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionBin :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionBuiltInFunction :: TypedName BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionCount :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionDcount :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionEndofday :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionExtract :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionFormat_datetime :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionMaterialize :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionNow :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionRange :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionStartofday :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionStrcat :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: builtInFunctionTodynamic :: TypedTerm BuiltInFunction
+ Hydra.Ext.Dsl.Kusto.Kql: columnAlias :: TypedTerm ColumnName -> TypedTerm ColumnName -> TypedTerm ColumnAlias
+ Hydra.Ext.Dsl.Kusto.Kql: columnAliasAlias :: TypedTerm ColumnAlias -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: columnAliasColumn :: TypedTerm ColumnAlias -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: columnAliasColumnAlias :: TypedName ColumnAlias
+ Hydra.Ext.Dsl.Kusto.Kql: columnAliasWithAlias :: TypedTerm ColumnAlias -> TypedTerm ColumnName -> TypedTerm ColumnAlias
+ Hydra.Ext.Dsl.Kusto.Kql: columnAliasWithColumn :: TypedTerm ColumnAlias -> TypedTerm ColumnName -> TypedTerm ColumnAlias
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignment :: TypedTerm ColumnName -> TypedTerm Expression -> TypedTerm ColumnAssignment
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignmentColumn :: TypedTerm ColumnAssignment -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignmentColumnAssignment :: TypedName ColumnAssignment
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignmentExpression :: TypedTerm ColumnAssignment -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignmentWithColumn :: TypedTerm ColumnAssignment -> TypedTerm ColumnName -> TypedTerm ColumnAssignment
+ Hydra.Ext.Dsl.Kusto.Kql: columnAssignmentWithExpression :: TypedTerm ColumnAssignment -> TypedTerm Expression -> TypedTerm ColumnAssignment
+ Hydra.Ext.Dsl.Kusto.Kql: columnName :: TypedTerm String -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: columnNameColumnName :: TypedName ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: columnsAll :: TypedTerm Columns
+ Hydra.Ext.Dsl.Kusto.Kql: columnsColumns :: TypedName Columns
+ Hydra.Ext.Dsl.Kusto.Kql: columnsSingle :: TypedTerm ColumnName -> TypedTerm Columns
+ Hydra.Ext.Dsl.Kusto.Kql: commandCommand :: TypedName Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandCount :: TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandDistinct :: TypedTerm [ColumnName] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandExtend :: TypedTerm [ColumnAssignment] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandJoin :: TypedTerm JoinCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandLimit :: TypedTerm Int -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandMvexpand :: TypedTerm ColumnName -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandOrderBy :: TypedTerm [SortBy] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandParse :: TypedTerm ParseCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandPrint :: TypedTerm PrintCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandProject :: TypedTerm [Projection] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandProjectAway :: TypedTerm [ColumnName] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandProjectRename :: TypedTerm [ColumnAlias] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandRender :: TypedTerm String -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandSearch :: TypedTerm SearchCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandSortBy :: TypedTerm [SortBy] -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandSummarize :: TypedTerm SummarizeCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandTake :: TypedTerm Int -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandTop :: TypedTerm TopCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandUnion :: TypedTerm UnionCommand -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: commandWhere :: TypedTerm Expression -> TypedTerm Command
+ Hydra.Ext.Dsl.Kusto.Kql: datetime :: TypedTerm String -> TypedTerm Datetime
+ Hydra.Ext.Dsl.Kusto.Kql: datetimeDatetime :: TypedName Datetime
+ Hydra.Ext.Dsl.Kusto.Kql: duration :: TypedTerm Int -> TypedTerm DurationUnit -> TypedTerm Duration
+ Hydra.Ext.Dsl.Kusto.Kql: durationDuration :: TypedName Duration
+ Hydra.Ext.Dsl.Kusto.Kql: durationUnit :: TypedTerm Duration -> TypedTerm DurationUnit
+ Hydra.Ext.Dsl.Kusto.Kql: durationUnitDurationUnit :: TypedName DurationUnit
+ Hydra.Ext.Dsl.Kusto.Kql: durationUnitHour :: TypedTerm DurationUnit
+ Hydra.Ext.Dsl.Kusto.Kql: durationUnitMinute :: TypedTerm DurationUnit
+ Hydra.Ext.Dsl.Kusto.Kql: durationUnitSecond :: TypedTerm DurationUnit
+ Hydra.Ext.Dsl.Kusto.Kql: durationValue :: TypedTerm Duration -> TypedTerm Int
+ Hydra.Ext.Dsl.Kusto.Kql: durationWithUnit :: TypedTerm Duration -> TypedTerm DurationUnit -> TypedTerm Duration
+ Hydra.Ext.Dsl.Kusto.Kql: durationWithValue :: TypedTerm Duration -> TypedTerm Int -> TypedTerm Duration
+ Hydra.Ext.Dsl.Kusto.Kql: expressionAnd :: TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionAny :: TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionBetween :: TypedTerm BetweenExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionBinary :: TypedTerm BinaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionBraces :: TypedTerm Expression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionColumn :: TypedTerm ColumnName -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionDataset :: TypedTerm TableName -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionExpression :: TypedName Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionIndex :: TypedTerm IndexExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionList :: TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionLiteral :: TypedTerm Literal -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionOr :: TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionParentheses :: TypedTerm Expression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionProperty :: TypedTerm PropertyExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: expressionUnary :: TypedTerm UnaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: functionBuiltIn :: TypedTerm BuiltInFunction -> TypedTerm Function
+ Hydra.Ext.Dsl.Kusto.Kql: functionCustom :: TypedTerm FunctionName -> TypedTerm Function
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpression :: TypedTerm Function -> TypedTerm [Expression] -> TypedTerm FunctionExpression
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpressionArguments :: TypedTerm FunctionExpression -> TypedTerm [Expression]
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpressionFunction :: TypedTerm FunctionExpression -> TypedTerm Function
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpressionFunctionExpression :: TypedName FunctionExpression
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpressionWithArguments :: TypedTerm FunctionExpression -> TypedTerm [Expression] -> TypedTerm FunctionExpression
+ Hydra.Ext.Dsl.Kusto.Kql: functionExpressionWithFunction :: TypedTerm FunctionExpression -> TypedTerm Function -> TypedTerm FunctionExpression
+ Hydra.Ext.Dsl.Kusto.Kql: functionFunction :: TypedName Function
+ Hydra.Ext.Dsl.Kusto.Kql: functionName :: TypedTerm String -> TypedTerm FunctionName
+ Hydra.Ext.Dsl.Kusto.Kql: functionNameFunctionName :: TypedName FunctionName
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpression :: TypedTerm Expression -> TypedTerm String -> TypedTerm IndexExpression
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpressionExpression :: TypedTerm IndexExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpressionIndex :: TypedTerm IndexExpression -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpressionIndexExpression :: TypedName IndexExpression
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpressionWithExpression :: TypedTerm IndexExpression -> TypedTerm Expression -> TypedTerm IndexExpression
+ Hydra.Ext.Dsl.Kusto.Kql: indexExpressionWithIndex :: TypedTerm IndexExpression -> TypedTerm String -> TypedTerm IndexExpression
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommand :: TypedTerm JoinKind -> TypedTerm TableName -> TypedTerm Expression -> TypedTerm JoinCommand
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandExpression :: TypedTerm JoinCommand -> TypedTerm TableName
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandJoinCommand :: TypedName JoinCommand
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandKind :: TypedTerm JoinCommand -> TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandOn :: TypedTerm JoinCommand -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandWithExpression :: TypedTerm JoinCommand -> TypedTerm TableName -> TypedTerm JoinCommand
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandWithKind :: TypedTerm JoinCommand -> TypedTerm JoinKind -> TypedTerm JoinCommand
+ Hydra.Ext.Dsl.Kusto.Kql: joinCommandWithOn :: TypedTerm JoinCommand -> TypedTerm Expression -> TypedTerm JoinCommand
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindFullouter :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindInner :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindInnerunique :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindJoinKind :: TypedName JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindLeftanti :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindLeftouter :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindLeftsemi :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindRightanti :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindRightouter :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: joinKindRightsemi :: TypedTerm JoinKind
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePair :: TypedTerm String -> TypedTerm Expression -> TypedTerm KeyValuePair
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePairKey :: TypedTerm KeyValuePair -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePairKeyValuePair :: TypedName KeyValuePair
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePairValue :: TypedTerm KeyValuePair -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePairWithKey :: TypedTerm KeyValuePair -> TypedTerm String -> TypedTerm KeyValuePair
+ Hydra.Ext.Dsl.Kusto.Kql: keyValuePairWithValue :: TypedTerm KeyValuePair -> TypedTerm Expression -> TypedTerm KeyValuePair
+ Hydra.Ext.Dsl.Kusto.Kql: letBinding :: TypedTerm ColumnName -> TypedTerm Expression -> TypedTerm LetBinding
+ Hydra.Ext.Dsl.Kusto.Kql: letBindingExpression :: TypedTerm LetBinding -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: letBindingLetBinding :: TypedName LetBinding
+ Hydra.Ext.Dsl.Kusto.Kql: letBindingName :: TypedTerm LetBinding -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: letBindingWithExpression :: TypedTerm LetBinding -> TypedTerm Expression -> TypedTerm LetBinding
+ Hydra.Ext.Dsl.Kusto.Kql: letBindingWithName :: TypedTerm LetBinding -> TypedTerm ColumnName -> TypedTerm LetBinding
+ Hydra.Ext.Dsl.Kusto.Kql: letExpression :: TypedTerm [LetBinding] -> TypedTerm TabularExpression -> TypedTerm LetExpression
+ Hydra.Ext.Dsl.Kusto.Kql: letExpressionBindings :: TypedTerm LetExpression -> TypedTerm [LetBinding]
+ Hydra.Ext.Dsl.Kusto.Kql: letExpressionExpression :: TypedTerm LetExpression -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: letExpressionLetExpression :: TypedName LetExpression
+ Hydra.Ext.Dsl.Kusto.Kql: letExpressionWithBindings :: TypedTerm LetExpression -> TypedTerm [LetBinding] -> TypedTerm LetExpression
+ Hydra.Ext.Dsl.Kusto.Kql: letExpressionWithExpression :: TypedTerm LetExpression -> TypedTerm TabularExpression -> TypedTerm LetExpression
+ Hydra.Ext.Dsl.Kusto.Kql: literalBoolean :: TypedTerm Bool -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalDatetime :: TypedTerm Datetime -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalDouble :: TypedTerm Double -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalDuration :: TypedTerm Duration -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalInt :: TypedTerm Int -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalLiteral :: TypedName Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalLong :: TypedTerm Int64 -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: literalString :: TypedTerm String -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: orderAscending :: TypedTerm Order
+ Hydra.Ext.Dsl.Kusto.Kql: orderDescending :: TypedTerm Order
+ Hydra.Ext.Dsl.Kusto.Kql: orderOrder :: TypedName Order
+ Hydra.Ext.Dsl.Kusto.Kql: parameter :: TypedTerm String -> TypedTerm Literal -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Kusto.Kql: parameterKey :: TypedTerm Parameter -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: parameterParameter :: TypedName Parameter
+ Hydra.Ext.Dsl.Kusto.Kql: parameterValue :: TypedTerm Parameter -> TypedTerm Literal
+ Hydra.Ext.Dsl.Kusto.Kql: parameterWithKey :: TypedTerm Parameter -> TypedTerm String -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Kusto.Kql: parameterWithValue :: TypedTerm Parameter -> TypedTerm Literal -> TypedTerm Parameter
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommand :: TypedTerm ColumnName -> TypedTerm [KeyValuePair] -> TypedTerm ParseCommand
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommandColumn :: TypedTerm ParseCommand -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommandPairs :: TypedTerm ParseCommand -> TypedTerm [KeyValuePair]
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommandParseCommand :: TypedName ParseCommand
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommandWithColumn :: TypedTerm ParseCommand -> TypedTerm ColumnName -> TypedTerm ParseCommand
+ Hydra.Ext.Dsl.Kusto.Kql: parseCommandWithPairs :: TypedTerm ParseCommand -> TypedTerm [KeyValuePair] -> TypedTerm ParseCommand
+ Hydra.Ext.Dsl.Kusto.Kql: pipelineExpression :: TypedTerm [TabularExpression] -> TypedTerm PipelineExpression
+ Hydra.Ext.Dsl.Kusto.Kql: pipelineExpressionPipelineExpression :: TypedName PipelineExpression
+ Hydra.Ext.Dsl.Kusto.Kql: printCommand :: TypedTerm (Maybe ColumnName) -> TypedTerm Expression -> TypedTerm PrintCommand
+ Hydra.Ext.Dsl.Kusto.Kql: printCommandColumn :: TypedTerm PrintCommand -> TypedTerm (Maybe ColumnName)
+ Hydra.Ext.Dsl.Kusto.Kql: printCommandExpression :: TypedTerm PrintCommand -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: printCommandPrintCommand :: TypedName PrintCommand
+ Hydra.Ext.Dsl.Kusto.Kql: printCommandWithColumn :: TypedTerm PrintCommand -> TypedTerm (Maybe ColumnName) -> TypedTerm PrintCommand
+ Hydra.Ext.Dsl.Kusto.Kql: printCommandWithExpression :: TypedTerm PrintCommand -> TypedTerm Expression -> TypedTerm PrintCommand
+ Hydra.Ext.Dsl.Kusto.Kql: projection :: TypedTerm Expression -> TypedTerm (Maybe ColumnName) -> TypedTerm Projection
+ Hydra.Ext.Dsl.Kusto.Kql: projectionAlias :: TypedTerm Projection -> TypedTerm (Maybe ColumnName)
+ Hydra.Ext.Dsl.Kusto.Kql: projectionExpression :: TypedTerm Projection -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: projectionProjection :: TypedName Projection
+ Hydra.Ext.Dsl.Kusto.Kql: projectionWithAlias :: TypedTerm Projection -> TypedTerm (Maybe ColumnName) -> TypedTerm Projection
+ Hydra.Ext.Dsl.Kusto.Kql: projectionWithExpression :: TypedTerm Projection -> TypedTerm Expression -> TypedTerm Projection
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpression :: TypedTerm Expression -> TypedTerm String -> TypedTerm PropertyExpression
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpressionExpression :: TypedTerm PropertyExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpressionProperty :: TypedTerm PropertyExpression -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpressionPropertyExpression :: TypedName PropertyExpression
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpressionWithExpression :: TypedTerm PropertyExpression -> TypedTerm Expression -> TypedTerm PropertyExpression
+ Hydra.Ext.Dsl.Kusto.Kql: propertyExpressionWithProperty :: TypedTerm PropertyExpression -> TypedTerm String -> TypedTerm PropertyExpression
+ Hydra.Ext.Dsl.Kusto.Kql: query :: TypedTerm TabularExpression -> TypedTerm Query
+ Hydra.Ext.Dsl.Kusto.Kql: queryQuery :: TypedName Query
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommand :: TypedTerm [TableName] -> TypedTerm Expression -> TypedTerm SearchCommand
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommandDatasets :: TypedTerm SearchCommand -> TypedTerm [TableName]
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommandPattern :: TypedTerm SearchCommand -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommandSearchCommand :: TypedName SearchCommand
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommandWithDatasets :: TypedTerm SearchCommand -> TypedTerm [TableName] -> TypedTerm SearchCommand
+ Hydra.Ext.Dsl.Kusto.Kql: searchCommandWithPattern :: TypedTerm SearchCommand -> TypedTerm Expression -> TypedTerm SearchCommand
+ Hydra.Ext.Dsl.Kusto.Kql: sortBy :: TypedTerm ColumnName -> TypedTerm (Maybe Order) -> TypedTerm SortBy
+ Hydra.Ext.Dsl.Kusto.Kql: sortByColumn :: TypedTerm SortBy -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Kusto.Kql: sortByOrder :: TypedTerm SortBy -> TypedTerm (Maybe Order)
+ Hydra.Ext.Dsl.Kusto.Kql: sortBySortBy :: TypedName SortBy
+ Hydra.Ext.Dsl.Kusto.Kql: sortByWithColumn :: TypedTerm SortBy -> TypedTerm ColumnName -> TypedTerm SortBy
+ Hydra.Ext.Dsl.Kusto.Kql: sortByWithOrder :: TypedTerm SortBy -> TypedTerm (Maybe Order) -> TypedTerm SortBy
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommand :: TypedTerm [ColumnAssignment] -> TypedTerm [ColumnName] -> TypedTerm SummarizeCommand
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommandBy :: TypedTerm SummarizeCommand -> TypedTerm [ColumnName]
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommandColumns :: TypedTerm SummarizeCommand -> TypedTerm [ColumnAssignment]
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommandSummarizeCommand :: TypedName SummarizeCommand
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommandWithBy :: TypedTerm SummarizeCommand -> TypedTerm [ColumnName] -> TypedTerm SummarizeCommand
+ Hydra.Ext.Dsl.Kusto.Kql: summarizeCommandWithColumns :: TypedTerm SummarizeCommand -> TypedTerm [ColumnAssignment] -> TypedTerm SummarizeCommand
+ Hydra.Ext.Dsl.Kusto.Kql: tableName :: TypedTerm String -> TypedTerm TableName
+ Hydra.Ext.Dsl.Kusto.Kql: tableNameTableName :: TypedName TableName
+ Hydra.Ext.Dsl.Kusto.Kql: tabularExpressionCommand :: TypedTerm Command -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: tabularExpressionLet :: TypedTerm LetExpression -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: tabularExpressionPipeline :: TypedTerm PipelineExpression -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: tabularExpressionTable :: TypedTerm TableName -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: tabularExpressionTabularExpression :: TypedName TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: topCommand :: TypedTerm Int -> TypedTerm [SortBy] -> TypedTerm TopCommand
+ Hydra.Ext.Dsl.Kusto.Kql: topCommandCount :: TypedTerm TopCommand -> TypedTerm Int
+ Hydra.Ext.Dsl.Kusto.Kql: topCommandSort :: TypedTerm TopCommand -> TypedTerm [SortBy]
+ Hydra.Ext.Dsl.Kusto.Kql: topCommandTopCommand :: TypedName TopCommand
+ Hydra.Ext.Dsl.Kusto.Kql: topCommandWithCount :: TypedTerm TopCommand -> TypedTerm Int -> TypedTerm TopCommand
+ Hydra.Ext.Dsl.Kusto.Kql: topCommandWithSort :: TypedTerm TopCommand -> TypedTerm [SortBy] -> TypedTerm TopCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unColumnName :: TypedTerm ColumnName -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: unDatetime :: TypedTerm Datetime -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: unFunctionName :: TypedTerm FunctionName -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: unPipelineExpression :: TypedTerm PipelineExpression -> TypedTerm [TabularExpression]
+ Hydra.Ext.Dsl.Kusto.Kql: unQuery :: TypedTerm Query -> TypedTerm TabularExpression
+ Hydra.Ext.Dsl.Kusto.Kql: unTableName :: TypedTerm TableName -> TypedTerm String
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpression :: TypedTerm UnaryOperator -> TypedTerm Expression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpressionExpression :: TypedTerm UnaryExpression -> TypedTerm Expression
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpressionOperator :: TypedTerm UnaryExpression -> TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpressionUnaryExpression :: TypedName UnaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpressionWithExpression :: TypedTerm UnaryExpression -> TypedTerm Expression -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: unaryExpressionWithOperator :: TypedTerm UnaryExpression -> TypedTerm UnaryOperator -> TypedTerm UnaryExpression
+ Hydra.Ext.Dsl.Kusto.Kql: unaryOperatorNot :: TypedTerm UnaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: unaryOperatorUnaryOperator :: TypedName UnaryOperator
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommand :: TypedTerm [Parameter] -> TypedTerm (Maybe UnionKind) -> TypedTerm (Maybe ColumnName) -> TypedTerm (Maybe Bool) -> TypedTerm [TableName] -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandIsFuzzy :: TypedTerm UnionCommand -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandKind :: TypedTerm UnionCommand -> TypedTerm (Maybe UnionKind)
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandParameters :: TypedTerm UnionCommand -> TypedTerm [Parameter]
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandTables :: TypedTerm UnionCommand -> TypedTerm [TableName]
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandUnionCommand :: TypedName UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithIsFuzzy :: TypedTerm UnionCommand -> TypedTerm (Maybe Bool) -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithKind :: TypedTerm UnionCommand -> TypedTerm (Maybe UnionKind) -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithParameters :: TypedTerm UnionCommand -> TypedTerm [Parameter] -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithSource :: TypedTerm UnionCommand -> TypedTerm (Maybe ColumnName)
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithTables :: TypedTerm UnionCommand -> TypedTerm [TableName] -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionCommandWithWithSource :: TypedTerm UnionCommand -> TypedTerm (Maybe ColumnName) -> TypedTerm UnionCommand
+ Hydra.Ext.Dsl.Kusto.Kql: unionKindInner :: TypedTerm UnionKind
+ Hydra.Ext.Dsl.Kusto.Kql: unionKindOuter :: TypedTerm UnionKind
+ Hydra.Ext.Dsl.Kusto.Kql: unionKindUnionKind :: TypedName UnionKind
+ Hydra.Ext.Dsl.Osv.Schema: credited :: TypedTerm String -> TypedTerm (Maybe [Url]) -> TypedTerm Credited
+ Hydra.Ext.Dsl.Osv.Schema: creditedContact :: TypedTerm Credited -> TypedTerm (Maybe [Url])
+ Hydra.Ext.Dsl.Osv.Schema: creditedCredited :: TypedName Credited
+ Hydra.Ext.Dsl.Osv.Schema: creditedName :: TypedTerm Credited -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: creditedWithContact :: TypedTerm Credited -> TypedTerm (Maybe [Url]) -> TypedTerm Credited
+ Hydra.Ext.Dsl.Osv.Schema: creditedWithName :: TypedTerm Credited -> TypedTerm String -> TypedTerm Credited
+ Hydra.Ext.Dsl.Osv.Schema: ecosystem :: TypedTerm String -> TypedTerm Ecosystem
+ Hydra.Ext.Dsl.Osv.Schema: ecosystemEcosystem :: TypedName Ecosystem
+ Hydra.Ext.Dsl.Osv.Schema: entry :: TypedTerm (Maybe OsvVersion) -> TypedTerm Id -> TypedTerm Timestamp -> TypedTerm (Maybe Timestamp) -> TypedTerm (Maybe Timestamp) -> TypedTerm (Maybe [Id]) -> TypedTerm (Maybe [Id]) -> TypedTerm (Maybe String) -> TypedTerm (Maybe Markdown) -> TypedTerm (Maybe [Severity]) -> TypedTerm (Maybe [PackageVersions]) -> TypedTerm (Maybe [Reference]) -> TypedTerm (Maybe [Credited]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryAffected :: TypedTerm Entry -> TypedTerm (Maybe [PackageVersions])
+ Hydra.Ext.Dsl.Osv.Schema: entryAliases :: TypedTerm Entry -> TypedTerm (Maybe [Id])
+ Hydra.Ext.Dsl.Osv.Schema: entryCredits :: TypedTerm Entry -> TypedTerm (Maybe [Credited])
+ Hydra.Ext.Dsl.Osv.Schema: entryDetails :: TypedTerm Entry -> TypedTerm (Maybe Markdown)
+ Hydra.Ext.Dsl.Osv.Schema: entryEntry :: TypedName Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryId :: TypedTerm Entry -> TypedTerm Id
+ Hydra.Ext.Dsl.Osv.Schema: entryModified :: TypedTerm Entry -> TypedTerm Timestamp
+ Hydra.Ext.Dsl.Osv.Schema: entryPublished :: TypedTerm Entry -> TypedTerm (Maybe Timestamp)
+ Hydra.Ext.Dsl.Osv.Schema: entryReferences :: TypedTerm Entry -> TypedTerm (Maybe [Reference])
+ Hydra.Ext.Dsl.Osv.Schema: entryRelated :: TypedTerm Entry -> TypedTerm (Maybe [Id])
+ Hydra.Ext.Dsl.Osv.Schema: entrySchemaVersion :: TypedTerm Entry -> TypedTerm (Maybe OsvVersion)
+ Hydra.Ext.Dsl.Osv.Schema: entrySeverity :: TypedTerm Entry -> TypedTerm (Maybe [Severity])
+ Hydra.Ext.Dsl.Osv.Schema: entrySummary :: TypedTerm Entry -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Osv.Schema: entryWithAffected :: TypedTerm Entry -> TypedTerm (Maybe [PackageVersions]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithAliases :: TypedTerm Entry -> TypedTerm (Maybe [Id]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithCredits :: TypedTerm Entry -> TypedTerm (Maybe [Credited]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithDetails :: TypedTerm Entry -> TypedTerm (Maybe Markdown) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithId :: TypedTerm Entry -> TypedTerm Id -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithModified :: TypedTerm Entry -> TypedTerm Timestamp -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithPublished :: TypedTerm Entry -> TypedTerm (Maybe Timestamp) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithReferences :: TypedTerm Entry -> TypedTerm (Maybe [Reference]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithRelated :: TypedTerm Entry -> TypedTerm (Maybe [Id]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithSchemaVersion :: TypedTerm Entry -> TypedTerm (Maybe OsvVersion) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithSeverity :: TypedTerm Entry -> TypedTerm (Maybe [Severity]) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithSummary :: TypedTerm Entry -> TypedTerm (Maybe String) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithWithdrawn :: TypedTerm Entry -> TypedTerm (Maybe Timestamp) -> TypedTerm Entry
+ Hydra.Ext.Dsl.Osv.Schema: entryWithdrawn :: TypedTerm Entry -> TypedTerm (Maybe Timestamp)
+ Hydra.Ext.Dsl.Osv.Schema: eventEvent :: TypedName Event
+ Hydra.Ext.Dsl.Osv.Schema: eventFixed :: TypedTerm Version -> TypedTerm Event
+ Hydra.Ext.Dsl.Osv.Schema: eventIntroduced :: TypedTerm VersionOrZero -> TypedTerm Event
+ Hydra.Ext.Dsl.Osv.Schema: eventLastAffected :: TypedTerm Version -> TypedTerm Event
+ Hydra.Ext.Dsl.Osv.Schema: eventLimit :: TypedTerm VersionOrStar -> TypedTerm Event
+ Hydra.Ext.Dsl.Osv.Schema: id :: TypedTerm String -> TypedTerm Id
+ Hydra.Ext.Dsl.Osv.Schema: idId :: TypedName Id
+ Hydra.Ext.Dsl.Osv.Schema: markdown :: TypedTerm String -> TypedTerm Markdown
+ Hydra.Ext.Dsl.Osv.Schema: markdownMarkdown :: TypedName Markdown
+ Hydra.Ext.Dsl.Osv.Schema: osvVersion :: TypedTerm String -> TypedTerm OsvVersion
+ Hydra.Ext.Dsl.Osv.Schema: osvVersionOsvVersion :: TypedName OsvVersion
+ Hydra.Ext.Dsl.Osv.Schema: package :: TypedTerm Ecosystem -> TypedTerm String -> TypedTerm (Maybe Url) -> TypedTerm Package
+ Hydra.Ext.Dsl.Osv.Schema: packageEcosystem :: TypedTerm Package -> TypedTerm Ecosystem
+ Hydra.Ext.Dsl.Osv.Schema: packageName :: TypedTerm Package -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: packagePackage :: TypedName Package
+ Hydra.Ext.Dsl.Osv.Schema: packagePurl :: TypedTerm Package -> TypedTerm (Maybe Url)
+ Hydra.Ext.Dsl.Osv.Schema: packageVersions :: TypedTerm Package -> TypedTerm (Maybe [VersionRange]) -> TypedTerm (Maybe [Version]) -> TypedTerm PackageVersions
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsPackage :: TypedTerm PackageVersions -> TypedTerm Package
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsPackageVersions :: TypedName PackageVersions
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsRanges :: TypedTerm PackageVersions -> TypedTerm (Maybe [VersionRange])
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsVersions :: TypedTerm PackageVersions -> TypedTerm (Maybe [Version])
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsWithPackage :: TypedTerm PackageVersions -> TypedTerm Package -> TypedTerm PackageVersions
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsWithRanges :: TypedTerm PackageVersions -> TypedTerm (Maybe [VersionRange]) -> TypedTerm PackageVersions
+ Hydra.Ext.Dsl.Osv.Schema: packageVersionsWithVersions :: TypedTerm PackageVersions -> TypedTerm (Maybe [Version]) -> TypedTerm PackageVersions
+ Hydra.Ext.Dsl.Osv.Schema: packageWithEcosystem :: TypedTerm Package -> TypedTerm Ecosystem -> TypedTerm Package
+ Hydra.Ext.Dsl.Osv.Schema: packageWithName :: TypedTerm Package -> TypedTerm String -> TypedTerm Package
+ Hydra.Ext.Dsl.Osv.Schema: packageWithPurl :: TypedTerm Package -> TypedTerm (Maybe Url) -> TypedTerm Package
+ Hydra.Ext.Dsl.Osv.Schema: reference :: TypedTerm ReferenceType -> TypedTerm Url -> TypedTerm Reference
+ Hydra.Ext.Dsl.Osv.Schema: referenceReference :: TypedName Reference
+ Hydra.Ext.Dsl.Osv.Schema: referenceType :: TypedTerm Reference -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Osv.Schema: referenceType2 :: TypedTerm String -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Osv.Schema: referenceTypeReferenceType :: TypedName ReferenceType
+ Hydra.Ext.Dsl.Osv.Schema: referenceUrl :: TypedTerm Reference -> TypedTerm Url
+ Hydra.Ext.Dsl.Osv.Schema: referenceWithType :: TypedTerm Reference -> TypedTerm ReferenceType -> TypedTerm Reference
+ Hydra.Ext.Dsl.Osv.Schema: referenceWithUrl :: TypedTerm Reference -> TypedTerm Url -> TypedTerm Reference
+ Hydra.Ext.Dsl.Osv.Schema: severity :: TypedTerm SeverityType -> TypedTerm SeverityScore -> TypedTerm Severity
+ Hydra.Ext.Dsl.Osv.Schema: severityScore :: TypedTerm Severity -> TypedTerm SeverityScore
+ Hydra.Ext.Dsl.Osv.Schema: severityScore2 :: TypedTerm String -> TypedTerm SeverityScore
+ Hydra.Ext.Dsl.Osv.Schema: severityScoreSeverityScore :: TypedName SeverityScore
+ Hydra.Ext.Dsl.Osv.Schema: severitySeverity :: TypedName Severity
+ Hydra.Ext.Dsl.Osv.Schema: severityType :: TypedTerm Severity -> TypedTerm SeverityType
+ Hydra.Ext.Dsl.Osv.Schema: severityType2 :: TypedTerm String -> TypedTerm SeverityType
+ Hydra.Ext.Dsl.Osv.Schema: severityTypeSeverityType :: TypedName SeverityType
+ Hydra.Ext.Dsl.Osv.Schema: severityWithScore :: TypedTerm Severity -> TypedTerm SeverityScore -> TypedTerm Severity
+ Hydra.Ext.Dsl.Osv.Schema: severityWithType :: TypedTerm Severity -> TypedTerm SeverityType -> TypedTerm Severity
+ Hydra.Ext.Dsl.Osv.Schema: timestamp :: TypedTerm String -> TypedTerm Timestamp
+ Hydra.Ext.Dsl.Osv.Schema: timestampTimestamp :: TypedName Timestamp
+ Hydra.Ext.Dsl.Osv.Schema: unEcosystem :: TypedTerm Ecosystem -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unId :: TypedTerm Id -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unMarkdown :: TypedTerm Markdown -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unOsvVersion :: TypedTerm OsvVersion -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unReferenceType :: TypedTerm ReferenceType -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unSeverityScore :: TypedTerm SeverityScore -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unSeverityType :: TypedTerm SeverityType -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unTimestamp :: TypedTerm Timestamp -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unUrl :: TypedTerm Url -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unVersion :: TypedTerm Version -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unVersionOrStar :: TypedTerm VersionOrStar -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unVersionOrZero :: TypedTerm VersionOrZero -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: unVersionType :: TypedTerm VersionType -> TypedTerm String
+ Hydra.Ext.Dsl.Osv.Schema: url :: TypedTerm String -> TypedTerm Url
+ Hydra.Ext.Dsl.Osv.Schema: urlUrl :: TypedName Url
+ Hydra.Ext.Dsl.Osv.Schema: version :: TypedTerm String -> TypedTerm Version
+ Hydra.Ext.Dsl.Osv.Schema: versionOrStar :: TypedTerm String -> TypedTerm VersionOrStar
+ Hydra.Ext.Dsl.Osv.Schema: versionOrStarVersionOrStar :: TypedName VersionOrStar
+ Hydra.Ext.Dsl.Osv.Schema: versionOrZero :: TypedTerm String -> TypedTerm VersionOrZero
+ Hydra.Ext.Dsl.Osv.Schema: versionOrZeroVersionOrZero :: TypedName VersionOrZero
+ Hydra.Ext.Dsl.Osv.Schema: versionRange :: TypedTerm VersionType -> TypedTerm (Maybe Url) -> TypedTerm [Event] -> TypedTerm VersionRange
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeEvents :: TypedTerm VersionRange -> TypedTerm [Event]
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeRepo :: TypedTerm VersionRange -> TypedTerm (Maybe Url)
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeType :: TypedTerm VersionRange -> TypedTerm VersionType
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeVersionRange :: TypedName VersionRange
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeWithEvents :: TypedTerm VersionRange -> TypedTerm [Event] -> TypedTerm VersionRange
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeWithRepo :: TypedTerm VersionRange -> TypedTerm (Maybe Url) -> TypedTerm VersionRange
+ Hydra.Ext.Dsl.Osv.Schema: versionRangeWithType :: TypedTerm VersionRange -> TypedTerm VersionType -> TypedTerm VersionRange
+ Hydra.Ext.Dsl.Osv.Schema: versionType :: TypedTerm String -> TypedTerm VersionType
+ Hydra.Ext.Dsl.Osv.Schema: versionTypeVersionType :: TypedName VersionType
+ Hydra.Ext.Dsl.Osv.Schema: versionVersion :: TypedName Version
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1 :: TypedTerm (Maybe ByteString) -> TypedTerm (Maybe ByteString) -> TypedTerm (Maybe Bool) -> TypedTerm AesGcmCtrV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1AadFileUnique :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1AadPrefix :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1AesGcmCtrV1 :: TypedName AesGcmCtrV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1SupplyAadPrefix :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1WithAadFileUnique :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe ByteString) -> TypedTerm AesGcmCtrV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1WithAadPrefix :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe ByteString) -> TypedTerm AesGcmCtrV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmCtrV1WithSupplyAadPrefix :: TypedTerm AesGcmCtrV1 -> TypedTerm (Maybe Bool) -> TypedTerm AesGcmCtrV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1 :: TypedTerm (Maybe ByteString) -> TypedTerm (Maybe ByteString) -> TypedTerm (Maybe Bool) -> TypedTerm AesGcmV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1AadFileUnique :: TypedTerm AesGcmV1 -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1AadPrefix :: TypedTerm AesGcmV1 -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1AesGcmV1 :: TypedName AesGcmV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1SupplyAadPrefix :: TypedTerm AesGcmV1 -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1WithAadFileUnique :: TypedTerm AesGcmV1 -> TypedTerm (Maybe ByteString) -> TypedTerm AesGcmV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1WithAadPrefix :: TypedTerm AesGcmV1 -> TypedTerm (Maybe ByteString) -> TypedTerm AesGcmV1
+ Hydra.Ext.Dsl.Parquet.Format: aesGcmV1WithSupplyAadPrefix :: TypedTerm AesGcmV1 -> TypedTerm (Maybe Bool) -> TypedTerm AesGcmV1
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterAlgorithmBlock :: TypedTerm BloomFilterAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterAlgorithmBloomFilterAlgorithm :: TypedName BloomFilterAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterCompressionBloomFilterCompression :: TypedName BloomFilterCompression
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterCompressionUncompressed :: TypedTerm BloomFilterCompression
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHashBloomFilterHash :: TypedName BloomFilterHash
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHashXxhash :: TypedTerm BloomFilterHash
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeader :: TypedTerm Int -> TypedTerm BloomFilterAlgorithm -> TypedTerm BloomFilterHash -> TypedTerm BloomFilterCompression -> TypedTerm BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderAlgorithm :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderBloomFilterHeader :: TypedName BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderCompression :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterCompression
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderHash :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterHash
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderNumBytes :: TypedTerm BloomFilterHeader -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderWithAlgorithm :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterAlgorithm -> TypedTerm BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderWithCompression :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterCompression -> TypedTerm BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderWithHash :: TypedTerm BloomFilterHeader -> TypedTerm BloomFilterHash -> TypedTerm BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: bloomFilterHeaderWithNumBytes :: TypedTerm BloomFilterHeader -> TypedTerm Int -> TypedTerm BloomFilterHeader
+ Hydra.Ext.Dsl.Parquet.Format: boundaryOrderAscending :: TypedTerm BoundaryOrder
+ Hydra.Ext.Dsl.Parquet.Format: boundaryOrderBoundaryOrder :: TypedName BoundaryOrder
+ Hydra.Ext.Dsl.Parquet.Format: boundaryOrderDescending :: TypedTerm BoundaryOrder
+ Hydra.Ext.Dsl.Parquet.Format: boundaryOrderUnordered :: TypedTerm BoundaryOrder
+ Hydra.Ext.Dsl.Parquet.Format: columnChunk :: TypedTerm (Maybe String) -> TypedTerm Int64 -> TypedTerm (Maybe ColumnMetaData) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe ColumnCryptoMetaData) -> TypedTerm (Maybe ByteString) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkColumnChunk :: TypedName ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkColumnIndexLength :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkColumnIndexOffset :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkCryptoMetadata :: TypedTerm ColumnChunk -> TypedTerm (Maybe ColumnCryptoMetaData)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkEncryptedColumnMetadata :: TypedTerm ColumnChunk -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkFileOffset :: TypedTerm ColumnChunk -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkFilePath :: TypedTerm ColumnChunk -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkMetaData :: TypedTerm ColumnChunk -> TypedTerm (Maybe ColumnMetaData)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkOffsetIndexLength :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkOffsetIndexOffset :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithColumnIndexLength :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithColumnIndexOffset :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int64) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithCryptoMetadata :: TypedTerm ColumnChunk -> TypedTerm (Maybe ColumnCryptoMetaData) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithEncryptedColumnMetadata :: TypedTerm ColumnChunk -> TypedTerm (Maybe ByteString) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithFileOffset :: TypedTerm ColumnChunk -> TypedTerm Int64 -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithFilePath :: TypedTerm ColumnChunk -> TypedTerm (Maybe String) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithMetaData :: TypedTerm ColumnChunk -> TypedTerm (Maybe ColumnMetaData) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithOffsetIndexLength :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnChunkWithOffsetIndexOffset :: TypedTerm ColumnChunk -> TypedTerm (Maybe Int64) -> TypedTerm ColumnChunk
+ Hydra.Ext.Dsl.Parquet.Format: columnCryptoMetaDataColumnCryptoMetaData :: TypedName ColumnCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnCryptoMetaDataEncryptionWithColumnKey :: TypedTerm EncryptionWithColumnKey -> TypedTerm ColumnCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnCryptoMetaDataEncryptionWithFooterKey :: TypedTerm EncryptionWithFooterKey -> TypedTerm ColumnCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnIndex :: TypedTerm [Bool] -> TypedTerm [ByteString] -> TypedTerm [ByteString] -> TypedTerm BoundaryOrder -> TypedTerm (Maybe [Int64]) -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexBoundaryOrder :: TypedTerm ColumnIndex -> TypedTerm BoundaryOrder
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexColumnIndex :: TypedName ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexMaxValues :: TypedTerm ColumnIndex -> TypedTerm [ByteString]
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexMinValues :: TypedTerm ColumnIndex -> TypedTerm [ByteString]
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexNullCounts :: TypedTerm ColumnIndex -> TypedTerm (Maybe [Int64])
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexNullPages :: TypedTerm ColumnIndex -> TypedTerm [Bool]
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexWithBoundaryOrder :: TypedTerm ColumnIndex -> TypedTerm BoundaryOrder -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexWithMaxValues :: TypedTerm ColumnIndex -> TypedTerm [ByteString] -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexWithMinValues :: TypedTerm ColumnIndex -> TypedTerm [ByteString] -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexWithNullCounts :: TypedTerm ColumnIndex -> TypedTerm (Maybe [Int64]) -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnIndexWithNullPages :: TypedTerm ColumnIndex -> TypedTerm [Bool] -> TypedTerm ColumnIndex
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaData :: TypedTerm Type -> TypedTerm [Encoding] -> TypedTerm [String] -> TypedTerm CompressionCodec -> TypedTerm Int64 -> TypedTerm Int64 -> TypedTerm Int64 -> TypedTerm (Maybe [KeyValue]) -> TypedTerm Int64 -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Statistics) -> TypedTerm (Maybe [PageEncodingStats]) -> TypedTerm (Maybe Int64) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataBloomFilterOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataCodec :: TypedTerm ColumnMetaData -> TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataColumnMetaData :: TypedName ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataDataPageOffset :: TypedTerm ColumnMetaData -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataDictionaryPageOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataEncodingStats :: TypedTerm ColumnMetaData -> TypedTerm (Maybe [PageEncodingStats])
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataEncodings :: TypedTerm ColumnMetaData -> TypedTerm [Encoding]
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataIndexPageOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataKeyValueMetadata :: TypedTerm ColumnMetaData -> TypedTerm (Maybe [KeyValue])
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataNumValues :: TypedTerm ColumnMetaData -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataPathInSchema :: TypedTerm ColumnMetaData -> TypedTerm [String]
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataStatistics :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Statistics)
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataTotalCompressedSize :: TypedTerm ColumnMetaData -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataTotalUncompressedSize :: TypedTerm ColumnMetaData -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataType :: TypedTerm ColumnMetaData -> TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithBloomFilterOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithCodec :: TypedTerm ColumnMetaData -> TypedTerm CompressionCodec -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithDataPageOffset :: TypedTerm ColumnMetaData -> TypedTerm Int64 -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithDictionaryPageOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithEncodingStats :: TypedTerm ColumnMetaData -> TypedTerm (Maybe [PageEncodingStats]) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithEncodings :: TypedTerm ColumnMetaData -> TypedTerm [Encoding] -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithIndexPageOffset :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Int64) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithKeyValueMetadata :: TypedTerm ColumnMetaData -> TypedTerm (Maybe [KeyValue]) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithNumValues :: TypedTerm ColumnMetaData -> TypedTerm Int64 -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithPathInSchema :: TypedTerm ColumnMetaData -> TypedTerm [String] -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithStatistics :: TypedTerm ColumnMetaData -> TypedTerm (Maybe Statistics) -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithTotalCompressedSize :: TypedTerm ColumnMetaData -> TypedTerm Int64 -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithTotalUncompressedSize :: TypedTerm ColumnMetaData -> TypedTerm Int64 -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnMetaDataWithType :: TypedTerm ColumnMetaData -> TypedTerm Type -> TypedTerm ColumnMetaData
+ Hydra.Ext.Dsl.Parquet.Format: columnOrderColumnOrder :: TypedName ColumnOrder
+ Hydra.Ext.Dsl.Parquet.Format: columnOrderTypeOrder :: TypedTerm ColumnOrder
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecBrotli :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecCompressionCodec :: TypedName CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecGzip :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecLz4Raw :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecLzo :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecSnappy :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecUncompressed :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: compressionCodecZstd :: TypedTerm CompressionCodec
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeader :: TypedTerm Int -> TypedTerm Encoding -> TypedTerm Encoding -> TypedTerm Encoding -> TypedTerm (Maybe Statistics) -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderDataPageHeader :: TypedName DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderDefinitionLevelEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderNumValues :: TypedTerm DataPageHeader -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderRepetitionLevelEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderStatistics :: TypedTerm DataPageHeader -> TypedTerm (Maybe Statistics)
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2 :: TypedTerm Int -> TypedTerm Int -> TypedTerm Int -> TypedTerm Encoding -> TypedTerm Int -> TypedTerm Int -> TypedTerm (Maybe Bool) -> TypedTerm (Maybe Statistics) -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2DataPageHeaderV2 :: TypedName DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2DefinitionLevelsByteLength :: TypedTerm DataPageHeaderV2 -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2Encoding :: TypedTerm DataPageHeaderV2 -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2IsCompressed :: TypedTerm DataPageHeaderV2 -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2NumNulls :: TypedTerm DataPageHeaderV2 -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2NumRows :: TypedTerm DataPageHeaderV2 -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2NumValues :: TypedTerm DataPageHeaderV2 -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2RepetitionLevelsByteLength :: TypedTerm DataPageHeaderV2 -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2Statistics :: TypedTerm DataPageHeaderV2 -> TypedTerm (Maybe Statistics)
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithDefinitionLevelsByteLength :: TypedTerm DataPageHeaderV2 -> TypedTerm Int -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithEncoding :: TypedTerm DataPageHeaderV2 -> TypedTerm Encoding -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithIsCompressed :: TypedTerm DataPageHeaderV2 -> TypedTerm (Maybe Bool) -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithNumNulls :: TypedTerm DataPageHeaderV2 -> TypedTerm Int -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithNumRows :: TypedTerm DataPageHeaderV2 -> TypedTerm Int -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithNumValues :: TypedTerm DataPageHeaderV2 -> TypedTerm Int -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithRepetitionLevelsByteLength :: TypedTerm DataPageHeaderV2 -> TypedTerm Int -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderV2WithStatistics :: TypedTerm DataPageHeaderV2 -> TypedTerm (Maybe Statistics) -> TypedTerm DataPageHeaderV2
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderWithDefinitionLevelEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderWithEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderWithNumValues :: TypedTerm DataPageHeader -> TypedTerm Int -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderWithRepetitionLevelEncoding :: TypedTerm DataPageHeader -> TypedTerm Encoding -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dataPageHeaderWithStatistics :: TypedTerm DataPageHeader -> TypedTerm (Maybe Statistics) -> TypedTerm DataPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: decimalType :: TypedTerm Int -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Parquet.Format: decimalTypeDecimalType :: TypedName DecimalType
+ Hydra.Ext.Dsl.Parquet.Format: decimalTypePrecision :: TypedTerm DecimalType -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: decimalTypeScale :: TypedTerm DecimalType -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: decimalTypeWithPrecision :: TypedTerm DecimalType -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Parquet.Format: decimalTypeWithScale :: TypedTerm DecimalType -> TypedTerm Int -> TypedTerm DecimalType
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeader :: TypedTerm Int -> TypedTerm Encoding -> TypedTerm (Maybe Bool) -> TypedTerm DictionaryPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderDictionaryPageHeader :: TypedName DictionaryPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderEncoding :: TypedTerm DictionaryPageHeader -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderIsSorted :: TypedTerm DictionaryPageHeader -> TypedTerm (Maybe Bool)
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderNumValues :: TypedTerm DictionaryPageHeader -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderWithEncoding :: TypedTerm DictionaryPageHeader -> TypedTerm Encoding -> TypedTerm DictionaryPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderWithIsSorted :: TypedTerm DictionaryPageHeader -> TypedTerm (Maybe Bool) -> TypedTerm DictionaryPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: dictionaryPageHeaderWithNumValues :: TypedTerm DictionaryPageHeader -> TypedTerm Int -> TypedTerm DictionaryPageHeader
+ Hydra.Ext.Dsl.Parquet.Format: encodingBitPacked :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingByteStreamSplit :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingDeltaBinaryPacked :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingDeltaByteArray :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingDeltaLengthByteArray :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingEncoding :: TypedName Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingPlain :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingRle :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encodingRleDictionary :: TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: encryptionAlgorithmAesGcmCtrV1 :: TypedTerm AesGcmCtrV1 -> TypedTerm EncryptionAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: encryptionAlgorithmAesGcmV1 :: TypedTerm AesGcmV1 -> TypedTerm EncryptionAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: encryptionAlgorithmEncryptionAlgorithm :: TypedName EncryptionAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKey :: TypedTerm [String] -> TypedTerm (Maybe ByteString) -> TypedTerm EncryptionWithColumnKey
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKeyEncryptionWithColumnKey :: TypedName EncryptionWithColumnKey
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKeyKeyMetadata :: TypedTerm EncryptionWithColumnKey -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKeyPathInSchema :: TypedTerm EncryptionWithColumnKey -> TypedTerm [String]
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKeyWithKeyMetadata :: TypedTerm EncryptionWithColumnKey -> TypedTerm (Maybe ByteString) -> TypedTerm EncryptionWithColumnKey
+ Hydra.Ext.Dsl.Parquet.Format: encryptionWithColumnKeyWithPathInSchema :: TypedTerm EncryptionWithColumnKey -> TypedTerm [String] -> TypedTerm EncryptionWithColumnKey
+ Hydra.Ext.Dsl.Parquet.Format: fieldRepetitionTypeFieldRepetitionType :: TypedName FieldRepetitionType
+ Hydra.Ext.Dsl.Parquet.Format: fieldRepetitionTypeOptional :: TypedTerm FieldRepetitionType
+ Hydra.Ext.Dsl.Parquet.Format: fieldRepetitionTypeRepeated :: TypedTerm FieldRepetitionType
+ Hydra.Ext.Dsl.Parquet.Format: fieldRepetitionTypeRequired :: TypedTerm FieldRepetitionType
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaData :: TypedTerm EncryptionAlgorithm -> TypedTerm (Maybe ByteString) -> TypedTerm FileCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaDataEncryptionAlgorithm :: TypedTerm FileCryptoMetaData -> TypedTerm EncryptionAlgorithm
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaDataFileCryptoMetaData :: TypedName FileCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaDataKeyMetadata :: TypedTerm FileCryptoMetaData -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaDataWithEncryptionAlgorithm :: TypedTerm FileCryptoMetaData -> TypedTerm EncryptionAlgorithm -> TypedTerm FileCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileCryptoMetaDataWithKeyMetadata :: TypedTerm FileCryptoMetaData -> TypedTerm (Maybe ByteString) -> TypedTerm FileCryptoMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaData :: TypedTerm Int -> TypedTerm [SchemaElement] -> TypedTerm Int64 -> TypedTerm [RowGroup] -> TypedTerm (Maybe [KeyValue]) -> TypedTerm (Maybe String) -> TypedTerm (Maybe [ColumnOrder]) -> TypedTerm (Maybe EncryptionAlgorithm) -> TypedTerm (Maybe ByteString) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataColumnOrders :: TypedTerm FileMetaData -> TypedTerm (Maybe [ColumnOrder])
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataCreatedBy :: TypedTerm FileMetaData -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataEncryptionAlgorithm :: TypedTerm FileMetaData -> TypedTerm (Maybe EncryptionAlgorithm)
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataFileMetaData :: TypedName FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataFooterSigningKeyMetadata :: TypedTerm FileMetaData -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataKeyValueMetadata :: TypedTerm FileMetaData -> TypedTerm (Maybe [KeyValue])
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataNumRows :: TypedTerm FileMetaData -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataRowGroups :: TypedTerm FileMetaData -> TypedTerm [RowGroup]
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataSchema :: TypedTerm FileMetaData -> TypedTerm [SchemaElement]
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataVersion :: TypedTerm FileMetaData -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithColumnOrders :: TypedTerm FileMetaData -> TypedTerm (Maybe [ColumnOrder]) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithCreatedBy :: TypedTerm FileMetaData -> TypedTerm (Maybe String) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithEncryptionAlgorithm :: TypedTerm FileMetaData -> TypedTerm (Maybe EncryptionAlgorithm) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithFooterSigningKeyMetadata :: TypedTerm FileMetaData -> TypedTerm (Maybe ByteString) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithKeyValueMetadata :: TypedTerm FileMetaData -> TypedTerm (Maybe [KeyValue]) -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithNumRows :: TypedTerm FileMetaData -> TypedTerm Int64 -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithRowGroups :: TypedTerm FileMetaData -> TypedTerm [RowGroup] -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithSchema :: TypedTerm FileMetaData -> TypedTerm [SchemaElement] -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: fileMetaDataWithVersion :: TypedTerm FileMetaData -> TypedTerm Int -> TypedTerm FileMetaData
+ Hydra.Ext.Dsl.Parquet.Format: intType :: TypedTerm Int16 -> TypedTerm Bool -> TypedTerm IntType
+ Hydra.Ext.Dsl.Parquet.Format: intTypeBitWidth :: TypedTerm IntType -> TypedTerm Int16
+ Hydra.Ext.Dsl.Parquet.Format: intTypeIntType :: TypedName IntType
+ Hydra.Ext.Dsl.Parquet.Format: intTypeIsSigned :: TypedTerm IntType -> TypedTerm Bool
+ Hydra.Ext.Dsl.Parquet.Format: intTypeWithBitWidth :: TypedTerm IntType -> TypedTerm Int16 -> TypedTerm IntType
+ Hydra.Ext.Dsl.Parquet.Format: intTypeWithIsSigned :: TypedTerm IntType -> TypedTerm Bool -> TypedTerm IntType
+ Hydra.Ext.Dsl.Parquet.Format: keyValue :: TypedTerm String -> TypedTerm (Maybe String) -> TypedTerm KeyValue
+ Hydra.Ext.Dsl.Parquet.Format: keyValueKey :: TypedTerm KeyValue -> TypedTerm String
+ Hydra.Ext.Dsl.Parquet.Format: keyValueKeyValue :: TypedName KeyValue
+ Hydra.Ext.Dsl.Parquet.Format: keyValueValue :: TypedTerm KeyValue -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Parquet.Format: keyValueWithKey :: TypedTerm KeyValue -> TypedTerm String -> TypedTerm KeyValue
+ Hydra.Ext.Dsl.Parquet.Format: keyValueWithValue :: TypedTerm KeyValue -> TypedTerm (Maybe String) -> TypedTerm KeyValue
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeBson :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeDate :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeDecimal :: TypedTerm DecimalType -> TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeEnum :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeInteger :: TypedTerm IntType -> TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeJson :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeList :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeLogicalType :: TypedName LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeMap :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeString :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeTime :: TypedTerm TimeType -> TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeTimestamp :: TypedTerm TimestampType -> TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeUnknown :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: logicalTypeUuid :: TypedTerm LogicalType
+ Hydra.Ext.Dsl.Parquet.Format: offsetIndex :: TypedTerm [PageLocation] -> TypedTerm OffsetIndex
+ Hydra.Ext.Dsl.Parquet.Format: offsetIndexOffsetIndex :: TypedName OffsetIndex
+ Hydra.Ext.Dsl.Parquet.Format: offsetIndexPageLocations :: TypedTerm OffsetIndex -> TypedTerm [PageLocation]
+ Hydra.Ext.Dsl.Parquet.Format: offsetIndexWithPageLocations :: TypedTerm OffsetIndex -> TypedTerm [PageLocation] -> TypedTerm OffsetIndex
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStats :: TypedTerm PageType -> TypedTerm Encoding -> TypedTerm Int -> TypedTerm PageEncodingStats
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsCount :: TypedTerm PageEncodingStats -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsEncoding :: TypedTerm PageEncodingStats -> TypedTerm Encoding
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsPageEncodingStats :: TypedName PageEncodingStats
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsPageType :: TypedTerm PageEncodingStats -> TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsWithCount :: TypedTerm PageEncodingStats -> TypedTerm Int -> TypedTerm PageEncodingStats
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsWithEncoding :: TypedTerm PageEncodingStats -> TypedTerm Encoding -> TypedTerm PageEncodingStats
+ Hydra.Ext.Dsl.Parquet.Format: pageEncodingStatsWithPageType :: TypedTerm PageEncodingStats -> TypedTerm PageType -> TypedTerm PageEncodingStats
+ Hydra.Ext.Dsl.Parquet.Format: pageHeader :: TypedTerm PageType -> TypedTerm Int -> TypedTerm Int -> TypedTerm (Maybe Int) -> TypedTerm (Maybe DataPageHeader) -> TypedTerm (Maybe IndexPageHeader) -> TypedTerm (Maybe DictionaryPageHeader) -> TypedTerm (Maybe DataPageHeaderV2) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderCompressedPageSize :: TypedTerm PageHeader -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderCrc :: TypedTerm PageHeader -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderDataPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe DataPageHeader)
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderDataPageHeaderV2 :: TypedTerm PageHeader -> TypedTerm (Maybe DataPageHeaderV2)
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderDictionaryPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe DictionaryPageHeader)
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderIndexPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe IndexPageHeader)
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderPageHeader :: TypedName PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderType :: TypedTerm PageHeader -> TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderUncompressedPageSize :: TypedTerm PageHeader -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithCompressedPageSize :: TypedTerm PageHeader -> TypedTerm Int -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithCrc :: TypedTerm PageHeader -> TypedTerm (Maybe Int) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithDataPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe DataPageHeader) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithDataPageHeaderV2 :: TypedTerm PageHeader -> TypedTerm (Maybe DataPageHeaderV2) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithDictionaryPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe DictionaryPageHeader) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithIndexPageHeader :: TypedTerm PageHeader -> TypedTerm (Maybe IndexPageHeader) -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithType :: TypedTerm PageHeader -> TypedTerm PageType -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageHeaderWithUncompressedPageSize :: TypedTerm PageHeader -> TypedTerm Int -> TypedTerm PageHeader
+ Hydra.Ext.Dsl.Parquet.Format: pageLocation :: TypedTerm Int64 -> TypedTerm Int -> TypedTerm Int64 -> TypedTerm PageLocation
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationCompressedPageSize :: TypedTerm PageLocation -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationFirstRowIndex :: TypedTerm PageLocation -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationOffset :: TypedTerm PageLocation -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationPageLocation :: TypedName PageLocation
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationWithCompressedPageSize :: TypedTerm PageLocation -> TypedTerm Int -> TypedTerm PageLocation
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationWithFirstRowIndex :: TypedTerm PageLocation -> TypedTerm Int64 -> TypedTerm PageLocation
+ Hydra.Ext.Dsl.Parquet.Format: pageLocationWithOffset :: TypedTerm PageLocation -> TypedTerm Int64 -> TypedTerm PageLocation
+ Hydra.Ext.Dsl.Parquet.Format: pageTypeDataPage :: TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageTypeDataPageV2 :: TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageTypeDictionaryPage :: TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageTypeIndexPage :: TypedTerm PageType
+ Hydra.Ext.Dsl.Parquet.Format: pageTypePageType :: TypedName PageType
+ Hydra.Ext.Dsl.Parquet.Format: rowGroup :: TypedTerm [ColumnChunk] -> TypedTerm Int64 -> TypedTerm Int64 -> TypedTerm (Maybe [SortingColumn]) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Int64) -> TypedTerm (Maybe Int16) -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupColumns :: TypedTerm RowGroup -> TypedTerm [ColumnChunk]
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupFileOffset :: TypedTerm RowGroup -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupNumRows :: TypedTerm RowGroup -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupOrdinal :: TypedTerm RowGroup -> TypedTerm (Maybe Int16)
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupRowGroup :: TypedName RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupSortingColumns :: TypedTerm RowGroup -> TypedTerm (Maybe [SortingColumn])
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupTotalByteSize :: TypedTerm RowGroup -> TypedTerm Int64
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupTotalCompressedSize :: TypedTerm RowGroup -> TypedTerm (Maybe Int64)
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithColumns :: TypedTerm RowGroup -> TypedTerm [ColumnChunk] -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithFileOffset :: TypedTerm RowGroup -> TypedTerm (Maybe Int64) -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithNumRows :: TypedTerm RowGroup -> TypedTerm Int64 -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithOrdinal :: TypedTerm RowGroup -> TypedTerm (Maybe Int16) -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithSortingColumns :: TypedTerm RowGroup -> TypedTerm (Maybe [SortingColumn]) -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithTotalByteSize :: TypedTerm RowGroup -> TypedTerm Int64 -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: rowGroupWithTotalCompressedSize :: TypedTerm RowGroup -> TypedTerm (Maybe Int64) -> TypedTerm RowGroup
+ Hydra.Ext.Dsl.Parquet.Format: schemaElement :: TypedTerm (Maybe Type) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe FieldRepetitionType) -> TypedTerm String -> TypedTerm (Maybe Int) -> TypedTerm (Maybe Int) -> TypedTerm (Maybe LogicalType) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementFieldId :: TypedTerm SchemaElement -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementLogicalType :: TypedTerm SchemaElement -> TypedTerm (Maybe LogicalType)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementName :: TypedTerm SchemaElement -> TypedTerm String
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementNumChildren :: TypedTerm SchemaElement -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementRepetitionType :: TypedTerm SchemaElement -> TypedTerm (Maybe FieldRepetitionType)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementSchemaElement :: TypedName SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementType :: TypedTerm SchemaElement -> TypedTerm (Maybe Type)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementTypeLength :: TypedTerm SchemaElement -> TypedTerm (Maybe Int)
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithFieldId :: TypedTerm SchemaElement -> TypedTerm (Maybe Int) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithLogicalType :: TypedTerm SchemaElement -> TypedTerm (Maybe LogicalType) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithName :: TypedTerm SchemaElement -> TypedTerm String -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithNumChildren :: TypedTerm SchemaElement -> TypedTerm (Maybe Int) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithRepetitionType :: TypedTerm SchemaElement -> TypedTerm (Maybe FieldRepetitionType) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithType :: TypedTerm SchemaElement -> TypedTerm (Maybe Type) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: schemaElementWithTypeLength :: TypedTerm SchemaElement -> TypedTerm (Maybe Int) -> TypedTerm SchemaElement
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumn :: TypedTerm Int -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm SortingColumn
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnColumnIdx :: TypedTerm SortingColumn -> TypedTerm Int
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnDescending :: TypedTerm SortingColumn -> TypedTerm Bool
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnNullsFirst :: TypedTerm SortingColumn -> TypedTerm Bool
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnSortingColumn :: TypedName SortingColumn
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnWithColumnIdx :: TypedTerm SortingColumn -> TypedTerm Int -> TypedTerm SortingColumn
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnWithDescending :: TypedTerm SortingColumn -> TypedTerm Bool -> TypedTerm SortingColumn
+ Hydra.Ext.Dsl.Parquet.Format: sortingColumnWithNullsFirst :: TypedTerm SortingColumn -> TypedTerm Bool -> TypedTerm SortingColumn
+ Hydra.Ext.Dsl.Parquet.Format: statistics :: TypedTerm (Maybe Integer) -> TypedTerm (Maybe Integer) -> TypedTerm (Maybe ByteString) -> TypedTerm (Maybe ByteString) -> TypedTerm Statistics
+ Hydra.Ext.Dsl.Parquet.Format: statisticsDistinctCount :: TypedTerm Statistics -> TypedTerm (Maybe Integer)
+ Hydra.Ext.Dsl.Parquet.Format: statisticsMaxValue :: TypedTerm Statistics -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: statisticsMinValue :: TypedTerm Statistics -> TypedTerm (Maybe ByteString)
+ Hydra.Ext.Dsl.Parquet.Format: statisticsNullCount :: TypedTerm Statistics -> TypedTerm (Maybe Integer)
+ Hydra.Ext.Dsl.Parquet.Format: statisticsStatistics :: TypedName Statistics
+ Hydra.Ext.Dsl.Parquet.Format: statisticsWithDistinctCount :: TypedTerm Statistics -> TypedTerm (Maybe Integer) -> TypedTerm Statistics
+ Hydra.Ext.Dsl.Parquet.Format: statisticsWithMaxValue :: TypedTerm Statistics -> TypedTerm (Maybe ByteString) -> TypedTerm Statistics
+ Hydra.Ext.Dsl.Parquet.Format: statisticsWithMinValue :: TypedTerm Statistics -> TypedTerm (Maybe ByteString) -> TypedTerm Statistics
+ Hydra.Ext.Dsl.Parquet.Format: statisticsWithNullCount :: TypedTerm Statistics -> TypedTerm (Maybe Integer) -> TypedTerm Statistics
+ Hydra.Ext.Dsl.Parquet.Format: timeType :: TypedTerm Bool -> TypedTerm TimeUnit -> TypedTerm TimeType
+ Hydra.Ext.Dsl.Parquet.Format: timeTypeIsAdjustedToUtc :: TypedTerm TimeType -> TypedTerm Bool
+ Hydra.Ext.Dsl.Parquet.Format: timeTypeTimeType :: TypedName TimeType
+ Hydra.Ext.Dsl.Parquet.Format: timeTypeUnit :: TypedTerm TimeType -> TypedTerm TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timeTypeWithIsAdjustedToUtc :: TypedTerm TimeType -> TypedTerm Bool -> TypedTerm TimeType
+ Hydra.Ext.Dsl.Parquet.Format: timeTypeWithUnit :: TypedTerm TimeType -> TypedTerm TimeUnit -> TypedTerm TimeType
+ Hydra.Ext.Dsl.Parquet.Format: timeUnitMicros :: TypedTerm TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timeUnitMillis :: TypedTerm TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timeUnitNanos :: TypedTerm TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timeUnitTimeUnit :: TypedName TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timestampType :: TypedTerm Bool -> TypedTerm TimeUnit -> TypedTerm TimestampType
+ Hydra.Ext.Dsl.Parquet.Format: timestampTypeIsAdjustedToUtc :: TypedTerm TimestampType -> TypedTerm Bool
+ Hydra.Ext.Dsl.Parquet.Format: timestampTypeTimestampType :: TypedName TimestampType
+ Hydra.Ext.Dsl.Parquet.Format: timestampTypeUnit :: TypedTerm TimestampType -> TypedTerm TimeUnit
+ Hydra.Ext.Dsl.Parquet.Format: timestampTypeWithIsAdjustedToUtc :: TypedTerm TimestampType -> TypedTerm Bool -> TypedTerm TimestampType
+ Hydra.Ext.Dsl.Parquet.Format: timestampTypeWithUnit :: TypedTerm TimestampType -> TypedTerm TimeUnit -> TypedTerm TimestampType
+ Hydra.Ext.Dsl.Parquet.Format: typeBoolean :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeByteArray :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeDouble :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeFixedLenByteArray :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeFloat :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeInt32 :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeInt64 :: TypedTerm Type
+ Hydra.Ext.Dsl.Parquet.Format: typeType :: TypedName Type
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotations :: TypedTerm (Maybe String) -> TypedTerm Bool -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotationsAnnotations :: TypedName Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotationsDeprecated :: TypedTerm Annotations -> TypedTerm Bool
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotationsDoc :: TypedTerm Annotations -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotationsWithDeprecated :: TypedTerm Annotations -> TypedTerm Bool -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: annotationsWithDoc :: TypedTerm Annotations -> TypedTerm (Maybe String) -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumField :: TypedTerm EnumFieldName -> TypedTerm Annotations -> TypedTerm EnumField
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldAnnotations :: TypedTerm EnumField -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldEnumField :: TypedName EnumField
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldName :: TypedTerm EnumField -> TypedTerm EnumFieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldName2 :: TypedTerm String -> TypedTerm EnumFieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldNameEnumFieldName :: TypedName EnumFieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldWithAnnotations :: TypedTerm EnumField -> TypedTerm Annotations -> TypedTerm EnumField
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumFieldWithName :: TypedTerm EnumField -> TypedTerm EnumFieldName -> TypedTerm EnumField
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumSchema :: TypedTerm [EnumField] -> TypedTerm EnumSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumSchemaEnumSchema :: TypedName EnumSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumSchemaFields :: TypedTerm EnumSchema -> TypedTerm [EnumField]
+ Hydra.Ext.Dsl.Pegasus.Pdl: enumSchemaWithFields :: TypedTerm EnumSchema -> TypedTerm [EnumField] -> TypedTerm EnumSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: fieldName :: TypedTerm String -> TypedTerm FieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: fieldNameFieldName :: TypedName FieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: name :: TypedTerm String -> TypedTerm Name
+ Hydra.Ext.Dsl.Pegasus.Pdl: nameName :: TypedName Name
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchema :: TypedTerm QualifiedName -> TypedTerm NamedSchemaType -> TypedTerm Annotations -> TypedTerm NamedSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaAnnotations :: TypedTerm NamedSchema -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaNamedSchema :: TypedName NamedSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaQualifiedName :: TypedTerm NamedSchema -> TypedTerm QualifiedName
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaType :: TypedTerm NamedSchema -> TypedTerm NamedSchemaType
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaTypeEnum :: TypedTerm EnumSchema -> TypedTerm NamedSchemaType
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaTypeNamedSchemaType :: TypedName NamedSchemaType
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaTypeRecord :: TypedTerm RecordSchema -> TypedTerm NamedSchemaType
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaTypeTyperef :: TypedTerm Schema -> TypedTerm NamedSchemaType
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaWithAnnotations :: TypedTerm NamedSchema -> TypedTerm Annotations -> TypedTerm NamedSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaWithQualifiedName :: TypedTerm NamedSchema -> TypedTerm QualifiedName -> TypedTerm NamedSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: namedSchemaWithType :: TypedTerm NamedSchema -> TypedTerm NamedSchemaType -> TypedTerm NamedSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: namespace :: TypedTerm String -> TypedTerm Namespace
+ Hydra.Ext.Dsl.Pegasus.Pdl: namespaceNamespace :: TypedName Namespace
+ Hydra.Ext.Dsl.Pegasus.Pdl: package :: TypedTerm String -> TypedTerm Package
+ Hydra.Ext.Dsl.Pegasus.Pdl: packagePackage :: TypedName Package
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeBoolean :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeBytes :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeDouble :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeFloat :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeInt :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeLong :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypePrimitiveType :: TypedName PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: primitiveTypeString :: TypedTerm PrimitiveType
+ Hydra.Ext.Dsl.Pegasus.Pdl: property :: TypedTerm PropertyKey -> TypedTerm (Maybe Value) -> TypedTerm Property
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyKey :: TypedTerm Property -> TypedTerm PropertyKey
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyKey2 :: TypedTerm String -> TypedTerm PropertyKey
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyKeyPropertyKey :: TypedName PropertyKey
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyProperty :: TypedName Property
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyValue :: TypedTerm Property -> TypedTerm (Maybe Value)
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyWithKey :: TypedTerm Property -> TypedTerm PropertyKey -> TypedTerm Property
+ Hydra.Ext.Dsl.Pegasus.Pdl: propertyWithValue :: TypedTerm Property -> TypedTerm (Maybe Value) -> TypedTerm Property
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedName :: TypedTerm Name -> TypedTerm (Maybe Namespace) -> TypedTerm QualifiedName
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedNameName :: TypedTerm QualifiedName -> TypedTerm Name
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedNameNamespace :: TypedTerm QualifiedName -> TypedTerm (Maybe Namespace)
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedNameQualifiedName :: TypedName QualifiedName
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedNameWithName :: TypedTerm QualifiedName -> TypedTerm Name -> TypedTerm QualifiedName
+ Hydra.Ext.Dsl.Pegasus.Pdl: qualifiedNameWithNamespace :: TypedTerm QualifiedName -> TypedTerm (Maybe Namespace) -> TypedTerm QualifiedName
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordField :: TypedTerm FieldName -> TypedTerm Schema -> TypedTerm Bool -> TypedTerm (Maybe Value) -> TypedTerm Annotations -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldAnnotations :: TypedTerm RecordField -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldDefault :: TypedTerm RecordField -> TypedTerm (Maybe Value)
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldName :: TypedTerm RecordField -> TypedTerm FieldName
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldOptional :: TypedTerm RecordField -> TypedTerm Bool
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldRecordField :: TypedName RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldValue :: TypedTerm RecordField -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldWithAnnotations :: TypedTerm RecordField -> TypedTerm Annotations -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldWithDefault :: TypedTerm RecordField -> TypedTerm (Maybe Value) -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldWithName :: TypedTerm RecordField -> TypedTerm FieldName -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldWithOptional :: TypedTerm RecordField -> TypedTerm Bool -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordFieldWithValue :: TypedTerm RecordField -> TypedTerm Schema -> TypedTerm RecordField
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchema :: TypedTerm [RecordField] -> TypedTerm [NamedSchema] -> TypedTerm RecordSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchemaFields :: TypedTerm RecordSchema -> TypedTerm [RecordField]
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchemaIncludes :: TypedTerm RecordSchema -> TypedTerm [NamedSchema]
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchemaRecordSchema :: TypedName RecordSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchemaWithFields :: TypedTerm RecordSchema -> TypedTerm [RecordField] -> TypedTerm RecordSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: recordSchemaWithIncludes :: TypedTerm RecordSchema -> TypedTerm [NamedSchema] -> TypedTerm RecordSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaArray :: TypedTerm Schema -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFile :: TypedTerm Namespace -> TypedTerm (Maybe Package) -> TypedTerm [QualifiedName] -> TypedTerm [NamedSchema] -> TypedTerm SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileImports :: TypedTerm SchemaFile -> TypedTerm [QualifiedName]
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileNamespace :: TypedTerm SchemaFile -> TypedTerm Namespace
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFilePackage :: TypedTerm SchemaFile -> TypedTerm (Maybe Package)
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileSchemaFile :: TypedName SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileSchemas :: TypedTerm SchemaFile -> TypedTerm [NamedSchema]
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileWithImports :: TypedTerm SchemaFile -> TypedTerm [QualifiedName] -> TypedTerm SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileWithNamespace :: TypedTerm SchemaFile -> TypedTerm Namespace -> TypedTerm SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileWithPackage :: TypedTerm SchemaFile -> TypedTerm (Maybe Package) -> TypedTerm SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFileWithSchemas :: TypedTerm SchemaFile -> TypedTerm [NamedSchema] -> TypedTerm SchemaFile
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaFixed :: TypedTerm Int -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaInline :: TypedTerm NamedSchema -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaMap :: TypedTerm Schema -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaNamed :: TypedTerm QualifiedName -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaNull :: TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaPrimitive :: TypedTerm PrimitiveType -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaSchema :: TypedName Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: schemaUnion :: TypedTerm UnionSchema -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: unEnumFieldName :: TypedTerm EnumFieldName -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unFieldName :: TypedTerm FieldName -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unName :: TypedTerm Name -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unNamespace :: TypedTerm Namespace -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unPackage :: TypedTerm Package -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unPropertyKey :: TypedTerm PropertyKey -> TypedTerm String
+ Hydra.Ext.Dsl.Pegasus.Pdl: unUnionSchema :: TypedTerm UnionSchema -> TypedTerm [UnionMember]
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMember :: TypedTerm (Maybe FieldName) -> TypedTerm Schema -> TypedTerm Annotations -> TypedTerm UnionMember
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberAlias :: TypedTerm UnionMember -> TypedTerm (Maybe FieldName)
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberAnnotations :: TypedTerm UnionMember -> TypedTerm Annotations
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberUnionMember :: TypedName UnionMember
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberValue :: TypedTerm UnionMember -> TypedTerm Schema
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberWithAlias :: TypedTerm UnionMember -> TypedTerm (Maybe FieldName) -> TypedTerm UnionMember
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberWithAnnotations :: TypedTerm UnionMember -> TypedTerm Annotations -> TypedTerm UnionMember
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionMemberWithValue :: TypedTerm UnionMember -> TypedTerm Schema -> TypedTerm UnionMember
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionSchema :: TypedTerm [UnionMember] -> TypedTerm UnionSchema
+ Hydra.Ext.Dsl.Pegasus.Pdl: unionSchemaUnionSchema :: TypedName UnionSchema
+ Hydra.Ext.Dsl.Protobuf.Any: any :: TypedTerm String -> TypedTerm ByteString -> TypedTerm Any
+ Hydra.Ext.Dsl.Protobuf.Any: anyAny :: TypedName Any
+ Hydra.Ext.Dsl.Protobuf.Any: anyTypeUrl :: TypedTerm Any -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Any: anyValue :: TypedTerm Any -> TypedTerm ByteString
+ Hydra.Ext.Dsl.Protobuf.Any: anyWithTypeUrl :: TypedTerm Any -> TypedTerm String -> TypedTerm Any
+ Hydra.Ext.Dsl.Protobuf.Any: anyWithValue :: TypedTerm Any -> TypedTerm ByteString -> TypedTerm Any
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderState :: TypedTerm InferenceContext -> TypedTerm Int -> TypedTerm EncoderState
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderStateContext :: TypedTerm EncoderState -> TypedTerm InferenceContext
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderStateEncoderState :: TypedName EncoderState
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderStateFieldIndex :: TypedTerm EncoderState -> TypedTerm Int
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderStateWithContext :: TypedTerm EncoderState -> TypedTerm InferenceContext -> TypedTerm EncoderState
+ Hydra.Ext.Dsl.Protobuf.Environment: encoderStateWithFieldIndex :: TypedTerm EncoderState -> TypedTerm Int -> TypedTerm EncoderState
+ Hydra.Ext.Dsl.Protobuf.Environment: structuralTypeRefEither :: TypedTerm (Type, Type) -> TypedTerm StructuralTypeRef
+ Hydra.Ext.Dsl.Protobuf.Environment: structuralTypeRefPair :: TypedTerm (Type, Type) -> TypedTerm StructuralTypeRef
+ Hydra.Ext.Dsl.Protobuf.Environment: structuralTypeRefStructuralTypeRef :: TypedName StructuralTypeRef
+ Hydra.Ext.Dsl.Protobuf.Proto3: definitionDefinition :: TypedName Definition
+ Hydra.Ext.Dsl.Protobuf.Proto3: definitionEnum :: TypedTerm EnumDefinition -> TypedTerm Definition
+ Hydra.Ext.Dsl.Protobuf.Proto3: definitionMessage :: TypedTerm MessageDefinition -> TypedTerm Definition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinition :: TypedTerm TypeName -> TypedTerm [EnumValue] -> TypedTerm [Option] -> TypedTerm EnumDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionEnumDefinition :: TypedName EnumDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionName :: TypedTerm EnumDefinition -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionOptions :: TypedTerm EnumDefinition -> TypedTerm [Option]
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionValues :: TypedTerm EnumDefinition -> TypedTerm [EnumValue]
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionWithName :: TypedTerm EnumDefinition -> TypedTerm TypeName -> TypedTerm EnumDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionWithOptions :: TypedTerm EnumDefinition -> TypedTerm [Option] -> TypedTerm EnumDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumDefinitionWithValues :: TypedTerm EnumDefinition -> TypedTerm [EnumValue] -> TypedTerm EnumDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValue :: TypedTerm EnumValueName -> TypedTerm Int -> TypedTerm [Option] -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueEnumValue :: TypedName EnumValue
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueName :: TypedTerm EnumValue -> TypedTerm EnumValueName
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueName2 :: TypedTerm String -> TypedTerm EnumValueName
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueNameEnumValueName :: TypedName EnumValueName
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueNumber :: TypedTerm EnumValue -> TypedTerm Int
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueOptions :: TypedTerm EnumValue -> TypedTerm [Option]
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueWithName :: TypedTerm EnumValue -> TypedTerm EnumValueName -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueWithNumber :: TypedTerm EnumValue -> TypedTerm Int -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Protobuf.Proto3: enumValueWithOptions :: TypedTerm EnumValue -> TypedTerm [Option] -> TypedTerm EnumValue
+ Hydra.Ext.Dsl.Protobuf.Proto3: field :: TypedTerm FieldName -> TypedTerm (Maybe String) -> TypedTerm FieldType -> TypedTerm Int -> TypedTerm [Option] -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldField :: TypedName Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldJsonName :: TypedTerm Field -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldName :: TypedTerm Field -> TypedTerm FieldName
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldName2 :: TypedTerm String -> TypedTerm FieldName
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldNameFieldName :: TypedName FieldName
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldNumber :: TypedTerm Field -> TypedTerm Int
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldOptions :: TypedTerm Field -> TypedTerm [Option]
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldType :: TypedTerm Field -> TypedTerm FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldTypeFieldType :: TypedName FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldTypeMap :: TypedTerm MapType -> TypedTerm FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldTypeOneof :: TypedTerm [Field] -> TypedTerm FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldTypeRepeated :: TypedTerm SimpleType -> TypedTerm FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldTypeSimple :: TypedTerm SimpleType -> TypedTerm FieldType
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldWithJsonName :: TypedTerm Field -> TypedTerm (Maybe String) -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldWithName :: TypedTerm Field -> TypedTerm FieldName -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldWithNumber :: TypedTerm Field -> TypedTerm Int -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldWithOptions :: TypedTerm Field -> TypedTerm [Option] -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fieldWithType :: TypedTerm Field -> TypedTerm FieldType -> TypedTerm Field
+ Hydra.Ext.Dsl.Protobuf.Proto3: fileReference :: TypedTerm String -> TypedTerm FileReference
+ Hydra.Ext.Dsl.Protobuf.Proto3: fileReferenceFileReference :: TypedName FileReference
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapType :: TypedTerm SimpleType -> TypedTerm SimpleType -> TypedTerm MapType
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapTypeKeys :: TypedTerm MapType -> TypedTerm SimpleType
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapTypeMapType :: TypedName MapType
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapTypeValues :: TypedTerm MapType -> TypedTerm SimpleType
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapTypeWithKeys :: TypedTerm MapType -> TypedTerm SimpleType -> TypedTerm MapType
+ Hydra.Ext.Dsl.Protobuf.Proto3: mapTypeWithValues :: TypedTerm MapType -> TypedTerm SimpleType -> TypedTerm MapType
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinition :: TypedTerm TypeName -> TypedTerm [Field] -> TypedTerm [Option] -> TypedTerm MessageDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionFields :: TypedTerm MessageDefinition -> TypedTerm [Field]
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionMessageDefinition :: TypedName MessageDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionName :: TypedTerm MessageDefinition -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionOptions :: TypedTerm MessageDefinition -> TypedTerm [Option]
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionWithFields :: TypedTerm MessageDefinition -> TypedTerm [Field] -> TypedTerm MessageDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionWithName :: TypedTerm MessageDefinition -> TypedTerm TypeName -> TypedTerm MessageDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: messageDefinitionWithOptions :: TypedTerm MessageDefinition -> TypedTerm [Option] -> TypedTerm MessageDefinition
+ Hydra.Ext.Dsl.Protobuf.Proto3: option :: TypedTerm String -> TypedTerm Value -> TypedTerm Option
+ Hydra.Ext.Dsl.Protobuf.Proto3: optionName :: TypedTerm Option -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: optionOption :: TypedName Option
+ Hydra.Ext.Dsl.Protobuf.Proto3: optionValue :: TypedTerm Option -> TypedTerm Value
+ Hydra.Ext.Dsl.Protobuf.Proto3: optionWithName :: TypedTerm Option -> TypedTerm String -> TypedTerm Option
+ Hydra.Ext.Dsl.Protobuf.Proto3: optionWithValue :: TypedTerm Option -> TypedTerm Value -> TypedTerm Option
+ Hydra.Ext.Dsl.Protobuf.Proto3: packageName :: TypedTerm String -> TypedTerm PackageName
+ Hydra.Ext.Dsl.Protobuf.Proto3: packageNamePackageName :: TypedName PackageName
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFile :: TypedTerm PackageName -> TypedTerm [FileReference] -> TypedTerm [Definition] -> TypedTerm [Option] -> TypedTerm ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileImports :: TypedTerm ProtoFile -> TypedTerm [FileReference]
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileOptions :: TypedTerm ProtoFile -> TypedTerm [Option]
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFilePackage :: TypedTerm ProtoFile -> TypedTerm PackageName
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileProtoFile :: TypedName ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileTypes :: TypedTerm ProtoFile -> TypedTerm [Definition]
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileWithImports :: TypedTerm ProtoFile -> TypedTerm [FileReference] -> TypedTerm ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileWithOptions :: TypedTerm ProtoFile -> TypedTerm [Option] -> TypedTerm ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileWithPackage :: TypedTerm ProtoFile -> TypedTerm PackageName -> TypedTerm ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: protoFileWithTypes :: TypedTerm ProtoFile -> TypedTerm [Definition] -> TypedTerm ProtoFile
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeBool :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeBytes :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeDouble :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeFixed32 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeFixed64 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeFloat :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeInt32 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeInt64 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeScalarType :: TypedName ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeSfixed32 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeSfixed64 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeSint32 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeSint64 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeString :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeUint32 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: scalarTypeUint64 :: TypedTerm ScalarType
+ Hydra.Ext.Dsl.Protobuf.Proto3: simpleTypeReference :: TypedTerm TypeName -> TypedTerm SimpleType
+ Hydra.Ext.Dsl.Protobuf.Proto3: simpleTypeScalar :: TypedTerm ScalarType -> TypedTerm SimpleType
+ Hydra.Ext.Dsl.Protobuf.Proto3: simpleTypeSimpleType :: TypedName SimpleType
+ Hydra.Ext.Dsl.Protobuf.Proto3: typeName :: TypedTerm String -> TypedTerm TypeName
+ Hydra.Ext.Dsl.Protobuf.Proto3: typeNameTypeName :: TypedName TypeName
+ Hydra.Ext.Dsl.Protobuf.Proto3: typeReference :: TypedTerm String -> TypedTerm TypeReference
+ Hydra.Ext.Dsl.Protobuf.Proto3: typeReferenceTypeReference :: TypedName TypeReference
+ Hydra.Ext.Dsl.Protobuf.Proto3: unEnumValueName :: TypedTerm EnumValueName -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: unFieldName :: TypedTerm FieldName -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: unFileReference :: TypedTerm FileReference -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: unPackageName :: TypedTerm PackageName -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: unTypeName :: TypedTerm TypeName -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: unTypeReference :: TypedTerm TypeReference -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.Proto3: valueBoolean :: TypedTerm Bool -> TypedTerm Value
+ Hydra.Ext.Dsl.Protobuf.Proto3: valueString :: TypedTerm String -> TypedTerm Value
+ Hydra.Ext.Dsl.Protobuf.Proto3: valueValue :: TypedName Value
+ Hydra.Ext.Dsl.Protobuf.SourceContext: sourceContext :: TypedTerm String -> TypedTerm SourceContext
+ Hydra.Ext.Dsl.Protobuf.SourceContext: sourceContextFileName :: TypedTerm SourceContext -> TypedTerm String
+ Hydra.Ext.Dsl.Protobuf.SourceContext: sourceContextSourceContext :: TypedName SourceContext
+ Hydra.Ext.Dsl.Protobuf.SourceContext: sourceContextWithFileName :: TypedTerm SourceContext -> TypedTerm String -> TypedTerm SourceContext
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericLiteral :: TypedTerm String -> TypedTerm ApproximateNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericLiteralApproximateNumericLiteral :: TypedName ApproximateNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericTypeApproximateNumericType :: TypedName ApproximateNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericTypeDouble :: TypedTerm ApproximateNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericTypeFloat :: TypedTerm (Maybe Precision) -> TypedTerm ApproximateNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: approximateNumericTypeReal :: TypedTerm ApproximateNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElement :: TypedTerm ValueExpression -> TypedTerm ArrayElement
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementArrayElement :: TypedName ArrayElement
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementList :: TypedTerm ArrayElement -> TypedTerm [ArrayElement] -> TypedTerm ArrayElementList
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementListArrayElementList :: TypedName ArrayElementList
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementListFirst :: TypedTerm ArrayElementList -> TypedTerm ArrayElement
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementListRest :: TypedTerm ArrayElementList -> TypedTerm [ArrayElement]
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementListWithFirst :: TypedTerm ArrayElementList -> TypedTerm ArrayElement -> TypedTerm ArrayElementList
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementListWithRest :: TypedTerm ArrayElementList -> TypedTerm [ArrayElement] -> TypedTerm ArrayElementList
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementReference :: TypedTerm () -> TypedTerm ArrayElementReference
+ Hydra.Ext.Dsl.Sql.Syntax: arrayElementReferenceArrayElementReference :: TypedName ArrayElementReference
+ Hydra.Ext.Dsl.Sql.Syntax: arrayType :: TypedTerm () -> TypedTerm ArrayType
+ Hydra.Ext.Dsl.Sql.Syntax: arrayTypeArrayType :: TypedName ArrayType
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorArrayValueConstructor :: TypedName ArrayValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumeration :: TypedTerm LeftBracketOrTrigraph -> TypedTerm ArrayElementList -> TypedTerm RightBracketOrTrigraph -> TypedTerm ArrayValueConstructorByEnumeration
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationArrayElementList :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm ArrayElementList
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationArrayValueConstructorByEnumeration :: TypedName ArrayValueConstructorByEnumeration
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationLeftBracketOrTrigraph :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm LeftBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationRightBracketOrTrigraph :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm RightBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationWithArrayElementList :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm ArrayElementList -> TypedTerm ArrayValueConstructorByEnumeration
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationWithLeftBracketOrTrigraph :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm LeftBracketOrTrigraph -> TypedTerm ArrayValueConstructorByEnumeration
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByEnumerationWithRightBracketOrTrigraph :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm RightBracketOrTrigraph -> TypedTerm ArrayValueConstructorByEnumeration
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByQuery :: TypedTerm () -> TypedTerm ArrayValueConstructorByQuery
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorByQueryArrayValueConstructorByQuery :: TypedName ArrayValueConstructorByQuery
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorEnumeration :: TypedTerm ArrayValueConstructorByEnumeration -> TypedTerm ArrayValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueConstructorQuery :: TypedTerm ArrayValueConstructorByQuery -> TypedTerm ArrayValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueExpression :: TypedTerm () -> TypedTerm ArrayValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: arrayValueExpressionArrayValueExpression :: TypedName ArrayValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: asSubqueryClause :: TypedTerm () -> TypedTerm AsSubqueryClause
+ Hydra.Ext.Dsl.Sql.Syntax: asSubqueryClauseAsSubqueryClause :: TypedName AsSubqueryClause
+ Hydra.Ext.Dsl.Sql.Syntax: attributeOrMethodReference :: TypedTerm () -> TypedTerm AttributeOrMethodReference
+ Hydra.Ext.Dsl.Sql.Syntax: attributeOrMethodReferenceAttributeOrMethodReference :: TypedName AttributeOrMethodReference
+ Hydra.Ext.Dsl.Sql.Syntax: binaryLargeObjectStringTypeBinary :: TypedTerm (Maybe LargeObjectLength) -> TypedTerm BinaryLargeObjectStringType
+ Hydra.Ext.Dsl.Sql.Syntax: binaryLargeObjectStringTypeBinaryLargeObjectStringType :: TypedName BinaryLargeObjectStringType
+ Hydra.Ext.Dsl.Sql.Syntax: binaryLargeObjectStringTypeBlob :: TypedTerm (Maybe LargeObjectLength) -> TypedTerm BinaryLargeObjectStringType
+ Hydra.Ext.Dsl.Sql.Syntax: binaryStringLiteral :: TypedTerm () -> TypedTerm BinaryStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: binaryStringLiteralBinaryStringLiteral :: TypedName BinaryStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactor :: TypedTerm (Maybe ()) -> TypedTerm BooleanTest -> TypedTerm BooleanFactor
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactorBooleanFactor :: TypedName BooleanFactor
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactorBooleanTest :: TypedTerm BooleanFactor -> TypedTerm BooleanTest
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactorNOT :: TypedTerm BooleanFactor -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactorWithBooleanTest :: TypedTerm BooleanFactor -> TypedTerm BooleanTest -> TypedTerm BooleanFactor
+ Hydra.Ext.Dsl.Sql.Syntax: booleanFactorWithNOT :: TypedTerm BooleanFactor -> TypedTerm (Maybe ()) -> TypedTerm BooleanFactor
+ Hydra.Ext.Dsl.Sql.Syntax: booleanLiteralBooleanLiteral :: TypedName BooleanLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: booleanLiteralFALSE :: TypedTerm BooleanLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: booleanLiteralTRUE :: TypedTerm BooleanLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: booleanLiteralUNKNOWN :: TypedTerm BooleanLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: booleanPredicand :: TypedTerm () -> TypedTerm BooleanPredicand
+ Hydra.Ext.Dsl.Sql.Syntax: booleanPredicandBooleanPredicand :: TypedName BooleanPredicand
+ Hydra.Ext.Dsl.Sql.Syntax: booleanPrimaryBooleanPrimary :: TypedName BooleanPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: booleanPrimaryPredicand :: TypedTerm BooleanPredicand -> TypedTerm BooleanPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: booleanPrimaryPredicate :: TypedTerm Predicate -> TypedTerm BooleanPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAnd :: TypedTerm BooleanTerm -> TypedTerm BooleanFactor -> TypedTerm BooleanTermAnd
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAndBooleanTermAnd :: TypedName BooleanTermAnd
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAndLhs :: TypedTerm BooleanTermAnd -> TypedTerm BooleanTerm
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAndRhs :: TypedTerm BooleanTermAnd -> TypedTerm BooleanFactor
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAndWithLhs :: TypedTerm BooleanTermAnd -> TypedTerm BooleanTerm -> TypedTerm BooleanTermAnd
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermAndWithRhs :: TypedTerm BooleanTermAnd -> TypedTerm BooleanFactor -> TypedTerm BooleanTermAnd
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermBooleanTerm :: TypedName BooleanTerm
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermConjunction :: TypedTerm BooleanTermAnd -> TypedTerm BooleanTerm
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTermFactor :: TypedTerm BooleanFactor -> TypedTerm BooleanTerm
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTest :: TypedTerm BooleanPrimary -> TypedTerm (Maybe BooleanTestSequenceOption) -> TypedTerm BooleanTest
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestBooleanPrimary :: TypedTerm BooleanTest -> TypedTerm BooleanPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestBooleanTest :: TypedName BooleanTest
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequence :: TypedTerm BooleanTest -> TypedTerm (Maybe BooleanTestSequenceOption)
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOption :: TypedTerm (Maybe ()) -> TypedTerm TruthValue -> TypedTerm BooleanTestSequenceOption
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOptionBooleanTestSequenceOption :: TypedName BooleanTestSequenceOption
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOptionNOT :: TypedTerm BooleanTestSequenceOption -> TypedTerm (Maybe ())
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOptionTruthValue :: TypedTerm BooleanTestSequenceOption -> TypedTerm TruthValue
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOptionWithNOT :: TypedTerm BooleanTestSequenceOption -> TypedTerm (Maybe ()) -> TypedTerm BooleanTestSequenceOption
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestSequenceOptionWithTruthValue :: TypedTerm BooleanTestSequenceOption -> TypedTerm TruthValue -> TypedTerm BooleanTestSequenceOption
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestWithBooleanPrimary :: TypedTerm BooleanTest -> TypedTerm BooleanPrimary -> TypedTerm BooleanTest
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTestWithSequence :: TypedTerm BooleanTest -> TypedTerm (Maybe BooleanTestSequenceOption) -> TypedTerm BooleanTest
+ Hydra.Ext.Dsl.Sql.Syntax: booleanType :: TypedTerm () -> TypedTerm BooleanType
+ Hydra.Ext.Dsl.Sql.Syntax: booleanTypeBooleanType :: TypedName BooleanType
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionBooleanValueExpression :: TypedName BooleanValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionDisjunction :: TypedTerm BooleanValueExpressionOr -> TypedTerm BooleanValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOr :: TypedTerm BooleanValueExpression -> TypedTerm BooleanTerm -> TypedTerm BooleanValueExpressionOr
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOrBooleanValueExpressionOr :: TypedName BooleanValueExpressionOr
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOrLhs :: TypedTerm BooleanValueExpressionOr -> TypedTerm BooleanValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOrRhs :: TypedTerm BooleanValueExpressionOr -> TypedTerm BooleanTerm
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOrWithLhs :: TypedTerm BooleanValueExpressionOr -> TypedTerm BooleanValueExpression -> TypedTerm BooleanValueExpressionOr
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionOrWithRhs :: TypedTerm BooleanValueExpressionOr -> TypedTerm BooleanTerm -> TypedTerm BooleanValueExpressionOr
+ Hydra.Ext.Dsl.Sql.Syntax: booleanValueExpressionTerm :: TypedTerm BooleanTerm -> TypedTerm BooleanValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: caseExpression :: TypedTerm () -> TypedTerm CaseExpression
+ Hydra.Ext.Dsl.Sql.Syntax: caseExpressionCaseExpression :: TypedName CaseExpression
+ Hydra.Ext.Dsl.Sql.Syntax: castSpecification :: TypedTerm () -> TypedTerm CastSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: castSpecificationCastSpecification :: TypedName CastSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: characterSetSpecification :: TypedTerm () -> TypedTerm CharacterSetSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: characterSetSpecificationCharacterSetSpecification :: TypedName CharacterSetSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringLiteral :: TypedTerm String -> TypedTerm CharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringLiteralCharacterStringLiteral :: TypedName CharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeChar :: TypedTerm (Maybe Length) -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharLargeObject :: TypedTerm (Maybe LargeObjectLength) -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharVarying :: TypedTerm Length -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharacter :: TypedTerm (Maybe Length) -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharacterLargeObject :: TypedTerm (Maybe LargeObjectLength) -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharacterStringType :: TypedName CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeCharacterVarying :: TypedTerm Length -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeClob :: TypedTerm (Maybe LargeObjectLength) -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: characterStringTypeVarchar :: TypedTerm Length -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: collateClause :: TypedTerm () -> TypedTerm CollateClause
+ Hydra.Ext.Dsl.Sql.Syntax: collateClauseCollateClause :: TypedName CollateClause
+ Hydra.Ext.Dsl.Sql.Syntax: collectionTypeArray :: TypedTerm ArrayType -> TypedTerm CollectionType
+ Hydra.Ext.Dsl.Sql.Syntax: collectionTypeCollectionType :: TypedName CollectionType
+ Hydra.Ext.Dsl.Sql.Syntax: collectionTypeMultiset :: TypedTerm MultisetType -> TypedTerm CollectionType
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueConstructorArray :: TypedTerm ArrayValueConstructor -> TypedTerm CollectionValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueConstructorCollectionValueConstructor :: TypedName CollectionValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueConstructorMultiset :: TypedTerm MultisetValueConstructor -> TypedTerm CollectionValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueExpressionArray :: TypedTerm ArrayValueExpression -> TypedTerm CollectionValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueExpressionCollectionValueExpression :: TypedName CollectionValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: collectionValueExpressionMultiset :: TypedTerm MultisetValueExpression -> TypedTerm CollectionValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: columnConstraintDefinition :: TypedTerm () -> TypedTerm ColumnConstraintDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnConstraintDefinitionColumnConstraintDefinition :: TypedName ColumnConstraintDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinition :: TypedTerm ColumnName -> TypedTerm (Maybe ColumnDefinitionTypeOrDomainOption) -> TypedTerm (Maybe ReferenceScopeCheck) -> TypedTerm (Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption) -> TypedTerm [ColumnConstraintDefinition] -> TypedTerm (Maybe CollateClause) -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionCollate :: TypedTerm ColumnDefinition -> TypedTerm (Maybe CollateClause)
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionColumnDefinition :: TypedName ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionConstraints :: TypedTerm ColumnDefinition -> TypedTerm [ColumnConstraintDefinition]
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionDefaultOrIdentityOrGeneration :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption)
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionDefaultOrIdentityOrGenerationOptionColumnDefinitionDefaultOrIdentityOrGenerationOption :: TypedName ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause :: TypedTerm DefaultClause -> TypedTerm ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause :: TypedTerm GenerationClause -> TypedTerm ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification :: TypedTerm IdentityColumnSpecification -> TypedTerm ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionName :: TypedTerm ColumnDefinition -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionRefScope :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ReferenceScopeCheck)
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionTypeOrDomain :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ColumnDefinitionTypeOrDomainOption)
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionTypeOrDomainOptionColumnDefinitionTypeOrDomainOption :: TypedName ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionTypeOrDomainOptionDataType :: TypedTerm DataType -> TypedTerm ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionTypeOrDomainOptionDomainName :: TypedTerm DomainName -> TypedTerm ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithCollate :: TypedTerm ColumnDefinition -> TypedTerm (Maybe CollateClause) -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithConstraints :: TypedTerm ColumnDefinition -> TypedTerm [ColumnConstraintDefinition] -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithDefaultOrIdentityOrGeneration :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption) -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithName :: TypedTerm ColumnDefinition -> TypedTerm ColumnName -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithRefScope :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ReferenceScopeCheck) -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnDefinitionWithTypeOrDomain :: TypedTerm ColumnDefinition -> TypedTerm (Maybe ColumnDefinitionTypeOrDomainOption) -> TypedTerm ColumnDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: columnName :: TypedTerm String -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameColumnName :: TypedName ColumnName
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameList :: TypedTerm ColumnName -> TypedTerm [ColumnName] -> TypedTerm ColumnNameList
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameListColumnNameList :: TypedName ColumnNameList
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameListFirst :: TypedTerm ColumnNameList -> TypedTerm ColumnName
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameListRest :: TypedTerm ColumnNameList -> TypedTerm [ColumnName]
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameListWithFirst :: TypedTerm ColumnNameList -> TypedTerm ColumnName -> TypedTerm ColumnNameList
+ Hydra.Ext.Dsl.Sql.Syntax: columnNameListWithRest :: TypedTerm ColumnNameList -> TypedTerm [ColumnName] -> TypedTerm ColumnNameList
+ Hydra.Ext.Dsl.Sql.Syntax: columnOptions :: TypedTerm () -> TypedTerm ColumnOptions
+ Hydra.Ext.Dsl.Sql.Syntax: columnOptionsColumnOptions :: TypedName ColumnOptions
+ Hydra.Ext.Dsl.Sql.Syntax: columnReference :: TypedTerm () -> TypedTerm ColumnReference
+ Hydra.Ext.Dsl.Sql.Syntax: columnReferenceColumnReference :: TypedName ColumnReference
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionCollection :: TypedTerm CollectionValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionCommonValueExpression :: TypedName CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionDatetime :: TypedTerm DatetimeValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionInterval :: TypedTerm IntervalValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionNumeric :: TypedTerm NumericValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionReference :: TypedTerm ReferenceValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionString :: TypedTerm StringValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: commonValueExpressionUserDefined :: TypedTerm UserDefinedTypeValueExpression -> TypedTerm CommonValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueConstructor :: TypedTerm () -> TypedTerm ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueConstructorContextuallyTypedRowValueConstructor :: TypedName ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionConstructor :: TypedTerm ContextuallyTypedRowValueConstructor -> TypedTerm ContextuallyTypedRowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionContextuallyTypedRowValueExpression :: TypedName ContextuallyTypedRowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionList :: TypedTerm ContextuallyTypedRowValueExpression -> TypedTerm [ContextuallyTypedRowValueExpression] -> TypedTerm ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionListContextuallyTypedRowValueExpressionList :: TypedName ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionListFirst :: TypedTerm ContextuallyTypedRowValueExpressionList -> TypedTerm ContextuallyTypedRowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionListRest :: TypedTerm ContextuallyTypedRowValueExpressionList -> TypedTerm [ContextuallyTypedRowValueExpression]
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionListWithFirst :: TypedTerm ContextuallyTypedRowValueExpressionList -> TypedTerm ContextuallyTypedRowValueExpression -> TypedTerm ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionListWithRest :: TypedTerm ContextuallyTypedRowValueExpressionList -> TypedTerm [ContextuallyTypedRowValueExpression] -> TypedTerm ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedRowValueExpressionSpecialCase :: TypedTerm RowValueSpecialCase -> TypedTerm ContextuallyTypedRowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedTableValueConstructor :: TypedTerm ContextuallyTypedRowValueExpressionList -> TypedTerm ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: contextuallyTypedTableValueConstructorContextuallyTypedTableValueConstructor :: TypedName ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypeCollection :: TypedTerm CollectionType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypeDataType :: TypedName DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypeNamed :: TypedTerm PathResolvedUserDefinedTypeName -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypePredefined :: TypedTerm PredefinedType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypeReference :: TypedTerm ReferenceType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dataTypeRow :: TypedTerm RowType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: dateLiteral :: TypedTerm DateString -> TypedTerm DateLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: dateLiteralDateLiteral :: TypedName DateLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: dateString :: TypedTerm () -> TypedTerm DateString
+ Hydra.Ext.Dsl.Sql.Syntax: dateStringDateString :: TypedName DateString
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeLiteralDate :: TypedTerm DateLiteral -> TypedTerm DatetimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeLiteralDatetimeLiteral :: TypedName DatetimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeLiteralTime :: TypedTerm TimeLiteral -> TypedTerm DatetimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeLiteralTimestamp :: TypedTerm TimestampLiteral -> TypedTerm DatetimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeType :: TypedTerm () -> TypedTerm DatetimeType
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeTypeDatetimeType :: TypedName DatetimeType
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeValueExpression :: TypedTerm () -> TypedTerm DatetimeValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: datetimeValueExpressionDatetimeValueExpression :: TypedName DatetimeValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: defaultClause :: TypedTerm () -> TypedTerm DefaultClause
+ Hydra.Ext.Dsl.Sql.Syntax: defaultClauseDefaultClause :: TypedName DefaultClause
+ Hydra.Ext.Dsl.Sql.Syntax: domainName :: TypedTerm String -> TypedTerm DomainName
+ Hydra.Ext.Dsl.Sql.Syntax: domainNameDomainName :: TypedName DomainName
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericLiteral :: TypedTerm String -> TypedTerm ExactNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericLiteralExactNumericLiteral :: TypedName ExactNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeBigint :: TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDec :: TypedTerm (Maybe ExactNumericTypeDecOption) -> TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOption :: TypedTerm Precision -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeDecOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOptionExactNumericTypeDecOption :: TypedName ExactNumericTypeDecOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOptionPrecision :: TypedTerm ExactNumericTypeDecOption -> TypedTerm Precision
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOptionSequence :: TypedTerm ExactNumericTypeDecOption -> TypedTerm (Maybe Scale)
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOptionWithPrecision :: TypedTerm ExactNumericTypeDecOption -> TypedTerm Precision -> TypedTerm ExactNumericTypeDecOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecOptionWithSequence :: TypedTerm ExactNumericTypeDecOption -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeDecOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimal :: TypedTerm (Maybe ExactNumericTypeDecimalOption) -> TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOption :: TypedTerm Precision -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeDecimalOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOptionExactNumericTypeDecimalOption :: TypedName ExactNumericTypeDecimalOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOptionPrecision :: TypedTerm ExactNumericTypeDecimalOption -> TypedTerm Precision
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOptionSequence :: TypedTerm ExactNumericTypeDecimalOption -> TypedTerm (Maybe Scale)
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOptionWithPrecision :: TypedTerm ExactNumericTypeDecimalOption -> TypedTerm Precision -> TypedTerm ExactNumericTypeDecimalOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeDecimalOptionWithSequence :: TypedTerm ExactNumericTypeDecimalOption -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeDecimalOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeExactNumericType :: TypedName ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeInt :: TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeInteger :: TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumeric :: TypedTerm (Maybe ExactNumericTypeNumericOption) -> TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOption :: TypedTerm Precision -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeNumericOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOptionExactNumericTypeNumericOption :: TypedName ExactNumericTypeNumericOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOptionPrecision :: TypedTerm ExactNumericTypeNumericOption -> TypedTerm Precision
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOptionSequence :: TypedTerm ExactNumericTypeNumericOption -> TypedTerm (Maybe Scale)
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOptionWithPrecision :: TypedTerm ExactNumericTypeNumericOption -> TypedTerm Precision -> TypedTerm ExactNumericTypeNumericOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeNumericOptionWithSequence :: TypedTerm ExactNumericTypeNumericOption -> TypedTerm (Maybe Scale) -> TypedTerm ExactNumericTypeNumericOption
+ Hydra.Ext.Dsl.Sql.Syntax: exactNumericTypeSmallint :: TypedTerm ExactNumericType
+ Hydra.Ext.Dsl.Sql.Syntax: fieldReference :: TypedTerm () -> TypedTerm FieldReference
+ Hydra.Ext.Dsl.Sql.Syntax: fieldReferenceFieldReference :: TypedName FieldReference
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructor :: TypedTerm (Maybe InsertColumnList) -> TypedTerm (Maybe OverrideClause) -> TypedTerm ContextuallyTypedTableValueConstructor -> TypedTerm FromConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorColumns :: TypedTerm FromConstructor -> TypedTerm (Maybe InsertColumnList)
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorFromConstructor :: TypedName FromConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorOverride :: TypedTerm FromConstructor -> TypedTerm (Maybe OverrideClause)
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorValues :: TypedTerm FromConstructor -> TypedTerm ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorWithColumns :: TypedTerm FromConstructor -> TypedTerm (Maybe InsertColumnList) -> TypedTerm FromConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorWithOverride :: TypedTerm FromConstructor -> TypedTerm (Maybe OverrideClause) -> TypedTerm FromConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromConstructorWithValues :: TypedTerm FromConstructor -> TypedTerm ContextuallyTypedTableValueConstructor -> TypedTerm FromConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: fromDefault :: TypedTerm () -> TypedTerm FromDefault
+ Hydra.Ext.Dsl.Sql.Syntax: fromDefaultFromDefault :: TypedName FromDefault
+ Hydra.Ext.Dsl.Sql.Syntax: fromSubquery :: TypedTerm () -> TypedTerm FromSubquery
+ Hydra.Ext.Dsl.Sql.Syntax: fromSubqueryFromSubquery :: TypedName FromSubquery
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralBinary :: TypedTerm BinaryStringLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralBoolean :: TypedTerm BooleanLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralDateTime :: TypedTerm DatetimeLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralGeneralLiteral :: TypedName GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralInterval :: TypedTerm IntervalLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralNationalString :: TypedTerm NationalCharacterStringLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralString :: TypedTerm CharacterStringLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalLiteralUnicode :: TypedTerm UnicodeCharacterStringLiteral -> TypedTerm GeneralLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: generalValueSpecification :: TypedTerm () -> TypedTerm GeneralValueSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: generalValueSpecificationGeneralValueSpecification :: TypedName GeneralValueSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: generationClause :: TypedTerm () -> TypedTerm GenerationClause
+ Hydra.Ext.Dsl.Sql.Syntax: generationClauseGenerationClause :: TypedName GenerationClause
+ Hydra.Ext.Dsl.Sql.Syntax: globalOrLocalGlobal :: TypedTerm GlobalOrLocal
+ Hydra.Ext.Dsl.Sql.Syntax: globalOrLocalGlobalOrLocal :: TypedName GlobalOrLocal
+ Hydra.Ext.Dsl.Sql.Syntax: globalOrLocalLocal :: TypedTerm GlobalOrLocal
+ Hydra.Ext.Dsl.Sql.Syntax: identityColumnSpecification :: TypedTerm () -> TypedTerm IdentityColumnSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: identityColumnSpecificationIdentityColumnSpecification :: TypedName IdentityColumnSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnList :: TypedTerm ColumnNameList -> TypedTerm InsertColumnList
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnListInsertColumnList :: TypedName InsertColumnList
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnsAndSourceConstructor :: TypedTerm FromConstructor -> TypedTerm InsertColumnsAndSource
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnsAndSourceDefault :: TypedTerm FromDefault -> TypedTerm InsertColumnsAndSource
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnsAndSourceInsertColumnsAndSource :: TypedName InsertColumnsAndSource
+ Hydra.Ext.Dsl.Sql.Syntax: insertColumnsAndSourceSubquery :: TypedTerm FromSubquery -> TypedTerm InsertColumnsAndSource
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatement :: TypedTerm InsertionTarget -> TypedTerm InsertColumnsAndSource -> TypedTerm InsertStatement
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatementColumnsAndSource :: TypedTerm InsertStatement -> TypedTerm InsertColumnsAndSource
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatementInsertStatement :: TypedName InsertStatement
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatementTarget :: TypedTerm InsertStatement -> TypedTerm InsertionTarget
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatementWithColumnsAndSource :: TypedTerm InsertStatement -> TypedTerm InsertColumnsAndSource -> TypedTerm InsertStatement
+ Hydra.Ext.Dsl.Sql.Syntax: insertStatementWithTarget :: TypedTerm InsertStatement -> TypedTerm InsertionTarget -> TypedTerm InsertStatement
+ Hydra.Ext.Dsl.Sql.Syntax: insertionTarget :: TypedTerm TableName -> TypedTerm InsertionTarget
+ Hydra.Ext.Dsl.Sql.Syntax: insertionTargetInsertionTarget :: TypedName InsertionTarget
+ Hydra.Ext.Dsl.Sql.Syntax: intervalLiteral :: TypedTerm () -> TypedTerm IntervalLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: intervalLiteralIntervalLiteral :: TypedName IntervalLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: intervalType :: TypedTerm () -> TypedTerm IntervalType
+ Hydra.Ext.Dsl.Sql.Syntax: intervalTypeIntervalType :: TypedName IntervalType
+ Hydra.Ext.Dsl.Sql.Syntax: intervalValueExpression :: TypedTerm () -> TypedTerm IntervalValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: intervalValueExpressionIntervalValueExpression :: TypedName IntervalValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: largeObjectLength :: TypedTerm () -> TypedTerm LargeObjectLength
+ Hydra.Ext.Dsl.Sql.Syntax: largeObjectLengthLargeObjectLength :: TypedName LargeObjectLength
+ Hydra.Ext.Dsl.Sql.Syntax: leftBracketOrTrigraph :: TypedTerm String -> TypedTerm LeftBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: leftBracketOrTrigraphLeftBracketOrTrigraph :: TypedName LeftBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: length :: TypedTerm UnsignedInteger -> TypedTerm Length
+ Hydra.Ext.Dsl.Sql.Syntax: lengthLength :: TypedName Length
+ Hydra.Ext.Dsl.Sql.Syntax: likeClause :: TypedTerm () -> TypedTerm LikeClause
+ Hydra.Ext.Dsl.Sql.Syntax: likeClauseLikeClause :: TypedName LikeClause
+ Hydra.Ext.Dsl.Sql.Syntax: methodInvocation :: TypedTerm () -> TypedTerm MethodInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: methodInvocationMethodInvocation :: TypedName MethodInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: multisetElementReference :: TypedTerm () -> TypedTerm MultisetElementReference
+ Hydra.Ext.Dsl.Sql.Syntax: multisetElementReferenceMultisetElementReference :: TypedName MultisetElementReference
+ Hydra.Ext.Dsl.Sql.Syntax: multisetType :: TypedTerm DataType -> TypedTerm MultisetType
+ Hydra.Ext.Dsl.Sql.Syntax: multisetTypeMultisetType :: TypedName MultisetType
+ Hydra.Ext.Dsl.Sql.Syntax: multisetValueConstructor :: TypedTerm () -> TypedTerm MultisetValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: multisetValueConstructorMultisetValueConstructor :: TypedName MultisetValueConstructor
+ Hydra.Ext.Dsl.Sql.Syntax: multisetValueExpression :: TypedTerm () -> TypedTerm MultisetValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: multisetValueExpressionMultisetValueExpression :: TypedName MultisetValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: nationalCharacterStringLiteral :: TypedTerm () -> TypedTerm NationalCharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: nationalCharacterStringLiteralNationalCharacterStringLiteral :: TypedName NationalCharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: nationalCharacterStringType :: TypedTerm () -> TypedTerm NationalCharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: nationalCharacterStringTypeNationalCharacterStringType :: TypedName NationalCharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: newSpecification :: TypedTerm () -> TypedTerm NewSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: newSpecificationNewSpecification :: TypedName NewSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: nextValueExpression :: TypedTerm () -> TypedTerm NextValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: nextValueExpressionNextValueExpression :: TypedName NextValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryArrayElement :: TypedTerm ArrayElementReference -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryAttributeOrMethod :: TypedTerm AttributeOrMethodReference -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryCases :: TypedTerm CaseExpression -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryCast :: TypedTerm CastSpecification -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryCollection :: TypedTerm CollectionValueConstructor -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryColumn :: TypedTerm ColumnReference -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryField :: TypedTerm FieldReference -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryMethod :: TypedTerm MethodInvocation -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryMultisetElement :: TypedTerm MultisetElementReference -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryNew :: TypedTerm NewSpecification -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryNext :: TypedTerm NextValueExpression -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryNonparenthesizedValueExpressionPrimary :: TypedName NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryReference :: TypedTerm ReferenceResolution -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryRoutine :: TypedTerm RoutineInvocation -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryScalarSubquery :: TypedTerm ScalarSubquery -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimarySetFunction :: TypedTerm SetFunctionSpecification -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryStaticMethod :: TypedTerm StaticMethodInvocation -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimarySubtype :: TypedTerm SubtypeTreatment -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryUnsigned :: TypedTerm UnsignedValueSpecification -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: nonparenthesizedValueExpressionPrimaryWindowFunction :: TypedTerm WindowFunction -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: numericTypeApproximate :: TypedTerm ApproximateNumericType -> TypedTerm NumericType
+ Hydra.Ext.Dsl.Sql.Syntax: numericTypeExact :: TypedTerm ExactNumericType -> TypedTerm NumericType
+ Hydra.Ext.Dsl.Sql.Syntax: numericTypeNumericType :: TypedName NumericType
+ Hydra.Ext.Dsl.Sql.Syntax: numericValueExpression :: TypedTerm () -> TypedTerm NumericValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: numericValueExpressionNumericValueExpression :: TypedName NumericValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: overrideClauseOVERRIDINGspSYSTEMspVALUE :: TypedTerm OverrideClause
+ Hydra.Ext.Dsl.Sql.Syntax: overrideClauseOVERRIDINGspUSERspVALUE :: TypedTerm OverrideClause
+ Hydra.Ext.Dsl.Sql.Syntax: overrideClauseOverrideClause :: TypedName OverrideClause
+ Hydra.Ext.Dsl.Sql.Syntax: parenthesizedValueExpression :: TypedTerm ValueExpression -> TypedTerm ParenthesizedValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: parenthesizedValueExpressionParenthesizedValueExpression :: TypedName ParenthesizedValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: pathResolvedUserDefinedTypeName :: TypedTerm String -> TypedTerm PathResolvedUserDefinedTypeName
+ Hydra.Ext.Dsl.Sql.Syntax: pathResolvedUserDefinedTypeNamePathResolvedUserDefinedTypeName :: TypedName PathResolvedUserDefinedTypeName
+ Hydra.Ext.Dsl.Sql.Syntax: precision :: TypedTerm UnsignedInteger -> TypedTerm Precision
+ Hydra.Ext.Dsl.Sql.Syntax: precisionPrecision :: TypedName Precision
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeBlob :: TypedTerm BinaryLargeObjectStringType -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeBoolean :: TypedTerm BooleanType -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeDatetime :: TypedTerm DatetimeType -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeInterval :: TypedTerm IntervalType -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalString :: TypedTerm NationalCharacterStringType -> TypedTerm (Maybe CollateClause) -> TypedTerm PredefinedTypeNationalString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringCollate :: TypedTerm PredefinedTypeNationalString -> TypedTerm (Maybe CollateClause)
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringPredefinedTypeNationalString :: TypedName PredefinedTypeNationalString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringType :: TypedTerm PredefinedTypeNationalString -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringType2 :: TypedTerm PredefinedTypeNationalString -> TypedTerm NationalCharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringWithCollate :: TypedTerm PredefinedTypeNationalString -> TypedTerm (Maybe CollateClause) -> TypedTerm PredefinedTypeNationalString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNationalStringWithType :: TypedTerm PredefinedTypeNationalString -> TypedTerm NationalCharacterStringType -> TypedTerm PredefinedTypeNationalString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeNumeric :: TypedTerm NumericType -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypePredefinedType :: TypedName PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeString :: TypedTerm CharacterStringType -> TypedTerm (Maybe CharacterSetSpecification) -> TypedTerm (Maybe CollateClause) -> TypedTerm PredefinedTypeString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringCharacters :: TypedTerm PredefinedTypeString -> TypedTerm (Maybe CharacterSetSpecification)
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringCollate :: TypedTerm PredefinedTypeString -> TypedTerm (Maybe CollateClause)
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringPredefinedTypeString :: TypedName PredefinedTypeString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringType :: TypedTerm PredefinedTypeString -> TypedTerm PredefinedType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringType2 :: TypedTerm PredefinedTypeString -> TypedTerm CharacterStringType
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringWithCharacters :: TypedTerm PredefinedTypeString -> TypedTerm (Maybe CharacterSetSpecification) -> TypedTerm PredefinedTypeString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringWithCollate :: TypedTerm PredefinedTypeString -> TypedTerm (Maybe CollateClause) -> TypedTerm PredefinedTypeString
+ Hydra.Ext.Dsl.Sql.Syntax: predefinedTypeStringWithType :: TypedTerm PredefinedTypeString -> TypedTerm CharacterStringType -> TypedTerm PredefinedTypeString
+ Hydra.Ext.Dsl.Sql.Syntax: predicate :: TypedTerm () -> TypedTerm Predicate
+ Hydra.Ext.Dsl.Sql.Syntax: predicatePredicate :: TypedName Predicate
+ Hydra.Ext.Dsl.Sql.Syntax: queryExpression :: TypedTerm () -> TypedTerm QueryExpression
+ Hydra.Ext.Dsl.Sql.Syntax: queryExpressionQueryExpression :: TypedName QueryExpression
+ Hydra.Ext.Dsl.Sql.Syntax: referenceResolution :: TypedTerm () -> TypedTerm ReferenceResolution
+ Hydra.Ext.Dsl.Sql.Syntax: referenceResolutionReferenceResolution :: TypedName ReferenceResolution
+ Hydra.Ext.Dsl.Sql.Syntax: referenceScopeCheck :: TypedTerm () -> TypedTerm ReferenceScopeCheck
+ Hydra.Ext.Dsl.Sql.Syntax: referenceScopeCheckReferenceScopeCheck :: TypedName ReferenceScopeCheck
+ Hydra.Ext.Dsl.Sql.Syntax: referenceType :: TypedTerm () -> TypedTerm ReferenceType
+ Hydra.Ext.Dsl.Sql.Syntax: referenceTypeReferenceType :: TypedName ReferenceType
+ Hydra.Ext.Dsl.Sql.Syntax: referenceValueExpression :: TypedTerm ValueExpressionPrimary -> TypedTerm ReferenceValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: referenceValueExpressionReferenceValueExpression :: TypedName ReferenceValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: rightBracketOrTrigraph :: TypedTerm String -> TypedTerm RightBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: rightBracketOrTrigraphRightBracketOrTrigraph :: TypedName RightBracketOrTrigraph
+ Hydra.Ext.Dsl.Sql.Syntax: routineInvocation :: TypedTerm () -> TypedTerm RoutineInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: routineInvocationRoutineInvocation :: TypedName RoutineInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: rowType :: TypedTerm () -> TypedTerm RowType
+ Hydra.Ext.Dsl.Sql.Syntax: rowTypeRowType :: TypedName RowType
+ Hydra.Ext.Dsl.Sql.Syntax: rowValueExpression :: TypedTerm () -> TypedTerm RowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: rowValueExpressionRowValueExpression :: TypedName RowValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: rowValueSpecialCase :: TypedTerm NonparenthesizedValueExpressionPrimary -> TypedTerm RowValueSpecialCase
+ Hydra.Ext.Dsl.Sql.Syntax: rowValueSpecialCaseRowValueSpecialCase :: TypedName RowValueSpecialCase
+ Hydra.Ext.Dsl.Sql.Syntax: scalarSubquery :: TypedTerm Subquery -> TypedTerm ScalarSubquery
+ Hydra.Ext.Dsl.Sql.Syntax: scalarSubqueryScalarSubquery :: TypedName ScalarSubquery
+ Hydra.Ext.Dsl.Sql.Syntax: scale :: TypedTerm UnsignedInteger -> TypedTerm Scale
+ Hydra.Ext.Dsl.Sql.Syntax: scaleScale :: TypedName Scale
+ Hydra.Ext.Dsl.Sql.Syntax: selfReferencingColumnSpecification :: TypedTerm () -> TypedTerm SelfReferencingColumnSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: selfReferencingColumnSpecificationSelfReferencingColumnSpecification :: TypedName SelfReferencingColumnSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: setFunctionSpecification :: TypedTerm () -> TypedTerm SetFunctionSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: setFunctionSpecificationSetFunctionSpecification :: TypedName SetFunctionSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: staticMethodInvocation :: TypedTerm () -> TypedTerm StaticMethodInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: staticMethodInvocationStaticMethodInvocation :: TypedName StaticMethodInvocation
+ Hydra.Ext.Dsl.Sql.Syntax: stringValueExpression :: TypedTerm () -> TypedTerm StringValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: stringValueExpressionStringValueExpression :: TypedName StringValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: subquery :: TypedTerm QueryExpression -> TypedTerm Subquery
+ Hydra.Ext.Dsl.Sql.Syntax: subquerySubquery :: TypedName Subquery
+ Hydra.Ext.Dsl.Sql.Syntax: subtableClause :: TypedTerm () -> TypedTerm SubtableClause
+ Hydra.Ext.Dsl.Sql.Syntax: subtableClauseSubtableClause :: TypedName SubtableClause
+ Hydra.Ext.Dsl.Sql.Syntax: subtypeTreatment :: TypedTerm () -> TypedTerm SubtypeTreatment
+ Hydra.Ext.Dsl.Sql.Syntax: subtypeTreatmentSubtypeTreatment :: TypedName SubtypeTreatment
+ Hydra.Ext.Dsl.Sql.Syntax: tableCommitActionDelete :: TypedTerm TableCommitAction
+ Hydra.Ext.Dsl.Sql.Syntax: tableCommitActionPreserve :: TypedTerm TableCommitAction
+ Hydra.Ext.Dsl.Sql.Syntax: tableCommitActionTableCommitAction :: TypedName TableCommitAction
+ Hydra.Ext.Dsl.Sql.Syntax: tableConstraintDefinition :: TypedTerm () -> TypedTerm TableConstraintDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableConstraintDefinitionTableConstraintDefinition :: TypedName TableConstraintDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceList :: TypedTerm TableElementList -> TypedTerm TableContentsSource
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubquery :: TypedTerm AsSubqueryClause -> TypedTerm TableContentsSource
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtable :: TypedTerm PathResolvedUserDefinedTypeName -> TypedTerm (Maybe SubtableClause) -> TypedTerm (Maybe TableElementList) -> TypedTerm TableContentsSourceSubtable
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableElements :: TypedTerm TableContentsSourceSubtable -> TypedTerm (Maybe TableElementList)
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableOf :: TypedTerm TableContentsSourceSubtable -> TypedTerm TableContentsSource
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableSubtable :: TypedTerm TableContentsSourceSubtable -> TypedTerm (Maybe SubtableClause)
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableTableContentsSourceSubtable :: TypedName TableContentsSourceSubtable
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableType :: TypedTerm TableContentsSourceSubtable -> TypedTerm PathResolvedUserDefinedTypeName
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableWithElements :: TypedTerm TableContentsSourceSubtable -> TypedTerm (Maybe TableElementList) -> TypedTerm TableContentsSourceSubtable
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableWithSubtable :: TypedTerm TableContentsSourceSubtable -> TypedTerm (Maybe SubtableClause) -> TypedTerm TableContentsSourceSubtable
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceSubtableWithType :: TypedTerm TableContentsSourceSubtable -> TypedTerm PathResolvedUserDefinedTypeName -> TypedTerm TableContentsSourceSubtable
+ Hydra.Ext.Dsl.Sql.Syntax: tableContentsSourceTableContentsSource :: TypedName TableContentsSource
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinition :: TypedTerm (Maybe TableScope) -> TypedTerm TableName -> TypedTerm TableContentsSource -> TypedTerm (Maybe TableCommitAction) -> TypedTerm TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionCommitActions :: TypedTerm TableDefinition -> TypedTerm (Maybe TableCommitAction)
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionName :: TypedTerm TableDefinition -> TypedTerm TableName
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionScope :: TypedTerm TableDefinition -> TypedTerm (Maybe TableScope)
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionSource :: TypedTerm TableDefinition -> TypedTerm TableContentsSource
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionTableDefinition :: TypedName TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionWithCommitActions :: TypedTerm TableDefinition -> TypedTerm (Maybe TableCommitAction) -> TypedTerm TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionWithName :: TypedTerm TableDefinition -> TypedTerm TableName -> TypedTerm TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionWithScope :: TypedTerm TableDefinition -> TypedTerm (Maybe TableScope) -> TypedTerm TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableDefinitionWithSource :: TypedTerm TableDefinition -> TypedTerm TableContentsSource -> TypedTerm TableDefinition
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementColumOptions :: TypedTerm ColumnOptions -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementColumn :: TypedTerm ColumnDefinition -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementLike :: TypedTerm LikeClause -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementList :: TypedTerm TableElement -> TypedTerm [TableElement] -> TypedTerm TableElementList
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementListFirst :: TypedTerm TableElementList -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementListRest :: TypedTerm TableElementList -> TypedTerm [TableElement]
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementListTableElementList :: TypedName TableElementList
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementListWithFirst :: TypedTerm TableElementList -> TypedTerm TableElement -> TypedTerm TableElementList
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementListWithRest :: TypedTerm TableElementList -> TypedTerm [TableElement] -> TypedTerm TableElementList
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementSelfReferencingColumn :: TypedTerm SelfReferencingColumnSpecification -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementTableConstraint :: TypedTerm TableConstraintDefinition -> TypedTerm TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableElementTableElement :: TypedName TableElement
+ Hydra.Ext.Dsl.Sql.Syntax: tableName :: TypedTerm String -> TypedTerm TableName
+ Hydra.Ext.Dsl.Sql.Syntax: tableNameTableName :: TypedName TableName
+ Hydra.Ext.Dsl.Sql.Syntax: tableScope :: TypedTerm GlobalOrLocal -> TypedTerm TableScope
+ Hydra.Ext.Dsl.Sql.Syntax: tableScopeTableScope :: TypedName TableScope
+ Hydra.Ext.Dsl.Sql.Syntax: timeLiteral :: TypedTerm TimeString -> TypedTerm TimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: timeLiteralTimeLiteral :: TypedName TimeLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: timeString :: TypedTerm () -> TypedTerm TimeString
+ Hydra.Ext.Dsl.Sql.Syntax: timeStringTimeString :: TypedName TimeString
+ Hydra.Ext.Dsl.Sql.Syntax: timestampLiteral :: TypedTerm () -> TypedTerm TimestampLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: timestampLiteralTimestampLiteral :: TypedName TimestampLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: truthValueFALSE :: TypedTerm TruthValue
+ Hydra.Ext.Dsl.Sql.Syntax: truthValueTRUE :: TypedTerm TruthValue
+ Hydra.Ext.Dsl.Sql.Syntax: truthValueTruthValue :: TypedName TruthValue
+ Hydra.Ext.Dsl.Sql.Syntax: truthValueUNKNOWN :: TypedTerm TruthValue
+ Hydra.Ext.Dsl.Sql.Syntax: unApproximateNumericLiteral :: TypedTerm ApproximateNumericLiteral -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unArrayElement :: TypedTerm ArrayElement -> TypedTerm ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: unArrayElementReference :: TypedTerm ArrayElementReference -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unArrayType :: TypedTerm ArrayType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unArrayValueConstructorByQuery :: TypedTerm ArrayValueConstructorByQuery -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unArrayValueExpression :: TypedTerm ArrayValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unAsSubqueryClause :: TypedTerm AsSubqueryClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unAttributeOrMethodReference :: TypedTerm AttributeOrMethodReference -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unBinaryStringLiteral :: TypedTerm BinaryStringLiteral -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unBooleanPredicand :: TypedTerm BooleanPredicand -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unBooleanType :: TypedTerm BooleanType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unCaseExpression :: TypedTerm CaseExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unCastSpecification :: TypedTerm CastSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unCharacterSetSpecification :: TypedTerm CharacterSetSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unCharacterStringLiteral :: TypedTerm CharacterStringLiteral -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unCollateClause :: TypedTerm CollateClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unColumnConstraintDefinition :: TypedTerm ColumnConstraintDefinition -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unColumnName :: TypedTerm ColumnName -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unColumnOptions :: TypedTerm ColumnOptions -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unColumnReference :: TypedTerm ColumnReference -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unContextuallyTypedRowValueConstructor :: TypedTerm ContextuallyTypedRowValueConstructor -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unContextuallyTypedTableValueConstructor :: TypedTerm ContextuallyTypedTableValueConstructor -> TypedTerm ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Dsl.Sql.Syntax: unDateLiteral :: TypedTerm DateLiteral -> TypedTerm DateString
+ Hydra.Ext.Dsl.Sql.Syntax: unDateString :: TypedTerm DateString -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unDatetimeType :: TypedTerm DatetimeType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unDatetimeValueExpression :: TypedTerm DatetimeValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unDefaultClause :: TypedTerm DefaultClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unDomainName :: TypedTerm DomainName -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unExactNumericLiteral :: TypedTerm ExactNumericLiteral -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unFieldReference :: TypedTerm FieldReference -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unFromDefault :: TypedTerm FromDefault -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unFromSubquery :: TypedTerm FromSubquery -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unGeneralValueSpecification :: TypedTerm GeneralValueSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unGenerationClause :: TypedTerm GenerationClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unIdentityColumnSpecification :: TypedTerm IdentityColumnSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unInsertColumnList :: TypedTerm InsertColumnList -> TypedTerm ColumnNameList
+ Hydra.Ext.Dsl.Sql.Syntax: unInsertionTarget :: TypedTerm InsertionTarget -> TypedTerm TableName
+ Hydra.Ext.Dsl.Sql.Syntax: unIntervalLiteral :: TypedTerm IntervalLiteral -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unIntervalType :: TypedTerm IntervalType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unIntervalValueExpression :: TypedTerm IntervalValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unLargeObjectLength :: TypedTerm LargeObjectLength -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unLeftBracketOrTrigraph :: TypedTerm LeftBracketOrTrigraph -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unLength :: TypedTerm Length -> TypedTerm UnsignedInteger
+ Hydra.Ext.Dsl.Sql.Syntax: unLikeClause :: TypedTerm LikeClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unMethodInvocation :: TypedTerm MethodInvocation -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unMultisetElementReference :: TypedTerm MultisetElementReference -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unMultisetType :: TypedTerm MultisetType -> TypedTerm DataType
+ Hydra.Ext.Dsl.Sql.Syntax: unMultisetValueConstructor :: TypedTerm MultisetValueConstructor -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unMultisetValueExpression :: TypedTerm MultisetValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unNationalCharacterStringLiteral :: TypedTerm NationalCharacterStringLiteral -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unNationalCharacterStringType :: TypedTerm NationalCharacterStringType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unNewSpecification :: TypedTerm NewSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unNextValueExpression :: TypedTerm NextValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unNumericValueExpression :: TypedTerm NumericValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unParenthesizedValueExpression :: TypedTerm ParenthesizedValueExpression -> TypedTerm ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: unPathResolvedUserDefinedTypeName :: TypedTerm PathResolvedUserDefinedTypeName -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unPrecision :: TypedTerm Precision -> TypedTerm UnsignedInteger
+ Hydra.Ext.Dsl.Sql.Syntax: unPredicate :: TypedTerm Predicate -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unQueryExpression :: TypedTerm QueryExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unReferenceResolution :: TypedTerm ReferenceResolution -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unReferenceScopeCheck :: TypedTerm ReferenceScopeCheck -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unReferenceType :: TypedTerm ReferenceType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unReferenceValueExpression :: TypedTerm ReferenceValueExpression -> TypedTerm ValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: unRightBracketOrTrigraph :: TypedTerm RightBracketOrTrigraph -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unRoutineInvocation :: TypedTerm RoutineInvocation -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unRowType :: TypedTerm RowType -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unRowValueExpression :: TypedTerm RowValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unRowValueSpecialCase :: TypedTerm RowValueSpecialCase -> TypedTerm NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: unScalarSubquery :: TypedTerm ScalarSubquery -> TypedTerm Subquery
+ Hydra.Ext.Dsl.Sql.Syntax: unScale :: TypedTerm Scale -> TypedTerm UnsignedInteger
+ Hydra.Ext.Dsl.Sql.Syntax: unSelfReferencingColumnSpecification :: TypedTerm SelfReferencingColumnSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unSetFunctionSpecification :: TypedTerm SetFunctionSpecification -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unStaticMethodInvocation :: TypedTerm StaticMethodInvocation -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unStringValueExpression :: TypedTerm StringValueExpression -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unSubquery :: TypedTerm Subquery -> TypedTerm QueryExpression
+ Hydra.Ext.Dsl.Sql.Syntax: unSubtableClause :: TypedTerm SubtableClause -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unSubtypeTreatment :: TypedTerm SubtypeTreatment -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unTableConstraintDefinition :: TypedTerm TableConstraintDefinition -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unTableName :: TypedTerm TableName -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unTableScope :: TypedTerm TableScope -> TypedTerm GlobalOrLocal
+ Hydra.Ext.Dsl.Sql.Syntax: unTimeLiteral :: TypedTerm TimeLiteral -> TypedTerm TimeString
+ Hydra.Ext.Dsl.Sql.Syntax: unTimeString :: TypedTerm TimeString -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unTimestampLiteral :: TypedTerm TimestampLiteral -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unUnicodeCharacterStringLiteral :: TypedTerm UnicodeCharacterStringLiteral -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unUnsignedInteger :: TypedTerm UnsignedInteger -> TypedTerm String
+ Hydra.Ext.Dsl.Sql.Syntax: unUserDefinedTypeValueExpression :: TypedTerm UserDefinedTypeValueExpression -> TypedTerm ValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: unWindowFunction :: TypedTerm WindowFunction -> TypedTerm ()
+ Hydra.Ext.Dsl.Sql.Syntax: unicodeCharacterStringLiteral :: TypedTerm () -> TypedTerm UnicodeCharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unicodeCharacterStringLiteralUnicodeCharacterStringLiteral :: TypedName UnicodeCharacterStringLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedInteger :: TypedTerm String -> TypedTerm UnsignedInteger
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedIntegerUnsignedInteger :: TypedName UnsignedInteger
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedLiteralGeneral :: TypedTerm GeneralLiteral -> TypedTerm UnsignedLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedLiteralNumeric :: TypedTerm UnsignedNumericLiteral -> TypedTerm UnsignedLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedLiteralUnsignedLiteral :: TypedName UnsignedLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedNumericLiteralApproximate :: TypedTerm ApproximateNumericLiteral -> TypedTerm UnsignedNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedNumericLiteralExact :: TypedTerm ExactNumericLiteral -> TypedTerm UnsignedNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedNumericLiteralUnsignedNumericLiteral :: TypedName UnsignedNumericLiteral
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedValueSpecificationGeneral :: TypedTerm GeneralValueSpecification -> TypedTerm UnsignedValueSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedValueSpecificationLiteral :: TypedTerm UnsignedLiteral -> TypedTerm UnsignedValueSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: unsignedValueSpecificationUnsignedValueSpecification :: TypedName UnsignedValueSpecification
+ Hydra.Ext.Dsl.Sql.Syntax: userDefinedTypeValueExpression :: TypedTerm ValueExpressionPrimary -> TypedTerm UserDefinedTypeValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: userDefinedTypeValueExpressionUserDefinedTypeValueExpression :: TypedName UserDefinedTypeValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionBoolean :: TypedTerm BooleanValueExpression -> TypedTerm ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionCommon :: TypedTerm CommonValueExpression -> TypedTerm ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionPrimaryNoparens :: TypedTerm NonparenthesizedValueExpressionPrimary -> TypedTerm ValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionPrimaryParens :: TypedTerm ParenthesizedValueExpression -> TypedTerm ValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionPrimaryValueExpressionPrimary :: TypedName ValueExpressionPrimary
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionRow :: TypedTerm RowValueExpression -> TypedTerm ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: valueExpressionValueExpression :: TypedName ValueExpression
+ Hydra.Ext.Dsl.Sql.Syntax: windowFunction :: TypedTerm () -> TypedTerm WindowFunction
+ Hydra.Ext.Dsl.Sql.Syntax: windowFunctionWindowFunction :: TypedName WindowFunction
+ Hydra.Ext.Dsl.Stac.Items: asset :: TypedTerm Uri -> TypedTerm (Maybe String) -> TypedTerm (Maybe String) -> TypedTerm (Maybe MediaType) -> TypedTerm [Role] -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: assetAsset :: TypedName Asset
+ Hydra.Ext.Dsl.Stac.Items: assetDescription :: TypedTerm Asset -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Stac.Items: assetHref :: TypedTerm Asset -> TypedTerm Uri
+ Hydra.Ext.Dsl.Stac.Items: assetRoles :: TypedTerm Asset -> TypedTerm [Role]
+ Hydra.Ext.Dsl.Stac.Items: assetTitle :: TypedTerm Asset -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Stac.Items: assetType :: TypedTerm Asset -> TypedTerm (Maybe MediaType)
+ Hydra.Ext.Dsl.Stac.Items: assetWithDescription :: TypedTerm Asset -> TypedTerm (Maybe String) -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: assetWithHref :: TypedTerm Asset -> TypedTerm Uri -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: assetWithRoles :: TypedTerm Asset -> TypedTerm [Role] -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: assetWithTitle :: TypedTerm Asset -> TypedTerm (Maybe String) -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: assetWithType :: TypedTerm Asset -> TypedTerm (Maybe MediaType) -> TypedTerm Asset
+ Hydra.Ext.Dsl.Stac.Items: item :: TypedTerm Feature -> TypedTerm StacVersion -> TypedTerm [Url] -> TypedTerm [Link] -> TypedTerm (Map String Asset) -> TypedTerm (Maybe Id) -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemAssets :: TypedTerm Item -> TypedTerm (Map String Asset)
+ Hydra.Ext.Dsl.Stac.Items: itemCollection :: TypedTerm Item -> TypedTerm (Maybe Id)
+ Hydra.Ext.Dsl.Stac.Items: itemFeature :: TypedTerm Item -> TypedTerm Feature
+ Hydra.Ext.Dsl.Stac.Items: itemItem :: TypedName Item
+ Hydra.Ext.Dsl.Stac.Items: itemLinks :: TypedTerm Item -> TypedTerm [Link]
+ Hydra.Ext.Dsl.Stac.Items: itemStacExtensions :: TypedTerm Item -> TypedTerm [Url]
+ Hydra.Ext.Dsl.Stac.Items: itemStacVersion :: TypedTerm Item -> TypedTerm StacVersion
+ Hydra.Ext.Dsl.Stac.Items: itemWithAssets :: TypedTerm Item -> TypedTerm (Map String Asset) -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemWithCollection :: TypedTerm Item -> TypedTerm (Maybe Id) -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemWithFeature :: TypedTerm Item -> TypedTerm Feature -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemWithLinks :: TypedTerm Item -> TypedTerm [Link] -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemWithStacExtensions :: TypedTerm Item -> TypedTerm [Url] -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: itemWithStacVersion :: TypedTerm Item -> TypedTerm StacVersion -> TypedTerm Item
+ Hydra.Ext.Dsl.Stac.Items: link :: TypedTerm Url -> TypedTerm RelationType -> TypedTerm (Maybe MediaType) -> TypedTerm (Maybe String) -> TypedTerm Link
+ Hydra.Ext.Dsl.Stac.Items: linkHref :: TypedTerm Link -> TypedTerm Url
+ Hydra.Ext.Dsl.Stac.Items: linkLink :: TypedName Link
+ Hydra.Ext.Dsl.Stac.Items: linkRel :: TypedTerm Link -> TypedTerm RelationType
+ Hydra.Ext.Dsl.Stac.Items: linkTitle :: TypedTerm Link -> TypedTerm (Maybe String)
+ Hydra.Ext.Dsl.Stac.Items: linkType :: TypedTerm Link -> TypedTerm (Maybe MediaType)
+ Hydra.Ext.Dsl.Stac.Items: linkWithHref :: TypedTerm Link -> TypedTerm Url -> TypedTerm Link
+ Hydra.Ext.Dsl.Stac.Items: linkWithRel :: TypedTerm Link -> TypedTerm RelationType -> TypedTerm Link
+ Hydra.Ext.Dsl.Stac.Items: linkWithTitle :: TypedTerm Link -> TypedTerm (Maybe String) -> TypedTerm Link
+ Hydra.Ext.Dsl.Stac.Items: linkWithType :: TypedTerm Link -> TypedTerm (Maybe MediaType) -> TypedTerm Link
+ Hydra.Ext.Dsl.Stac.Items: mediaType :: TypedTerm String -> TypedTerm MediaType
+ Hydra.Ext.Dsl.Stac.Items: mediaTypeMediaType :: TypedName MediaType
+ Hydra.Ext.Dsl.Stac.Items: relationTypeIana :: TypedTerm LinkRelationType -> TypedTerm RelationType
+ Hydra.Ext.Dsl.Stac.Items: relationTypeOther :: TypedTerm String -> TypedTerm RelationType
+ Hydra.Ext.Dsl.Stac.Items: relationTypeRelationType :: TypedName RelationType
+ Hydra.Ext.Dsl.Stac.Items: relationTypeStac :: TypedTerm StacRelationType -> TypedTerm RelationType
+ Hydra.Ext.Dsl.Stac.Items: roleData :: TypedTerm Role
+ Hydra.Ext.Dsl.Stac.Items: roleMetadata :: TypedTerm Role
+ Hydra.Ext.Dsl.Stac.Items: roleOther :: TypedTerm String -> TypedTerm Role
+ Hydra.Ext.Dsl.Stac.Items: roleOverview :: TypedTerm Role
+ Hydra.Ext.Dsl.Stac.Items: roleRole :: TypedName Role
+ Hydra.Ext.Dsl.Stac.Items: roleThumbnail :: TypedTerm Role
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeCollection :: TypedTerm StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeDerivedFrom :: TypedTerm StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeParent :: TypedTerm StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeRoot :: TypedTerm StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeSelf :: TypedTerm StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacRelationTypeStacRelationType :: TypedName StacRelationType
+ Hydra.Ext.Dsl.Stac.Items: stacVersion :: TypedTerm String -> TypedTerm StacVersion
+ Hydra.Ext.Dsl.Stac.Items: stacVersionStacVersion :: TypedName StacVersion
+ Hydra.Ext.Dsl.Stac.Items: unMediaType :: TypedTerm MediaType -> TypedTerm String
+ Hydra.Ext.Dsl.Stac.Items: unStacVersion :: TypedTerm StacVersion -> TypedTerm String
+ Hydra.Ext.Dsl.Stac.Items: unUri :: TypedTerm Uri -> TypedTerm String
+ Hydra.Ext.Dsl.Stac.Items: unUrl :: TypedTerm Url -> TypedTerm String
+ Hydra.Ext.Dsl.Stac.Items: uri :: TypedTerm String -> TypedTerm Uri
+ Hydra.Ext.Dsl.Stac.Items: uriUri :: TypedName Uri
+ Hydra.Ext.Dsl.Stac.Items: url :: TypedTerm String -> TypedTerm Url
+ Hydra.Ext.Dsl.Stac.Items: urlUrl :: TypedName Url
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpec :: TypedTerm [Module] -> TypedTerm Name -> TypedTerm HydraSchemaSpec
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpecHydraSchemaSpec :: TypedName HydraSchemaSpec
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpecModules :: TypedTerm HydraSchemaSpec -> TypedTerm [Module]
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpecTypeName :: TypedTerm HydraSchemaSpec -> TypedTerm Name
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpecWithModules :: TypedTerm HydraSchemaSpec -> TypedTerm [Module] -> TypedTerm HydraSchemaSpec
+ Hydra.Ext.Dsl.Workflow: hydraSchemaSpecWithTypeName :: TypedTerm HydraSchemaSpec -> TypedTerm Name -> TypedTerm HydraSchemaSpec
+ Hydra.Ext.Dsl.Workflow: schemaSpecFile :: TypedTerm String -> TypedTerm SchemaSpec
+ Hydra.Ext.Dsl.Workflow: schemaSpecHydra :: TypedTerm HydraSchemaSpec -> TypedTerm SchemaSpec
+ Hydra.Ext.Dsl.Workflow: schemaSpecProvided :: TypedTerm SchemaSpec
+ Hydra.Ext.Dsl.Workflow: schemaSpecSchemaSpec :: TypedName SchemaSpec
+ Hydra.Ext.Dsl.Workflow: transformWorkflow :: TypedTerm String -> TypedTerm SchemaSpec -> TypedTerm String -> TypedTerm String -> TypedTerm TransformWorkflow
+ Hydra.Ext.Dsl.Workflow: transformWorkflowDestDir :: TypedTerm TransformWorkflow -> TypedTerm String
+ Hydra.Ext.Dsl.Workflow: transformWorkflowName :: TypedTerm TransformWorkflow -> TypedTerm String
+ Hydra.Ext.Dsl.Workflow: transformWorkflowSchemaSpec :: TypedTerm TransformWorkflow -> TypedTerm SchemaSpec
+ Hydra.Ext.Dsl.Workflow: transformWorkflowSrcDir :: TypedTerm TransformWorkflow -> TypedTerm String
+ Hydra.Ext.Dsl.Workflow: transformWorkflowTransformWorkflow :: TypedName TransformWorkflow
+ Hydra.Ext.Dsl.Workflow: transformWorkflowWithDestDir :: TypedTerm TransformWorkflow -> TypedTerm String -> TypedTerm TransformWorkflow
+ Hydra.Ext.Dsl.Workflow: transformWorkflowWithName :: TypedTerm TransformWorkflow -> TypedTerm String -> TypedTerm TransformWorkflow
+ Hydra.Ext.Dsl.Workflow: transformWorkflowWithSchemaSpec :: TypedTerm TransformWorkflow -> TypedTerm SchemaSpec -> TypedTerm TransformWorkflow
+ Hydra.Ext.Dsl.Workflow: transformWorkflowWithSrcDir :: TypedTerm TransformWorkflow -> TypedTerm String -> TypedTerm TransformWorkflow
+ Hydra.Ext.Geojson.Model: BoundingBox :: [CoordinateRange] -> BoundingBox
+ Hydra.Ext.Geojson.Model: CoordinateRange :: Double -> Double -> CoordinateRange
+ Hydra.Ext.Geojson.Model: Feature :: Maybe Geometry -> Maybe (Map String Value) -> Maybe Id -> Maybe BoundingBox -> Feature
+ Hydra.Ext.Geojson.Model: FeatureCollection :: [Feature] -> Maybe BoundingBox -> FeatureCollection
+ Hydra.Ext.Geojson.Model: GeometryCollection :: [Geometry] -> Maybe BoundingBox -> GeometryCollection
+ Hydra.Ext.Geojson.Model: GeometryGeometryCollection :: GeometryCollection -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryLineString :: LineString -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryMultiLineString :: MultiLineString -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryMultiPoint :: MultiPoint -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryMultiPolygon :: MultiPolygon -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryPoint :: Point -> Geometry
+ Hydra.Ext.Geojson.Model: GeometryPolygon :: Polygon -> Geometry
+ Hydra.Ext.Geojson.Model: IdNumber :: Double -> Id
+ Hydra.Ext.Geojson.Model: IdString :: String -> Id
+ Hydra.Ext.Geojson.Model: LineString :: [Position] -> Maybe BoundingBox -> LineString
+ Hydra.Ext.Geojson.Model: MultiLineString :: [LineString] -> Maybe BoundingBox -> MultiLineString
+ Hydra.Ext.Geojson.Model: MultiPoint :: [Point] -> Maybe BoundingBox -> MultiPoint
+ Hydra.Ext.Geojson.Model: MultiPolygon :: [Polygon] -> Maybe BoundingBox -> MultiPolygon
+ Hydra.Ext.Geojson.Model: ObjectFeature :: Feature -> Object
+ Hydra.Ext.Geojson.Model: ObjectFeatureCollection :: FeatureCollection -> Object
+ Hydra.Ext.Geojson.Model: ObjectGeometry :: Geometry -> Object
+ Hydra.Ext.Geojson.Model: Point :: Position -> Maybe BoundingBox -> Point
+ Hydra.Ext.Geojson.Model: Polygon :: [Position] -> Maybe BoundingBox -> Polygon
+ Hydra.Ext.Geojson.Model: Position :: Double -> Double -> Maybe Double -> Position
+ Hydra.Ext.Geojson.Model: [coordinateRangeMax] :: CoordinateRange -> Double
+ Hydra.Ext.Geojson.Model: [coordinateRangeMin] :: CoordinateRange -> Double
+ Hydra.Ext.Geojson.Model: [featureBbox] :: Feature -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [featureCollectionBbox] :: FeatureCollection -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [featureCollectionFeatures] :: FeatureCollection -> [Feature]
+ Hydra.Ext.Geojson.Model: [featureGeometry] :: Feature -> Maybe Geometry
+ Hydra.Ext.Geojson.Model: [featureId] :: Feature -> Maybe Id
+ Hydra.Ext.Geojson.Model: [featureProperties] :: Feature -> Maybe (Map String Value)
+ Hydra.Ext.Geojson.Model: [geometryCollectionBbox] :: GeometryCollection -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [geometryCollectionGeometries] :: GeometryCollection -> [Geometry]
+ Hydra.Ext.Geojson.Model: [lineStringBbox] :: LineString -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [lineStringCoordinates] :: LineString -> [Position]
+ Hydra.Ext.Geojson.Model: [multiLineStringBbox] :: MultiLineString -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [multiLineStringCoordinates] :: MultiLineString -> [LineString]
+ Hydra.Ext.Geojson.Model: [multiPointBbox] :: MultiPoint -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [multiPointCoordinates] :: MultiPoint -> [Point]
+ Hydra.Ext.Geojson.Model: [multiPolygonBbox] :: MultiPolygon -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [multiPolygonCoordinates] :: MultiPolygon -> [Polygon]
+ Hydra.Ext.Geojson.Model: [pointBbox] :: Point -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [pointCoordinates] :: Point -> Position
+ Hydra.Ext.Geojson.Model: [polygonBbox] :: Polygon -> Maybe BoundingBox
+ Hydra.Ext.Geojson.Model: [polygonCoordinates] :: Polygon -> [Position]
+ Hydra.Ext.Geojson.Model: [positionAltitude] :: Position -> Maybe Double
+ Hydra.Ext.Geojson.Model: [positionLatitude] :: Position -> Double
+ Hydra.Ext.Geojson.Model: [positionLongitude] :: Position -> Double
+ Hydra.Ext.Geojson.Model: [unBoundingBox] :: BoundingBox -> [CoordinateRange]
+ Hydra.Ext.Geojson.Model: _BoundingBox :: Name
+ Hydra.Ext.Geojson.Model: _CoordinateRange :: Name
+ Hydra.Ext.Geojson.Model: _CoordinateRange_max :: Name
+ Hydra.Ext.Geojson.Model: _CoordinateRange_min :: Name
+ Hydra.Ext.Geojson.Model: _Feature :: Name
+ Hydra.Ext.Geojson.Model: _FeatureCollection :: Name
+ Hydra.Ext.Geojson.Model: _FeatureCollection_bbox :: Name
+ Hydra.Ext.Geojson.Model: _FeatureCollection_features :: Name
+ Hydra.Ext.Geojson.Model: _Feature_bbox :: Name
+ Hydra.Ext.Geojson.Model: _Feature_geometry :: Name
+ Hydra.Ext.Geojson.Model: _Feature_id :: Name
+ Hydra.Ext.Geojson.Model: _Feature_properties :: Name
+ Hydra.Ext.Geojson.Model: _Geometry :: Name
+ Hydra.Ext.Geojson.Model: _GeometryCollection :: Name
+ Hydra.Ext.Geojson.Model: _GeometryCollection_bbox :: Name
+ Hydra.Ext.Geojson.Model: _GeometryCollection_geometries :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_geometryCollection :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_lineString :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_multiLineString :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_multiPoint :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_multiPolygon :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_point :: Name
+ Hydra.Ext.Geojson.Model: _Geometry_polygon :: Name
+ Hydra.Ext.Geojson.Model: _Id :: Name
+ Hydra.Ext.Geojson.Model: _Id_number :: Name
+ Hydra.Ext.Geojson.Model: _Id_string :: Name
+ Hydra.Ext.Geojson.Model: _LineString :: Name
+ Hydra.Ext.Geojson.Model: _LineString_bbox :: Name
+ Hydra.Ext.Geojson.Model: _LineString_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _MultiLineString :: Name
+ Hydra.Ext.Geojson.Model: _MultiLineString_bbox :: Name
+ Hydra.Ext.Geojson.Model: _MultiLineString_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _MultiPoint :: Name
+ Hydra.Ext.Geojson.Model: _MultiPoint_bbox :: Name
+ Hydra.Ext.Geojson.Model: _MultiPoint_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _MultiPolygon :: Name
+ Hydra.Ext.Geojson.Model: _MultiPolygon_bbox :: Name
+ Hydra.Ext.Geojson.Model: _MultiPolygon_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _Object :: Name
+ Hydra.Ext.Geojson.Model: _Object_feature :: Name
+ Hydra.Ext.Geojson.Model: _Object_featureCollection :: Name
+ Hydra.Ext.Geojson.Model: _Object_geometry :: Name
+ Hydra.Ext.Geojson.Model: _Point :: Name
+ Hydra.Ext.Geojson.Model: _Point_bbox :: Name
+ Hydra.Ext.Geojson.Model: _Point_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _Polygon :: Name
+ Hydra.Ext.Geojson.Model: _Polygon_bbox :: Name
+ Hydra.Ext.Geojson.Model: _Polygon_coordinates :: Name
+ Hydra.Ext.Geojson.Model: _Position :: Name
+ Hydra.Ext.Geojson.Model: _Position_altitude :: Name
+ Hydra.Ext.Geojson.Model: _Position_latitude :: Name
+ Hydra.Ext.Geojson.Model: _Position_longitude :: Name
+ Hydra.Ext.Geojson.Model: data CoordinateRange
+ Hydra.Ext.Geojson.Model: data Feature
+ Hydra.Ext.Geojson.Model: data FeatureCollection
+ Hydra.Ext.Geojson.Model: data Geometry
+ Hydra.Ext.Geojson.Model: data GeometryCollection
+ Hydra.Ext.Geojson.Model: data Id
+ Hydra.Ext.Geojson.Model: data LineString
+ Hydra.Ext.Geojson.Model: data MultiLineString
+ Hydra.Ext.Geojson.Model: data MultiPoint
+ Hydra.Ext.Geojson.Model: data MultiPolygon
+ Hydra.Ext.Geojson.Model: data Object
+ Hydra.Ext.Geojson.Model: data Point
+ Hydra.Ext.Geojson.Model: data Polygon
+ Hydra.Ext.Geojson.Model: data Position
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.BoundingBox
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.CoordinateRange
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Feature
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.FeatureCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Geometry
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.GeometryCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Id
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.LineString
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.MultiLineString
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.MultiPoint
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.MultiPolygon
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Object
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Point
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Polygon
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Eq Hydra.Ext.Geojson.Model.Position
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.BoundingBox
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.CoordinateRange
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Feature
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.FeatureCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Geometry
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.GeometryCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Id
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.LineString
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.MultiLineString
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.MultiPoint
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.MultiPolygon
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Object
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Point
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Polygon
+ Hydra.Ext.Geojson.Model: instance GHC.Classes.Ord Hydra.Ext.Geojson.Model.Position
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.BoundingBox
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.CoordinateRange
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Feature
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.FeatureCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Geometry
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.GeometryCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Id
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.LineString
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.MultiLineString
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.MultiPoint
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.MultiPolygon
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Object
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Point
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Polygon
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Read.Read Hydra.Ext.Geojson.Model.Position
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.BoundingBox
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.CoordinateRange
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Feature
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.FeatureCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Geometry
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.GeometryCollection
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Id
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.LineString
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.MultiLineString
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.MultiPoint
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.MultiPolygon
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Object
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Point
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Polygon
+ Hydra.Ext.Geojson.Model: instance GHC.Internal.Show.Show Hydra.Ext.Geojson.Model.Position
+ Hydra.Ext.Geojson.Model: newtype BoundingBox
+ Hydra.Ext.Graphql.Coder: checkMapKeyRepresentable :: Type -> Either Error ()
+ Hydra.Ext.Graphql.Coder: descriptionFromType :: t0 -> Graph -> Type -> Either Error (Maybe Description)
+ Hydra.Ext.Graphql.Coder: encodeEnumFieldName :: Name -> EnumValue
+ Hydra.Ext.Graphql.Coder: encodeEnumFieldType :: t0 -> Graph -> FieldType -> Either Error EnumValueDefinition
+ Hydra.Ext.Graphql.Coder: encodeFieldName :: Name -> Name
+ Hydra.Ext.Graphql.Coder: encodeFieldType :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error FieldDefinition
+ Hydra.Ext.Graphql.Coder: encodeLiteralType :: t0 -> LiteralType -> Either Error NamedType
+ Hydra.Ext.Graphql.Coder: encodeNamedType :: t0 -> Graph -> Map ModuleName String -> Name -> Type -> Either Error TypeDefinition
+ Hydra.Ext.Graphql.Coder: encodeType :: t0 -> t1 -> Map ModuleName String -> Type -> Either Error Type
+ Hydra.Ext.Graphql.Coder: encodeTypeDefinition :: t0 -> Graph -> Map ModuleName String -> TypeDefinition -> Either Error TypeDefinition
+ Hydra.Ext.Graphql.Coder: encodeTypeName :: Map ModuleName String -> Name -> Name
+ Hydra.Ext.Graphql.Coder: encodeUnionFieldType :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error FieldDefinition
+ Hydra.Ext.Graphql.Coder: moduleToGraphql :: Module -> [Definition] -> t0 -> Graph -> Either Error (Map String String)
+ Hydra.Ext.Graphql.Coder: sanitize :: String -> String
+ Hydra.Ext.Graphql.Language: graphqlLanguage :: Language
+ Hydra.Ext.Graphql.Language: graphqlReservedWords :: Set String
+ Hydra.Ext.Graphql.Serde: definitionToExpr :: Definition -> Expr
+ Hydra.Ext.Graphql.Serde: descriptionToExpr :: Description -> Expr
+ Hydra.Ext.Graphql.Serde: documentToExpr :: Document -> Expr
+ Hydra.Ext.Graphql.Serde: enumTypeDefinitionToExpr :: EnumTypeDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: enumValueDefinitionToExpr :: EnumValueDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: enumValueToExpr :: EnumValue -> Expr
+ Hydra.Ext.Graphql.Serde: fieldDefinitionToExpr :: FieldDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: listTypeToExpr :: ListType -> Expr
+ Hydra.Ext.Graphql.Serde: nameToExpr :: Name -> Expr
+ Hydra.Ext.Graphql.Serde: namedTypeToExpr :: NamedType -> Expr
+ Hydra.Ext.Graphql.Serde: nonNullTypeToExpr :: NonNullType -> Expr
+ Hydra.Ext.Graphql.Serde: objectTypeDefinitionToExpr :: ObjectTypeDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: typeDefinitionToExpr :: TypeDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: typeSystemDefinitionOrExtensionToExpr :: TypeSystemDefinitionOrExtension -> Expr
+ Hydra.Ext.Graphql.Serde: typeSystemDefinitionToExpr :: TypeSystemDefinition -> Expr
+ Hydra.Ext.Graphql.Serde: typeToExpr :: Type -> Expr
+ Hydra.Ext.Graphql.Serde: withDescription :: Maybe Description -> Expr -> Expr
+ Hydra.Ext.Graphql.Syntax: AliasColon :: Alias
+ Hydra.Ext.Graphql.Syntax: AliasName :: Name -> Alias
+ Hydra.Ext.Graphql.Syntax: Argument :: Name -> Value -> Argument
+ Hydra.Ext.Graphql.Syntax: Arguments :: [Argument] -> Arguments
+ Hydra.Ext.Graphql.Syntax: ArgumentsDefinition :: [InputValueDefinition] -> ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: BooleanValueFalse :: BooleanValue
+ Hydra.Ext.Graphql.Syntax: BooleanValueTrue :: BooleanValue
+ Hydra.Ext.Graphql.Syntax: DefaultValue :: Value -> DefaultValue
+ Hydra.Ext.Graphql.Syntax: DefinitionExecutable :: ExecutableDefinition -> Definition
+ Hydra.Ext.Graphql.Syntax: DefinitionTypeSystem :: TypeSystemDefinitionOrExtension -> Definition
+ Hydra.Ext.Graphql.Syntax: Description :: StringValue -> Description
+ Hydra.Ext.Graphql.Syntax: Directive :: Name -> Maybe Arguments -> Directive
+ Hydra.Ext.Graphql.Syntax: DirectiveDefinition :: Maybe Description -> Name -> Maybe ArgumentsDefinition -> Maybe () -> DirectiveLocations -> DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationExecutable :: ExecutableDirectiveLocation -> DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationTypeSystem :: TypeSystemDirectiveLocation -> DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationsSeq :: DirectiveLocationsSequence -> DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationsSeq2 :: DirectiveLocationsSequence2 -> DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationsSequence :: DirectiveLocations -> DirectiveLocation -> DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: DirectiveLocationsSequence2 :: Maybe () -> DirectiveLocation -> DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: Directives :: [Directive] -> Directives
+ Hydra.Ext.Graphql.Syntax: Document :: [Definition] -> Document
+ Hydra.Ext.Graphql.Syntax: EnumTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> Maybe EnumValuesDefinition -> EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: EnumTypeExtensionSeq :: EnumTypeExtensionSequence -> EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: EnumTypeExtensionSeq2 :: EnumTypeExtensionSequence2 -> EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: EnumTypeExtensionSequence :: Name -> Maybe Directives -> EnumValuesDefinition -> EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: EnumTypeExtensionSequence2 :: Name -> Directives -> EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: EnumValue :: Name -> EnumValue
+ Hydra.Ext.Graphql.Syntax: EnumValueDefinition :: Maybe Description -> EnumValue -> Maybe Directives -> EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: EnumValuesDefinition :: [EnumValueDefinition] -> EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: ExecutableDefinitionFragment :: FragmentDefinition -> ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: ExecutableDefinitionOperation :: OperationDefinition -> ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationFIELD :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationFRAGMENT_DEFINITION :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationFRAGMENT_SPREAD :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationINLINE_FRAGMENT :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationMUTATION :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationQUERY :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationSUBSCRIPTION :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDirectiveLocationVARIABLE_DEFINITION :: ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: ExecutableDocument :: [ExecutableDefinition] -> ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: Field :: Maybe Alias -> Name -> Maybe Arguments -> Maybe Directives -> Maybe SelectionSet -> Field
+ Hydra.Ext.Graphql.Syntax: FieldDefinition :: Maybe Description -> Name -> Maybe ArgumentsDefinition -> Type -> Maybe Directives -> FieldDefinition
+ Hydra.Ext.Graphql.Syntax: FieldsDefinition :: [FieldDefinition] -> FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: FloatValue :: String -> FloatValue
+ Hydra.Ext.Graphql.Syntax: FragmentDefinition :: FragmentName -> TypeCondition -> Maybe Directives -> SelectionSet -> FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: FragmentName :: Name -> FragmentName
+ Hydra.Ext.Graphql.Syntax: FragmentSpread :: FragmentName -> Maybe Directives -> FragmentSpread
+ Hydra.Ext.Graphql.Syntax: ImplementsInterfacesSeq :: ImplementsInterfacesSequence -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: ImplementsInterfacesSeq2 :: ImplementsInterfacesSequence2 -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: ImplementsInterfacesSequence :: ImplementsInterfaces -> NamedType -> ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: ImplementsInterfacesSequence2 :: Maybe () -> NamedType -> ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: InlineFragment :: Maybe TypeCondition -> Maybe Directives -> SelectionSet -> InlineFragment
+ Hydra.Ext.Graphql.Syntax: InputFieldsDefinition :: [InputValueDefinition] -> InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeDefinitionSeq :: InputObjectTypeDefinitionSequence -> InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeDefinitionSeq2 :: InputObjectTypeDefinitionSequence2 -> InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeDefinitionSequence :: Maybe Description -> Name -> Maybe Directives -> InputFieldsDefinition -> InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeDefinitionSequence2 :: Maybe Description -> Name -> Maybe Directives -> InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeExtensionSeq :: InputObjectTypeExtensionSequence -> InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeExtensionSeq2 :: InputObjectTypeExtensionSequence2 -> InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeExtensionSequence :: Name -> Maybe Directives -> InputFieldsDefinition -> InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: InputObjectTypeExtensionSequence2 :: Name -> Directives -> InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: InputValueDefinition :: Maybe Description -> Name -> Type -> Maybe DefaultValue -> Maybe Directives -> InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: IntValue :: String -> IntValue
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeDefinitionSeq :: InterfaceTypeDefinitionSequence -> InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeDefinitionSeq2 :: InterfaceTypeDefinitionSequence2 -> InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeDefinitionSequence :: Maybe Description -> Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeDefinitionSequence2 :: Maybe Description -> Name -> ImplementsInterfaces -> Maybe Directives -> InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSeq :: InterfaceTypeExtensionSequence -> InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSeq2 :: InterfaceTypeExtensionSequence2 -> InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSeq3 :: InterfaceTypeExtensionSequence3 -> InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSequence :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSequence2 :: Name -> Maybe ImplementsInterfaces -> Directives -> InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: InterfaceTypeExtensionSequence3 :: Name -> ImplementsInterfaces -> InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: ListType :: Type -> ListType
+ Hydra.Ext.Graphql.Syntax: ListValueSeq :: ListValueSequence -> ListValue
+ Hydra.Ext.Graphql.Syntax: ListValueSequence2 :: [Value] -> ListValue
+ Hydra.Ext.Graphql.Syntax: Name :: String -> Name
+ Hydra.Ext.Graphql.Syntax: NamedType :: Name -> NamedType
+ Hydra.Ext.Graphql.Syntax: NonNullTypeList :: ListType -> NonNullType
+ Hydra.Ext.Graphql.Syntax: NonNullTypeNamed :: NamedType -> NonNullType
+ Hydra.Ext.Graphql.Syntax: NullValue :: () -> NullValue
+ Hydra.Ext.Graphql.Syntax: ObjectField :: Name -> Value -> ObjectField
+ Hydra.Ext.Graphql.Syntax: ObjectTypeDefinition :: Maybe Description -> Name -> Maybe ImplementsInterfaces -> Maybe Directives -> Maybe FieldsDefinition -> ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSeq :: ObjectTypeExtensionSequence -> ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSeq2 :: ObjectTypeExtensionSequence2 -> ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSeq3 :: ObjectTypeExtensionSequence3 -> ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSequence :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> FieldsDefinition -> ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSequence2 :: Name -> Maybe ImplementsInterfaces -> Maybe Directives -> ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: ObjectTypeExtensionSequence3 :: Name -> ImplementsInterfaces -> ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: ObjectValueSeq :: ObjectValueSequence -> ObjectValue
+ Hydra.Ext.Graphql.Syntax: ObjectValueSequence2 :: [ObjectField] -> ObjectValue
+ Hydra.Ext.Graphql.Syntax: OperationDefinitionSelectionSet :: SelectionSet -> OperationDefinition
+ Hydra.Ext.Graphql.Syntax: OperationDefinitionSeq :: OperationDefinitionSequence -> OperationDefinition
+ Hydra.Ext.Graphql.Syntax: OperationDefinitionSequence :: OperationType -> Maybe Name -> Maybe VariablesDefinition -> Maybe Directives -> SelectionSet -> OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: OperationTypeMutation :: OperationType
+ Hydra.Ext.Graphql.Syntax: OperationTypeQuery :: OperationType
+ Hydra.Ext.Graphql.Syntax: OperationTypeSubscription :: OperationType
+ Hydra.Ext.Graphql.Syntax: RootOperationTypeDefinition :: OperationType -> NamedType -> RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: ScalarTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: ScalarTypeExtension :: Name -> Directives -> ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: SchemaDefinition :: Maybe Description -> Maybe Directives -> RootOperationTypeDefinition -> SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: SchemaExtensionSeq :: SchemaExtensionSequence -> SchemaExtension
+ Hydra.Ext.Graphql.Syntax: SchemaExtensionSequence :: Maybe Directives -> RootOperationTypeDefinition -> SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: SchemaExtensionSequence2 :: Directives -> SchemaExtension
+ Hydra.Ext.Graphql.Syntax: SelectionField :: Field -> Selection
+ Hydra.Ext.Graphql.Syntax: SelectionFragmentSpread :: FragmentSpread -> Selection
+ Hydra.Ext.Graphql.Syntax: SelectionInlineFragment :: InlineFragment -> Selection
+ Hydra.Ext.Graphql.Syntax: SelectionSet :: [Selection] -> SelectionSet
+ Hydra.Ext.Graphql.Syntax: StringValue :: String -> StringValue
+ Hydra.Ext.Graphql.Syntax: TypeConditionNamedType :: NamedType -> TypeCondition
+ Hydra.Ext.Graphql.Syntax: TypeConditionOn :: TypeCondition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionEnum :: EnumTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionInputObject :: InputObjectTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionInterface :: InterfaceTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionObject :: ObjectTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionScalar :: ScalarTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeDefinitionUnion :: UnionTypeDefinition -> TypeDefinition
+ Hydra.Ext.Graphql.Syntax: TypeExtensionEnum :: EnumTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeExtensionInputObject :: InputObjectTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeExtensionInterface :: InterfaceTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeExtensionObject :: ObjectTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeExtensionScalar :: ScalarTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeExtensionUnion :: UnionTypeExtension -> TypeExtension
+ Hydra.Ext.Graphql.Syntax: TypeList :: ListType -> Type
+ Hydra.Ext.Graphql.Syntax: TypeNamed :: NamedType -> Type
+ Hydra.Ext.Graphql.Syntax: TypeNonNull :: NonNullType -> Type
+ Hydra.Ext.Graphql.Syntax: TypeSystemDefinitionDirective :: DirectiveDefinition -> TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: TypeSystemDefinitionOrExtensionDefinition :: TypeSystemDefinition -> TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: TypeSystemDefinitionOrExtensionExtension :: TypeSystemExtension -> TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: TypeSystemDefinitionSchema :: SchemaDefinition -> TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: TypeSystemDefinitionType :: TypeDefinition -> TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationARGUMENT_DEFINITION :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationENUM :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationENUM_VALUE :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationFIELD_DEFINITION :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationINPUT_FIELD_DEFINITION :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationINPUT_OBJECT :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationINTERFACE :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationOBJECT :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationSCALAR :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationSCHEMA :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDirectiveLocationUNION :: TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: TypeSystemDocment :: [TypeSystemDefinition] -> TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: TypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension] -> TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: TypeSystemExtensionSchema :: SchemaExtension -> TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: TypeSystemExtensionType :: TypeExtension -> TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: UnionMemberTypesSeq :: UnionMemberTypesSequence -> UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: UnionMemberTypesSeq2 :: UnionMemberTypesSequence2 -> UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: UnionMemberTypesSequence :: UnionMemberTypes -> NamedType -> UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: UnionMemberTypesSequence2 :: Maybe () -> NamedType -> UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: UnionTypeDefinition :: Maybe Description -> Name -> Maybe Directives -> Maybe UnionMemberTypes -> UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: UnionTypeExtensionSeq :: UnionTypeExtensionSequence -> UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: UnionTypeExtensionSeq2 :: UnionTypeExtensionSequence2 -> UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: UnionTypeExtensionSequence :: Name -> Maybe Directives -> UnionMemberTypes -> UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: UnionTypeExtensionSequence2 :: Name -> Directives -> UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: ValueBoolean :: BooleanValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueEnum :: EnumValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueFloat :: FloatValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueInt :: IntValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueList :: ListValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueNull :: NullValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueObject :: ObjectValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueString :: StringValue -> Value
+ Hydra.Ext.Graphql.Syntax: ValueVariable :: Variable -> Value
+ Hydra.Ext.Graphql.Syntax: Variable :: Name -> Variable
+ Hydra.Ext.Graphql.Syntax: VariablesDefinition :: Variable -> Type -> Maybe DefaultValue -> Maybe Directives -> VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: [argumentName] :: Argument -> Name
+ Hydra.Ext.Graphql.Syntax: [argumentValue] :: Argument -> Value
+ Hydra.Ext.Graphql.Syntax: [directiveArguments] :: Directive -> Maybe Arguments
+ Hydra.Ext.Graphql.Syntax: [directiveDefinitionArgumentsDefinition] :: DirectiveDefinition -> Maybe ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: [directiveDefinitionDescription] :: DirectiveDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [directiveDefinitionDirectiveLocations] :: DirectiveDefinition -> DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: [directiveDefinitionName] :: DirectiveDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [directiveDefinitionRepeatable] :: DirectiveDefinition -> Maybe ()
+ Hydra.Ext.Graphql.Syntax: [directiveLocationsSequence2DirectiveLocation] :: DirectiveLocationsSequence2 -> DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: [directiveLocationsSequence2Or] :: DirectiveLocationsSequence2 -> Maybe ()
+ Hydra.Ext.Graphql.Syntax: [directiveLocationsSequenceDirectiveLocation] :: DirectiveLocationsSequence -> DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: [directiveLocationsSequenceDirectiveLocations] :: DirectiveLocationsSequence -> DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: [directiveName] :: Directive -> Name
+ Hydra.Ext.Graphql.Syntax: [enumTypeDefinitionDescription] :: EnumTypeDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [enumTypeDefinitionDirectives] :: EnumTypeDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [enumTypeDefinitionEnumValuesDefinition] :: EnumTypeDefinition -> Maybe EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: [enumTypeDefinitionName] :: EnumTypeDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [enumTypeExtensionSequence2Directives] :: EnumTypeExtensionSequence2 -> Directives
+ Hydra.Ext.Graphql.Syntax: [enumTypeExtensionSequence2Name] :: EnumTypeExtensionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [enumTypeExtensionSequenceDirectives] :: EnumTypeExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [enumTypeExtensionSequenceEnumValuesDefinition] :: EnumTypeExtensionSequence -> EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: [enumTypeExtensionSequenceName] :: EnumTypeExtensionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [enumValueDefinitionDescription] :: EnumValueDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [enumValueDefinitionDirectives] :: EnumValueDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [enumValueDefinitionEnumValue] :: EnumValueDefinition -> EnumValue
+ Hydra.Ext.Graphql.Syntax: [fieldAlias] :: Field -> Maybe Alias
+ Hydra.Ext.Graphql.Syntax: [fieldArguments] :: Field -> Maybe Arguments
+ Hydra.Ext.Graphql.Syntax: [fieldDefinitionArgumentsDefinition] :: FieldDefinition -> Maybe ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: [fieldDefinitionDescription] :: FieldDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [fieldDefinitionDirectives] :: FieldDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [fieldDefinitionName] :: FieldDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [fieldDefinitionType] :: FieldDefinition -> Type
+ Hydra.Ext.Graphql.Syntax: [fieldDirectives] :: Field -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [fieldName] :: Field -> Name
+ Hydra.Ext.Graphql.Syntax: [fieldSelectionSet] :: Field -> Maybe SelectionSet
+ Hydra.Ext.Graphql.Syntax: [fragmentDefinitionDirectives] :: FragmentDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [fragmentDefinitionFragmentName] :: FragmentDefinition -> FragmentName
+ Hydra.Ext.Graphql.Syntax: [fragmentDefinitionSelectionSet] :: FragmentDefinition -> SelectionSet
+ Hydra.Ext.Graphql.Syntax: [fragmentDefinitionTypeCondition] :: FragmentDefinition -> TypeCondition
+ Hydra.Ext.Graphql.Syntax: [fragmentSpreadDirectives] :: FragmentSpread -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [fragmentSpreadFragmentName] :: FragmentSpread -> FragmentName
+ Hydra.Ext.Graphql.Syntax: [implementsInterfacesSequence2Amp] :: ImplementsInterfacesSequence2 -> Maybe ()
+ Hydra.Ext.Graphql.Syntax: [implementsInterfacesSequence2NamedType] :: ImplementsInterfacesSequence2 -> NamedType
+ Hydra.Ext.Graphql.Syntax: [implementsInterfacesSequenceImplementsInterfaces] :: ImplementsInterfacesSequence -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [implementsInterfacesSequenceNamedType] :: ImplementsInterfacesSequence -> NamedType
+ Hydra.Ext.Graphql.Syntax: [inlineFragmentDirectives] :: InlineFragment -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [inlineFragmentSelectionSet] :: InlineFragment -> SelectionSet
+ Hydra.Ext.Graphql.Syntax: [inlineFragmentTypeCondition] :: InlineFragment -> Maybe TypeCondition
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Description] :: InputObjectTypeDefinitionSequence2 -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Directives] :: InputObjectTypeDefinitionSequence2 -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequence2Name] :: InputObjectTypeDefinitionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequenceDescription] :: InputObjectTypeDefinitionSequence -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequenceDirectives] :: InputObjectTypeDefinitionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequenceInputFieldsDefinition] :: InputObjectTypeDefinitionSequence -> InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeDefinitionSequenceName] :: InputObjectTypeDefinitionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeExtensionSequence2Directives] :: InputObjectTypeExtensionSequence2 -> Directives
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeExtensionSequence2Name] :: InputObjectTypeExtensionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeExtensionSequenceDirectives] :: InputObjectTypeExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeExtensionSequenceInputFieldsDefinition] :: InputObjectTypeExtensionSequence -> InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [inputObjectTypeExtensionSequenceName] :: InputObjectTypeExtensionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [inputValueDefinitionDefaultValue] :: InputValueDefinition -> Maybe DefaultValue
+ Hydra.Ext.Graphql.Syntax: [inputValueDefinitionDescription] :: InputValueDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [inputValueDefinitionDirectives] :: InputValueDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [inputValueDefinitionName] :: InputValueDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [inputValueDefinitionType] :: InputValueDefinition -> Type
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequence2Description] :: InterfaceTypeDefinitionSequence2 -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequence2Directives] :: InterfaceTypeDefinitionSequence2 -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequence2ImplementsInterfaces] :: InterfaceTypeDefinitionSequence2 -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequence2Name] :: InterfaceTypeDefinitionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequenceDescription] :: InterfaceTypeDefinitionSequence -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequenceDirectives] :: InterfaceTypeDefinitionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequenceFieldsDefinition] :: InterfaceTypeDefinitionSequence -> FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequenceImplementsInterfaces] :: InterfaceTypeDefinitionSequence -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeDefinitionSequenceName] :: InterfaceTypeDefinitionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequence2Directives] :: InterfaceTypeExtensionSequence2 -> Directives
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequence2ImplementsInterfaces] :: InterfaceTypeExtensionSequence2 -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequence2Name] :: InterfaceTypeExtensionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequence3ImplementsInterfaces] :: InterfaceTypeExtensionSequence3 -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequence3Name] :: InterfaceTypeExtensionSequence3 -> Name
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequenceDirectives] :: InterfaceTypeExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequenceFieldsDefinition] :: InterfaceTypeExtensionSequence -> FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequenceImplementsInterfaces] :: InterfaceTypeExtensionSequence -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [interfaceTypeExtensionSequenceName] :: InterfaceTypeExtensionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [objectFieldName] :: ObjectField -> Name
+ Hydra.Ext.Graphql.Syntax: [objectFieldValue] :: ObjectField -> Value
+ Hydra.Ext.Graphql.Syntax: [objectTypeDefinitionDescription] :: ObjectTypeDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [objectTypeDefinitionDirectives] :: ObjectTypeDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [objectTypeDefinitionFieldsDefinition] :: ObjectTypeDefinition -> Maybe FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [objectTypeDefinitionImplementsInterfaces] :: ObjectTypeDefinition -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [objectTypeDefinitionName] :: ObjectTypeDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequence2Directives] :: ObjectTypeExtensionSequence2 -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequence2ImplementsInterfaces] :: ObjectTypeExtensionSequence2 -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequence2Name] :: ObjectTypeExtensionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequence3ImplementsInterfaces] :: ObjectTypeExtensionSequence3 -> ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequence3Name] :: ObjectTypeExtensionSequence3 -> Name
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequenceDirectives] :: ObjectTypeExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequenceFieldsDefinition] :: ObjectTypeExtensionSequence -> FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequenceImplementsInterfaces] :: ObjectTypeExtensionSequence -> Maybe ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: [objectTypeExtensionSequenceName] :: ObjectTypeExtensionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [operationDefinitionSequenceDirectives] :: OperationDefinitionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [operationDefinitionSequenceName] :: OperationDefinitionSequence -> Maybe Name
+ Hydra.Ext.Graphql.Syntax: [operationDefinitionSequenceOperationType] :: OperationDefinitionSequence -> OperationType
+ Hydra.Ext.Graphql.Syntax: [operationDefinitionSequenceSelectionSet] :: OperationDefinitionSequence -> SelectionSet
+ Hydra.Ext.Graphql.Syntax: [operationDefinitionSequenceVariablesDefinition] :: OperationDefinitionSequence -> Maybe VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: [rootOperationTypeDefinitionNamedType] :: RootOperationTypeDefinition -> NamedType
+ Hydra.Ext.Graphql.Syntax: [rootOperationTypeDefinitionOperationType] :: RootOperationTypeDefinition -> OperationType
+ Hydra.Ext.Graphql.Syntax: [scalarTypeDefinitionDescription] :: ScalarTypeDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [scalarTypeDefinitionDirectives] :: ScalarTypeDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [scalarTypeDefinitionName] :: ScalarTypeDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [scalarTypeExtensionDirectives] :: ScalarTypeExtension -> Directives
+ Hydra.Ext.Graphql.Syntax: [scalarTypeExtensionName] :: ScalarTypeExtension -> Name
+ Hydra.Ext.Graphql.Syntax: [schemaDefinitionDescription] :: SchemaDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [schemaDefinitionDirectives] :: SchemaDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [schemaDefinitionRootOperationTypeDefinition] :: SchemaDefinition -> RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: [schemaExtensionSequenceDirectives] :: SchemaExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [schemaExtensionSequenceRootOperationTypeDefinition] :: SchemaExtensionSequence -> RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: [unArgumentsDefinition] :: ArgumentsDefinition -> [InputValueDefinition]
+ Hydra.Ext.Graphql.Syntax: [unArguments] :: Arguments -> [Argument]
+ Hydra.Ext.Graphql.Syntax: [unDefaultValue] :: DefaultValue -> Value
+ Hydra.Ext.Graphql.Syntax: [unDescription] :: Description -> StringValue
+ Hydra.Ext.Graphql.Syntax: [unDirectives] :: Directives -> [Directive]
+ Hydra.Ext.Graphql.Syntax: [unDocument] :: Document -> [Definition]
+ Hydra.Ext.Graphql.Syntax: [unEnumValue] :: EnumValue -> Name
+ Hydra.Ext.Graphql.Syntax: [unEnumValuesDefinition] :: EnumValuesDefinition -> [EnumValueDefinition]
+ Hydra.Ext.Graphql.Syntax: [unExecutableDocument] :: ExecutableDocument -> [ExecutableDefinition]
+ Hydra.Ext.Graphql.Syntax: [unFieldsDefinition] :: FieldsDefinition -> [FieldDefinition]
+ Hydra.Ext.Graphql.Syntax: [unFloatValue] :: FloatValue -> String
+ Hydra.Ext.Graphql.Syntax: [unFragmentName] :: FragmentName -> Name
+ Hydra.Ext.Graphql.Syntax: [unInputFieldsDefinition] :: InputFieldsDefinition -> [InputValueDefinition]
+ Hydra.Ext.Graphql.Syntax: [unIntValue] :: IntValue -> String
+ Hydra.Ext.Graphql.Syntax: [unListType] :: ListType -> Type
+ Hydra.Ext.Graphql.Syntax: [unName] :: Name -> String
+ Hydra.Ext.Graphql.Syntax: [unNamedType] :: NamedType -> Name
+ Hydra.Ext.Graphql.Syntax: [unNullValue] :: NullValue -> ()
+ Hydra.Ext.Graphql.Syntax: [unSelectionSet] :: SelectionSet -> [Selection]
+ Hydra.Ext.Graphql.Syntax: [unStringValue] :: StringValue -> String
+ Hydra.Ext.Graphql.Syntax: [unTypeSystemDocment] :: TypeSystemDocment -> [TypeSystemDefinition]
+ Hydra.Ext.Graphql.Syntax: [unTypeSystemExtensionDocument] :: TypeSystemExtensionDocument -> [TypeSystemDefinitionOrExtension]
+ Hydra.Ext.Graphql.Syntax: [unVariable] :: Variable -> Name
+ Hydra.Ext.Graphql.Syntax: [unionMemberTypesSequence2NamedType] :: UnionMemberTypesSequence2 -> NamedType
+ Hydra.Ext.Graphql.Syntax: [unionMemberTypesSequence2Or] :: UnionMemberTypesSequence2 -> Maybe ()
+ Hydra.Ext.Graphql.Syntax: [unionMemberTypesSequenceNamedType] :: UnionMemberTypesSequence -> NamedType
+ Hydra.Ext.Graphql.Syntax: [unionMemberTypesSequenceUnionMemberTypes] :: UnionMemberTypesSequence -> UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: [unionTypeDefinitionDescription] :: UnionTypeDefinition -> Maybe Description
+ Hydra.Ext.Graphql.Syntax: [unionTypeDefinitionDirectives] :: UnionTypeDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [unionTypeDefinitionName] :: UnionTypeDefinition -> Name
+ Hydra.Ext.Graphql.Syntax: [unionTypeDefinitionUnionMemberTypes] :: UnionTypeDefinition -> Maybe UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: [unionTypeExtensionSequence2Directives] :: UnionTypeExtensionSequence2 -> Directives
+ Hydra.Ext.Graphql.Syntax: [unionTypeExtensionSequence2Name] :: UnionTypeExtensionSequence2 -> Name
+ Hydra.Ext.Graphql.Syntax: [unionTypeExtensionSequenceDirectives] :: UnionTypeExtensionSequence -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [unionTypeExtensionSequenceName] :: UnionTypeExtensionSequence -> Name
+ Hydra.Ext.Graphql.Syntax: [unionTypeExtensionSequenceUnionMemberTypes] :: UnionTypeExtensionSequence -> UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: [variablesDefinitionDefaultValue] :: VariablesDefinition -> Maybe DefaultValue
+ Hydra.Ext.Graphql.Syntax: [variablesDefinitionDirectives] :: VariablesDefinition -> Maybe Directives
+ Hydra.Ext.Graphql.Syntax: [variablesDefinitionType] :: VariablesDefinition -> Type
+ Hydra.Ext.Graphql.Syntax: [variablesDefinitionVariable] :: VariablesDefinition -> Variable
+ Hydra.Ext.Graphql.Syntax: _Alias :: Name
+ Hydra.Ext.Graphql.Syntax: _Alias_Colon :: Name
+ Hydra.Ext.Graphql.Syntax: _Alias_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _Argument :: Name
+ Hydra.Ext.Graphql.Syntax: _Argument_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _Argument_Value :: Name
+ Hydra.Ext.Graphql.Syntax: _Arguments :: Name
+ Hydra.Ext.Graphql.Syntax: _ArgumentsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _BooleanValue :: Name
+ Hydra.Ext.Graphql.Syntax: _BooleanValue_False :: Name
+ Hydra.Ext.Graphql.Syntax: _BooleanValue_True :: Name
+ Hydra.Ext.Graphql.Syntax: _DefaultValue :: Name
+ Hydra.Ext.Graphql.Syntax: _Definition :: Name
+ Hydra.Ext.Graphql.Syntax: _Definition_executable :: Name
+ Hydra.Ext.Graphql.Syntax: _Definition_typeSystem :: Name
+ Hydra.Ext.Graphql.Syntax: _Description :: Name
+ Hydra.Ext.Graphql.Syntax: _Directive :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition_ArgumentsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition_DirectiveLocations :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveDefinition_Repeatable :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocation :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocation_executable :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocation_typeSystem :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocations :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence2_DirectiveLocation :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence2_Or :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence_DirectiveLocation :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocationsSequence_DirectiveLocations :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocations_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _DirectiveLocations_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _Directive_Arguments :: Name
+ Hydra.Ext.Graphql.Syntax: _Directive_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _Document :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeDefinition_EnumValuesDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence_EnumValuesDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtensionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumTypeExtension_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValue :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValueDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValueDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValueDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValueDefinition_EnumValue :: Name
+ Hydra.Ext.Graphql.Syntax: _EnumValuesDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDefinition_fragment :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDefinition_operation :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_FIELD :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_FRAGMENT_DEFINITION :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_FRAGMENT_SPREAD :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_INLINE_FRAGMENT :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_MUTATION :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_QUERY :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_SUBSCRIPTION :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDirectiveLocation_VARIABLE_DEFINITION :: Name
+ Hydra.Ext.Graphql.Syntax: _ExecutableDocument :: Name
+ Hydra.Ext.Graphql.Syntax: _Field :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition_ArgumentsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldDefinition_Type :: Name
+ Hydra.Ext.Graphql.Syntax: _Field_Alias :: Name
+ Hydra.Ext.Graphql.Syntax: _Field_Arguments :: Name
+ Hydra.Ext.Graphql.Syntax: _Field_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _Field_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _Field_SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _FieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _FloatValue :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentDefinition_FragmentName :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentDefinition_SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentDefinition_TypeCondition :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentName :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentSpread :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentSpread_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _FragmentSpread_FragmentName :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence2_Amp :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence2_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfacesSequence_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfaces_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _ImplementsInterfaces_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InlineFragment :: Name
+ Hydra.Ext.Graphql.Syntax: _InlineFragment_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InlineFragment_SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _InlineFragment_TypeCondition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputFieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence_InputFieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinitionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinition_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeDefinition_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence_InputFieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtensionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _InputObjectTypeExtension_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition_DefaultValue :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InputValueDefinition_Type :: Name
+ Hydra.Ext.Graphql.Syntax: _IntValue :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence_FieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinitionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinition_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeDefinition_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence2_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence3 :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence3_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence3_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence_FieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtensionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtension_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _InterfaceTypeExtension_seq3 :: Name
+ Hydra.Ext.Graphql.Syntax: _ListType :: Name
+ Hydra.Ext.Graphql.Syntax: _ListValue :: Name
+ Hydra.Ext.Graphql.Syntax: _ListValueSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _ListValue_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _ListValue_sequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _Name :: Name
+ Hydra.Ext.Graphql.Syntax: _NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _NonNullType :: Name
+ Hydra.Ext.Graphql.Syntax: _NonNullType_list :: Name
+ Hydra.Ext.Graphql.Syntax: _NonNullType_named :: Name
+ Hydra.Ext.Graphql.Syntax: _NullValue :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectField :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectField_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectField_Value :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition_FieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence2_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence3 :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence3_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence3_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence_FieldsDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence_ImplementsInterfaces :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtensionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtension_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectTypeExtension_seq3 :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectValue :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectValueSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectValue_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _ObjectValue_sequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence_OperationType :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence_SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinitionSequence_VariablesDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinition_SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationDefinition_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationType :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationType_Mutation :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationType_Query :: Name
+ Hydra.Ext.Graphql.Syntax: _OperationType_Subscription :: Name
+ Hydra.Ext.Graphql.Syntax: _RootOperationTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _RootOperationTypeDefinition_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _RootOperationTypeDefinition_OperationType :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeExtension_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _ScalarTypeExtension_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaDefinition_RootOperationTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtensionSequence_RootOperationTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _SchemaExtension_sequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _Selection :: Name
+ Hydra.Ext.Graphql.Syntax: _SelectionSet :: Name
+ Hydra.Ext.Graphql.Syntax: _Selection_Field :: Name
+ Hydra.Ext.Graphql.Syntax: _Selection_FragmentSpread :: Name
+ Hydra.Ext.Graphql.Syntax: _Selection_InlineFragment :: Name
+ Hydra.Ext.Graphql.Syntax: _StringValue :: Name
+ Hydra.Ext.Graphql.Syntax: _Type :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeCondition :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeCondition_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeCondition_On :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_enum :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_inputObject :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_interface :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_object :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_scalar :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeDefinition_union :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_enum :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_inputObject :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_interface :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_object :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_scalar :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeExtension_union :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinitionOrExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinitionOrExtension_definition :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinitionOrExtension_extension :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinition_directive :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinition_schema :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDefinition_type :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_ARGUMENT_DEFINITION :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_ENUM :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_ENUM_VALUE :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_FIELD_DEFINITION :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_INPUT_OBJECT :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_INTERFACE :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_OBJECT :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_SCALAR :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_SCHEMA :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDirectiveLocation_UNION :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemDocment :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemExtensionDocument :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemExtension_schema :: Name
+ Hydra.Ext.Graphql.Syntax: _TypeSystemExtension_type :: Name
+ Hydra.Ext.Graphql.Syntax: _Type_list :: Name
+ Hydra.Ext.Graphql.Syntax: _Type_named :: Name
+ Hydra.Ext.Graphql.Syntax: _Type_nonNull :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypes :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence2_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence2_Or :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence_NamedType :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypesSequence_UnionMemberTypes :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypes_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionMemberTypes_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeDefinition_Description :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeDefinition_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeDefinition_UnionMemberTypes :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtension :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence2 :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence2_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence2_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence_Name :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtensionSequence_UnionMemberTypes :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtension_seq :: Name
+ Hydra.Ext.Graphql.Syntax: _UnionTypeExtension_seq2 :: Name
+ Hydra.Ext.Graphql.Syntax: _Value :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_Variable :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_boolean :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_enum :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_float :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_int :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_list :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_null :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_object :: Name
+ Hydra.Ext.Graphql.Syntax: _Value_string :: Name
+ Hydra.Ext.Graphql.Syntax: _Variable :: Name
+ Hydra.Ext.Graphql.Syntax: _VariablesDefinition :: Name
+ Hydra.Ext.Graphql.Syntax: _VariablesDefinition_DefaultValue :: Name
+ Hydra.Ext.Graphql.Syntax: _VariablesDefinition_Directives :: Name
+ Hydra.Ext.Graphql.Syntax: _VariablesDefinition_Type :: Name
+ Hydra.Ext.Graphql.Syntax: _VariablesDefinition_Variable :: Name
+ Hydra.Ext.Graphql.Syntax: data Alias
+ Hydra.Ext.Graphql.Syntax: data Argument
+ Hydra.Ext.Graphql.Syntax: data BooleanValue
+ Hydra.Ext.Graphql.Syntax: data Definition
+ Hydra.Ext.Graphql.Syntax: data Directive
+ Hydra.Ext.Graphql.Syntax: data DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: data DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: data DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: data DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: data DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: data EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: data EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: data EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: data ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: data ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: data Field
+ Hydra.Ext.Graphql.Syntax: data FieldDefinition
+ Hydra.Ext.Graphql.Syntax: data FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: data FragmentSpread
+ Hydra.Ext.Graphql.Syntax: data ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: data ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: data ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: data InlineFragment
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: data InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: data InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: data ListValue
+ Hydra.Ext.Graphql.Syntax: data NonNullType
+ Hydra.Ext.Graphql.Syntax: data ObjectField
+ Hydra.Ext.Graphql.Syntax: data ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: data ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: data ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: data ObjectValue
+ Hydra.Ext.Graphql.Syntax: data OperationDefinition
+ Hydra.Ext.Graphql.Syntax: data OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: data OperationType
+ Hydra.Ext.Graphql.Syntax: data RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: data SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: data SchemaExtension
+ Hydra.Ext.Graphql.Syntax: data SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data Selection
+ Hydra.Ext.Graphql.Syntax: data Type
+ Hydra.Ext.Graphql.Syntax: data TypeCondition
+ Hydra.Ext.Graphql.Syntax: data TypeDefinition
+ Hydra.Ext.Graphql.Syntax: data TypeExtension
+ Hydra.Ext.Graphql.Syntax: data TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: data TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: data TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: data TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: data UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: data UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: data UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: data UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: data UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: data UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: data UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: data Value
+ Hydra.Ext.Graphql.Syntax: data VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Alias
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Argument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Arguments
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.BooleanValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DefaultValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Definition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Description
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Directive
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Directives
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Document
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Field
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FieldDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FloatValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FragmentName
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.FragmentSpread
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InlineFragment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.IntValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ListType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ListValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Name
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.NamedType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.NonNullType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.NullValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectField
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ObjectValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.OperationDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.OperationType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.SchemaExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Selection
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.SelectionSet
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.StringValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Type
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeCondition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Value
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.Variable
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Graphql.Syntax.VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Alias
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Argument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Arguments
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.BooleanValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DefaultValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Definition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Description
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Directive
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Directives
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Document
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Field
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FieldDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FloatValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FragmentName
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.FragmentSpread
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InlineFragment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.IntValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ListType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ListValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Name
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.NamedType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.NonNullType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.NullValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectField
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ObjectValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.OperationDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.OperationType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.SchemaExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Selection
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.SelectionSet
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.StringValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Type
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeCondition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Value
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.Variable
+ Hydra.Ext.Graphql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Graphql.Syntax.VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Alias
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Argument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Arguments
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.BooleanValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DefaultValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Definition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Description
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Directive
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Directives
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Document
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Field
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FieldDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FloatValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FragmentName
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.FragmentSpread
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InlineFragment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.IntValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ListType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ListValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Name
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.NamedType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.NonNullType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.NullValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectField
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ObjectValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.OperationDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.OperationType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.SchemaExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Selection
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.SelectionSet
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.StringValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Type
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeCondition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Value
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.Variable
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Graphql.Syntax.VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Alias
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Argument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Arguments
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.BooleanValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DefaultValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Definition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Description
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Directive
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DirectiveDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DirectiveLocations
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.DirectiveLocationsSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Directives
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Document
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ExecutableDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ExecutableDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Field
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FieldDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FloatValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FragmentDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FragmentName
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.FragmentSpread
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ImplementsInterfaces
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ImplementsInterfacesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InlineFragment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InputValueDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.IntValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeDefinitionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.InterfaceTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ListType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ListValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Name
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.NamedType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.NonNullType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.NullValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectField
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectTypeExtensionSequence3
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ObjectValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.OperationDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.OperationDefinitionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.OperationType
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.RootOperationTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ScalarTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.ScalarTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.SchemaDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.SchemaExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.SchemaExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Selection
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.SelectionSet
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.StringValue
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Type
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeCondition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemDefinitionOrExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemDirectiveLocation
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionMemberTypes
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionMemberTypesSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionTypeDefinition
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionTypeExtension
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.UnionTypeExtensionSequence2
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Value
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.Variable
+ Hydra.Ext.Graphql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Graphql.Syntax.VariablesDefinition
+ Hydra.Ext.Graphql.Syntax: newtype Arguments
+ Hydra.Ext.Graphql.Syntax: newtype ArgumentsDefinition
+ Hydra.Ext.Graphql.Syntax: newtype DefaultValue
+ Hydra.Ext.Graphql.Syntax: newtype Description
+ Hydra.Ext.Graphql.Syntax: newtype Directives
+ Hydra.Ext.Graphql.Syntax: newtype Document
+ Hydra.Ext.Graphql.Syntax: newtype EnumValue
+ Hydra.Ext.Graphql.Syntax: newtype EnumValuesDefinition
+ Hydra.Ext.Graphql.Syntax: newtype ExecutableDocument
+ Hydra.Ext.Graphql.Syntax: newtype FieldsDefinition
+ Hydra.Ext.Graphql.Syntax: newtype FloatValue
+ Hydra.Ext.Graphql.Syntax: newtype FragmentName
+ Hydra.Ext.Graphql.Syntax: newtype InputFieldsDefinition
+ Hydra.Ext.Graphql.Syntax: newtype IntValue
+ Hydra.Ext.Graphql.Syntax: newtype ListType
+ Hydra.Ext.Graphql.Syntax: newtype Name
+ Hydra.Ext.Graphql.Syntax: newtype NamedType
+ Hydra.Ext.Graphql.Syntax: newtype NullValue
+ Hydra.Ext.Graphql.Syntax: newtype SelectionSet
+ Hydra.Ext.Graphql.Syntax: newtype StringValue
+ Hydra.Ext.Graphql.Syntax: newtype TypeSystemDocment
+ Hydra.Ext.Graphql.Syntax: newtype TypeSystemExtensionDocument
+ Hydra.Ext.Graphql.Syntax: newtype Variable
+ Hydra.Ext.Graphql.Syntax: type ListValueSequence = ()
+ Hydra.Ext.Graphql.Syntax: type ObjectValueSequence = ()
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAbout :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAcl :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAlternate :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAmphtml :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAppendix :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeApple_touch_icon :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeApple_touch_startup_image :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeArchives :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeAuthor :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeBlocked_by :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeBookmark :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCanonical :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeChapter :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCite_as :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCollection :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeContents :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeConvertedfrom :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCopyright :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCreate_form :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeCurrent :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeDescribedby :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeDescribes :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeDisclosure :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeDns_prefetch :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeDuplicate :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeEdit :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeEdit_form :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeEdit_media :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeEnclosure :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeExternal :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeFirst :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeGlossary :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeHelp :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeHosts :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeHub :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIcon :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIndex :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalafter :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalbefore :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalcontains :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervaldisjoint :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalduring :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalequals :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalfinishedby :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalfinishes :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalin :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalmeets :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalmetby :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervaloverlappedby :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervaloverlaps :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalstartedby :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeIntervalstarts :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeItem :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeLast :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeLatest_version :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeLicense :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeLinkset :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeLrdd :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeManifest :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMask_icon :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMedia_feed :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMemento :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMicropub :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeModulepreload :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMonitor :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeMonitor_group :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeNext :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeNext_archive :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeNofollow :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeNoopener :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeNoreferrer :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeOpener :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeOpenid2_local_id :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeOpenid2_provider :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeOriginal :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeP3pv1 :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePayment :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePingback :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePreconnect :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePredecessor_version :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrefetch :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePreload :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrerender :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrev :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrev_archive :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePreview :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrevious :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePrivacy_policy :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeProfile :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypePublication :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeRelated :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeReplies :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeRestconf :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeRuleinput :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSearch :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSection :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSelf :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeService :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeService_desc :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeService_doc :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeService_meta :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSiptrunkingcapability :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSponsored :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeStart :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeStatus :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeStylesheet :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSubsection :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSuccessor_version :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeSunset :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeTag :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeTerms_of_service :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeTimegate :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeTimemap :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeType :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeUgc :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeUp :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeVersion_history :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeVia :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeWebmention :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeWorking_copy :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: LinkRelationTypeWorking_copy_of :: LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_about :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_acl :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_alternate :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_amphtml :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_appendix :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_apple_touch_icon :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_apple_touch_startup_image :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_archives :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_author :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_blocked_by :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_bookmark :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_canonical :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_chapter :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_cite_as :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_collection :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_contents :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_convertedfrom :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_copyright :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_create_form :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_current :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_describedby :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_describes :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_disclosure :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_dns_prefetch :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_duplicate :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_edit :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_edit_form :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_edit_media :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_enclosure :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_external :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_first :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_glossary :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_help :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_hosts :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_hub :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_icon :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_index :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalafter :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalbefore :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalcontains :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervaldisjoint :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalduring :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalequals :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalfinishedby :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalfinishes :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalin :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalmeets :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalmetby :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervaloverlappedby :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervaloverlaps :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalstartedby :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_intervalstarts :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_item :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_last :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_latest_version :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_license :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_linkset :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_lrdd :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_manifest :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_mask_icon :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_media_feed :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_memento :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_micropub :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_modulepreload :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_monitor :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_monitor_group :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_next :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_next_archive :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_nofollow :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_noopener :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_noreferrer :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_opener :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_openid2_local_id :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_openid2_provider :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_original :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_p3pv1 :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_payment :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_pingback :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_preconnect :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_predecessor_version :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_prefetch :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_preload :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_prerender :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_prev :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_prev_archive :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_preview :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_previous :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_privacy_policy :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_profile :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_publication :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_related :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_replies :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_restconf :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_ruleinput :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_search :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_section :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_self :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_service :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_service_desc :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_service_doc :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_service_meta :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_siptrunkingcapability :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_sponsored :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_start :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_status :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_stylesheet :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_subsection :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_successor_version :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_sunset :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_tag :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_terms_of_service :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_timegate :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_timemap :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_type :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_ugc :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_up :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_version_history :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_via :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_webmention :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_working_copy :: Name
+ Hydra.Ext.Iana.Linkrelations: _LinkRelationType_working_copy_of :: Name
+ Hydra.Ext.Iana.Linkrelations: data LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: instance GHC.Classes.Eq Hydra.Ext.Iana.Linkrelations.LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: instance GHC.Classes.Ord Hydra.Ext.Iana.Linkrelations.LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: instance GHC.Internal.Read.Read Hydra.Ext.Iana.Linkrelations.LinkRelationType
+ Hydra.Ext.Iana.Linkrelations: instance GHC.Internal.Show.Show Hydra.Ext.Iana.Linkrelations.LinkRelationType
+ Hydra.Ext.Json.Schema.Coder: constructModule :: t0 -> Graph -> t1 -> [TypeDefinition] -> Either Error (Map String Document)
+ Hydra.Ext.Json.Schema.Coder: eitherBranch :: String -> [Restriction] -> Schema
+ Hydra.Ext.Json.Schema.Coder: encodeField :: t0 -> Graph -> FieldType -> Either Error (Keyword, Schema)
+ Hydra.Ext.Json.Schema.Coder: encodeName :: Name -> String
+ Hydra.Ext.Json.Schema.Coder: encodeNamedType :: t0 -> Graph -> Name -> Type -> Either Error [Restriction]
+ Hydra.Ext.Json.Schema.Coder: encodeRecordOrUnion :: t0 -> Graph -> Bool -> Bool -> [FieldType] -> Either Error [Restriction]
+ Hydra.Ext.Json.Schema.Coder: encodeUnion :: t0 -> Graph -> Bool -> [FieldType] -> Either Error [Restriction]
+ Hydra.Ext.Json.Schema.Coder: isRequiredField :: FieldType -> Bool
+ Hydra.Ext.Json.Schema.Coder: jsType :: Bool -> TypeName -> [Restriction]
+ Hydra.Ext.Json.Schema.Coder: literalTypeName :: LiteralType -> TypeName
+ Hydra.Ext.Json.Schema.Coder: moduleToJsonSchema :: t0 -> [Definition] -> t1 -> Graph -> Either Error (Map String String)
+ Hydra.Ext.Json.Schema.Coder: nameToPath :: Name -> String
+ Hydra.Ext.Json.Schema.Coder: pairRestrictions :: Bool -> [Restriction] -> [Restriction] -> [Restriction]
+ Hydra.Ext.Json.Schema.Coder: referenceRestriction :: Name -> Restriction
+ Hydra.Ext.Json.Schema.Coder: transitiveTypeDeps :: Map Name Type -> Set Name -> Type -> Set Name
+ Hydra.Ext.Json.Schema.Coder: typeDefToDocument :: t0 -> Graph -> Map Name Type -> Name -> Type -> Either Error (String, Document)
+ Hydra.Ext.Json.Schema.Coder: typeToExpr :: t0 -> Graph -> Bool -> Type -> Either Error [Restriction]
+ Hydra.Ext.Json.Schema.Coder: typeToKeywordSchemaPair :: t0 -> Graph -> Name -> Type -> Either Error (Keyword, Schema)
+ Hydra.Ext.Json.Schema.Language: jsonSchemaLanguage :: Language
+ Hydra.Ext.Json.Schema.Model: AdditionalItemsAny :: Bool -> AdditionalItems
+ Hydra.Ext.Json.Schema.Model: AdditionalItemsSchema :: Schema -> AdditionalItems
+ Hydra.Ext.Json.Schema.Model: ArrayRestrictionAdditionalItems :: AdditionalItems -> ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: ArrayRestrictionItems :: Items -> ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: ArrayRestrictionMaxItems :: Int -> ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: ArrayRestrictionMinItems :: Int -> ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: ArrayRestrictionUniqueItems :: Bool -> ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: Document :: Maybe String -> Maybe (Map Keyword Schema) -> Schema -> Document
+ Hydra.Ext.Json.Schema.Model: ItemsSameItems :: Schema -> Items
+ Hydra.Ext.Json.Schema.Model: ItemsVarItems :: [Schema] -> Items
+ Hydra.Ext.Json.Schema.Model: Keyword :: String -> Keyword
+ Hydra.Ext.Json.Schema.Model: Limit :: Int -> Bool -> Limit
+ Hydra.Ext.Json.Schema.Model: MultipleRestrictionAllOf :: [Schema] -> MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: MultipleRestrictionAnyOf :: [Schema] -> MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: MultipleRestrictionEnum :: [Value] -> MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: MultipleRestrictionNot :: Schema -> MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: MultipleRestrictionOneOf :: [Schema] -> MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: NumericRestrictionMaximum :: Limit -> NumericRestriction
+ Hydra.Ext.Json.Schema.Model: NumericRestrictionMinimum :: Limit -> NumericRestriction
+ Hydra.Ext.Json.Schema.Model: NumericRestrictionMultipleOf :: Int -> NumericRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionAdditionalProperties :: AdditionalItems -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionDependencies :: Map Keyword SchemaOrArray -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionMaxProperties :: Int -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionMinProperties :: Int -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionPatternProperties :: Map RegularExpression Schema -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionProperties :: Map Keyword Schema -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: ObjectRestrictionRequired :: [Keyword] -> ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: RegularExpression :: String -> RegularExpression
+ Hydra.Ext.Json.Schema.Model: RestrictionArray :: ArrayRestriction -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionDescription :: String -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionMultiple :: MultipleRestriction -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionNumber :: NumericRestriction -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionObject :: ObjectRestriction -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionReference :: SchemaReference -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionString :: StringRestriction -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionTitle :: String -> Restriction
+ Hydra.Ext.Json.Schema.Model: RestrictionType :: Type -> Restriction
+ Hydra.Ext.Json.Schema.Model: Schema :: [Restriction] -> Schema
+ Hydra.Ext.Json.Schema.Model: SchemaOrArrayArray :: [Keyword] -> SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: SchemaOrArraySchema :: Schema -> SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: SchemaReference :: String -> SchemaReference
+ Hydra.Ext.Json.Schema.Model: StringRestrictionMaxLength :: Int -> StringRestriction
+ Hydra.Ext.Json.Schema.Model: StringRestrictionMinLength :: Int -> StringRestriction
+ Hydra.Ext.Json.Schema.Model: StringRestrictionPattern :: RegularExpression -> StringRestriction
+ Hydra.Ext.Json.Schema.Model: TypeMultiple :: [TypeName] -> Type
+ Hydra.Ext.Json.Schema.Model: TypeNameArray :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameBoolean :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameInteger :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameNull :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameNumber :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameObject :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeNameString :: TypeName
+ Hydra.Ext.Json.Schema.Model: TypeSingle :: TypeName -> Type
+ Hydra.Ext.Json.Schema.Model: [documentDefinitions] :: Document -> Maybe (Map Keyword Schema)
+ Hydra.Ext.Json.Schema.Model: [documentId] :: Document -> Maybe String
+ Hydra.Ext.Json.Schema.Model: [documentRoot] :: Document -> Schema
+ Hydra.Ext.Json.Schema.Model: [limitExclusive] :: Limit -> Bool
+ Hydra.Ext.Json.Schema.Model: [limitValue] :: Limit -> Int
+ Hydra.Ext.Json.Schema.Model: [unKeyword] :: Keyword -> String
+ Hydra.Ext.Json.Schema.Model: [unRegularExpression] :: RegularExpression -> String
+ Hydra.Ext.Json.Schema.Model: [unSchemaReference] :: SchemaReference -> String
+ Hydra.Ext.Json.Schema.Model: [unSchema] :: Schema -> [Restriction]
+ Hydra.Ext.Json.Schema.Model: _AdditionalItems :: Name
+ Hydra.Ext.Json.Schema.Model: _AdditionalItems_any :: Name
+ Hydra.Ext.Json.Schema.Model: _AdditionalItems_schema :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction_additionalItems :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction_items :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction_maxItems :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction_minItems :: Name
+ Hydra.Ext.Json.Schema.Model: _ArrayRestriction_uniqueItems :: Name
+ Hydra.Ext.Json.Schema.Model: _Document :: Name
+ Hydra.Ext.Json.Schema.Model: _Document_definitions :: Name
+ Hydra.Ext.Json.Schema.Model: _Document_id :: Name
+ Hydra.Ext.Json.Schema.Model: _Document_root :: Name
+ Hydra.Ext.Json.Schema.Model: _Items :: Name
+ Hydra.Ext.Json.Schema.Model: _Items_sameItems :: Name
+ Hydra.Ext.Json.Schema.Model: _Items_varItems :: Name
+ Hydra.Ext.Json.Schema.Model: _Keyword :: Name
+ Hydra.Ext.Json.Schema.Model: _Limit :: Name
+ Hydra.Ext.Json.Schema.Model: _Limit_exclusive :: Name
+ Hydra.Ext.Json.Schema.Model: _Limit_value :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction_allOf :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction_anyOf :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction_enum :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction_not :: Name
+ Hydra.Ext.Json.Schema.Model: _MultipleRestriction_oneOf :: Name
+ Hydra.Ext.Json.Schema.Model: _NumericRestriction :: Name
+ Hydra.Ext.Json.Schema.Model: _NumericRestriction_maximum :: Name
+ Hydra.Ext.Json.Schema.Model: _NumericRestriction_minimum :: Name
+ Hydra.Ext.Json.Schema.Model: _NumericRestriction_multipleOf :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_additionalProperties :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_dependencies :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_maxProperties :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_minProperties :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_patternProperties :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_properties :: Name
+ Hydra.Ext.Json.Schema.Model: _ObjectRestriction_required :: Name
+ Hydra.Ext.Json.Schema.Model: _RegularExpression :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_array :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_description :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_multiple :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_number :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_object :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_reference :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_string :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_title :: Name
+ Hydra.Ext.Json.Schema.Model: _Restriction_type :: Name
+ Hydra.Ext.Json.Schema.Model: _Schema :: Name
+ Hydra.Ext.Json.Schema.Model: _SchemaOrArray :: Name
+ Hydra.Ext.Json.Schema.Model: _SchemaOrArray_array :: Name
+ Hydra.Ext.Json.Schema.Model: _SchemaOrArray_schema :: Name
+ Hydra.Ext.Json.Schema.Model: _SchemaReference :: Name
+ Hydra.Ext.Json.Schema.Model: _StringRestriction :: Name
+ Hydra.Ext.Json.Schema.Model: _StringRestriction_maxLength :: Name
+ Hydra.Ext.Json.Schema.Model: _StringRestriction_minLength :: Name
+ Hydra.Ext.Json.Schema.Model: _StringRestriction_pattern :: Name
+ Hydra.Ext.Json.Schema.Model: _Type :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_array :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_boolean :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_integer :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_null :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_number :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_object :: Name
+ Hydra.Ext.Json.Schema.Model: _TypeName_string :: Name
+ Hydra.Ext.Json.Schema.Model: _Type_multiple :: Name
+ Hydra.Ext.Json.Schema.Model: _Type_single :: Name
+ Hydra.Ext.Json.Schema.Model: data AdditionalItems
+ Hydra.Ext.Json.Schema.Model: data ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: data Document
+ Hydra.Ext.Json.Schema.Model: data Items
+ Hydra.Ext.Json.Schema.Model: data Limit
+ Hydra.Ext.Json.Schema.Model: data MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: data NumericRestriction
+ Hydra.Ext.Json.Schema.Model: data ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: data Restriction
+ Hydra.Ext.Json.Schema.Model: data SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: data StringRestriction
+ Hydra.Ext.Json.Schema.Model: data Type
+ Hydra.Ext.Json.Schema.Model: data TypeName
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.AdditionalItems
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Document
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Items
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Keyword
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Limit
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.NumericRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.RegularExpression
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Restriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Schema
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.SchemaReference
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.StringRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.Type
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Eq Hydra.Ext.Json.Schema.Model.TypeName
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.AdditionalItems
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Document
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Items
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Keyword
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Limit
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.NumericRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.RegularExpression
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Restriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Schema
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.SchemaReference
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.StringRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.Type
+ Hydra.Ext.Json.Schema.Model: instance GHC.Classes.Ord Hydra.Ext.Json.Schema.Model.TypeName
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.AdditionalItems
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Document
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Items
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Keyword
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Limit
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.NumericRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.RegularExpression
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Restriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Schema
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.SchemaReference
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.StringRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.Type
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Read.Read Hydra.Ext.Json.Schema.Model.TypeName
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.AdditionalItems
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.ArrayRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Document
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Items
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Keyword
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Limit
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.MultipleRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.NumericRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.ObjectRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.RegularExpression
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Restriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Schema
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.SchemaOrArray
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.SchemaReference
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.StringRestriction
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.Type
+ Hydra.Ext.Json.Schema.Model: instance GHC.Internal.Show.Show Hydra.Ext.Json.Schema.Model.TypeName
+ Hydra.Ext.Json.Schema.Model: newtype Keyword
+ Hydra.Ext.Json.Schema.Model: newtype RegularExpression
+ Hydra.Ext.Json.Schema.Model: newtype Schema
+ Hydra.Ext.Json.Schema.Model: newtype SchemaReference
+ Hydra.Ext.Json.Schema.Serde: additionalItemsToExpr :: AdditionalItems -> Value
+ Hydra.Ext.Json.Schema.Serde: arrayRestrictionToExpr :: ArrayRestriction -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: fromObject :: Value -> Map String Value
+ Hydra.Ext.Json.Schema.Serde: integerToExpr :: Int -> Value
+ Hydra.Ext.Json.Schema.Serde: itemsToExpr :: Items -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: jsonSchemaDocumentToJsonValue :: Document -> Value
+ Hydra.Ext.Json.Schema.Serde: jsonSchemaDocumentToString :: Document -> String
+ Hydra.Ext.Json.Schema.Serde: keyAdditionalItems :: String
+ Hydra.Ext.Json.Schema.Serde: keyAdditionalProperties :: String
+ Hydra.Ext.Json.Schema.Serde: keyAllOf :: String
+ Hydra.Ext.Json.Schema.Serde: keyAnyOf :: String
+ Hydra.Ext.Json.Schema.Serde: keyDefinitions :: String
+ Hydra.Ext.Json.Schema.Serde: keyDependencies :: String
+ Hydra.Ext.Json.Schema.Serde: keyDescription :: String
+ Hydra.Ext.Json.Schema.Serde: keyEnum :: String
+ Hydra.Ext.Json.Schema.Serde: keyExclusiveMaximum :: String
+ Hydra.Ext.Json.Schema.Serde: keyExclusiveMinimum :: String
+ Hydra.Ext.Json.Schema.Serde: keyId :: String
+ Hydra.Ext.Json.Schema.Serde: keyItems :: String
+ Hydra.Ext.Json.Schema.Serde: keyLabel :: String
+ Hydra.Ext.Json.Schema.Serde: keyMaxItems :: String
+ Hydra.Ext.Json.Schema.Serde: keyMaxLength :: String
+ Hydra.Ext.Json.Schema.Serde: keyMaxProperties :: String
+ Hydra.Ext.Json.Schema.Serde: keyMaximum :: String
+ Hydra.Ext.Json.Schema.Serde: keyMinItems :: String
+ Hydra.Ext.Json.Schema.Serde: keyMinLength :: String
+ Hydra.Ext.Json.Schema.Serde: keyMinProperties :: String
+ Hydra.Ext.Json.Schema.Serde: keyMinimum :: String
+ Hydra.Ext.Json.Schema.Serde: keyMultipleOf :: String
+ Hydra.Ext.Json.Schema.Serde: keyNot :: String
+ Hydra.Ext.Json.Schema.Serde: keyOneOf :: String
+ Hydra.Ext.Json.Schema.Serde: keyPattern :: String
+ Hydra.Ext.Json.Schema.Serde: keyPatternProperties :: String
+ Hydra.Ext.Json.Schema.Serde: keyProperties :: String
+ Hydra.Ext.Json.Schema.Serde: keyRef :: String
+ Hydra.Ext.Json.Schema.Serde: keyRequired :: String
+ Hydra.Ext.Json.Schema.Serde: keySchema :: String
+ Hydra.Ext.Json.Schema.Serde: keyTitle :: String
+ Hydra.Ext.Json.Schema.Serde: keyType :: String
+ Hydra.Ext.Json.Schema.Serde: keyUniqueItems :: String
+ Hydra.Ext.Json.Schema.Serde: keywordSchemaOrArrayToExpr :: (Keyword, SchemaOrArray) -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: keywordToExpr :: Keyword -> Value
+ Hydra.Ext.Json.Schema.Serde: multipleRestrictionToExpr :: MultipleRestriction -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: numericRestrictionToExpr :: NumericRestriction -> [(String, Value)]
+ Hydra.Ext.Json.Schema.Serde: objectRestrictionToExpr :: ObjectRestriction -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: patternPropertyToExpr :: (RegularExpression, Schema) -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: propertyToExpr :: (Keyword, Schema) -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: restrictionToExpr :: Restriction -> [(String, Value)]
+ Hydra.Ext.Json.Schema.Serde: schemaOrArrayToExpr :: SchemaOrArray -> Value
+ Hydra.Ext.Json.Schema.Serde: schemaReferenceToExpr :: SchemaReference -> Value
+ Hydra.Ext.Json.Schema.Serde: schemaToExpr :: Schema -> Value
+ Hydra.Ext.Json.Schema.Serde: stringRestrictionToExpr :: StringRestriction -> (String, Value)
+ Hydra.Ext.Json.Schema.Serde: toObject :: [(String, Maybe Value)] -> Value
+ Hydra.Ext.Json.Schema.Serde: typeNameToExpr :: TypeName -> Value
+ Hydra.Ext.Json.Schema.Serde: typeToExpr :: Type -> Value
+ Hydra.Ext.Kusto.Kql: BetweenExpression :: Bool -> Expression -> Expression -> Expression -> BetweenExpression
+ Hydra.Ext.Kusto.Kql: BinaryExpression :: Expression -> BinaryOperator -> Expression -> BinaryExpression
+ Hydra.Ext.Kusto.Kql: BinaryOperatorCaseInsensitiveEqual :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorContains :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorDivide :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorEndsWith :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorEqual :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorGreater :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorGreaterOrEqual :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorHas :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorHasPrefix :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorHasSuffix :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorLess :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorLessOrEqual :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorMatchesRegex :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorMinus :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorNotEqual :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorPlus :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorStartsWith :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BinaryOperatorTimes :: BinaryOperator
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionAgo :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionBin :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionCount :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionDcount :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionEndofday :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionExtract :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionFormat_datetime :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionMaterialize :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionNow :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionRange :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionStartofday :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionStrcat :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: BuiltInFunctionTodynamic :: BuiltInFunction
+ Hydra.Ext.Kusto.Kql: ColumnAlias :: ColumnName -> ColumnName -> ColumnAlias
+ Hydra.Ext.Kusto.Kql: ColumnAssignment :: ColumnName -> Expression -> ColumnAssignment
+ Hydra.Ext.Kusto.Kql: ColumnName :: String -> ColumnName
+ Hydra.Ext.Kusto.Kql: ColumnsAll :: Columns
+ Hydra.Ext.Kusto.Kql: ColumnsSingle :: ColumnName -> Columns
+ Hydra.Ext.Kusto.Kql: CommandCount :: Command
+ Hydra.Ext.Kusto.Kql: CommandDistinct :: [ColumnName] -> Command
+ Hydra.Ext.Kusto.Kql: CommandExtend :: [ColumnAssignment] -> Command
+ Hydra.Ext.Kusto.Kql: CommandJoin :: JoinCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandLimit :: Int -> Command
+ Hydra.Ext.Kusto.Kql: CommandMvexpand :: ColumnName -> Command
+ Hydra.Ext.Kusto.Kql: CommandOrderBy :: [SortBy] -> Command
+ Hydra.Ext.Kusto.Kql: CommandParse :: ParseCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandPrint :: PrintCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandProject :: [Projection] -> Command
+ Hydra.Ext.Kusto.Kql: CommandProjectAway :: [ColumnName] -> Command
+ Hydra.Ext.Kusto.Kql: CommandProjectRename :: [ColumnAlias] -> Command
+ Hydra.Ext.Kusto.Kql: CommandRender :: String -> Command
+ Hydra.Ext.Kusto.Kql: CommandSearch :: SearchCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandSortBy :: [SortBy] -> Command
+ Hydra.Ext.Kusto.Kql: CommandSummarize :: SummarizeCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandTake :: Int -> Command
+ Hydra.Ext.Kusto.Kql: CommandTop :: TopCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandUnion :: UnionCommand -> Command
+ Hydra.Ext.Kusto.Kql: CommandWhere :: Expression -> Command
+ Hydra.Ext.Kusto.Kql: Datetime :: String -> Datetime
+ Hydra.Ext.Kusto.Kql: Duration :: Int -> DurationUnit -> Duration
+ Hydra.Ext.Kusto.Kql: DurationUnitHour :: DurationUnit
+ Hydra.Ext.Kusto.Kql: DurationUnitMinute :: DurationUnit
+ Hydra.Ext.Kusto.Kql: DurationUnitSecond :: DurationUnit
+ Hydra.Ext.Kusto.Kql: ExpressionAnd :: [Expression] -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionAny :: Expression
+ Hydra.Ext.Kusto.Kql: ExpressionBetween :: BetweenExpression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionBinary :: BinaryExpression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionBraces :: Expression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionColumn :: ColumnName -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionDataset :: TableName -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionIndex :: IndexExpression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionList :: [Expression] -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionLiteral :: Literal -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionOr :: [Expression] -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionParentheses :: Expression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionProperty :: PropertyExpression -> Expression
+ Hydra.Ext.Kusto.Kql: ExpressionUnary :: UnaryExpression -> Expression
+ Hydra.Ext.Kusto.Kql: FunctionBuiltIn :: BuiltInFunction -> Function
+ Hydra.Ext.Kusto.Kql: FunctionCustom :: FunctionName -> Function
+ Hydra.Ext.Kusto.Kql: FunctionExpression :: Function -> [Expression] -> FunctionExpression
+ Hydra.Ext.Kusto.Kql: FunctionName :: String -> FunctionName
+ Hydra.Ext.Kusto.Kql: IndexExpression :: Expression -> String -> IndexExpression
+ Hydra.Ext.Kusto.Kql: JoinCommand :: JoinKind -> TableName -> Expression -> JoinCommand
+ Hydra.Ext.Kusto.Kql: JoinKindFullouter :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindInner :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindInnerunique :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindLeftanti :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindLeftouter :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindLeftsemi :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindRightanti :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindRightouter :: JoinKind
+ Hydra.Ext.Kusto.Kql: JoinKindRightsemi :: JoinKind
+ Hydra.Ext.Kusto.Kql: KeyValuePair :: String -> Expression -> KeyValuePair
+ Hydra.Ext.Kusto.Kql: LetBinding :: ColumnName -> Expression -> LetBinding
+ Hydra.Ext.Kusto.Kql: LetExpression :: [LetBinding] -> TabularExpression -> LetExpression
+ Hydra.Ext.Kusto.Kql: LiteralBoolean :: Bool -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralDatetime :: Datetime -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralDouble :: Double -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralDuration :: Duration -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralInt :: Int -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralLong :: Int64 -> Literal
+ Hydra.Ext.Kusto.Kql: LiteralString :: String -> Literal
+ Hydra.Ext.Kusto.Kql: OrderAscending :: Order
+ Hydra.Ext.Kusto.Kql: OrderDescending :: Order
+ Hydra.Ext.Kusto.Kql: Parameter :: String -> Literal -> Parameter
+ Hydra.Ext.Kusto.Kql: ParseCommand :: ColumnName -> [KeyValuePair] -> ParseCommand
+ Hydra.Ext.Kusto.Kql: PipelineExpression :: [TabularExpression] -> PipelineExpression
+ Hydra.Ext.Kusto.Kql: PrintCommand :: Maybe ColumnName -> Expression -> PrintCommand
+ Hydra.Ext.Kusto.Kql: Projection :: Expression -> Maybe ColumnName -> Projection
+ Hydra.Ext.Kusto.Kql: PropertyExpression :: Expression -> String -> PropertyExpression
+ Hydra.Ext.Kusto.Kql: Query :: TabularExpression -> Query
+ Hydra.Ext.Kusto.Kql: SearchCommand :: [TableName] -> Expression -> SearchCommand
+ Hydra.Ext.Kusto.Kql: SortBy :: ColumnName -> Maybe Order -> SortBy
+ Hydra.Ext.Kusto.Kql: SummarizeCommand :: [ColumnAssignment] -> [ColumnName] -> SummarizeCommand
+ Hydra.Ext.Kusto.Kql: TableName :: String -> TableName
+ Hydra.Ext.Kusto.Kql: TabularExpressionCommand :: Command -> TabularExpression
+ Hydra.Ext.Kusto.Kql: TabularExpressionLet :: LetExpression -> TabularExpression
+ Hydra.Ext.Kusto.Kql: TabularExpressionPipeline :: PipelineExpression -> TabularExpression
+ Hydra.Ext.Kusto.Kql: TabularExpressionTable :: TableName -> TabularExpression
+ Hydra.Ext.Kusto.Kql: TopCommand :: Int -> [SortBy] -> TopCommand
+ Hydra.Ext.Kusto.Kql: UnaryExpression :: UnaryOperator -> Expression -> UnaryExpression
+ Hydra.Ext.Kusto.Kql: UnaryOperatorNot :: UnaryOperator
+ Hydra.Ext.Kusto.Kql: UnionCommand :: [Parameter] -> Maybe UnionKind -> Maybe ColumnName -> Maybe Bool -> [TableName] -> UnionCommand
+ Hydra.Ext.Kusto.Kql: UnionKindInner :: UnionKind
+ Hydra.Ext.Kusto.Kql: UnionKindOuter :: UnionKind
+ Hydra.Ext.Kusto.Kql: [betweenExpressionExpression] :: BetweenExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [betweenExpressionLowerBound] :: BetweenExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [betweenExpressionNot] :: BetweenExpression -> Bool
+ Hydra.Ext.Kusto.Kql: [betweenExpressionUpperBound] :: BetweenExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [binaryExpressionLeft] :: BinaryExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [binaryExpressionOperator] :: BinaryExpression -> BinaryOperator
+ Hydra.Ext.Kusto.Kql: [binaryExpressionRight] :: BinaryExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [columnAliasAlias] :: ColumnAlias -> ColumnName
+ Hydra.Ext.Kusto.Kql: [columnAliasColumn] :: ColumnAlias -> ColumnName
+ Hydra.Ext.Kusto.Kql: [columnAssignmentColumn] :: ColumnAssignment -> ColumnName
+ Hydra.Ext.Kusto.Kql: [columnAssignmentExpression] :: ColumnAssignment -> Expression
+ Hydra.Ext.Kusto.Kql: [durationUnit] :: Duration -> DurationUnit
+ Hydra.Ext.Kusto.Kql: [durationValue] :: Duration -> Int
+ Hydra.Ext.Kusto.Kql: [functionExpressionArguments] :: FunctionExpression -> [Expression]
+ Hydra.Ext.Kusto.Kql: [functionExpressionFunction] :: FunctionExpression -> Function
+ Hydra.Ext.Kusto.Kql: [indexExpressionExpression] :: IndexExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [indexExpressionIndex] :: IndexExpression -> String
+ Hydra.Ext.Kusto.Kql: [joinCommandExpression] :: JoinCommand -> TableName
+ Hydra.Ext.Kusto.Kql: [joinCommandKind] :: JoinCommand -> JoinKind
+ Hydra.Ext.Kusto.Kql: [joinCommandOn] :: JoinCommand -> Expression
+ Hydra.Ext.Kusto.Kql: [keyValuePairKey] :: KeyValuePair -> String
+ Hydra.Ext.Kusto.Kql: [keyValuePairValue] :: KeyValuePair -> Expression
+ Hydra.Ext.Kusto.Kql: [letBindingExpression] :: LetBinding -> Expression
+ Hydra.Ext.Kusto.Kql: [letBindingName] :: LetBinding -> ColumnName
+ Hydra.Ext.Kusto.Kql: [letExpressionBindings] :: LetExpression -> [LetBinding]
+ Hydra.Ext.Kusto.Kql: [letExpressionExpression] :: LetExpression -> TabularExpression
+ Hydra.Ext.Kusto.Kql: [parameterKey] :: Parameter -> String
+ Hydra.Ext.Kusto.Kql: [parameterValue] :: Parameter -> Literal
+ Hydra.Ext.Kusto.Kql: [parseCommandColumn] :: ParseCommand -> ColumnName
+ Hydra.Ext.Kusto.Kql: [parseCommandPairs] :: ParseCommand -> [KeyValuePair]
+ Hydra.Ext.Kusto.Kql: [printCommandColumn] :: PrintCommand -> Maybe ColumnName
+ Hydra.Ext.Kusto.Kql: [printCommandExpression] :: PrintCommand -> Expression
+ Hydra.Ext.Kusto.Kql: [projectionAlias] :: Projection -> Maybe ColumnName
+ Hydra.Ext.Kusto.Kql: [projectionExpression] :: Projection -> Expression
+ Hydra.Ext.Kusto.Kql: [propertyExpressionExpression] :: PropertyExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [propertyExpressionProperty] :: PropertyExpression -> String
+ Hydra.Ext.Kusto.Kql: [searchCommandDatasets] :: SearchCommand -> [TableName]
+ Hydra.Ext.Kusto.Kql: [searchCommandPattern] :: SearchCommand -> Expression
+ Hydra.Ext.Kusto.Kql: [sortByColumn] :: SortBy -> ColumnName
+ Hydra.Ext.Kusto.Kql: [sortByOrder] :: SortBy -> Maybe Order
+ Hydra.Ext.Kusto.Kql: [summarizeCommandBy] :: SummarizeCommand -> [ColumnName]
+ Hydra.Ext.Kusto.Kql: [summarizeCommandColumns] :: SummarizeCommand -> [ColumnAssignment]
+ Hydra.Ext.Kusto.Kql: [topCommandCount] :: TopCommand -> Int
+ Hydra.Ext.Kusto.Kql: [topCommandSort] :: TopCommand -> [SortBy]
+ Hydra.Ext.Kusto.Kql: [unColumnName] :: ColumnName -> String
+ Hydra.Ext.Kusto.Kql: [unDatetime] :: Datetime -> String
+ Hydra.Ext.Kusto.Kql: [unFunctionName] :: FunctionName -> String
+ Hydra.Ext.Kusto.Kql: [unPipelineExpression] :: PipelineExpression -> [TabularExpression]
+ Hydra.Ext.Kusto.Kql: [unQuery] :: Query -> TabularExpression
+ Hydra.Ext.Kusto.Kql: [unTableName] :: TableName -> String
+ Hydra.Ext.Kusto.Kql: [unaryExpressionExpression] :: UnaryExpression -> Expression
+ Hydra.Ext.Kusto.Kql: [unaryExpressionOperator] :: UnaryExpression -> UnaryOperator
+ Hydra.Ext.Kusto.Kql: [unionCommandIsFuzzy] :: UnionCommand -> Maybe Bool
+ Hydra.Ext.Kusto.Kql: [unionCommandKind] :: UnionCommand -> Maybe UnionKind
+ Hydra.Ext.Kusto.Kql: [unionCommandParameters] :: UnionCommand -> [Parameter]
+ Hydra.Ext.Kusto.Kql: [unionCommandTables] :: UnionCommand -> [TableName]
+ Hydra.Ext.Kusto.Kql: [unionCommandWithSource] :: UnionCommand -> Maybe ColumnName
+ Hydra.Ext.Kusto.Kql: _BetweenExpression :: Name
+ Hydra.Ext.Kusto.Kql: _BetweenExpression_expression :: Name
+ Hydra.Ext.Kusto.Kql: _BetweenExpression_lowerBound :: Name
+ Hydra.Ext.Kusto.Kql: _BetweenExpression_not :: Name
+ Hydra.Ext.Kusto.Kql: _BetweenExpression_upperBound :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryExpression :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryExpression_left :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryExpression_operator :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryExpression_right :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_caseInsensitiveEqual :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_contains :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_divide :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_endsWith :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_equal :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_greater :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_greaterOrEqual :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_has :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_hasPrefix :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_hasSuffix :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_less :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_lessOrEqual :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_matchesRegex :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_minus :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_notEqual :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_plus :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_startsWith :: Name
+ Hydra.Ext.Kusto.Kql: _BinaryOperator_times :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_ago :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_bin :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_count :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_dcount :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_endofday :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_extract :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_format_datetime :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_materialize :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_now :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_range :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_startofday :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_strcat :: Name
+ Hydra.Ext.Kusto.Kql: _BuiltInFunction_todynamic :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAlias :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAlias_alias :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAlias_column :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAssignment :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAssignment_column :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnAssignment_expression :: Name
+ Hydra.Ext.Kusto.Kql: _ColumnName :: Name
+ Hydra.Ext.Kusto.Kql: _Columns :: Name
+ Hydra.Ext.Kusto.Kql: _Columns_all :: Name
+ Hydra.Ext.Kusto.Kql: _Columns_single :: Name
+ Hydra.Ext.Kusto.Kql: _Command :: Name
+ Hydra.Ext.Kusto.Kql: _Command_count :: Name
+ Hydra.Ext.Kusto.Kql: _Command_distinct :: Name
+ Hydra.Ext.Kusto.Kql: _Command_extend :: Name
+ Hydra.Ext.Kusto.Kql: _Command_join :: Name
+ Hydra.Ext.Kusto.Kql: _Command_limit :: Name
+ Hydra.Ext.Kusto.Kql: _Command_mvexpand :: Name
+ Hydra.Ext.Kusto.Kql: _Command_orderBy :: Name
+ Hydra.Ext.Kusto.Kql: _Command_parse :: Name
+ Hydra.Ext.Kusto.Kql: _Command_print :: Name
+ Hydra.Ext.Kusto.Kql: _Command_project :: Name
+ Hydra.Ext.Kusto.Kql: _Command_projectAway :: Name
+ Hydra.Ext.Kusto.Kql: _Command_projectRename :: Name
+ Hydra.Ext.Kusto.Kql: _Command_render :: Name
+ Hydra.Ext.Kusto.Kql: _Command_search :: Name
+ Hydra.Ext.Kusto.Kql: _Command_sortBy :: Name
+ Hydra.Ext.Kusto.Kql: _Command_summarize :: Name
+ Hydra.Ext.Kusto.Kql: _Command_take :: Name
+ Hydra.Ext.Kusto.Kql: _Command_top :: Name
+ Hydra.Ext.Kusto.Kql: _Command_union :: Name
+ Hydra.Ext.Kusto.Kql: _Command_where :: Name
+ Hydra.Ext.Kusto.Kql: _Datetime :: Name
+ Hydra.Ext.Kusto.Kql: _Duration :: Name
+ Hydra.Ext.Kusto.Kql: _DurationUnit :: Name
+ Hydra.Ext.Kusto.Kql: _DurationUnit_hour :: Name
+ Hydra.Ext.Kusto.Kql: _DurationUnit_minute :: Name
+ Hydra.Ext.Kusto.Kql: _DurationUnit_second :: Name
+ Hydra.Ext.Kusto.Kql: _Duration_unit :: Name
+ Hydra.Ext.Kusto.Kql: _Duration_value :: Name
+ Hydra.Ext.Kusto.Kql: _Expression :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_and :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_any :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_between :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_binary :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_braces :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_column :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_dataset :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_index :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_list :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_literal :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_or :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_parentheses :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_property :: Name
+ Hydra.Ext.Kusto.Kql: _Expression_unary :: Name
+ Hydra.Ext.Kusto.Kql: _Function :: Name
+ Hydra.Ext.Kusto.Kql: _FunctionExpression :: Name
+ Hydra.Ext.Kusto.Kql: _FunctionExpression_arguments :: Name
+ Hydra.Ext.Kusto.Kql: _FunctionExpression_function :: Name
+ Hydra.Ext.Kusto.Kql: _FunctionName :: Name
+ Hydra.Ext.Kusto.Kql: _Function_builtIn :: Name
+ Hydra.Ext.Kusto.Kql: _Function_custom :: Name
+ Hydra.Ext.Kusto.Kql: _IndexExpression :: Name
+ Hydra.Ext.Kusto.Kql: _IndexExpression_expression :: Name
+ Hydra.Ext.Kusto.Kql: _IndexExpression_index :: Name
+ Hydra.Ext.Kusto.Kql: _JoinCommand :: Name
+ Hydra.Ext.Kusto.Kql: _JoinCommand_expression :: Name
+ Hydra.Ext.Kusto.Kql: _JoinCommand_kind :: Name
+ Hydra.Ext.Kusto.Kql: _JoinCommand_on :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_fullouter :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_inner :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_innerunique :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_leftanti :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_leftouter :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_leftsemi :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_rightanti :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_rightouter :: Name
+ Hydra.Ext.Kusto.Kql: _JoinKind_rightsemi :: Name
+ Hydra.Ext.Kusto.Kql: _KeyValuePair :: Name
+ Hydra.Ext.Kusto.Kql: _KeyValuePair_key :: Name
+ Hydra.Ext.Kusto.Kql: _KeyValuePair_value :: Name
+ Hydra.Ext.Kusto.Kql: _LetBinding :: Name
+ Hydra.Ext.Kusto.Kql: _LetBinding_expression :: Name
+ Hydra.Ext.Kusto.Kql: _LetBinding_name :: Name
+ Hydra.Ext.Kusto.Kql: _LetExpression :: Name
+ Hydra.Ext.Kusto.Kql: _LetExpression_bindings :: Name
+ Hydra.Ext.Kusto.Kql: _LetExpression_expression :: Name
+ Hydra.Ext.Kusto.Kql: _Literal :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_boolean :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_datetime :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_double :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_duration :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_int :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_long :: Name
+ Hydra.Ext.Kusto.Kql: _Literal_string :: Name
+ Hydra.Ext.Kusto.Kql: _Order :: Name
+ Hydra.Ext.Kusto.Kql: _Order_ascending :: Name
+ Hydra.Ext.Kusto.Kql: _Order_descending :: Name
+ Hydra.Ext.Kusto.Kql: _Parameter :: Name
+ Hydra.Ext.Kusto.Kql: _Parameter_key :: Name
+ Hydra.Ext.Kusto.Kql: _Parameter_value :: Name
+ Hydra.Ext.Kusto.Kql: _ParseCommand :: Name
+ Hydra.Ext.Kusto.Kql: _ParseCommand_column :: Name
+ Hydra.Ext.Kusto.Kql: _ParseCommand_pairs :: Name
+ Hydra.Ext.Kusto.Kql: _PipelineExpression :: Name
+ Hydra.Ext.Kusto.Kql: _PrintCommand :: Name
+ Hydra.Ext.Kusto.Kql: _PrintCommand_column :: Name
+ Hydra.Ext.Kusto.Kql: _PrintCommand_expression :: Name
+ Hydra.Ext.Kusto.Kql: _Projection :: Name
+ Hydra.Ext.Kusto.Kql: _Projection_alias :: Name
+ Hydra.Ext.Kusto.Kql: _Projection_expression :: Name
+ Hydra.Ext.Kusto.Kql: _PropertyExpression :: Name
+ Hydra.Ext.Kusto.Kql: _PropertyExpression_expression :: Name
+ Hydra.Ext.Kusto.Kql: _PropertyExpression_property :: Name
+ Hydra.Ext.Kusto.Kql: _Query :: Name
+ Hydra.Ext.Kusto.Kql: _SearchCommand :: Name
+ Hydra.Ext.Kusto.Kql: _SearchCommand_datasets :: Name
+ Hydra.Ext.Kusto.Kql: _SearchCommand_pattern :: Name
+ Hydra.Ext.Kusto.Kql: _SortBy :: Name
+ Hydra.Ext.Kusto.Kql: _SortBy_column :: Name
+ Hydra.Ext.Kusto.Kql: _SortBy_order :: Name
+ Hydra.Ext.Kusto.Kql: _SummarizeCommand :: Name
+ Hydra.Ext.Kusto.Kql: _SummarizeCommand_by :: Name
+ Hydra.Ext.Kusto.Kql: _SummarizeCommand_columns :: Name
+ Hydra.Ext.Kusto.Kql: _TableName :: Name
+ Hydra.Ext.Kusto.Kql: _TabularExpression :: Name
+ Hydra.Ext.Kusto.Kql: _TabularExpression_command :: Name
+ Hydra.Ext.Kusto.Kql: _TabularExpression_let :: Name
+ Hydra.Ext.Kusto.Kql: _TabularExpression_pipeline :: Name
+ Hydra.Ext.Kusto.Kql: _TabularExpression_table :: Name
+ Hydra.Ext.Kusto.Kql: _TopCommand :: Name
+ Hydra.Ext.Kusto.Kql: _TopCommand_count :: Name
+ Hydra.Ext.Kusto.Kql: _TopCommand_sort :: Name
+ Hydra.Ext.Kusto.Kql: _UnaryExpression :: Name
+ Hydra.Ext.Kusto.Kql: _UnaryExpression_expression :: Name
+ Hydra.Ext.Kusto.Kql: _UnaryExpression_operator :: Name
+ Hydra.Ext.Kusto.Kql: _UnaryOperator :: Name
+ Hydra.Ext.Kusto.Kql: _UnaryOperator_not :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand_isFuzzy :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand_kind :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand_parameters :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand_tables :: Name
+ Hydra.Ext.Kusto.Kql: _UnionCommand_withSource :: Name
+ Hydra.Ext.Kusto.Kql: _UnionKind :: Name
+ Hydra.Ext.Kusto.Kql: _UnionKind_inner :: Name
+ Hydra.Ext.Kusto.Kql: _UnionKind_outer :: Name
+ Hydra.Ext.Kusto.Kql: data BetweenExpression
+ Hydra.Ext.Kusto.Kql: data BinaryExpression
+ Hydra.Ext.Kusto.Kql: data BinaryOperator
+ Hydra.Ext.Kusto.Kql: data BuiltInFunction
+ Hydra.Ext.Kusto.Kql: data ColumnAlias
+ Hydra.Ext.Kusto.Kql: data ColumnAssignment
+ Hydra.Ext.Kusto.Kql: data Columns
+ Hydra.Ext.Kusto.Kql: data Command
+ Hydra.Ext.Kusto.Kql: data Duration
+ Hydra.Ext.Kusto.Kql: data DurationUnit
+ Hydra.Ext.Kusto.Kql: data Expression
+ Hydra.Ext.Kusto.Kql: data Function
+ Hydra.Ext.Kusto.Kql: data FunctionExpression
+ Hydra.Ext.Kusto.Kql: data IndexExpression
+ Hydra.Ext.Kusto.Kql: data JoinCommand
+ Hydra.Ext.Kusto.Kql: data JoinKind
+ Hydra.Ext.Kusto.Kql: data KeyValuePair
+ Hydra.Ext.Kusto.Kql: data LetBinding
+ Hydra.Ext.Kusto.Kql: data LetExpression
+ Hydra.Ext.Kusto.Kql: data Literal
+ Hydra.Ext.Kusto.Kql: data Order
+ Hydra.Ext.Kusto.Kql: data Parameter
+ Hydra.Ext.Kusto.Kql: data ParseCommand
+ Hydra.Ext.Kusto.Kql: data PrintCommand
+ Hydra.Ext.Kusto.Kql: data Projection
+ Hydra.Ext.Kusto.Kql: data PropertyExpression
+ Hydra.Ext.Kusto.Kql: data SearchCommand
+ Hydra.Ext.Kusto.Kql: data SortBy
+ Hydra.Ext.Kusto.Kql: data SummarizeCommand
+ Hydra.Ext.Kusto.Kql: data TabularExpression
+ Hydra.Ext.Kusto.Kql: data TopCommand
+ Hydra.Ext.Kusto.Kql: data UnaryExpression
+ Hydra.Ext.Kusto.Kql: data UnaryOperator
+ Hydra.Ext.Kusto.Kql: data UnionCommand
+ Hydra.Ext.Kusto.Kql: data UnionKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.BetweenExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.BinaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.BinaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.BuiltInFunction
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.ColumnAlias
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.ColumnAssignment
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.ColumnName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Columns
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Command
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Datetime
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Duration
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.DurationUnit
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Expression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Function
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.FunctionExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.FunctionName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.IndexExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.JoinCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.JoinKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.KeyValuePair
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.LetBinding
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.LetExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Literal
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Order
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Parameter
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.ParseCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.PipelineExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.PrintCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Projection
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.PropertyExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.Query
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.SearchCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.SortBy
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.SummarizeCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.TableName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.TabularExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.TopCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.UnaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.UnaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.UnionCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Eq Hydra.Ext.Kusto.Kql.UnionKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.BetweenExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.BinaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.BinaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.BuiltInFunction
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.ColumnAlias
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.ColumnAssignment
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.ColumnName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Columns
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Command
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Datetime
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Duration
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.DurationUnit
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Expression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Function
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.FunctionExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.FunctionName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.IndexExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.JoinCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.JoinKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.KeyValuePair
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.LetBinding
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.LetExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Literal
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Order
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Parameter
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.ParseCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.PipelineExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.PrintCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Projection
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.PropertyExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.Query
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.SearchCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.SortBy
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.SummarizeCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.TableName
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.TabularExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.TopCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.UnaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.UnaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.UnionCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Classes.Ord Hydra.Ext.Kusto.Kql.UnionKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.BetweenExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.BinaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.BinaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.BuiltInFunction
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.ColumnAlias
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.ColumnAssignment
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.ColumnName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Columns
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Command
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Datetime
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Duration
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.DurationUnit
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Expression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Function
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.FunctionExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.FunctionName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.IndexExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.JoinCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.JoinKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.KeyValuePair
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.LetBinding
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.LetExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Literal
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Order
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Parameter
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.ParseCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.PipelineExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.PrintCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Projection
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.PropertyExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.Query
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.SearchCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.SortBy
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.SummarizeCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.TableName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.TabularExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.TopCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.UnaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.UnaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.UnionCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Read.Read Hydra.Ext.Kusto.Kql.UnionKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.BetweenExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.BinaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.BinaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.BuiltInFunction
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.ColumnAlias
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.ColumnAssignment
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.ColumnName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Columns
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Command
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Datetime
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Duration
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.DurationUnit
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Expression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Function
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.FunctionExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.FunctionName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.IndexExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.JoinCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.JoinKind
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.KeyValuePair
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.LetBinding
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.LetExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Literal
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Order
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Parameter
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.ParseCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.PipelineExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.PrintCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Projection
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.PropertyExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.Query
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.SearchCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.SortBy
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.SummarizeCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.TableName
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.TabularExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.TopCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.UnaryExpression
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.UnaryOperator
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.UnionCommand
+ Hydra.Ext.Kusto.Kql: instance GHC.Internal.Show.Show Hydra.Ext.Kusto.Kql.UnionKind
+ Hydra.Ext.Kusto.Kql: newtype ColumnName
+ Hydra.Ext.Kusto.Kql: newtype Datetime
+ Hydra.Ext.Kusto.Kql: newtype FunctionName
+ Hydra.Ext.Kusto.Kql: newtype PipelineExpression
+ Hydra.Ext.Kusto.Kql: newtype Query
+ Hydra.Ext.Kusto.Kql: newtype TableName
+ Hydra.Ext.Osv.Schema: Credited :: String -> Maybe [Url] -> Credited
+ Hydra.Ext.Osv.Schema: Ecosystem :: String -> Ecosystem
+ Hydra.Ext.Osv.Schema: Entry :: Maybe OsvVersion -> Id -> Timestamp -> Maybe Timestamp -> Maybe Timestamp -> Maybe [Id] -> Maybe [Id] -> Maybe String -> Maybe Markdown -> Maybe [Severity] -> Maybe [PackageVersions] -> Maybe [Reference] -> Maybe [Credited] -> Entry
+ Hydra.Ext.Osv.Schema: EventFixed :: Version -> Event
+ Hydra.Ext.Osv.Schema: EventIntroduced :: VersionOrZero -> Event
+ Hydra.Ext.Osv.Schema: EventLastAffected :: Version -> Event
+ Hydra.Ext.Osv.Schema: EventLimit :: VersionOrStar -> Event
+ Hydra.Ext.Osv.Schema: Id :: String -> Id
+ Hydra.Ext.Osv.Schema: Markdown :: String -> Markdown
+ Hydra.Ext.Osv.Schema: OsvVersion :: String -> OsvVersion
+ Hydra.Ext.Osv.Schema: Package :: Ecosystem -> String -> Maybe Url -> Package
+ Hydra.Ext.Osv.Schema: PackageVersions :: Package -> Maybe [VersionRange] -> Maybe [Version] -> PackageVersions
+ Hydra.Ext.Osv.Schema: Reference :: ReferenceType -> Url -> Reference
+ Hydra.Ext.Osv.Schema: ReferenceType :: String -> ReferenceType
+ Hydra.Ext.Osv.Schema: Severity :: SeverityType -> SeverityScore -> Severity
+ Hydra.Ext.Osv.Schema: SeverityScore :: String -> SeverityScore
+ Hydra.Ext.Osv.Schema: SeverityType :: String -> SeverityType
+ Hydra.Ext.Osv.Schema: Timestamp :: String -> Timestamp
+ Hydra.Ext.Osv.Schema: Url :: String -> Url
+ Hydra.Ext.Osv.Schema: Version :: String -> Version
+ Hydra.Ext.Osv.Schema: VersionOrStar :: String -> VersionOrStar
+ Hydra.Ext.Osv.Schema: VersionOrZero :: String -> VersionOrZero
+ Hydra.Ext.Osv.Schema: VersionRange :: VersionType -> Maybe Url -> [Event] -> VersionRange
+ Hydra.Ext.Osv.Schema: VersionType :: String -> VersionType
+ Hydra.Ext.Osv.Schema: [creditedContact] :: Credited -> Maybe [Url]
+ Hydra.Ext.Osv.Schema: [creditedName] :: Credited -> String
+ Hydra.Ext.Osv.Schema: [entryAffected] :: Entry -> Maybe [PackageVersions]
+ Hydra.Ext.Osv.Schema: [entryAliases] :: Entry -> Maybe [Id]
+ Hydra.Ext.Osv.Schema: [entryCredits] :: Entry -> Maybe [Credited]
+ Hydra.Ext.Osv.Schema: [entryDetails] :: Entry -> Maybe Markdown
+ Hydra.Ext.Osv.Schema: [entryId] :: Entry -> Id
+ Hydra.Ext.Osv.Schema: [entryModified] :: Entry -> Timestamp
+ Hydra.Ext.Osv.Schema: [entryPublished] :: Entry -> Maybe Timestamp
+ Hydra.Ext.Osv.Schema: [entryReferences] :: Entry -> Maybe [Reference]
+ Hydra.Ext.Osv.Schema: [entryRelated] :: Entry -> Maybe [Id]
+ Hydra.Ext.Osv.Schema: [entrySchemaVersion] :: Entry -> Maybe OsvVersion
+ Hydra.Ext.Osv.Schema: [entrySeverity] :: Entry -> Maybe [Severity]
+ Hydra.Ext.Osv.Schema: [entrySummary] :: Entry -> Maybe String
+ Hydra.Ext.Osv.Schema: [entryWithdrawn] :: Entry -> Maybe Timestamp
+ Hydra.Ext.Osv.Schema: [packageEcosystem] :: Package -> Ecosystem
+ Hydra.Ext.Osv.Schema: [packageName] :: Package -> String
+ Hydra.Ext.Osv.Schema: [packagePurl] :: Package -> Maybe Url
+ Hydra.Ext.Osv.Schema: [packageVersionsPackage] :: PackageVersions -> Package
+ Hydra.Ext.Osv.Schema: [packageVersionsRanges] :: PackageVersions -> Maybe [VersionRange]
+ Hydra.Ext.Osv.Schema: [packageVersionsVersions] :: PackageVersions -> Maybe [Version]
+ Hydra.Ext.Osv.Schema: [referenceType] :: Reference -> ReferenceType
+ Hydra.Ext.Osv.Schema: [referenceUrl] :: Reference -> Url
+ Hydra.Ext.Osv.Schema: [severityScore] :: Severity -> SeverityScore
+ Hydra.Ext.Osv.Schema: [severityType] :: Severity -> SeverityType
+ Hydra.Ext.Osv.Schema: [unEcosystem] :: Ecosystem -> String
+ Hydra.Ext.Osv.Schema: [unId] :: Id -> String
+ Hydra.Ext.Osv.Schema: [unMarkdown] :: Markdown -> String
+ Hydra.Ext.Osv.Schema: [unOsvVersion] :: OsvVersion -> String
+ Hydra.Ext.Osv.Schema: [unReferenceType] :: ReferenceType -> String
+ Hydra.Ext.Osv.Schema: [unSeverityScore] :: SeverityScore -> String
+ Hydra.Ext.Osv.Schema: [unSeverityType] :: SeverityType -> String
+ Hydra.Ext.Osv.Schema: [unTimestamp] :: Timestamp -> String
+ Hydra.Ext.Osv.Schema: [unUrl] :: Url -> String
+ Hydra.Ext.Osv.Schema: [unVersionOrStar] :: VersionOrStar -> String
+ Hydra.Ext.Osv.Schema: [unVersionOrZero] :: VersionOrZero -> String
+ Hydra.Ext.Osv.Schema: [unVersionType] :: VersionType -> String
+ Hydra.Ext.Osv.Schema: [unVersion] :: Version -> String
+ Hydra.Ext.Osv.Schema: [versionRangeEvents] :: VersionRange -> [Event]
+ Hydra.Ext.Osv.Schema: [versionRangeRepo] :: VersionRange -> Maybe Url
+ Hydra.Ext.Osv.Schema: [versionRangeType] :: VersionRange -> VersionType
+ Hydra.Ext.Osv.Schema: _Credited :: Name
+ Hydra.Ext.Osv.Schema: _Credited_contact :: Name
+ Hydra.Ext.Osv.Schema: _Credited_name :: Name
+ Hydra.Ext.Osv.Schema: _Ecosystem :: Name
+ Hydra.Ext.Osv.Schema: _Entry :: Name
+ Hydra.Ext.Osv.Schema: _Entry_affected :: Name
+ Hydra.Ext.Osv.Schema: _Entry_aliases :: Name
+ Hydra.Ext.Osv.Schema: _Entry_credits :: Name
+ Hydra.Ext.Osv.Schema: _Entry_details :: Name
+ Hydra.Ext.Osv.Schema: _Entry_id :: Name
+ Hydra.Ext.Osv.Schema: _Entry_modified :: Name
+ Hydra.Ext.Osv.Schema: _Entry_published :: Name
+ Hydra.Ext.Osv.Schema: _Entry_references :: Name
+ Hydra.Ext.Osv.Schema: _Entry_related :: Name
+ Hydra.Ext.Osv.Schema: _Entry_schemaVersion :: Name
+ Hydra.Ext.Osv.Schema: _Entry_severity :: Name
+ Hydra.Ext.Osv.Schema: _Entry_summary :: Name
+ Hydra.Ext.Osv.Schema: _Entry_withdrawn :: Name
+ Hydra.Ext.Osv.Schema: _Event :: Name
+ Hydra.Ext.Osv.Schema: _Event_fixed :: Name
+ Hydra.Ext.Osv.Schema: _Event_introduced :: Name
+ Hydra.Ext.Osv.Schema: _Event_lastAffected :: Name
+ Hydra.Ext.Osv.Schema: _Event_limit :: Name
+ Hydra.Ext.Osv.Schema: _Id :: Name
+ Hydra.Ext.Osv.Schema: _Markdown :: Name
+ Hydra.Ext.Osv.Schema: _OsvVersion :: Name
+ Hydra.Ext.Osv.Schema: _Package :: Name
+ Hydra.Ext.Osv.Schema: _PackageVersions :: Name
+ Hydra.Ext.Osv.Schema: _PackageVersions_package :: Name
+ Hydra.Ext.Osv.Schema: _PackageVersions_ranges :: Name
+ Hydra.Ext.Osv.Schema: _PackageVersions_versions :: Name
+ Hydra.Ext.Osv.Schema: _Package_ecosystem :: Name
+ Hydra.Ext.Osv.Schema: _Package_name :: Name
+ Hydra.Ext.Osv.Schema: _Package_purl :: Name
+ Hydra.Ext.Osv.Schema: _Reference :: Name
+ Hydra.Ext.Osv.Schema: _ReferenceType :: Name
+ Hydra.Ext.Osv.Schema: _Reference_type :: Name
+ Hydra.Ext.Osv.Schema: _Reference_url :: Name
+ Hydra.Ext.Osv.Schema: _Severity :: Name
+ Hydra.Ext.Osv.Schema: _SeverityScore :: Name
+ Hydra.Ext.Osv.Schema: _SeverityType :: Name
+ Hydra.Ext.Osv.Schema: _Severity_score :: Name
+ Hydra.Ext.Osv.Schema: _Severity_type :: Name
+ Hydra.Ext.Osv.Schema: _Timestamp :: Name
+ Hydra.Ext.Osv.Schema: _Url :: Name
+ Hydra.Ext.Osv.Schema: _Version :: Name
+ Hydra.Ext.Osv.Schema: _VersionOrStar :: Name
+ Hydra.Ext.Osv.Schema: _VersionOrZero :: Name
+ Hydra.Ext.Osv.Schema: _VersionRange :: Name
+ Hydra.Ext.Osv.Schema: _VersionRange_events :: Name
+ Hydra.Ext.Osv.Schema: _VersionRange_repo :: Name
+ Hydra.Ext.Osv.Schema: _VersionRange_type :: Name
+ Hydra.Ext.Osv.Schema: _VersionType :: Name
+ Hydra.Ext.Osv.Schema: data Credited
+ Hydra.Ext.Osv.Schema: data Entry
+ Hydra.Ext.Osv.Schema: data Event
+ Hydra.Ext.Osv.Schema: data Package
+ Hydra.Ext.Osv.Schema: data PackageVersions
+ Hydra.Ext.Osv.Schema: data Reference
+ Hydra.Ext.Osv.Schema: data Severity
+ Hydra.Ext.Osv.Schema: data VersionRange
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Credited
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Ecosystem
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Entry
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Event
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Id
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Markdown
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.OsvVersion
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Package
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.PackageVersions
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Reference
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.ReferenceType
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Severity
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.SeverityScore
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.SeverityType
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Timestamp
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Url
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.Version
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.VersionOrStar
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.VersionOrZero
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.VersionRange
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Eq Hydra.Ext.Osv.Schema.VersionType
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Credited
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Ecosystem
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Entry
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Event
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Id
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Markdown
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.OsvVersion
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Package
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.PackageVersions
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Reference
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.ReferenceType
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Severity
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.SeverityScore
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.SeverityType
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Timestamp
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Url
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.Version
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.VersionOrStar
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.VersionOrZero
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.VersionRange
+ Hydra.Ext.Osv.Schema: instance GHC.Classes.Ord Hydra.Ext.Osv.Schema.VersionType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Credited
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Ecosystem
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Entry
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Event
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Id
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Markdown
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.OsvVersion
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Package
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.PackageVersions
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Reference
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.ReferenceType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Severity
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.SeverityScore
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.SeverityType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Timestamp
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Url
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.Version
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.VersionOrStar
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.VersionOrZero
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.VersionRange
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Read.Read Hydra.Ext.Osv.Schema.VersionType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Credited
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Ecosystem
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Entry
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Event
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Id
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Markdown
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.OsvVersion
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Package
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.PackageVersions
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Reference
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.ReferenceType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Severity
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.SeverityScore
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.SeverityType
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Timestamp
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Url
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.Version
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.VersionOrStar
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.VersionOrZero
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.VersionRange
+ Hydra.Ext.Osv.Schema: instance GHC.Internal.Show.Show Hydra.Ext.Osv.Schema.VersionType
+ Hydra.Ext.Osv.Schema: newtype Ecosystem
+ Hydra.Ext.Osv.Schema: newtype Id
+ Hydra.Ext.Osv.Schema: newtype Markdown
+ Hydra.Ext.Osv.Schema: newtype OsvVersion
+ Hydra.Ext.Osv.Schema: newtype ReferenceType
+ Hydra.Ext.Osv.Schema: newtype SeverityScore
+ Hydra.Ext.Osv.Schema: newtype SeverityType
+ Hydra.Ext.Osv.Schema: newtype Timestamp
+ Hydra.Ext.Osv.Schema: newtype Url
+ Hydra.Ext.Osv.Schema: newtype Version
+ Hydra.Ext.Osv.Schema: newtype VersionOrStar
+ Hydra.Ext.Osv.Schema: newtype VersionOrZero
+ Hydra.Ext.Osv.Schema: newtype VersionType
+ Hydra.Ext.Parquet.Format: AesGcmCtrV1 :: Maybe ByteString -> Maybe ByteString -> Maybe Bool -> AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: AesGcmV1 :: Maybe ByteString -> Maybe ByteString -> Maybe Bool -> AesGcmV1
+ Hydra.Ext.Parquet.Format: BloomFilterAlgorithmBlock :: BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: BloomFilterCompressionUncompressed :: BloomFilterCompression
+ Hydra.Ext.Parquet.Format: BloomFilterHashXxhash :: BloomFilterHash
+ Hydra.Ext.Parquet.Format: BloomFilterHeader :: Int -> BloomFilterAlgorithm -> BloomFilterHash -> BloomFilterCompression -> BloomFilterHeader
+ Hydra.Ext.Parquet.Format: BoundaryOrderAscending :: BoundaryOrder
+ Hydra.Ext.Parquet.Format: BoundaryOrderDescending :: BoundaryOrder
+ Hydra.Ext.Parquet.Format: BoundaryOrderUnordered :: BoundaryOrder
+ Hydra.Ext.Parquet.Format: ColumnChunk :: Maybe String -> Int64 -> Maybe ColumnMetaData -> Maybe Int64 -> Maybe Int -> Maybe Int64 -> Maybe Int -> Maybe ColumnCryptoMetaData -> Maybe ByteString -> ColumnChunk
+ Hydra.Ext.Parquet.Format: ColumnCryptoMetaDataEncryptionWithColumnKey :: EncryptionWithColumnKey -> ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: ColumnCryptoMetaDataEncryptionWithFooterKey :: EncryptionWithFooterKey -> ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: ColumnIndex :: [Bool] -> [ByteString] -> [ByteString] -> BoundaryOrder -> Maybe [Int64] -> ColumnIndex
+ Hydra.Ext.Parquet.Format: ColumnMetaData :: Type -> [Encoding] -> [String] -> CompressionCodec -> Int64 -> Int64 -> Int64 -> Maybe [KeyValue] -> Int64 -> Maybe Int64 -> Maybe Int64 -> Maybe Statistics -> Maybe [PageEncodingStats] -> Maybe Int64 -> ColumnMetaData
+ Hydra.Ext.Parquet.Format: ColumnOrderTypeOrder :: ColumnOrder
+ Hydra.Ext.Parquet.Format: CompressionCodecBrotli :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecGzip :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecLz4Raw :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecLzo :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecSnappy :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecUncompressed :: CompressionCodec
+ Hydra.Ext.Parquet.Format: CompressionCodecZstd :: CompressionCodec
+ Hydra.Ext.Parquet.Format: DataPageHeader :: Int -> Encoding -> Encoding -> Encoding -> Maybe Statistics -> DataPageHeader
+ Hydra.Ext.Parquet.Format: DataPageHeaderV2 :: Int -> Int -> Int -> Encoding -> Int -> Int -> Maybe Bool -> Maybe Statistics -> DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: DecimalType :: Int -> Int -> DecimalType
+ Hydra.Ext.Parquet.Format: DictionaryPageHeader :: Int -> Encoding -> Maybe Bool -> DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: EncodingBitPacked :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingByteStreamSplit :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingDeltaBinaryPacked :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingDeltaByteArray :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingDeltaLengthByteArray :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingPlain :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingRle :: Encoding
+ Hydra.Ext.Parquet.Format: EncodingRleDictionary :: Encoding
+ Hydra.Ext.Parquet.Format: EncryptionAlgorithmAesGcmCtrV1 :: AesGcmCtrV1 -> EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: EncryptionAlgorithmAesGcmV1 :: AesGcmV1 -> EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: EncryptionWithColumnKey :: [String] -> Maybe ByteString -> EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: FieldRepetitionTypeOptional :: FieldRepetitionType
+ Hydra.Ext.Parquet.Format: FieldRepetitionTypeRepeated :: FieldRepetitionType
+ Hydra.Ext.Parquet.Format: FieldRepetitionTypeRequired :: FieldRepetitionType
+ Hydra.Ext.Parquet.Format: FileCryptoMetaData :: EncryptionAlgorithm -> Maybe ByteString -> FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: FileMetaData :: Int -> [SchemaElement] -> Int64 -> [RowGroup] -> Maybe [KeyValue] -> Maybe String -> Maybe [ColumnOrder] -> Maybe EncryptionAlgorithm -> Maybe ByteString -> FileMetaData
+ Hydra.Ext.Parquet.Format: IntType :: Int16 -> Bool -> IntType
+ Hydra.Ext.Parquet.Format: KeyValue :: String -> Maybe String -> KeyValue
+ Hydra.Ext.Parquet.Format: LogicalTypeBson :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeDate :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeDecimal :: DecimalType -> LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeEnum :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeInteger :: IntType -> LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeJson :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeList :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeMap :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeString :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeTime :: TimeType -> LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeTimestamp :: TimestampType -> LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeUnknown :: LogicalType
+ Hydra.Ext.Parquet.Format: LogicalTypeUuid :: LogicalType
+ Hydra.Ext.Parquet.Format: OffsetIndex :: [PageLocation] -> OffsetIndex
+ Hydra.Ext.Parquet.Format: PageEncodingStats :: PageType -> Encoding -> Int -> PageEncodingStats
+ Hydra.Ext.Parquet.Format: PageHeader :: PageType -> Int -> Int -> Maybe Int -> Maybe DataPageHeader -> Maybe IndexPageHeader -> Maybe DictionaryPageHeader -> Maybe DataPageHeaderV2 -> PageHeader
+ Hydra.Ext.Parquet.Format: PageLocation :: Int64 -> Int -> Int64 -> PageLocation
+ Hydra.Ext.Parquet.Format: PageTypeDataPage :: PageType
+ Hydra.Ext.Parquet.Format: PageTypeDataPageV2 :: PageType
+ Hydra.Ext.Parquet.Format: PageTypeDictionaryPage :: PageType
+ Hydra.Ext.Parquet.Format: PageTypeIndexPage :: PageType
+ Hydra.Ext.Parquet.Format: RowGroup :: [ColumnChunk] -> Int64 -> Int64 -> Maybe [SortingColumn] -> Maybe Int64 -> Maybe Int64 -> Maybe Int16 -> RowGroup
+ Hydra.Ext.Parquet.Format: SchemaElement :: Maybe Type -> Maybe Int -> Maybe FieldRepetitionType -> String -> Maybe Int -> Maybe Int -> Maybe LogicalType -> SchemaElement
+ Hydra.Ext.Parquet.Format: SortingColumn :: Int -> Bool -> Bool -> SortingColumn
+ Hydra.Ext.Parquet.Format: Statistics :: Maybe Integer -> Maybe Integer -> Maybe ByteString -> Maybe ByteString -> Statistics
+ Hydra.Ext.Parquet.Format: TimeType :: Bool -> TimeUnit -> TimeType
+ Hydra.Ext.Parquet.Format: TimeUnitMicros :: TimeUnit
+ Hydra.Ext.Parquet.Format: TimeUnitMillis :: TimeUnit
+ Hydra.Ext.Parquet.Format: TimeUnitNanos :: TimeUnit
+ Hydra.Ext.Parquet.Format: TimestampType :: Bool -> TimeUnit -> TimestampType
+ Hydra.Ext.Parquet.Format: TypeBoolean :: Type
+ Hydra.Ext.Parquet.Format: TypeByteArray :: Type
+ Hydra.Ext.Parquet.Format: TypeDouble :: Type
+ Hydra.Ext.Parquet.Format: TypeFixedLenByteArray :: Type
+ Hydra.Ext.Parquet.Format: TypeFloat :: Type
+ Hydra.Ext.Parquet.Format: TypeInt32 :: Type
+ Hydra.Ext.Parquet.Format: TypeInt64 :: Type
+ Hydra.Ext.Parquet.Format: [aesGcmCtrV1AadFileUnique] :: AesGcmCtrV1 -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [aesGcmCtrV1AadPrefix] :: AesGcmCtrV1 -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [aesGcmCtrV1SupplyAadPrefix] :: AesGcmCtrV1 -> Maybe Bool
+ Hydra.Ext.Parquet.Format: [aesGcmV1AadFileUnique] :: AesGcmV1 -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [aesGcmV1AadPrefix] :: AesGcmV1 -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [aesGcmV1SupplyAadPrefix] :: AesGcmV1 -> Maybe Bool
+ Hydra.Ext.Parquet.Format: [bloomFilterHeaderAlgorithm] :: BloomFilterHeader -> BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: [bloomFilterHeaderCompression] :: BloomFilterHeader -> BloomFilterCompression
+ Hydra.Ext.Parquet.Format: [bloomFilterHeaderHash] :: BloomFilterHeader -> BloomFilterHash
+ Hydra.Ext.Parquet.Format: [bloomFilterHeaderNumBytes] :: BloomFilterHeader -> Int
+ Hydra.Ext.Parquet.Format: [columnChunkColumnIndexLength] :: ColumnChunk -> Maybe Int
+ Hydra.Ext.Parquet.Format: [columnChunkColumnIndexOffset] :: ColumnChunk -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [columnChunkCryptoMetadata] :: ColumnChunk -> Maybe ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: [columnChunkEncryptedColumnMetadata] :: ColumnChunk -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [columnChunkFileOffset] :: ColumnChunk -> Int64
+ Hydra.Ext.Parquet.Format: [columnChunkFilePath] :: ColumnChunk -> Maybe String
+ Hydra.Ext.Parquet.Format: [columnChunkMetaData] :: ColumnChunk -> Maybe ColumnMetaData
+ Hydra.Ext.Parquet.Format: [columnChunkOffsetIndexLength] :: ColumnChunk -> Maybe Int
+ Hydra.Ext.Parquet.Format: [columnChunkOffsetIndexOffset] :: ColumnChunk -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [columnIndexBoundaryOrder] :: ColumnIndex -> BoundaryOrder
+ Hydra.Ext.Parquet.Format: [columnIndexMaxValues] :: ColumnIndex -> [ByteString]
+ Hydra.Ext.Parquet.Format: [columnIndexMinValues] :: ColumnIndex -> [ByteString]
+ Hydra.Ext.Parquet.Format: [columnIndexNullCounts] :: ColumnIndex -> Maybe [Int64]
+ Hydra.Ext.Parquet.Format: [columnIndexNullPages] :: ColumnIndex -> [Bool]
+ Hydra.Ext.Parquet.Format: [columnMetaDataBloomFilterOffset] :: ColumnMetaData -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataCodec] :: ColumnMetaData -> CompressionCodec
+ Hydra.Ext.Parquet.Format: [columnMetaDataDataPageOffset] :: ColumnMetaData -> Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataDictionaryPageOffset] :: ColumnMetaData -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataEncodingStats] :: ColumnMetaData -> Maybe [PageEncodingStats]
+ Hydra.Ext.Parquet.Format: [columnMetaDataEncodings] :: ColumnMetaData -> [Encoding]
+ Hydra.Ext.Parquet.Format: [columnMetaDataIndexPageOffset] :: ColumnMetaData -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataKeyValueMetadata] :: ColumnMetaData -> Maybe [KeyValue]
+ Hydra.Ext.Parquet.Format: [columnMetaDataNumValues] :: ColumnMetaData -> Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataPathInSchema] :: ColumnMetaData -> [String]
+ Hydra.Ext.Parquet.Format: [columnMetaDataStatistics] :: ColumnMetaData -> Maybe Statistics
+ Hydra.Ext.Parquet.Format: [columnMetaDataTotalCompressedSize] :: ColumnMetaData -> Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataTotalUncompressedSize] :: ColumnMetaData -> Int64
+ Hydra.Ext.Parquet.Format: [columnMetaDataType] :: ColumnMetaData -> Type
+ Hydra.Ext.Parquet.Format: [dataPageHeaderDefinitionLevelEncoding] :: DataPageHeader -> Encoding
+ Hydra.Ext.Parquet.Format: [dataPageHeaderEncoding] :: DataPageHeader -> Encoding
+ Hydra.Ext.Parquet.Format: [dataPageHeaderNumValues] :: DataPageHeader -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderRepetitionLevelEncoding] :: DataPageHeader -> Encoding
+ Hydra.Ext.Parquet.Format: [dataPageHeaderStatistics] :: DataPageHeader -> Maybe Statistics
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2DefinitionLevelsByteLength] :: DataPageHeaderV2 -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2Encoding] :: DataPageHeaderV2 -> Encoding
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2IsCompressed] :: DataPageHeaderV2 -> Maybe Bool
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2NumNulls] :: DataPageHeaderV2 -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2NumRows] :: DataPageHeaderV2 -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2NumValues] :: DataPageHeaderV2 -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2RepetitionLevelsByteLength] :: DataPageHeaderV2 -> Int
+ Hydra.Ext.Parquet.Format: [dataPageHeaderV2Statistics] :: DataPageHeaderV2 -> Maybe Statistics
+ Hydra.Ext.Parquet.Format: [decimalTypePrecision] :: DecimalType -> Int
+ Hydra.Ext.Parquet.Format: [decimalTypeScale] :: DecimalType -> Int
+ Hydra.Ext.Parquet.Format: [dictionaryPageHeaderEncoding] :: DictionaryPageHeader -> Encoding
+ Hydra.Ext.Parquet.Format: [dictionaryPageHeaderIsSorted] :: DictionaryPageHeader -> Maybe Bool
+ Hydra.Ext.Parquet.Format: [dictionaryPageHeaderNumValues] :: DictionaryPageHeader -> Int
+ Hydra.Ext.Parquet.Format: [encryptionWithColumnKeyKeyMetadata] :: EncryptionWithColumnKey -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [encryptionWithColumnKeyPathInSchema] :: EncryptionWithColumnKey -> [String]
+ Hydra.Ext.Parquet.Format: [fileCryptoMetaDataEncryptionAlgorithm] :: FileCryptoMetaData -> EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: [fileCryptoMetaDataKeyMetadata] :: FileCryptoMetaData -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [fileMetaDataColumnOrders] :: FileMetaData -> Maybe [ColumnOrder]
+ Hydra.Ext.Parquet.Format: [fileMetaDataCreatedBy] :: FileMetaData -> Maybe String
+ Hydra.Ext.Parquet.Format: [fileMetaDataEncryptionAlgorithm] :: FileMetaData -> Maybe EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: [fileMetaDataFooterSigningKeyMetadata] :: FileMetaData -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [fileMetaDataKeyValueMetadata] :: FileMetaData -> Maybe [KeyValue]
+ Hydra.Ext.Parquet.Format: [fileMetaDataNumRows] :: FileMetaData -> Int64
+ Hydra.Ext.Parquet.Format: [fileMetaDataRowGroups] :: FileMetaData -> [RowGroup]
+ Hydra.Ext.Parquet.Format: [fileMetaDataSchema] :: FileMetaData -> [SchemaElement]
+ Hydra.Ext.Parquet.Format: [fileMetaDataVersion] :: FileMetaData -> Int
+ Hydra.Ext.Parquet.Format: [intTypeBitWidth] :: IntType -> Int16
+ Hydra.Ext.Parquet.Format: [intTypeIsSigned] :: IntType -> Bool
+ Hydra.Ext.Parquet.Format: [keyValueKey] :: KeyValue -> String
+ Hydra.Ext.Parquet.Format: [keyValueValue] :: KeyValue -> Maybe String
+ Hydra.Ext.Parquet.Format: [offsetIndexPageLocations] :: OffsetIndex -> [PageLocation]
+ Hydra.Ext.Parquet.Format: [pageEncodingStatsCount] :: PageEncodingStats -> Int
+ Hydra.Ext.Parquet.Format: [pageEncodingStatsEncoding] :: PageEncodingStats -> Encoding
+ Hydra.Ext.Parquet.Format: [pageEncodingStatsPageType] :: PageEncodingStats -> PageType
+ Hydra.Ext.Parquet.Format: [pageHeaderCompressedPageSize] :: PageHeader -> Int
+ Hydra.Ext.Parquet.Format: [pageHeaderCrc] :: PageHeader -> Maybe Int
+ Hydra.Ext.Parquet.Format: [pageHeaderDataPageHeaderV2] :: PageHeader -> Maybe DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: [pageHeaderDataPageHeader] :: PageHeader -> Maybe DataPageHeader
+ Hydra.Ext.Parquet.Format: [pageHeaderDictionaryPageHeader] :: PageHeader -> Maybe DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: [pageHeaderIndexPageHeader] :: PageHeader -> Maybe IndexPageHeader
+ Hydra.Ext.Parquet.Format: [pageHeaderType] :: PageHeader -> PageType
+ Hydra.Ext.Parquet.Format: [pageHeaderUncompressedPageSize] :: PageHeader -> Int
+ Hydra.Ext.Parquet.Format: [pageLocationCompressedPageSize] :: PageLocation -> Int
+ Hydra.Ext.Parquet.Format: [pageLocationFirstRowIndex] :: PageLocation -> Int64
+ Hydra.Ext.Parquet.Format: [pageLocationOffset] :: PageLocation -> Int64
+ Hydra.Ext.Parquet.Format: [rowGroupColumns] :: RowGroup -> [ColumnChunk]
+ Hydra.Ext.Parquet.Format: [rowGroupFileOffset] :: RowGroup -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [rowGroupNumRows] :: RowGroup -> Int64
+ Hydra.Ext.Parquet.Format: [rowGroupOrdinal] :: RowGroup -> Maybe Int16
+ Hydra.Ext.Parquet.Format: [rowGroupSortingColumns] :: RowGroup -> Maybe [SortingColumn]
+ Hydra.Ext.Parquet.Format: [rowGroupTotalByteSize] :: RowGroup -> Int64
+ Hydra.Ext.Parquet.Format: [rowGroupTotalCompressedSize] :: RowGroup -> Maybe Int64
+ Hydra.Ext.Parquet.Format: [schemaElementFieldId] :: SchemaElement -> Maybe Int
+ Hydra.Ext.Parquet.Format: [schemaElementLogicalType] :: SchemaElement -> Maybe LogicalType
+ Hydra.Ext.Parquet.Format: [schemaElementName] :: SchemaElement -> String
+ Hydra.Ext.Parquet.Format: [schemaElementNumChildren] :: SchemaElement -> Maybe Int
+ Hydra.Ext.Parquet.Format: [schemaElementRepetitionType] :: SchemaElement -> Maybe FieldRepetitionType
+ Hydra.Ext.Parquet.Format: [schemaElementTypeLength] :: SchemaElement -> Maybe Int
+ Hydra.Ext.Parquet.Format: [schemaElementType] :: SchemaElement -> Maybe Type
+ Hydra.Ext.Parquet.Format: [sortingColumnColumnIdx] :: SortingColumn -> Int
+ Hydra.Ext.Parquet.Format: [sortingColumnDescending] :: SortingColumn -> Bool
+ Hydra.Ext.Parquet.Format: [sortingColumnNullsFirst] :: SortingColumn -> Bool
+ Hydra.Ext.Parquet.Format: [statisticsDistinctCount] :: Statistics -> Maybe Integer
+ Hydra.Ext.Parquet.Format: [statisticsMaxValue] :: Statistics -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [statisticsMinValue] :: Statistics -> Maybe ByteString
+ Hydra.Ext.Parquet.Format: [statisticsNullCount] :: Statistics -> Maybe Integer
+ Hydra.Ext.Parquet.Format: [timeTypeIsAdjustedToUtc] :: TimeType -> Bool
+ Hydra.Ext.Parquet.Format: [timeTypeUnit] :: TimeType -> TimeUnit
+ Hydra.Ext.Parquet.Format: [timestampTypeIsAdjustedToUtc] :: TimestampType -> Bool
+ Hydra.Ext.Parquet.Format: [timestampTypeUnit] :: TimestampType -> TimeUnit
+ Hydra.Ext.Parquet.Format: _AesGcmCtrV1 :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmCtrV1_aadFileUnique :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmCtrV1_aadPrefix :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmCtrV1_supplyAadPrefix :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmV1 :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmV1_aadFileUnique :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmV1_aadPrefix :: Name
+ Hydra.Ext.Parquet.Format: _AesGcmV1_supplyAadPrefix :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterAlgorithm :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterAlgorithm_block :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterCompression :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterCompression_uncompressed :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHash :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHash_xxhash :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHeader :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHeader_algorithm :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHeader_compression :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHeader_hash :: Name
+ Hydra.Ext.Parquet.Format: _BloomFilterHeader_numBytes :: Name
+ Hydra.Ext.Parquet.Format: _BoundaryOrder :: Name
+ Hydra.Ext.Parquet.Format: _BoundaryOrder_ascending :: Name
+ Hydra.Ext.Parquet.Format: _BoundaryOrder_descending :: Name
+ Hydra.Ext.Parquet.Format: _BoundaryOrder_unordered :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_columnIndexLength :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_columnIndexOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_cryptoMetadata :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_encryptedColumnMetadata :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_fileOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_filePath :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_metaData :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_offsetIndexLength :: Name
+ Hydra.Ext.Parquet.Format: _ColumnChunk_offsetIndexOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnCryptoMetaData :: Name
+ Hydra.Ext.Parquet.Format: _ColumnCryptoMetaData_encryptionWithColumnKey :: Name
+ Hydra.Ext.Parquet.Format: _ColumnCryptoMetaData_encryptionWithFooterKey :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex_boundaryOrder :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex_maxValues :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex_minValues :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex_nullCounts :: Name
+ Hydra.Ext.Parquet.Format: _ColumnIndex_nullPages :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_bloomFilterOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_codec :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_dataPageOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_dictionaryPageOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_encodingStats :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_encodings :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_indexPageOffset :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_keyValueMetadata :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_numValues :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_pathInSchema :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_statistics :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_totalCompressedSize :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_totalUncompressedSize :: Name
+ Hydra.Ext.Parquet.Format: _ColumnMetaData_type :: Name
+ Hydra.Ext.Parquet.Format: _ColumnOrder :: Name
+ Hydra.Ext.Parquet.Format: _ColumnOrder_typeOrder :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_brotli :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_gzip :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_lz4Raw :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_lzo :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_snappy :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_uncompressed :: Name
+ Hydra.Ext.Parquet.Format: _CompressionCodec_zstd :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2 :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_definitionLevelsByteLength :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_encoding :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_isCompressed :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_numNulls :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_numRows :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_numValues :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_repetitionLevelsByteLength :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeaderV2_statistics :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader_definitionLevelEncoding :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader_encoding :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader_numValues :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader_repetitionLevelEncoding :: Name
+ Hydra.Ext.Parquet.Format: _DataPageHeader_statistics :: Name
+ Hydra.Ext.Parquet.Format: _DecimalType :: Name
+ Hydra.Ext.Parquet.Format: _DecimalType_precision :: Name
+ Hydra.Ext.Parquet.Format: _DecimalType_scale :: Name
+ Hydra.Ext.Parquet.Format: _DictionaryPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _DictionaryPageHeader_encoding :: Name
+ Hydra.Ext.Parquet.Format: _DictionaryPageHeader_isSorted :: Name
+ Hydra.Ext.Parquet.Format: _DictionaryPageHeader_numValues :: Name
+ Hydra.Ext.Parquet.Format: _Encoding :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_bitPacked :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_byteStreamSplit :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_deltaBinaryPacked :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_deltaByteArray :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_deltaLengthByteArray :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_plain :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_rle :: Name
+ Hydra.Ext.Parquet.Format: _Encoding_rleDictionary :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionAlgorithm :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionAlgorithm_aesGcmCtrV1 :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionAlgorithm_aesGcmV1 :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionWithColumnKey :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionWithColumnKey_keyMetadata :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionWithColumnKey_pathInSchema :: Name
+ Hydra.Ext.Parquet.Format: _EncryptionWithFooterKey :: Name
+ Hydra.Ext.Parquet.Format: _FieldRepetitionType :: Name
+ Hydra.Ext.Parquet.Format: _FieldRepetitionType_optional :: Name
+ Hydra.Ext.Parquet.Format: _FieldRepetitionType_repeated :: Name
+ Hydra.Ext.Parquet.Format: _FieldRepetitionType_required :: Name
+ Hydra.Ext.Parquet.Format: _FileCryptoMetaData :: Name
+ Hydra.Ext.Parquet.Format: _FileCryptoMetaData_encryptionAlgorithm :: Name
+ Hydra.Ext.Parquet.Format: _FileCryptoMetaData_keyMetadata :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_columnOrders :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_createdBy :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_encryptionAlgorithm :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_footerSigningKeyMetadata :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_keyValueMetadata :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_numRows :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_rowGroups :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_schema :: Name
+ Hydra.Ext.Parquet.Format: _FileMetaData_version :: Name
+ Hydra.Ext.Parquet.Format: _IndexPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _IntType :: Name
+ Hydra.Ext.Parquet.Format: _IntType_bitWidth :: Name
+ Hydra.Ext.Parquet.Format: _IntType_isSigned :: Name
+ Hydra.Ext.Parquet.Format: _KeyValue :: Name
+ Hydra.Ext.Parquet.Format: _KeyValue_key :: Name
+ Hydra.Ext.Parquet.Format: _KeyValue_value :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_bson :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_date :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_decimal :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_enum :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_integer :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_json :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_list :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_map :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_string :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_time :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_timestamp :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_unknown :: Name
+ Hydra.Ext.Parquet.Format: _LogicalType_uuid :: Name
+ Hydra.Ext.Parquet.Format: _OffsetIndex :: Name
+ Hydra.Ext.Parquet.Format: _OffsetIndex_pageLocations :: Name
+ Hydra.Ext.Parquet.Format: _PageEncodingStats :: Name
+ Hydra.Ext.Parquet.Format: _PageEncodingStats_count :: Name
+ Hydra.Ext.Parquet.Format: _PageEncodingStats_encoding :: Name
+ Hydra.Ext.Parquet.Format: _PageEncodingStats_pageType :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_compressedPageSize :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_crc :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_dataPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_dataPageHeaderV2 :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_dictionaryPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_indexPageHeader :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_type :: Name
+ Hydra.Ext.Parquet.Format: _PageHeader_uncompressedPageSize :: Name
+ Hydra.Ext.Parquet.Format: _PageLocation :: Name
+ Hydra.Ext.Parquet.Format: _PageLocation_compressedPageSize :: Name
+ Hydra.Ext.Parquet.Format: _PageLocation_firstRowIndex :: Name
+ Hydra.Ext.Parquet.Format: _PageLocation_offset :: Name
+ Hydra.Ext.Parquet.Format: _PageType :: Name
+ Hydra.Ext.Parquet.Format: _PageType_dataPage :: Name
+ Hydra.Ext.Parquet.Format: _PageType_dataPageV2 :: Name
+ Hydra.Ext.Parquet.Format: _PageType_dictionaryPage :: Name
+ Hydra.Ext.Parquet.Format: _PageType_indexPage :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_columns :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_fileOffset :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_numRows :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_ordinal :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_sortingColumns :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_totalByteSize :: Name
+ Hydra.Ext.Parquet.Format: _RowGroup_totalCompressedSize :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_fieldId :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_logicalType :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_name :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_numChildren :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_repetitionType :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_type :: Name
+ Hydra.Ext.Parquet.Format: _SchemaElement_typeLength :: Name
+ Hydra.Ext.Parquet.Format: _SortingColumn :: Name
+ Hydra.Ext.Parquet.Format: _SortingColumn_columnIdx :: Name
+ Hydra.Ext.Parquet.Format: _SortingColumn_descending :: Name
+ Hydra.Ext.Parquet.Format: _SortingColumn_nullsFirst :: Name
+ Hydra.Ext.Parquet.Format: _Statistics :: Name
+ Hydra.Ext.Parquet.Format: _Statistics_distinctCount :: Name
+ Hydra.Ext.Parquet.Format: _Statistics_maxValue :: Name
+ Hydra.Ext.Parquet.Format: _Statistics_minValue :: Name
+ Hydra.Ext.Parquet.Format: _Statistics_nullCount :: Name
+ Hydra.Ext.Parquet.Format: _TimeType :: Name
+ Hydra.Ext.Parquet.Format: _TimeType_isAdjustedToUtc :: Name
+ Hydra.Ext.Parquet.Format: _TimeType_unit :: Name
+ Hydra.Ext.Parquet.Format: _TimeUnit :: Name
+ Hydra.Ext.Parquet.Format: _TimeUnit_micros :: Name
+ Hydra.Ext.Parquet.Format: _TimeUnit_millis :: Name
+ Hydra.Ext.Parquet.Format: _TimeUnit_nanos :: Name
+ Hydra.Ext.Parquet.Format: _TimestampType :: Name
+ Hydra.Ext.Parquet.Format: _TimestampType_isAdjustedToUtc :: Name
+ Hydra.Ext.Parquet.Format: _TimestampType_unit :: Name
+ Hydra.Ext.Parquet.Format: _Type :: Name
+ Hydra.Ext.Parquet.Format: _Type_boolean :: Name
+ Hydra.Ext.Parquet.Format: _Type_byteArray :: Name
+ Hydra.Ext.Parquet.Format: _Type_double :: Name
+ Hydra.Ext.Parquet.Format: _Type_fixedLenByteArray :: Name
+ Hydra.Ext.Parquet.Format: _Type_float :: Name
+ Hydra.Ext.Parquet.Format: _Type_int32 :: Name
+ Hydra.Ext.Parquet.Format: _Type_int64 :: Name
+ Hydra.Ext.Parquet.Format: data AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: data AesGcmV1
+ Hydra.Ext.Parquet.Format: data BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: data BloomFilterCompression
+ Hydra.Ext.Parquet.Format: data BloomFilterHash
+ Hydra.Ext.Parquet.Format: data BloomFilterHeader
+ Hydra.Ext.Parquet.Format: data BoundaryOrder
+ Hydra.Ext.Parquet.Format: data ColumnChunk
+ Hydra.Ext.Parquet.Format: data ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: data ColumnIndex
+ Hydra.Ext.Parquet.Format: data ColumnMetaData
+ Hydra.Ext.Parquet.Format: data ColumnOrder
+ Hydra.Ext.Parquet.Format: data CompressionCodec
+ Hydra.Ext.Parquet.Format: data DataPageHeader
+ Hydra.Ext.Parquet.Format: data DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: data DecimalType
+ Hydra.Ext.Parquet.Format: data DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: data Encoding
+ Hydra.Ext.Parquet.Format: data EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: data EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: data FieldRepetitionType
+ Hydra.Ext.Parquet.Format: data FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: data FileMetaData
+ Hydra.Ext.Parquet.Format: data IntType
+ Hydra.Ext.Parquet.Format: data KeyValue
+ Hydra.Ext.Parquet.Format: data LogicalType
+ Hydra.Ext.Parquet.Format: data OffsetIndex
+ Hydra.Ext.Parquet.Format: data PageEncodingStats
+ Hydra.Ext.Parquet.Format: data PageHeader
+ Hydra.Ext.Parquet.Format: data PageLocation
+ Hydra.Ext.Parquet.Format: data PageType
+ Hydra.Ext.Parquet.Format: data RowGroup
+ Hydra.Ext.Parquet.Format: data SchemaElement
+ Hydra.Ext.Parquet.Format: data SortingColumn
+ Hydra.Ext.Parquet.Format: data Statistics
+ Hydra.Ext.Parquet.Format: data TimeType
+ Hydra.Ext.Parquet.Format: data TimeUnit
+ Hydra.Ext.Parquet.Format: data TimestampType
+ Hydra.Ext.Parquet.Format: data Type
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.AesGcmV1
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.BloomFilterCompression
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.BloomFilterHash
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.BloomFilterHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.BoundaryOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.ColumnChunk
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.ColumnIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.ColumnMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.ColumnOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.CompressionCodec
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.DataPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.DecimalType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.Encoding
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.FieldRepetitionType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.FileMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.IntType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.KeyValue
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.LogicalType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.OffsetIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.PageEncodingStats
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.PageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.PageLocation
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.PageType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.RowGroup
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.SchemaElement
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.SortingColumn
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.Statistics
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.TimeType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.TimeUnit
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.TimestampType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Eq Hydra.Ext.Parquet.Format.Type
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.AesGcmV1
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.BloomFilterCompression
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.BloomFilterHash
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.BloomFilterHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.BoundaryOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.ColumnChunk
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.ColumnIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.ColumnMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.ColumnOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.CompressionCodec
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.DataPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.DecimalType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.Encoding
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.FieldRepetitionType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.FileMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.IntType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.KeyValue
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.LogicalType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.OffsetIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.PageEncodingStats
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.PageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.PageLocation
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.PageType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.RowGroup
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.SchemaElement
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.SortingColumn
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.Statistics
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.TimeType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.TimeUnit
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.TimestampType
+ Hydra.Ext.Parquet.Format: instance GHC.Classes.Ord Hydra.Ext.Parquet.Format.Type
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.AesGcmV1
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.BloomFilterCompression
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.BloomFilterHash
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.BloomFilterHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.BoundaryOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.ColumnChunk
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.ColumnIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.ColumnMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.ColumnOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.CompressionCodec
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.DataPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.DecimalType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.Encoding
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.FieldRepetitionType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.FileMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.IntType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.KeyValue
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.LogicalType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.OffsetIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.PageEncodingStats
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.PageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.PageLocation
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.PageType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.RowGroup
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.SchemaElement
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.SortingColumn
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.Statistics
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.TimeType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.TimeUnit
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.TimestampType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Read.Read Hydra.Ext.Parquet.Format.Type
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.AesGcmCtrV1
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.AesGcmV1
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.BloomFilterAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.BloomFilterCompression
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.BloomFilterHash
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.BloomFilterHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.BoundaryOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.ColumnChunk
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.ColumnCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.ColumnIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.ColumnMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.ColumnOrder
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.CompressionCodec
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.DataPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.DataPageHeaderV2
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.DecimalType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.DictionaryPageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.Encoding
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.EncryptionAlgorithm
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.EncryptionWithColumnKey
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.FieldRepetitionType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.FileCryptoMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.FileMetaData
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.IntType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.KeyValue
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.LogicalType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.OffsetIndex
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.PageEncodingStats
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.PageHeader
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.PageLocation
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.PageType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.RowGroup
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.SchemaElement
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.SortingColumn
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.Statistics
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.TimeType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.TimeUnit
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.TimestampType
+ Hydra.Ext.Parquet.Format: instance GHC.Internal.Show.Show Hydra.Ext.Parquet.Format.Type
+ Hydra.Ext.Parquet.Format: type EncryptionWithFooterKey = ()
+ Hydra.Ext.Parquet.Format: type IndexPageHeader = ()
+ Hydra.Ext.Pegasus.Coder: constructModule :: t0 -> Graph -> Map ModuleName String -> Module -> [TypeDefinition] -> Either Error (Map String SchemaFile)
+ Hydra.Ext.Pegasus.Coder: doc :: Maybe String -> Annotations
+ Hydra.Ext.Pegasus.Coder: encode :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error Schema
+ Hydra.Ext.Pegasus.Coder: encodeEnumField :: t0 -> Graph -> FieldType -> Either Error EnumField
+ Hydra.Ext.Pegasus.Coder: encodePossiblyOptionalType :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error (Schema, Bool)
+ Hydra.Ext.Pegasus.Coder: encodeRecordField :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error RecordField
+ Hydra.Ext.Pegasus.Coder: encodeType :: t0 -> Graph -> Map ModuleName String -> Type -> Either Error (Either Schema NamedSchemaType)
+ Hydra.Ext.Pegasus.Coder: encodeUnionField :: t0 -> Graph -> Map ModuleName String -> FieldType -> Either Error UnionMember
+ Hydra.Ext.Pegasus.Coder: getAnns :: t0 -> Graph -> Type -> Either Error Annotations
+ Hydra.Ext.Pegasus.Coder: importAliasesForModule :: t0 -> Graph -> Module -> Either Error (Map ModuleName String)
+ Hydra.Ext.Pegasus.Coder: moduleToPdl :: Module -> [Definition] -> t0 -> Graph -> Either Error (Map String String)
+ Hydra.Ext.Pegasus.Coder: moduleToPegasusSchemas :: t0 -> Graph -> Module -> [Definition] -> Either Error (Map String SchemaFile)
+ Hydra.Ext.Pegasus.Coder: noAnnotations :: Annotations
+ Hydra.Ext.Pegasus.Coder: pdlNameForElement :: Map ModuleName String -> Bool -> Name -> QualifiedName
+ Hydra.Ext.Pegasus.Coder: pdlNameForModule :: Module -> Namespace
+ Hydra.Ext.Pegasus.Coder: simpleUnionMember :: Schema -> UnionMember
+ Hydra.Ext.Pegasus.Coder: slashesToDots :: String -> String
+ Hydra.Ext.Pegasus.Coder: toPair :: Module -> t0 -> (NamedSchema, [QualifiedName]) -> (String, SchemaFile)
+ Hydra.Ext.Pegasus.Coder: typeToSchema :: t0 -> Graph -> Map ModuleName String -> t1 -> TypeDefinition -> Either Error (NamedSchema, [t2])
+ Hydra.Ext.Pegasus.Language: pdlLanguage :: Language
+ Hydra.Ext.Pegasus.Pdl: Annotations :: Maybe String -> Bool -> Annotations
+ Hydra.Ext.Pegasus.Pdl: EnumField :: EnumFieldName -> Annotations -> EnumField
+ Hydra.Ext.Pegasus.Pdl: EnumFieldName :: String -> EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: EnumSchema :: [EnumField] -> EnumSchema
+ Hydra.Ext.Pegasus.Pdl: FieldName :: String -> FieldName
+ Hydra.Ext.Pegasus.Pdl: Name :: String -> Name
+ Hydra.Ext.Pegasus.Pdl: NamedSchema :: QualifiedName -> NamedSchemaType -> Annotations -> NamedSchema
+ Hydra.Ext.Pegasus.Pdl: NamedSchemaTypeEnum :: EnumSchema -> NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: NamedSchemaTypeRecord :: RecordSchema -> NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: NamedSchemaTypeTyperef :: Schema -> NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: Namespace :: String -> Namespace
+ Hydra.Ext.Pegasus.Pdl: Package :: String -> Package
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeBoolean :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeBytes :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeDouble :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeFloat :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeInt :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeLong :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: PrimitiveTypeString :: PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: Property :: PropertyKey -> Maybe Value -> Property
+ Hydra.Ext.Pegasus.Pdl: PropertyKey :: String -> PropertyKey
+ Hydra.Ext.Pegasus.Pdl: QualifiedName :: Name -> Maybe Namespace -> QualifiedName
+ Hydra.Ext.Pegasus.Pdl: RecordField :: FieldName -> Schema -> Bool -> Maybe Value -> Annotations -> RecordField
+ Hydra.Ext.Pegasus.Pdl: RecordSchema :: [RecordField] -> [NamedSchema] -> RecordSchema
+ Hydra.Ext.Pegasus.Pdl: SchemaArray :: Schema -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaFile :: Namespace -> Maybe Package -> [QualifiedName] -> [NamedSchema] -> SchemaFile
+ Hydra.Ext.Pegasus.Pdl: SchemaFixed :: Int -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaInline :: NamedSchema -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaMap :: Schema -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaNamed :: QualifiedName -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaNull :: Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaPrimitive :: PrimitiveType -> Schema
+ Hydra.Ext.Pegasus.Pdl: SchemaUnion :: UnionSchema -> Schema
+ Hydra.Ext.Pegasus.Pdl: UnionMember :: Maybe FieldName -> Schema -> Annotations -> UnionMember
+ Hydra.Ext.Pegasus.Pdl: UnionSchema :: [UnionMember] -> UnionSchema
+ Hydra.Ext.Pegasus.Pdl: [annotationsDeprecated] :: Annotations -> Bool
+ Hydra.Ext.Pegasus.Pdl: [annotationsDoc] :: Annotations -> Maybe String
+ Hydra.Ext.Pegasus.Pdl: [enumFieldAnnotations] :: EnumField -> Annotations
+ Hydra.Ext.Pegasus.Pdl: [enumFieldName] :: EnumField -> EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: [enumSchemaFields] :: EnumSchema -> [EnumField]
+ Hydra.Ext.Pegasus.Pdl: [namedSchemaAnnotations] :: NamedSchema -> Annotations
+ Hydra.Ext.Pegasus.Pdl: [namedSchemaQualifiedName] :: NamedSchema -> QualifiedName
+ Hydra.Ext.Pegasus.Pdl: [namedSchemaType] :: NamedSchema -> NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: [propertyKey] :: Property -> PropertyKey
+ Hydra.Ext.Pegasus.Pdl: [propertyValue] :: Property -> Maybe Value
+ Hydra.Ext.Pegasus.Pdl: [qualifiedNameName] :: QualifiedName -> Name
+ Hydra.Ext.Pegasus.Pdl: [qualifiedNameNamespace] :: QualifiedName -> Maybe Namespace
+ Hydra.Ext.Pegasus.Pdl: [recordFieldAnnotations] :: RecordField -> Annotations
+ Hydra.Ext.Pegasus.Pdl: [recordFieldDefault] :: RecordField -> Maybe Value
+ Hydra.Ext.Pegasus.Pdl: [recordFieldName] :: RecordField -> FieldName
+ Hydra.Ext.Pegasus.Pdl: [recordFieldOptional] :: RecordField -> Bool
+ Hydra.Ext.Pegasus.Pdl: [recordFieldValue] :: RecordField -> Schema
+ Hydra.Ext.Pegasus.Pdl: [recordSchemaFields] :: RecordSchema -> [RecordField]
+ Hydra.Ext.Pegasus.Pdl: [recordSchemaIncludes] :: RecordSchema -> [NamedSchema]
+ Hydra.Ext.Pegasus.Pdl: [schemaFileImports] :: SchemaFile -> [QualifiedName]
+ Hydra.Ext.Pegasus.Pdl: [schemaFileNamespace] :: SchemaFile -> Namespace
+ Hydra.Ext.Pegasus.Pdl: [schemaFilePackage] :: SchemaFile -> Maybe Package
+ Hydra.Ext.Pegasus.Pdl: [schemaFileSchemas] :: SchemaFile -> [NamedSchema]
+ Hydra.Ext.Pegasus.Pdl: [unEnumFieldName] :: EnumFieldName -> String
+ Hydra.Ext.Pegasus.Pdl: [unFieldName] :: FieldName -> String
+ Hydra.Ext.Pegasus.Pdl: [unName] :: Name -> String
+ Hydra.Ext.Pegasus.Pdl: [unNamespace] :: Namespace -> String
+ Hydra.Ext.Pegasus.Pdl: [unPackage] :: Package -> String
+ Hydra.Ext.Pegasus.Pdl: [unPropertyKey] :: PropertyKey -> String
+ Hydra.Ext.Pegasus.Pdl: [unUnionSchema] :: UnionSchema -> [UnionMember]
+ Hydra.Ext.Pegasus.Pdl: [unionMemberAlias] :: UnionMember -> Maybe FieldName
+ Hydra.Ext.Pegasus.Pdl: [unionMemberAnnotations] :: UnionMember -> Annotations
+ Hydra.Ext.Pegasus.Pdl: [unionMemberValue] :: UnionMember -> Schema
+ Hydra.Ext.Pegasus.Pdl: _Annotations :: Name
+ Hydra.Ext.Pegasus.Pdl: _Annotations_deprecated :: Name
+ Hydra.Ext.Pegasus.Pdl: _Annotations_doc :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumField :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumFieldName :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumField_annotations :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumField_name :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumSchema :: Name
+ Hydra.Ext.Pegasus.Pdl: _EnumSchema_fields :: Name
+ Hydra.Ext.Pegasus.Pdl: _FieldName :: Name
+ Hydra.Ext.Pegasus.Pdl: _Name :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchema :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchemaType :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchemaType_enum :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchemaType_record :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchemaType_typeref :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchema_annotations :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchema_qualifiedName :: Name
+ Hydra.Ext.Pegasus.Pdl: _NamedSchema_type :: Name
+ Hydra.Ext.Pegasus.Pdl: _Namespace :: Name
+ Hydra.Ext.Pegasus.Pdl: _Package :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_boolean :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_bytes :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_double :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_float :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_int :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_long :: Name
+ Hydra.Ext.Pegasus.Pdl: _PrimitiveType_string :: Name
+ Hydra.Ext.Pegasus.Pdl: _Property :: Name
+ Hydra.Ext.Pegasus.Pdl: _PropertyKey :: Name
+ Hydra.Ext.Pegasus.Pdl: _Property_key :: Name
+ Hydra.Ext.Pegasus.Pdl: _Property_value :: Name
+ Hydra.Ext.Pegasus.Pdl: _QualifiedName :: Name
+ Hydra.Ext.Pegasus.Pdl: _QualifiedName_name :: Name
+ Hydra.Ext.Pegasus.Pdl: _QualifiedName_namespace :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField_annotations :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField_default :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField_name :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField_optional :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordField_value :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordSchema :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordSchema_fields :: Name
+ Hydra.Ext.Pegasus.Pdl: _RecordSchema_includes :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema :: Name
+ Hydra.Ext.Pegasus.Pdl: _SchemaFile :: Name
+ Hydra.Ext.Pegasus.Pdl: _SchemaFile_imports :: Name
+ Hydra.Ext.Pegasus.Pdl: _SchemaFile_namespace :: Name
+ Hydra.Ext.Pegasus.Pdl: _SchemaFile_package :: Name
+ Hydra.Ext.Pegasus.Pdl: _SchemaFile_schemas :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_array :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_fixed :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_inline :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_map :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_named :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_null :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_primitive :: Name
+ Hydra.Ext.Pegasus.Pdl: _Schema_union :: Name
+ Hydra.Ext.Pegasus.Pdl: _UnionMember :: Name
+ Hydra.Ext.Pegasus.Pdl: _UnionMember_alias :: Name
+ Hydra.Ext.Pegasus.Pdl: _UnionMember_annotations :: Name
+ Hydra.Ext.Pegasus.Pdl: _UnionMember_value :: Name
+ Hydra.Ext.Pegasus.Pdl: _UnionSchema :: Name
+ Hydra.Ext.Pegasus.Pdl: data Annotations
+ Hydra.Ext.Pegasus.Pdl: data EnumField
+ Hydra.Ext.Pegasus.Pdl: data EnumSchema
+ Hydra.Ext.Pegasus.Pdl: data NamedSchema
+ Hydra.Ext.Pegasus.Pdl: data NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: data PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: data Property
+ Hydra.Ext.Pegasus.Pdl: data QualifiedName
+ Hydra.Ext.Pegasus.Pdl: data RecordField
+ Hydra.Ext.Pegasus.Pdl: data RecordSchema
+ Hydra.Ext.Pegasus.Pdl: data Schema
+ Hydra.Ext.Pegasus.Pdl: data SchemaFile
+ Hydra.Ext.Pegasus.Pdl: data UnionMember
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Annotations
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.EnumField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.EnumSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.FieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Name
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.NamedSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Namespace
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Package
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Property
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.PropertyKey
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.QualifiedName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.RecordField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.RecordSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.Schema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.SchemaFile
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.UnionMember
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Eq Hydra.Ext.Pegasus.Pdl.UnionSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Annotations
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.EnumField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.EnumSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.FieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Name
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.NamedSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Namespace
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Package
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Property
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.PropertyKey
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.QualifiedName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.RecordField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.RecordSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.Schema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.SchemaFile
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.UnionMember
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Classes.Ord Hydra.Ext.Pegasus.Pdl.UnionSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Annotations
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.EnumField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.EnumSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.FieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Name
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.NamedSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Namespace
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Package
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Property
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.PropertyKey
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.QualifiedName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.RecordField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.RecordSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.Schema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.SchemaFile
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.UnionMember
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Read.Read Hydra.Ext.Pegasus.Pdl.UnionSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Annotations
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.EnumField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.EnumSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.FieldName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Name
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.NamedSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.NamedSchemaType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Namespace
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Package
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.PrimitiveType
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Property
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.PropertyKey
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.QualifiedName
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.RecordField
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.RecordSchema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.Schema
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.SchemaFile
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.UnionMember
+ Hydra.Ext.Pegasus.Pdl: instance GHC.Internal.Show.Show Hydra.Ext.Pegasus.Pdl.UnionSchema
+ Hydra.Ext.Pegasus.Pdl: newtype EnumFieldName
+ Hydra.Ext.Pegasus.Pdl: newtype FieldName
+ Hydra.Ext.Pegasus.Pdl: newtype Name
+ Hydra.Ext.Pegasus.Pdl: newtype Namespace
+ Hydra.Ext.Pegasus.Pdl: newtype Package
+ Hydra.Ext.Pegasus.Pdl: newtype PropertyKey
+ Hydra.Ext.Pegasus.Pdl: newtype UnionSchema
+ Hydra.Ext.Pegasus.Serde: annotationsToExpr :: Annotations -> Maybe Expr
+ Hydra.Ext.Pegasus.Serde: enumFieldToExpr :: EnumField -> Expr
+ Hydra.Ext.Pegasus.Serde: importToExpr :: QualifiedName -> Expr
+ Hydra.Ext.Pegasus.Serde: namedSchemaToExpr :: NamedSchema -> Expr
+ Hydra.Ext.Pegasus.Serde: primitiveTypeToExpr :: PrimitiveType -> Expr
+ Hydra.Ext.Pegasus.Serde: qualifiedNameToExpr :: QualifiedName -> Expr
+ Hydra.Ext.Pegasus.Serde: recordFieldToExpr :: RecordField -> Expr
+ Hydra.Ext.Pegasus.Serde: schemaFileToExpr :: SchemaFile -> Expr
+ Hydra.Ext.Pegasus.Serde: schemaToExpr :: Schema -> Expr
+ Hydra.Ext.Pegasus.Serde: unionMemberToExpr :: UnionMember -> Expr
+ Hydra.Ext.Pegasus.Serde: withAnnotations :: Annotations -> Expr -> Expr
+ Hydra.Ext.Protobuf.Any: Any :: String -> ByteString -> Any
+ Hydra.Ext.Protobuf.Any: [anyTypeUrl] :: Any -> String
+ Hydra.Ext.Protobuf.Any: [anyValue] :: Any -> ByteString
+ Hydra.Ext.Protobuf.Any: _Any :: Name
+ Hydra.Ext.Protobuf.Any: _Any_typeUrl :: Name
+ Hydra.Ext.Protobuf.Any: _Any_value :: Name
+ Hydra.Ext.Protobuf.Any: data Any
+ Hydra.Ext.Protobuf.Any: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Any.Any
+ Hydra.Ext.Protobuf.Any: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Any.Any
+ Hydra.Ext.Protobuf.Any: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Any.Any
+ Hydra.Ext.Protobuf.Any: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Any.Any
+ Hydra.Ext.Protobuf.Coder: collectStructuralTypes :: [Type] -> Set StructuralTypeRef
+ Hydra.Ext.Protobuf.Coder: collectStructuralTypesFromType :: Type -> Set StructuralTypeRef
+ Hydra.Ext.Protobuf.Coder: constructModule :: EncoderState -> Graph -> Module -> [TypeDefinition] -> Either Error ProtoFile
+ Hydra.Ext.Protobuf.Coder: encodeDefinition :: EncoderState -> Graph -> ModuleName -> Name -> Type -> Either Error Definition
+ Hydra.Ext.Protobuf.Coder: encodeEnumDefinition :: EncoderState -> Graph -> [Option] -> Name -> [FieldType] -> Either Error EnumDefinition
+ Hydra.Ext.Protobuf.Coder: encodeEnumValueName :: Name -> Name -> EnumValueName
+ Hydra.Ext.Protobuf.Coder: encodeFieldName :: Bool -> Name -> FieldName
+ Hydra.Ext.Protobuf.Coder: encodeFieldType :: EncoderState -> Graph -> ModuleName -> FieldType -> Either Error (Field, EncoderState)
+ Hydra.Ext.Protobuf.Coder: encodeRecordType :: EncoderState -> Graph -> ModuleName -> [Option] -> Name -> [FieldType] -> Either Error MessageDefinition
+ Hydra.Ext.Protobuf.Coder: encodeScalarType :: t0 -> LiteralType -> Either Error ScalarType
+ Hydra.Ext.Protobuf.Coder: encodeScalarTypeWrapped :: t0 -> LiteralType -> Either Error SimpleType
+ Hydra.Ext.Protobuf.Coder: encodeSimpleTypeForHelper :: t0 -> ModuleName -> Type -> Either Error SimpleType
+ Hydra.Ext.Protobuf.Coder: encodeTypeName :: Name -> TypeName
+ Hydra.Ext.Protobuf.Coder: encodeTypeReference :: ModuleName -> Name -> TypeName
+ Hydra.Ext.Protobuf.Coder: err :: t0 -> String -> Either Error t1
+ Hydra.Ext.Protobuf.Coder: findOptions :: EncoderState -> Graph -> Type -> Either Error [Option]
+ Hydra.Ext.Protobuf.Coder: flattenType :: Type -> Type
+ Hydra.Ext.Protobuf.Coder: fromEitherString :: t0 -> Either String t1 -> Either Error t1
+ Hydra.Ext.Protobuf.Coder: generateStructuralTypeMessage :: EncoderState -> t0 -> ModuleName -> StructuralTypeRef -> Either Error (Definition, EncoderState)
+ Hydra.Ext.Protobuf.Coder: isEnumDefinition :: Type -> Bool
+ Hydra.Ext.Protobuf.Coder: isEnumFields :: [FieldType] -> Bool
+ Hydra.Ext.Protobuf.Coder: javaMultipleFilesOptionName :: String
+ Hydra.Ext.Protobuf.Coder: javaPackageOptionName :: String
+ Hydra.Ext.Protobuf.Coder: keyProtoFieldIndex :: Name
+ Hydra.Ext.Protobuf.Coder: mapAccumResult :: (t0 -> t1 -> Either t2 (t3, t0)) -> t0 -> [t1] -> Either t2 ([t3], t0)
+ Hydra.Ext.Protobuf.Coder: moduleToProtobuf :: Module -> [Definition] -> InferenceContext -> Graph -> Either Error (Map String String)
+ Hydra.Ext.Protobuf.Coder: namespaceToFileReference :: ModuleName -> FileReference
+ Hydra.Ext.Protobuf.Coder: namespaceToPackageName :: ModuleName -> PackageName
+ Hydra.Ext.Protobuf.Coder: readBooleanAnnotation :: t0 -> Graph -> Name -> Type -> Either Error Bool
+ Hydra.Ext.Protobuf.Coder: simplifyType :: Type -> Type
+ Hydra.Ext.Protobuf.Coder: structuralTypeName :: t0 -> StructuralTypeRef -> TypeName
+ Hydra.Ext.Protobuf.Coder: unexpectedE :: t0 -> String -> String -> Either Error t1
+ Hydra.Ext.Protobuf.Environment: EncoderState :: InferenceContext -> Int -> EncoderState
+ Hydra.Ext.Protobuf.Environment: StructuralTypeRefEither :: (Type, Type) -> StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: StructuralTypeRefPair :: (Type, Type) -> StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: [encoderStateContext] :: EncoderState -> InferenceContext
+ Hydra.Ext.Protobuf.Environment: [encoderStateFieldIndex] :: EncoderState -> Int
+ Hydra.Ext.Protobuf.Environment: _EncoderState :: Name
+ Hydra.Ext.Protobuf.Environment: _EncoderState_context :: Name
+ Hydra.Ext.Protobuf.Environment: _EncoderState_fieldIndex :: Name
+ Hydra.Ext.Protobuf.Environment: _StructuralTypeRef :: Name
+ Hydra.Ext.Protobuf.Environment: _StructuralTypeRef_either :: Name
+ Hydra.Ext.Protobuf.Environment: _StructuralTypeRef_pair :: Name
+ Hydra.Ext.Protobuf.Environment: data EncoderState
+ Hydra.Ext.Protobuf.Environment: data StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Environment.EncoderState
+ Hydra.Ext.Protobuf.Environment: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Environment.StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Environment.EncoderState
+ Hydra.Ext.Protobuf.Environment: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Environment.StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Environment.EncoderState
+ Hydra.Ext.Protobuf.Environment: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Environment.StructuralTypeRef
+ Hydra.Ext.Protobuf.Environment: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Environment.EncoderState
+ Hydra.Ext.Protobuf.Environment: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Environment.StructuralTypeRef
+ Hydra.Ext.Protobuf.Language: protobufLanguage :: Language
+ Hydra.Ext.Protobuf.Language: protobufReservedWords :: Set String
+ Hydra.Ext.Protobuf.Proto3: DefinitionEnum :: EnumDefinition -> Definition
+ Hydra.Ext.Protobuf.Proto3: DefinitionMessage :: MessageDefinition -> Definition
+ Hydra.Ext.Protobuf.Proto3: EnumDefinition :: TypeName -> [EnumValue] -> [Option] -> EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: EnumValue :: EnumValueName -> Int -> [Option] -> EnumValue
+ Hydra.Ext.Protobuf.Proto3: EnumValueName :: String -> EnumValueName
+ Hydra.Ext.Protobuf.Proto3: Field :: FieldName -> Maybe String -> FieldType -> Int -> [Option] -> Field
+ Hydra.Ext.Protobuf.Proto3: FieldName :: String -> FieldName
+ Hydra.Ext.Protobuf.Proto3: FieldTypeMap :: MapType -> FieldType
+ Hydra.Ext.Protobuf.Proto3: FieldTypeOneof :: [Field] -> FieldType
+ Hydra.Ext.Protobuf.Proto3: FieldTypeRepeated :: SimpleType -> FieldType
+ Hydra.Ext.Protobuf.Proto3: FieldTypeSimple :: SimpleType -> FieldType
+ Hydra.Ext.Protobuf.Proto3: FileReference :: String -> FileReference
+ Hydra.Ext.Protobuf.Proto3: MapType :: SimpleType -> SimpleType -> MapType
+ Hydra.Ext.Protobuf.Proto3: MessageDefinition :: TypeName -> [Field] -> [Option] -> MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: Option :: String -> Value -> Option
+ Hydra.Ext.Protobuf.Proto3: PackageName :: String -> PackageName
+ Hydra.Ext.Protobuf.Proto3: ProtoFile :: PackageName -> [FileReference] -> [Definition] -> [Option] -> ProtoFile
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeBool :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeBytes :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeDouble :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeFixed32 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeFixed64 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeFloat :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeInt32 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeInt64 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeSfixed32 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeSfixed64 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeSint32 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeSint64 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeString :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeUint32 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: ScalarTypeUint64 :: ScalarType
+ Hydra.Ext.Protobuf.Proto3: SimpleTypeReference :: TypeName -> SimpleType
+ Hydra.Ext.Protobuf.Proto3: SimpleTypeScalar :: ScalarType -> SimpleType
+ Hydra.Ext.Protobuf.Proto3: TypeName :: String -> TypeName
+ Hydra.Ext.Protobuf.Proto3: TypeReference :: String -> TypeReference
+ Hydra.Ext.Protobuf.Proto3: ValueBoolean :: Bool -> Value
+ Hydra.Ext.Protobuf.Proto3: ValueString :: String -> Value
+ Hydra.Ext.Protobuf.Proto3: [enumDefinitionName] :: EnumDefinition -> TypeName
+ Hydra.Ext.Protobuf.Proto3: [enumDefinitionOptions] :: EnumDefinition -> [Option]
+ Hydra.Ext.Protobuf.Proto3: [enumDefinitionValues] :: EnumDefinition -> [EnumValue]
+ Hydra.Ext.Protobuf.Proto3: [enumValueName] :: EnumValue -> EnumValueName
+ Hydra.Ext.Protobuf.Proto3: [enumValueNumber] :: EnumValue -> Int
+ Hydra.Ext.Protobuf.Proto3: [enumValueOptions] :: EnumValue -> [Option]
+ Hydra.Ext.Protobuf.Proto3: [fieldJsonName] :: Field -> Maybe String
+ Hydra.Ext.Protobuf.Proto3: [fieldName] :: Field -> FieldName
+ Hydra.Ext.Protobuf.Proto3: [fieldNumber] :: Field -> Int
+ Hydra.Ext.Protobuf.Proto3: [fieldOptions] :: Field -> [Option]
+ Hydra.Ext.Protobuf.Proto3: [fieldType] :: Field -> FieldType
+ Hydra.Ext.Protobuf.Proto3: [mapTypeKeys] :: MapType -> SimpleType
+ Hydra.Ext.Protobuf.Proto3: [mapTypeValues] :: MapType -> SimpleType
+ Hydra.Ext.Protobuf.Proto3: [messageDefinitionFields] :: MessageDefinition -> [Field]
+ Hydra.Ext.Protobuf.Proto3: [messageDefinitionName] :: MessageDefinition -> TypeName
+ Hydra.Ext.Protobuf.Proto3: [messageDefinitionOptions] :: MessageDefinition -> [Option]
+ Hydra.Ext.Protobuf.Proto3: [optionName] :: Option -> String
+ Hydra.Ext.Protobuf.Proto3: [optionValue] :: Option -> Value
+ Hydra.Ext.Protobuf.Proto3: [protoFileImports] :: ProtoFile -> [FileReference]
+ Hydra.Ext.Protobuf.Proto3: [protoFileOptions] :: ProtoFile -> [Option]
+ Hydra.Ext.Protobuf.Proto3: [protoFilePackage] :: ProtoFile -> PackageName
+ Hydra.Ext.Protobuf.Proto3: [protoFileTypes] :: ProtoFile -> [Definition]
+ Hydra.Ext.Protobuf.Proto3: [unEnumValueName] :: EnumValueName -> String
+ Hydra.Ext.Protobuf.Proto3: [unFieldName] :: FieldName -> String
+ Hydra.Ext.Protobuf.Proto3: [unFileReference] :: FileReference -> String
+ Hydra.Ext.Protobuf.Proto3: [unPackageName] :: PackageName -> String
+ Hydra.Ext.Protobuf.Proto3: [unTypeName] :: TypeName -> String
+ Hydra.Ext.Protobuf.Proto3: [unTypeReference] :: TypeReference -> String
+ Hydra.Ext.Protobuf.Proto3: _Definition :: Name
+ Hydra.Ext.Protobuf.Proto3: _Definition_enum :: Name
+ Hydra.Ext.Protobuf.Proto3: _Definition_message :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumDefinition :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumDefinition_name :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumDefinition_options :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumDefinition_values :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumValue :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumValueName :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumValue_name :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumValue_number :: Name
+ Hydra.Ext.Protobuf.Proto3: _EnumValue_options :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldName :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldType :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldType_map :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldType_oneof :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldType_repeated :: Name
+ Hydra.Ext.Protobuf.Proto3: _FieldType_simple :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field_jsonName :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field_name :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field_number :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field_options :: Name
+ Hydra.Ext.Protobuf.Proto3: _Field_type :: Name
+ Hydra.Ext.Protobuf.Proto3: _FileReference :: Name
+ Hydra.Ext.Protobuf.Proto3: _MapType :: Name
+ Hydra.Ext.Protobuf.Proto3: _MapType_keys :: Name
+ Hydra.Ext.Protobuf.Proto3: _MapType_values :: Name
+ Hydra.Ext.Protobuf.Proto3: _MessageDefinition :: Name
+ Hydra.Ext.Protobuf.Proto3: _MessageDefinition_fields :: Name
+ Hydra.Ext.Protobuf.Proto3: _MessageDefinition_name :: Name
+ Hydra.Ext.Protobuf.Proto3: _MessageDefinition_options :: Name
+ Hydra.Ext.Protobuf.Proto3: _Option :: Name
+ Hydra.Ext.Protobuf.Proto3: _Option_name :: Name
+ Hydra.Ext.Protobuf.Proto3: _Option_value :: Name
+ Hydra.Ext.Protobuf.Proto3: _PackageName :: Name
+ Hydra.Ext.Protobuf.Proto3: _ProtoFile :: Name
+ Hydra.Ext.Protobuf.Proto3: _ProtoFile_imports :: Name
+ Hydra.Ext.Protobuf.Proto3: _ProtoFile_options :: Name
+ Hydra.Ext.Protobuf.Proto3: _ProtoFile_package :: Name
+ Hydra.Ext.Protobuf.Proto3: _ProtoFile_types :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_bool :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_bytes :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_double :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_fixed32 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_fixed64 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_float :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_int32 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_int64 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_sfixed32 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_sfixed64 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_sint32 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_sint64 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_string :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_uint32 :: Name
+ Hydra.Ext.Protobuf.Proto3: _ScalarType_uint64 :: Name
+ Hydra.Ext.Protobuf.Proto3: _SimpleType :: Name
+ Hydra.Ext.Protobuf.Proto3: _SimpleType_reference :: Name
+ Hydra.Ext.Protobuf.Proto3: _SimpleType_scalar :: Name
+ Hydra.Ext.Protobuf.Proto3: _TypeName :: Name
+ Hydra.Ext.Protobuf.Proto3: _TypeReference :: Name
+ Hydra.Ext.Protobuf.Proto3: _Value :: Name
+ Hydra.Ext.Protobuf.Proto3: _Value_boolean :: Name
+ Hydra.Ext.Protobuf.Proto3: _Value_string :: Name
+ Hydra.Ext.Protobuf.Proto3: data Definition
+ Hydra.Ext.Protobuf.Proto3: data EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: data EnumValue
+ Hydra.Ext.Protobuf.Proto3: data Field
+ Hydra.Ext.Protobuf.Proto3: data FieldType
+ Hydra.Ext.Protobuf.Proto3: data MapType
+ Hydra.Ext.Protobuf.Proto3: data MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: data Option
+ Hydra.Ext.Protobuf.Proto3: data ProtoFile
+ Hydra.Ext.Protobuf.Proto3: data ScalarType
+ Hydra.Ext.Protobuf.Proto3: data SimpleType
+ Hydra.Ext.Protobuf.Proto3: data Value
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.Definition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.EnumValue
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.EnumValueName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.Field
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.FieldName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.FieldType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.FileReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.MapType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.Option
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.PackageName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.ProtoFile
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.ScalarType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.SimpleType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.TypeName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.TypeReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Eq Hydra.Ext.Protobuf.Proto3.Value
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.Definition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.EnumValue
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.EnumValueName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.Field
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.FieldName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.FieldType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.FileReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.MapType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.Option
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.PackageName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.ProtoFile
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.ScalarType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.SimpleType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.TypeName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.TypeReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Classes.Ord Hydra.Ext.Protobuf.Proto3.Value
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.Definition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.EnumValue
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.EnumValueName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.Field
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.FieldName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.FieldType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.FileReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.MapType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.Option
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.PackageName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.ProtoFile
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.ScalarType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.SimpleType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.TypeName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.TypeReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.Proto3.Value
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.Definition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.EnumDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.EnumValue
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.EnumValueName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.Field
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.FieldName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.FieldType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.FileReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.MapType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.MessageDefinition
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.Option
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.PackageName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.ProtoFile
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.ScalarType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.SimpleType
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.TypeName
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.TypeReference
+ Hydra.Ext.Protobuf.Proto3: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.Proto3.Value
+ Hydra.Ext.Protobuf.Proto3: newtype EnumValueName
+ Hydra.Ext.Protobuf.Proto3: newtype FieldName
+ Hydra.Ext.Protobuf.Proto3: newtype FileReference
+ Hydra.Ext.Protobuf.Proto3: newtype PackageName
+ Hydra.Ext.Protobuf.Proto3: newtype TypeName
+ Hydra.Ext.Protobuf.Proto3: newtype TypeReference
+ Hydra.Ext.Protobuf.Serde: definitionToExpr :: Definition -> Expr
+ Hydra.Ext.Protobuf.Serde: deprecatedOptionName :: String
+ Hydra.Ext.Protobuf.Serde: descriptionOptionName :: String
+ Hydra.Ext.Protobuf.Serde: enumDefinitionToExpr :: EnumDefinition -> Expr
+ Hydra.Ext.Protobuf.Serde: enumValueToExpr :: EnumValue -> Expr
+ Hydra.Ext.Protobuf.Serde: excludeInternalOptions :: [Option] -> [Option]
+ Hydra.Ext.Protobuf.Serde: fieldOptionToExpr :: Option -> Expr
+ Hydra.Ext.Protobuf.Serde: fieldOptionsToExpr :: [Option] -> Maybe Expr
+ Hydra.Ext.Protobuf.Serde: fieldToExpr :: Field -> Expr
+ Hydra.Ext.Protobuf.Serde: fieldTypeToExpr :: FieldType -> Expr
+ Hydra.Ext.Protobuf.Serde: fileOptionToExpr :: Option -> Expr
+ Hydra.Ext.Protobuf.Serde: fileOptionsToExpr :: [Option] -> Maybe Expr
+ Hydra.Ext.Protobuf.Serde: importToExpr :: FileReference -> Expr
+ Hydra.Ext.Protobuf.Serde: messageDefinitionToExpr :: MessageDefinition -> Expr
+ Hydra.Ext.Protobuf.Serde: optDesc :: Bool -> [Option] -> Expr -> Expr
+ Hydra.Ext.Protobuf.Serde: protoBlock :: [Expr] -> Expr
+ Hydra.Ext.Protobuf.Serde: protoFileToExpr :: ProtoFile -> Expr
+ Hydra.Ext.Protobuf.Serde: scalarTypeToExpr :: ScalarType -> Expr
+ Hydra.Ext.Protobuf.Serde: semi :: Expr -> Expr
+ Hydra.Ext.Protobuf.Serde: simpleTypeToExpr :: SimpleType -> Expr
+ Hydra.Ext.Protobuf.Serde: valueToExpr :: Value -> Expr
+ Hydra.Ext.Protobuf.SourceContext: SourceContext :: String -> SourceContext
+ Hydra.Ext.Protobuf.SourceContext: [sourceContextFileName] :: SourceContext -> String
+ Hydra.Ext.Protobuf.SourceContext: _SourceContext :: Name
+ Hydra.Ext.Protobuf.SourceContext: _SourceContext_fileName :: Name
+ Hydra.Ext.Protobuf.SourceContext: data SourceContext
+ Hydra.Ext.Protobuf.SourceContext: instance GHC.Classes.Eq Hydra.Ext.Protobuf.SourceContext.SourceContext
+ Hydra.Ext.Protobuf.SourceContext: instance GHC.Classes.Ord Hydra.Ext.Protobuf.SourceContext.SourceContext
+ Hydra.Ext.Protobuf.SourceContext: instance GHC.Internal.Read.Read Hydra.Ext.Protobuf.SourceContext.SourceContext
+ Hydra.Ext.Protobuf.SourceContext: instance GHC.Internal.Show.Show Hydra.Ext.Protobuf.SourceContext.SourceContext
+ Hydra.Ext.Sql.Syntax: ApproximateNumericLiteral :: String -> ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: ApproximateNumericTypeDouble :: ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: ApproximateNumericTypeFloat :: Maybe Precision -> ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: ApproximateNumericTypeReal :: ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: ArrayElement :: ValueExpression -> ArrayElement
+ Hydra.Ext.Sql.Syntax: ArrayElementList :: ArrayElement -> [ArrayElement] -> ArrayElementList
+ Hydra.Ext.Sql.Syntax: ArrayElementReference :: () -> ArrayElementReference
+ Hydra.Ext.Sql.Syntax: ArrayType :: () -> ArrayType
+ Hydra.Ext.Sql.Syntax: ArrayValueConstructorByEnumeration :: LeftBracketOrTrigraph -> ArrayElementList -> RightBracketOrTrigraph -> ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: ArrayValueConstructorByQuery :: () -> ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: ArrayValueConstructorEnumeration :: ArrayValueConstructorByEnumeration -> ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: ArrayValueConstructorQuery :: ArrayValueConstructorByQuery -> ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: ArrayValueExpression :: () -> ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: AsSubqueryClause :: () -> AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: AttributeOrMethodReference :: () -> AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: BinaryLargeObjectStringTypeBinary :: Maybe LargeObjectLength -> BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: BinaryLargeObjectStringTypeBlob :: Maybe LargeObjectLength -> BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: BinaryStringLiteral :: () -> BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: BooleanFactor :: Maybe () -> BooleanTest -> BooleanFactor
+ Hydra.Ext.Sql.Syntax: BooleanLiteralFALSE :: BooleanLiteral
+ Hydra.Ext.Sql.Syntax: BooleanLiteralTRUE :: BooleanLiteral
+ Hydra.Ext.Sql.Syntax: BooleanLiteralUNKNOWN :: BooleanLiteral
+ Hydra.Ext.Sql.Syntax: BooleanPredicand :: () -> BooleanPredicand
+ Hydra.Ext.Sql.Syntax: BooleanPrimaryPredicand :: BooleanPredicand -> BooleanPrimary
+ Hydra.Ext.Sql.Syntax: BooleanPrimaryPredicate :: Predicate -> BooleanPrimary
+ Hydra.Ext.Sql.Syntax: BooleanTermAnd :: BooleanTerm -> BooleanFactor -> BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: BooleanTermConjunction :: BooleanTermAnd -> BooleanTerm
+ Hydra.Ext.Sql.Syntax: BooleanTermFactor :: BooleanFactor -> BooleanTerm
+ Hydra.Ext.Sql.Syntax: BooleanTest :: BooleanPrimary -> Maybe BooleanTestSequenceOption -> BooleanTest
+ Hydra.Ext.Sql.Syntax: BooleanTestSequenceOption :: Maybe () -> TruthValue -> BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: BooleanType :: () -> BooleanType
+ Hydra.Ext.Sql.Syntax: BooleanValueExpressionDisjunction :: BooleanValueExpressionOr -> BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: BooleanValueExpressionOr :: BooleanValueExpression -> BooleanTerm -> BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: BooleanValueExpressionTerm :: BooleanTerm -> BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: CaseExpression :: () -> CaseExpression
+ Hydra.Ext.Sql.Syntax: CastSpecification :: () -> CastSpecification
+ Hydra.Ext.Sql.Syntax: CharacterSetSpecification :: () -> CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: CharacterStringLiteral :: String -> CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeChar :: Maybe Length -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeCharLargeObject :: Maybe LargeObjectLength -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeCharVarying :: Length -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeCharacter :: Maybe Length -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeCharacterLargeObject :: Maybe LargeObjectLength -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeCharacterVarying :: Length -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeClob :: Maybe LargeObjectLength -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CharacterStringTypeVarchar :: Length -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: CollateClause :: () -> CollateClause
+ Hydra.Ext.Sql.Syntax: CollectionTypeArray :: ArrayType -> CollectionType
+ Hydra.Ext.Sql.Syntax: CollectionTypeMultiset :: MultisetType -> CollectionType
+ Hydra.Ext.Sql.Syntax: CollectionValueConstructorArray :: ArrayValueConstructor -> CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: CollectionValueConstructorMultiset :: MultisetValueConstructor -> CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: CollectionValueExpressionArray :: ArrayValueExpression -> CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: CollectionValueExpressionMultiset :: MultisetValueExpression -> CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: ColumnConstraintDefinition :: () -> ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: ColumnDefinition :: ColumnName -> Maybe ColumnDefinitionTypeOrDomainOption -> Maybe ReferenceScopeCheck -> Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption -> [ColumnConstraintDefinition] -> Maybe CollateClause -> ColumnDefinition
+ Hydra.Ext.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause :: DefaultClause -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause :: GenerationClause -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: ColumnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification :: IdentityColumnSpecification -> ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: ColumnDefinitionTypeOrDomainOptionDataType :: DataType -> ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: ColumnDefinitionTypeOrDomainOptionDomainName :: DomainName -> ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: ColumnName :: String -> ColumnName
+ Hydra.Ext.Sql.Syntax: ColumnNameList :: ColumnName -> [ColumnName] -> ColumnNameList
+ Hydra.Ext.Sql.Syntax: ColumnOptions :: () -> ColumnOptions
+ Hydra.Ext.Sql.Syntax: ColumnReference :: () -> ColumnReference
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionCollection :: CollectionValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionDatetime :: DatetimeValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionInterval :: IntervalValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionNumeric :: NumericValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionReference :: ReferenceValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionString :: StringValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: CommonValueExpressionUserDefined :: UserDefinedTypeValueExpression -> CommonValueExpression
+ Hydra.Ext.Sql.Syntax: ContextuallyTypedRowValueConstructor :: () -> ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: ContextuallyTypedRowValueExpressionConstructor :: ContextuallyTypedRowValueConstructor -> ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: ContextuallyTypedRowValueExpressionList :: ContextuallyTypedRowValueExpression -> [ContextuallyTypedRowValueExpression] -> ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: ContextuallyTypedRowValueExpressionSpecialCase :: RowValueSpecialCase -> ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: ContextuallyTypedTableValueConstructor :: ContextuallyTypedRowValueExpressionList -> ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: DataTypeCollection :: CollectionType -> DataType
+ Hydra.Ext.Sql.Syntax: DataTypeNamed :: PathResolvedUserDefinedTypeName -> DataType
+ Hydra.Ext.Sql.Syntax: DataTypePredefined :: PredefinedType -> DataType
+ Hydra.Ext.Sql.Syntax: DataTypeReference :: ReferenceType -> DataType
+ Hydra.Ext.Sql.Syntax: DataTypeRow :: RowType -> DataType
+ Hydra.Ext.Sql.Syntax: DateLiteral :: DateString -> DateLiteral
+ Hydra.Ext.Sql.Syntax: DateString :: () -> DateString
+ Hydra.Ext.Sql.Syntax: DatetimeLiteralDate :: DateLiteral -> DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: DatetimeLiteralTime :: TimeLiteral -> DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: DatetimeLiteralTimestamp :: TimestampLiteral -> DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: DatetimeType :: () -> DatetimeType
+ Hydra.Ext.Sql.Syntax: DatetimeValueExpression :: () -> DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: DefaultClause :: () -> DefaultClause
+ Hydra.Ext.Sql.Syntax: DomainName :: String -> DomainName
+ Hydra.Ext.Sql.Syntax: ExactNumericLiteral :: String -> ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeBigint :: ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeDec :: Maybe ExactNumericTypeDecOption -> ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeDecOption :: Precision -> Maybe Scale -> ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeDecimal :: Maybe ExactNumericTypeDecimalOption -> ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeDecimalOption :: Precision -> Maybe Scale -> ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeInt :: ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeInteger :: ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeNumeric :: Maybe ExactNumericTypeNumericOption -> ExactNumericType
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeNumericOption :: Precision -> Maybe Scale -> ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: ExactNumericTypeSmallint :: ExactNumericType
+ Hydra.Ext.Sql.Syntax: FieldReference :: () -> FieldReference
+ Hydra.Ext.Sql.Syntax: FromConstructor :: Maybe InsertColumnList -> Maybe OverrideClause -> ContextuallyTypedTableValueConstructor -> FromConstructor
+ Hydra.Ext.Sql.Syntax: FromDefault :: () -> FromDefault
+ Hydra.Ext.Sql.Syntax: FromSubquery :: () -> FromSubquery
+ Hydra.Ext.Sql.Syntax: GeneralLiteralBinary :: BinaryStringLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralBoolean :: BooleanLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralDateTime :: DatetimeLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralInterval :: IntervalLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralNationalString :: NationalCharacterStringLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralString :: CharacterStringLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralLiteralUnicode :: UnicodeCharacterStringLiteral -> GeneralLiteral
+ Hydra.Ext.Sql.Syntax: GeneralValueSpecification :: () -> GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: GenerationClause :: () -> GenerationClause
+ Hydra.Ext.Sql.Syntax: GlobalOrLocalGlobal :: GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: GlobalOrLocalLocal :: GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: IdentityColumnSpecification :: () -> IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: InsertColumnList :: ColumnNameList -> InsertColumnList
+ Hydra.Ext.Sql.Syntax: InsertColumnsAndSourceConstructor :: FromConstructor -> InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: InsertColumnsAndSourceDefault :: FromDefault -> InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: InsertColumnsAndSourceSubquery :: FromSubquery -> InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: InsertStatement :: InsertionTarget -> InsertColumnsAndSource -> InsertStatement
+ Hydra.Ext.Sql.Syntax: InsertionTarget :: TableName -> InsertionTarget
+ Hydra.Ext.Sql.Syntax: IntervalLiteral :: () -> IntervalLiteral
+ Hydra.Ext.Sql.Syntax: IntervalType :: () -> IntervalType
+ Hydra.Ext.Sql.Syntax: IntervalValueExpression :: () -> IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: LargeObjectLength :: () -> LargeObjectLength
+ Hydra.Ext.Sql.Syntax: LeftBracketOrTrigraph :: String -> LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: Length :: UnsignedInteger -> Length
+ Hydra.Ext.Sql.Syntax: LikeClause :: () -> LikeClause
+ Hydra.Ext.Sql.Syntax: MethodInvocation :: () -> MethodInvocation
+ Hydra.Ext.Sql.Syntax: MultisetElementReference :: () -> MultisetElementReference
+ Hydra.Ext.Sql.Syntax: MultisetType :: DataType -> MultisetType
+ Hydra.Ext.Sql.Syntax: MultisetValueConstructor :: () -> MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: MultisetValueExpression :: () -> MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: NationalCharacterStringLiteral :: () -> NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: NationalCharacterStringType :: () -> NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: NewSpecification :: () -> NewSpecification
+ Hydra.Ext.Sql.Syntax: NextValueExpression :: () -> NextValueExpression
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryArrayElement :: ArrayElementReference -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryAttributeOrMethod :: AttributeOrMethodReference -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCases :: CaseExpression -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCast :: CastSpecification -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryCollection :: CollectionValueConstructor -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryColumn :: ColumnReference -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryField :: FieldReference -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryMethod :: MethodInvocation -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryMultisetElement :: MultisetElementReference -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryNew :: NewSpecification -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryNext :: NextValueExpression -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryReference :: ReferenceResolution -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryRoutine :: RoutineInvocation -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryScalarSubquery :: ScalarSubquery -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimarySetFunction :: SetFunctionSpecification -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryStaticMethod :: StaticMethodInvocation -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimarySubtype :: SubtypeTreatment -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryUnsigned :: UnsignedValueSpecification -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NonparenthesizedValueExpressionPrimaryWindowFunction :: WindowFunction -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: NumericTypeApproximate :: ApproximateNumericType -> NumericType
+ Hydra.Ext.Sql.Syntax: NumericTypeExact :: ExactNumericType -> NumericType
+ Hydra.Ext.Sql.Syntax: NumericValueExpression :: () -> NumericValueExpression
+ Hydra.Ext.Sql.Syntax: OverrideClauseOVERRIDINGspSYSTEMspVALUE :: OverrideClause
+ Hydra.Ext.Sql.Syntax: OverrideClauseOVERRIDINGspUSERspVALUE :: OverrideClause
+ Hydra.Ext.Sql.Syntax: ParenthesizedValueExpression :: ValueExpression -> ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: PathResolvedUserDefinedTypeName :: String -> PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: Precision :: UnsignedInteger -> Precision
+ Hydra.Ext.Sql.Syntax: PredefinedTypeBlob :: BinaryLargeObjectStringType -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeBoolean :: BooleanType -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeDatetime :: DatetimeType -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeInterval :: IntervalType -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeNationalString :: NationalCharacterStringType -> Maybe CollateClause -> PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: PredefinedTypeNationalStringType :: PredefinedTypeNationalString -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeNumeric :: NumericType -> PredefinedType
+ Hydra.Ext.Sql.Syntax: PredefinedTypeString :: CharacterStringType -> Maybe CharacterSetSpecification -> Maybe CollateClause -> PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: PredefinedTypeStringType :: PredefinedTypeString -> PredefinedType
+ Hydra.Ext.Sql.Syntax: Predicate :: () -> Predicate
+ Hydra.Ext.Sql.Syntax: QueryExpression :: () -> QueryExpression
+ Hydra.Ext.Sql.Syntax: ReferenceResolution :: () -> ReferenceResolution
+ Hydra.Ext.Sql.Syntax: ReferenceScopeCheck :: () -> ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: ReferenceType :: () -> ReferenceType
+ Hydra.Ext.Sql.Syntax: ReferenceValueExpression :: ValueExpressionPrimary -> ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: RightBracketOrTrigraph :: String -> RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: RoutineInvocation :: () -> RoutineInvocation
+ Hydra.Ext.Sql.Syntax: RowType :: () -> RowType
+ Hydra.Ext.Sql.Syntax: RowValueExpression :: () -> RowValueExpression
+ Hydra.Ext.Sql.Syntax: RowValueSpecialCase :: NonparenthesizedValueExpressionPrimary -> RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: ScalarSubquery :: Subquery -> ScalarSubquery
+ Hydra.Ext.Sql.Syntax: Scale :: UnsignedInteger -> Scale
+ Hydra.Ext.Sql.Syntax: SelfReferencingColumnSpecification :: () -> SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: SetFunctionSpecification :: () -> SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: StaticMethodInvocation :: () -> StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: StringValueExpression :: () -> StringValueExpression
+ Hydra.Ext.Sql.Syntax: Subquery :: QueryExpression -> Subquery
+ Hydra.Ext.Sql.Syntax: SubtableClause :: () -> SubtableClause
+ Hydra.Ext.Sql.Syntax: SubtypeTreatment :: () -> SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: TableCommitActionDelete :: TableCommitAction
+ Hydra.Ext.Sql.Syntax: TableCommitActionPreserve :: TableCommitAction
+ Hydra.Ext.Sql.Syntax: TableConstraintDefinition :: () -> TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: TableContentsSourceList :: TableElementList -> TableContentsSource
+ Hydra.Ext.Sql.Syntax: TableContentsSourceSubquery :: AsSubqueryClause -> TableContentsSource
+ Hydra.Ext.Sql.Syntax: TableContentsSourceSubtable :: PathResolvedUserDefinedTypeName -> Maybe SubtableClause -> Maybe TableElementList -> TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: TableContentsSourceSubtableOf :: TableContentsSourceSubtable -> TableContentsSource
+ Hydra.Ext.Sql.Syntax: TableDefinition :: Maybe TableScope -> TableName -> TableContentsSource -> Maybe TableCommitAction -> TableDefinition
+ Hydra.Ext.Sql.Syntax: TableElementColumOptions :: ColumnOptions -> TableElement
+ Hydra.Ext.Sql.Syntax: TableElementColumn :: ColumnDefinition -> TableElement
+ Hydra.Ext.Sql.Syntax: TableElementLike :: LikeClause -> TableElement
+ Hydra.Ext.Sql.Syntax: TableElementList :: TableElement -> [TableElement] -> TableElementList
+ Hydra.Ext.Sql.Syntax: TableElementSelfReferencingColumn :: SelfReferencingColumnSpecification -> TableElement
+ Hydra.Ext.Sql.Syntax: TableElementTableConstraint :: TableConstraintDefinition -> TableElement
+ Hydra.Ext.Sql.Syntax: TableName :: String -> TableName
+ Hydra.Ext.Sql.Syntax: TableScope :: GlobalOrLocal -> TableScope
+ Hydra.Ext.Sql.Syntax: TimeLiteral :: TimeString -> TimeLiteral
+ Hydra.Ext.Sql.Syntax: TimeString :: () -> TimeString
+ Hydra.Ext.Sql.Syntax: TimestampLiteral :: () -> TimestampLiteral
+ Hydra.Ext.Sql.Syntax: TruthValueFALSE :: TruthValue
+ Hydra.Ext.Sql.Syntax: TruthValueTRUE :: TruthValue
+ Hydra.Ext.Sql.Syntax: TruthValueUNKNOWN :: TruthValue
+ Hydra.Ext.Sql.Syntax: UnicodeCharacterStringLiteral :: () -> UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: UnsignedInteger :: String -> UnsignedInteger
+ Hydra.Ext.Sql.Syntax: UnsignedLiteralGeneral :: GeneralLiteral -> UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: UnsignedLiteralNumeric :: UnsignedNumericLiteral -> UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: UnsignedNumericLiteralApproximate :: ApproximateNumericLiteral -> UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: UnsignedNumericLiteralExact :: ExactNumericLiteral -> UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: UnsignedValueSpecificationGeneral :: GeneralValueSpecification -> UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: UnsignedValueSpecificationLiteral :: UnsignedLiteral -> UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: UserDefinedTypeValueExpression :: ValueExpressionPrimary -> UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: ValueExpressionBoolean :: BooleanValueExpression -> ValueExpression
+ Hydra.Ext.Sql.Syntax: ValueExpressionCommon :: CommonValueExpression -> ValueExpression
+ Hydra.Ext.Sql.Syntax: ValueExpressionPrimaryNoparens :: NonparenthesizedValueExpressionPrimary -> ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: ValueExpressionPrimaryParens :: ParenthesizedValueExpression -> ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: ValueExpressionRow :: RowValueExpression -> ValueExpression
+ Hydra.Ext.Sql.Syntax: WindowFunction :: () -> WindowFunction
+ Hydra.Ext.Sql.Syntax: [arrayElementListFirst] :: ArrayElementList -> ArrayElement
+ Hydra.Ext.Sql.Syntax: [arrayElementListRest] :: ArrayElementList -> [ArrayElement]
+ Hydra.Ext.Sql.Syntax: [arrayValueConstructorByEnumerationArrayElementList] :: ArrayValueConstructorByEnumeration -> ArrayElementList
+ Hydra.Ext.Sql.Syntax: [arrayValueConstructorByEnumerationLeftBracketOrTrigraph] :: ArrayValueConstructorByEnumeration -> LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: [arrayValueConstructorByEnumerationRightBracketOrTrigraph] :: ArrayValueConstructorByEnumeration -> RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: [booleanFactorBooleanTest] :: BooleanFactor -> BooleanTest
+ Hydra.Ext.Sql.Syntax: [booleanFactorNOT] :: BooleanFactor -> Maybe ()
+ Hydra.Ext.Sql.Syntax: [booleanTermAndLhs] :: BooleanTermAnd -> BooleanTerm
+ Hydra.Ext.Sql.Syntax: [booleanTermAndRhs] :: BooleanTermAnd -> BooleanFactor
+ Hydra.Ext.Sql.Syntax: [booleanTestBooleanPrimary] :: BooleanTest -> BooleanPrimary
+ Hydra.Ext.Sql.Syntax: [booleanTestSequenceOptionNOT] :: BooleanTestSequenceOption -> Maybe ()
+ Hydra.Ext.Sql.Syntax: [booleanTestSequenceOptionTruthValue] :: BooleanTestSequenceOption -> TruthValue
+ Hydra.Ext.Sql.Syntax: [booleanTestSequence] :: BooleanTest -> Maybe BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: [booleanValueExpressionOrLhs] :: BooleanValueExpressionOr -> BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: [booleanValueExpressionOrRhs] :: BooleanValueExpressionOr -> BooleanTerm
+ Hydra.Ext.Sql.Syntax: [columnDefinitionCollate] :: ColumnDefinition -> Maybe CollateClause
+ Hydra.Ext.Sql.Syntax: [columnDefinitionConstraints] :: ColumnDefinition -> [ColumnConstraintDefinition]
+ Hydra.Ext.Sql.Syntax: [columnDefinitionDefaultOrIdentityOrGeneration] :: ColumnDefinition -> Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: [columnDefinitionName] :: ColumnDefinition -> ColumnName
+ Hydra.Ext.Sql.Syntax: [columnDefinitionRefScope] :: ColumnDefinition -> Maybe ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: [columnDefinitionTypeOrDomain] :: ColumnDefinition -> Maybe ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: [columnNameListFirst] :: ColumnNameList -> ColumnName
+ Hydra.Ext.Sql.Syntax: [columnNameListRest] :: ColumnNameList -> [ColumnName]
+ Hydra.Ext.Sql.Syntax: [contextuallyTypedRowValueExpressionListFirst] :: ContextuallyTypedRowValueExpressionList -> ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: [contextuallyTypedRowValueExpressionListRest] :: ContextuallyTypedRowValueExpressionList -> [ContextuallyTypedRowValueExpression]
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeDecOptionPrecision] :: ExactNumericTypeDecOption -> Precision
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeDecOptionSequence] :: ExactNumericTypeDecOption -> Maybe Scale
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeDecimalOptionPrecision] :: ExactNumericTypeDecimalOption -> Precision
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeDecimalOptionSequence] :: ExactNumericTypeDecimalOption -> Maybe Scale
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeNumericOptionPrecision] :: ExactNumericTypeNumericOption -> Precision
+ Hydra.Ext.Sql.Syntax: [exactNumericTypeNumericOptionSequence] :: ExactNumericTypeNumericOption -> Maybe Scale
+ Hydra.Ext.Sql.Syntax: [fromConstructorColumns] :: FromConstructor -> Maybe InsertColumnList
+ Hydra.Ext.Sql.Syntax: [fromConstructorOverride] :: FromConstructor -> Maybe OverrideClause
+ Hydra.Ext.Sql.Syntax: [fromConstructorValues] :: FromConstructor -> ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: [insertStatementColumnsAndSource] :: InsertStatement -> InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: [insertStatementTarget] :: InsertStatement -> InsertionTarget
+ Hydra.Ext.Sql.Syntax: [predefinedTypeNationalStringCollate] :: PredefinedTypeNationalString -> Maybe CollateClause
+ Hydra.Ext.Sql.Syntax: [predefinedTypeNationalStringType] :: PredefinedTypeNationalString -> NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: [predefinedTypeStringCharacters] :: PredefinedTypeString -> Maybe CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: [predefinedTypeStringCollate] :: PredefinedTypeString -> Maybe CollateClause
+ Hydra.Ext.Sql.Syntax: [predefinedTypeStringType] :: PredefinedTypeString -> CharacterStringType
+ Hydra.Ext.Sql.Syntax: [tableContentsSourceSubtableElements] :: TableContentsSourceSubtable -> Maybe TableElementList
+ Hydra.Ext.Sql.Syntax: [tableContentsSourceSubtableSubtable] :: TableContentsSourceSubtable -> Maybe SubtableClause
+ Hydra.Ext.Sql.Syntax: [tableContentsSourceSubtableType] :: TableContentsSourceSubtable -> PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: [tableDefinitionCommitActions] :: TableDefinition -> Maybe TableCommitAction
+ Hydra.Ext.Sql.Syntax: [tableDefinitionName] :: TableDefinition -> TableName
+ Hydra.Ext.Sql.Syntax: [tableDefinitionScope] :: TableDefinition -> Maybe TableScope
+ Hydra.Ext.Sql.Syntax: [tableDefinitionSource] :: TableDefinition -> TableContentsSource
+ Hydra.Ext.Sql.Syntax: [tableElementListFirst] :: TableElementList -> TableElement
+ Hydra.Ext.Sql.Syntax: [tableElementListRest] :: TableElementList -> [TableElement]
+ Hydra.Ext.Sql.Syntax: [unApproximateNumericLiteral] :: ApproximateNumericLiteral -> String
+ Hydra.Ext.Sql.Syntax: [unArrayElementReference] :: ArrayElementReference -> ()
+ Hydra.Ext.Sql.Syntax: [unArrayElement] :: ArrayElement -> ValueExpression
+ Hydra.Ext.Sql.Syntax: [unArrayType] :: ArrayType -> ()
+ Hydra.Ext.Sql.Syntax: [unArrayValueConstructorByQuery] :: ArrayValueConstructorByQuery -> ()
+ Hydra.Ext.Sql.Syntax: [unArrayValueExpression] :: ArrayValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unAsSubqueryClause] :: AsSubqueryClause -> ()
+ Hydra.Ext.Sql.Syntax: [unAttributeOrMethodReference] :: AttributeOrMethodReference -> ()
+ Hydra.Ext.Sql.Syntax: [unBinaryStringLiteral] :: BinaryStringLiteral -> ()
+ Hydra.Ext.Sql.Syntax: [unBooleanPredicand] :: BooleanPredicand -> ()
+ Hydra.Ext.Sql.Syntax: [unBooleanType] :: BooleanType -> ()
+ Hydra.Ext.Sql.Syntax: [unCaseExpression] :: CaseExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unCastSpecification] :: CastSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unCharacterSetSpecification] :: CharacterSetSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unCharacterStringLiteral] :: CharacterStringLiteral -> String
+ Hydra.Ext.Sql.Syntax: [unCollateClause] :: CollateClause -> ()
+ Hydra.Ext.Sql.Syntax: [unColumnConstraintDefinition] :: ColumnConstraintDefinition -> ()
+ Hydra.Ext.Sql.Syntax: [unColumnName] :: ColumnName -> String
+ Hydra.Ext.Sql.Syntax: [unColumnOptions] :: ColumnOptions -> ()
+ Hydra.Ext.Sql.Syntax: [unColumnReference] :: ColumnReference -> ()
+ Hydra.Ext.Sql.Syntax: [unContextuallyTypedRowValueConstructor] :: ContextuallyTypedRowValueConstructor -> ()
+ Hydra.Ext.Sql.Syntax: [unContextuallyTypedTableValueConstructor] :: ContextuallyTypedTableValueConstructor -> ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: [unDateLiteral] :: DateLiteral -> DateString
+ Hydra.Ext.Sql.Syntax: [unDateString] :: DateString -> ()
+ Hydra.Ext.Sql.Syntax: [unDatetimeType] :: DatetimeType -> ()
+ Hydra.Ext.Sql.Syntax: [unDatetimeValueExpression] :: DatetimeValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unDefaultClause] :: DefaultClause -> ()
+ Hydra.Ext.Sql.Syntax: [unDomainName] :: DomainName -> String
+ Hydra.Ext.Sql.Syntax: [unExactNumericLiteral] :: ExactNumericLiteral -> String
+ Hydra.Ext.Sql.Syntax: [unFieldReference] :: FieldReference -> ()
+ Hydra.Ext.Sql.Syntax: [unFromDefault] :: FromDefault -> ()
+ Hydra.Ext.Sql.Syntax: [unFromSubquery] :: FromSubquery -> ()
+ Hydra.Ext.Sql.Syntax: [unGeneralValueSpecification] :: GeneralValueSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unGenerationClause] :: GenerationClause -> ()
+ Hydra.Ext.Sql.Syntax: [unIdentityColumnSpecification] :: IdentityColumnSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unInsertColumnList] :: InsertColumnList -> ColumnNameList
+ Hydra.Ext.Sql.Syntax: [unInsertionTarget] :: InsertionTarget -> TableName
+ Hydra.Ext.Sql.Syntax: [unIntervalLiteral] :: IntervalLiteral -> ()
+ Hydra.Ext.Sql.Syntax: [unIntervalType] :: IntervalType -> ()
+ Hydra.Ext.Sql.Syntax: [unIntervalValueExpression] :: IntervalValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unLargeObjectLength] :: LargeObjectLength -> ()
+ Hydra.Ext.Sql.Syntax: [unLeftBracketOrTrigraph] :: LeftBracketOrTrigraph -> String
+ Hydra.Ext.Sql.Syntax: [unLength] :: Length -> UnsignedInteger
+ Hydra.Ext.Sql.Syntax: [unLikeClause] :: LikeClause -> ()
+ Hydra.Ext.Sql.Syntax: [unMethodInvocation] :: MethodInvocation -> ()
+ Hydra.Ext.Sql.Syntax: [unMultisetElementReference] :: MultisetElementReference -> ()
+ Hydra.Ext.Sql.Syntax: [unMultisetType] :: MultisetType -> DataType
+ Hydra.Ext.Sql.Syntax: [unMultisetValueConstructor] :: MultisetValueConstructor -> ()
+ Hydra.Ext.Sql.Syntax: [unMultisetValueExpression] :: MultisetValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unNationalCharacterStringLiteral] :: NationalCharacterStringLiteral -> ()
+ Hydra.Ext.Sql.Syntax: [unNationalCharacterStringType] :: NationalCharacterStringType -> ()
+ Hydra.Ext.Sql.Syntax: [unNewSpecification] :: NewSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unNextValueExpression] :: NextValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unNumericValueExpression] :: NumericValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unParenthesizedValueExpression] :: ParenthesizedValueExpression -> ValueExpression
+ Hydra.Ext.Sql.Syntax: [unPathResolvedUserDefinedTypeName] :: PathResolvedUserDefinedTypeName -> String
+ Hydra.Ext.Sql.Syntax: [unPrecision] :: Precision -> UnsignedInteger
+ Hydra.Ext.Sql.Syntax: [unPredicate] :: Predicate -> ()
+ Hydra.Ext.Sql.Syntax: [unQueryExpression] :: QueryExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unReferenceResolution] :: ReferenceResolution -> ()
+ Hydra.Ext.Sql.Syntax: [unReferenceScopeCheck] :: ReferenceScopeCheck -> ()
+ Hydra.Ext.Sql.Syntax: [unReferenceType] :: ReferenceType -> ()
+ Hydra.Ext.Sql.Syntax: [unReferenceValueExpression] :: ReferenceValueExpression -> ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: [unRightBracketOrTrigraph] :: RightBracketOrTrigraph -> String
+ Hydra.Ext.Sql.Syntax: [unRoutineInvocation] :: RoutineInvocation -> ()
+ Hydra.Ext.Sql.Syntax: [unRowType] :: RowType -> ()
+ Hydra.Ext.Sql.Syntax: [unRowValueExpression] :: RowValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unRowValueSpecialCase] :: RowValueSpecialCase -> NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: [unScalarSubquery] :: ScalarSubquery -> Subquery
+ Hydra.Ext.Sql.Syntax: [unScale] :: Scale -> UnsignedInteger
+ Hydra.Ext.Sql.Syntax: [unSelfReferencingColumnSpecification] :: SelfReferencingColumnSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unSetFunctionSpecification] :: SetFunctionSpecification -> ()
+ Hydra.Ext.Sql.Syntax: [unStaticMethodInvocation] :: StaticMethodInvocation -> ()
+ Hydra.Ext.Sql.Syntax: [unStringValueExpression] :: StringValueExpression -> ()
+ Hydra.Ext.Sql.Syntax: [unSubquery] :: Subquery -> QueryExpression
+ Hydra.Ext.Sql.Syntax: [unSubtableClause] :: SubtableClause -> ()
+ Hydra.Ext.Sql.Syntax: [unSubtypeTreatment] :: SubtypeTreatment -> ()
+ Hydra.Ext.Sql.Syntax: [unTableConstraintDefinition] :: TableConstraintDefinition -> ()
+ Hydra.Ext.Sql.Syntax: [unTableName] :: TableName -> String
+ Hydra.Ext.Sql.Syntax: [unTableScope] :: TableScope -> GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: [unTimeLiteral] :: TimeLiteral -> TimeString
+ Hydra.Ext.Sql.Syntax: [unTimeString] :: TimeString -> ()
+ Hydra.Ext.Sql.Syntax: [unTimestampLiteral] :: TimestampLiteral -> ()
+ Hydra.Ext.Sql.Syntax: [unUnicodeCharacterStringLiteral] :: UnicodeCharacterStringLiteral -> ()
+ Hydra.Ext.Sql.Syntax: [unUnsignedInteger] :: UnsignedInteger -> String
+ Hydra.Ext.Sql.Syntax: [unUserDefinedTypeValueExpression] :: UserDefinedTypeValueExpression -> ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: [unWindowFunction] :: WindowFunction -> ()
+ Hydra.Ext.Sql.Syntax: _ApproximateNumericLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _ApproximateNumericType :: Name
+ Hydra.Ext.Sql.Syntax: _ApproximateNumericType_double :: Name
+ Hydra.Ext.Sql.Syntax: _ApproximateNumericType_float :: Name
+ Hydra.Ext.Sql.Syntax: _ApproximateNumericType_real :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayElement :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayElementList :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayElementList_first :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayElementList_rest :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayElementReference :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayType :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructorByEnumeration :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructorByEnumeration_ArrayElementList :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructorByEnumeration_LeftBracketOrTrigraph :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructorByEnumeration_RightBracketOrTrigraph :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructorByQuery :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructor_enumeration :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueConstructor_query :: Name
+ Hydra.Ext.Sql.Syntax: _ArrayValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _AsSubqueryClause :: Name
+ Hydra.Ext.Sql.Syntax: _AttributeOrMethodReference :: Name
+ Hydra.Ext.Sql.Syntax: _BinaryLargeObjectStringType :: Name
+ Hydra.Ext.Sql.Syntax: _BinaryLargeObjectStringType_binary :: Name
+ Hydra.Ext.Sql.Syntax: _BinaryLargeObjectStringType_blob :: Name
+ Hydra.Ext.Sql.Syntax: _BinaryStringLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanFactor :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanFactor_BooleanTest :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanFactor_NOT :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanLiteral_FALSE :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanLiteral_TRUE :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanLiteral_UNKNOWN :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanPredicand :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanPrimary :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanPrimary_predicand :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanPrimary_predicate :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTerm :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTermAnd :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTermAnd_lhs :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTermAnd_rhs :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTerm_conjunction :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTerm_factor :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTest :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTestSequenceOption :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTestSequenceOption_NOT :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTestSequenceOption_TruthValue :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTest_BooleanPrimary :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanTest_Sequence :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanType :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpressionOr :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpressionOr_lhs :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpressionOr_rhs :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpression_disjunction :: Name
+ Hydra.Ext.Sql.Syntax: _BooleanValueExpression_term :: Name
+ Hydra.Ext.Sql.Syntax: _CaseExpression :: Name
+ Hydra.Ext.Sql.Syntax: _CastSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterSetSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_char :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_charLargeObject :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_charVarying :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_character :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_characterLargeObject :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_characterVarying :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_clob :: Name
+ Hydra.Ext.Sql.Syntax: _CharacterStringType_varchar :: Name
+ Hydra.Ext.Sql.Syntax: _CollateClause :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionType :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionType_array :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionType_multiset :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueConstructor_array :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueConstructor_multiset :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueExpression_array :: Name
+ Hydra.Ext.Sql.Syntax: _CollectionValueExpression_multiset :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnConstraintDefinition :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_DefaultClause :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_GenerationClause :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionDefaultOrIdentityOrGenerationOption_IdentityColumnSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption_DataType :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinitionTypeOrDomainOption_DomainName :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_collate :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_constraints :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_defaultOrIdentityOrGeneration :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_name :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_refScope :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnDefinition_typeOrDomain :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnName :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnNameList :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnNameList_first :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnNameList_rest :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnOptions :: Name
+ Hydra.Ext.Sql.Syntax: _ColumnReference :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_collection :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_datetime :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_interval :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_numeric :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_reference :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_string :: Name
+ Hydra.Ext.Sql.Syntax: _CommonValueExpression_userDefined :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpressionList :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpressionList_first :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpressionList_rest :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpression_constructor :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedRowValueExpression_specialCase :: Name
+ Hydra.Ext.Sql.Syntax: _ContextuallyTypedTableValueConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _DataType :: Name
+ Hydra.Ext.Sql.Syntax: _DataType_collection :: Name
+ Hydra.Ext.Sql.Syntax: _DataType_named :: Name
+ Hydra.Ext.Sql.Syntax: _DataType_predefined :: Name
+ Hydra.Ext.Sql.Syntax: _DataType_reference :: Name
+ Hydra.Ext.Sql.Syntax: _DataType_row :: Name
+ Hydra.Ext.Sql.Syntax: _DateLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _DateString :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeLiteral_date :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeLiteral_time :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeLiteral_timestamp :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeType :: Name
+ Hydra.Ext.Sql.Syntax: _DatetimeValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _DefaultClause :: Name
+ Hydra.Ext.Sql.Syntax: _DomainName :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecOption :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecOption_Precision :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecOption_Sequence :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecimalOption :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecimalOption_Precision :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeDecimalOption_Sequence :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeNumericOption :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeNumericOption_Precision :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericTypeNumericOption_Sequence :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_bigint :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_dec :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_decimal :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_int :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_integer :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_numeric :: Name
+ Hydra.Ext.Sql.Syntax: _ExactNumericType_smallint :: Name
+ Hydra.Ext.Sql.Syntax: _FieldReference :: Name
+ Hydra.Ext.Sql.Syntax: _FromConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _FromConstructor_columns :: Name
+ Hydra.Ext.Sql.Syntax: _FromConstructor_override :: Name
+ Hydra.Ext.Sql.Syntax: _FromConstructor_values :: Name
+ Hydra.Ext.Sql.Syntax: _FromDefault :: Name
+ Hydra.Ext.Sql.Syntax: _FromSubquery :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_binary :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_boolean :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_dateTime :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_interval :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_nationalString :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_string :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralLiteral_unicode :: Name
+ Hydra.Ext.Sql.Syntax: _GeneralValueSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _GenerationClause :: Name
+ Hydra.Ext.Sql.Syntax: _GlobalOrLocal :: Name
+ Hydra.Ext.Sql.Syntax: _GlobalOrLocal_global :: Name
+ Hydra.Ext.Sql.Syntax: _GlobalOrLocal_local :: Name
+ Hydra.Ext.Sql.Syntax: _IdentityColumnSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _InsertColumnList :: Name
+ Hydra.Ext.Sql.Syntax: _InsertColumnsAndSource :: Name
+ Hydra.Ext.Sql.Syntax: _InsertColumnsAndSource_constructor :: Name
+ Hydra.Ext.Sql.Syntax: _InsertColumnsAndSource_default :: Name
+ Hydra.Ext.Sql.Syntax: _InsertColumnsAndSource_subquery :: Name
+ Hydra.Ext.Sql.Syntax: _InsertStatement :: Name
+ Hydra.Ext.Sql.Syntax: _InsertStatement_columnsAndSource :: Name
+ Hydra.Ext.Sql.Syntax: _InsertStatement_target :: Name
+ Hydra.Ext.Sql.Syntax: _InsertionTarget :: Name
+ Hydra.Ext.Sql.Syntax: _IntervalLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _IntervalType :: Name
+ Hydra.Ext.Sql.Syntax: _IntervalValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _LargeObjectLength :: Name
+ Hydra.Ext.Sql.Syntax: _LeftBracketOrTrigraph :: Name
+ Hydra.Ext.Sql.Syntax: _Length :: Name
+ Hydra.Ext.Sql.Syntax: _LikeClause :: Name
+ Hydra.Ext.Sql.Syntax: _MethodInvocation :: Name
+ Hydra.Ext.Sql.Syntax: _MultisetElementReference :: Name
+ Hydra.Ext.Sql.Syntax: _MultisetType :: Name
+ Hydra.Ext.Sql.Syntax: _MultisetValueConstructor :: Name
+ Hydra.Ext.Sql.Syntax: _MultisetValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _NationalCharacterStringLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _NationalCharacterStringType :: Name
+ Hydra.Ext.Sql.Syntax: _NewSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _NextValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_arrayElement :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_attributeOrMethod :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_cases :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_cast :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_collection :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_column :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_field :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_method :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_multisetElement :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_new :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_next :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_reference :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_routine :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_scalarSubquery :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_setFunction :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_staticMethod :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_subtype :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_unsigned :: Name
+ Hydra.Ext.Sql.Syntax: _NonparenthesizedValueExpressionPrimary_windowFunction :: Name
+ Hydra.Ext.Sql.Syntax: _NumericType :: Name
+ Hydra.Ext.Sql.Syntax: _NumericType_approximate :: Name
+ Hydra.Ext.Sql.Syntax: _NumericType_exact :: Name
+ Hydra.Ext.Sql.Syntax: _NumericValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _OverrideClause :: Name
+ Hydra.Ext.Sql.Syntax: _OverrideClause_OVERRIDINGspSYSTEMspVALUE :: Name
+ Hydra.Ext.Sql.Syntax: _OverrideClause_OVERRIDINGspUSERspVALUE :: Name
+ Hydra.Ext.Sql.Syntax: _ParenthesizedValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _PathResolvedUserDefinedTypeName :: Name
+ Hydra.Ext.Sql.Syntax: _Precision :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeNationalString :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeNationalString_collate :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeNationalString_type :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeString :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeString_characters :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeString_collate :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedTypeString_type :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_blob :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_boolean :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_datetime :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_interval :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_nationalStringType :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_numeric :: Name
+ Hydra.Ext.Sql.Syntax: _PredefinedType_stringType :: Name
+ Hydra.Ext.Sql.Syntax: _Predicate :: Name
+ Hydra.Ext.Sql.Syntax: _QueryExpression :: Name
+ Hydra.Ext.Sql.Syntax: _ReferenceResolution :: Name
+ Hydra.Ext.Sql.Syntax: _ReferenceScopeCheck :: Name
+ Hydra.Ext.Sql.Syntax: _ReferenceType :: Name
+ Hydra.Ext.Sql.Syntax: _ReferenceValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _RightBracketOrTrigraph :: Name
+ Hydra.Ext.Sql.Syntax: _RoutineInvocation :: Name
+ Hydra.Ext.Sql.Syntax: _RowType :: Name
+ Hydra.Ext.Sql.Syntax: _RowValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _RowValueSpecialCase :: Name
+ Hydra.Ext.Sql.Syntax: _ScalarSubquery :: Name
+ Hydra.Ext.Sql.Syntax: _Scale :: Name
+ Hydra.Ext.Sql.Syntax: _SelfReferencingColumnSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _SetFunctionSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _StaticMethodInvocation :: Name
+ Hydra.Ext.Sql.Syntax: _StringValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _Subquery :: Name
+ Hydra.Ext.Sql.Syntax: _SubtableClause :: Name
+ Hydra.Ext.Sql.Syntax: _SubtypeTreatment :: Name
+ Hydra.Ext.Sql.Syntax: _TableCommitAction :: Name
+ Hydra.Ext.Sql.Syntax: _TableCommitAction_delete :: Name
+ Hydra.Ext.Sql.Syntax: _TableCommitAction_preserve :: Name
+ Hydra.Ext.Sql.Syntax: _TableConstraintDefinition :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSource :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSourceSubtable :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSourceSubtable_elements :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSourceSubtable_subtable :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSourceSubtable_type :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSource_list :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSource_subquery :: Name
+ Hydra.Ext.Sql.Syntax: _TableContentsSource_subtableOf :: Name
+ Hydra.Ext.Sql.Syntax: _TableDefinition :: Name
+ Hydra.Ext.Sql.Syntax: _TableDefinition_commitActions :: Name
+ Hydra.Ext.Sql.Syntax: _TableDefinition_name :: Name
+ Hydra.Ext.Sql.Syntax: _TableDefinition_scope :: Name
+ Hydra.Ext.Sql.Syntax: _TableDefinition_source :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement :: Name
+ Hydra.Ext.Sql.Syntax: _TableElementList :: Name
+ Hydra.Ext.Sql.Syntax: _TableElementList_first :: Name
+ Hydra.Ext.Sql.Syntax: _TableElementList_rest :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement_columOptions :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement_column :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement_like :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement_selfReferencingColumn :: Name
+ Hydra.Ext.Sql.Syntax: _TableElement_tableConstraint :: Name
+ Hydra.Ext.Sql.Syntax: _TableName :: Name
+ Hydra.Ext.Sql.Syntax: _TableScope :: Name
+ Hydra.Ext.Sql.Syntax: _TimeLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _TimeString :: Name
+ Hydra.Ext.Sql.Syntax: _TimestampLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _TruthValue :: Name
+ Hydra.Ext.Sql.Syntax: _TruthValue_FALSE :: Name
+ Hydra.Ext.Sql.Syntax: _TruthValue_TRUE :: Name
+ Hydra.Ext.Sql.Syntax: _TruthValue_UNKNOWN :: Name
+ Hydra.Ext.Sql.Syntax: _UnicodeCharacterStringLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedInteger :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedLiteral_general :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedLiteral_numeric :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedNumericLiteral :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedNumericLiteral_approximate :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedNumericLiteral_exact :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedValueSpecification :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedValueSpecification_general :: Name
+ Hydra.Ext.Sql.Syntax: _UnsignedValueSpecification_literal :: Name
+ Hydra.Ext.Sql.Syntax: _UserDefinedTypeValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpression :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpressionPrimary :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpressionPrimary_noparens :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpressionPrimary_parens :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpression_boolean :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpression_common :: Name
+ Hydra.Ext.Sql.Syntax: _ValueExpression_row :: Name
+ Hydra.Ext.Sql.Syntax: _WindowFunction :: Name
+ Hydra.Ext.Sql.Syntax: data ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: data ArrayElementList
+ Hydra.Ext.Sql.Syntax: data ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: data ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: data BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: data BooleanFactor
+ Hydra.Ext.Sql.Syntax: data BooleanLiteral
+ Hydra.Ext.Sql.Syntax: data BooleanPrimary
+ Hydra.Ext.Sql.Syntax: data BooleanTerm
+ Hydra.Ext.Sql.Syntax: data BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: data BooleanTest
+ Hydra.Ext.Sql.Syntax: data BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: data BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: data BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: data CharacterStringType
+ Hydra.Ext.Sql.Syntax: data CollectionType
+ Hydra.Ext.Sql.Syntax: data CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: data CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: data ColumnDefinition
+ Hydra.Ext.Sql.Syntax: data ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: data ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: data ColumnNameList
+ Hydra.Ext.Sql.Syntax: data CommonValueExpression
+ Hydra.Ext.Sql.Syntax: data ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: data ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: data DataType
+ Hydra.Ext.Sql.Syntax: data DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: data ExactNumericType
+ Hydra.Ext.Sql.Syntax: data ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: data ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: data ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: data FromConstructor
+ Hydra.Ext.Sql.Syntax: data GeneralLiteral
+ Hydra.Ext.Sql.Syntax: data GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: data InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: data InsertStatement
+ Hydra.Ext.Sql.Syntax: data NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: data NumericType
+ Hydra.Ext.Sql.Syntax: data OverrideClause
+ Hydra.Ext.Sql.Syntax: data PredefinedType
+ Hydra.Ext.Sql.Syntax: data PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: data PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: data TableCommitAction
+ Hydra.Ext.Sql.Syntax: data TableContentsSource
+ Hydra.Ext.Sql.Syntax: data TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: data TableDefinition
+ Hydra.Ext.Sql.Syntax: data TableElement
+ Hydra.Ext.Sql.Syntax: data TableElementList
+ Hydra.Ext.Sql.Syntax: data TruthValue
+ Hydra.Ext.Sql.Syntax: data UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: data UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: data UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: data ValueExpression
+ Hydra.Ext.Sql.Syntax: data ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanFactor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanPredicand
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanTerm
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanTest
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CaseExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CastSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CollateClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CollectionType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnNameList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnOptions
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ColumnReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.CommonValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DataType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DateLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DateString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DatetimeType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DefaultClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.DomainName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ExactNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.FieldReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.FromConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.FromDefault
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.FromSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.GeneralLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.GenerationClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.InsertColumnList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.InsertStatement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.InsertionTarget
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.IntervalLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.IntervalType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.LargeObjectLength
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.Length
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.LikeClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.MethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.MultisetElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.MultisetType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NewSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NextValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.NumericValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.OverrideClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.Precision
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.PredefinedType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.Predicate
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.QueryExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ReferenceResolution
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ReferenceType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.RoutineInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.RowType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.RowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ScalarSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.Scale
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.StringValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.Subquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.SubtableClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableCommitAction
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableContentsSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TableScope
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TimeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TimestampLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.TruthValue
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UnsignedInteger
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Eq Hydra.Ext.Sql.Syntax.WindowFunction
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanFactor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanPredicand
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanTerm
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanTest
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CaseExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CastSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CollateClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CollectionType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnNameList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnOptions
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ColumnReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.CommonValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DataType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DateLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DateString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DatetimeType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DefaultClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.DomainName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ExactNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.FieldReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.FromConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.FromDefault
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.FromSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.GeneralLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.GenerationClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.InsertColumnList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.InsertStatement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.InsertionTarget
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.IntervalLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.IntervalType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.LargeObjectLength
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.Length
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.LikeClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.MethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.MultisetElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.MultisetType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NewSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NextValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.NumericValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.OverrideClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.Precision
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.PredefinedType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.Predicate
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.QueryExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ReferenceResolution
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ReferenceType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.RoutineInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.RowType
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.RowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ScalarSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.Scale
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.StringValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.Subquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.SubtableClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableCommitAction
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableContentsSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableName
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TableScope
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TimeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TimestampLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.TruthValue
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UnsignedInteger
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Classes.Ord Hydra.Ext.Sql.Syntax.WindowFunction
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanFactor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanPredicand
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanTerm
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanTest
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CaseExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CastSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CollateClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CollectionType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnNameList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnOptions
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ColumnReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.CommonValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DataType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DateLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DateString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DatetimeType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DefaultClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.DomainName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ExactNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.FieldReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.FromConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.FromDefault
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.FromSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.GeneralLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.GenerationClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.InsertColumnList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.InsertStatement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.InsertionTarget
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.IntervalLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.IntervalType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.LargeObjectLength
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.Length
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.LikeClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.MethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.MultisetElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.MultisetType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NewSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NextValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.NumericValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.OverrideClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.Precision
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.PredefinedType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.Predicate
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.QueryExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ReferenceResolution
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ReferenceType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.RoutineInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.RowType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.RowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ScalarSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.Scale
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.StringValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.Subquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.SubtableClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableCommitAction
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableContentsSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TableScope
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TimeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TimestampLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.TruthValue
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UnsignedInteger
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Read.Read Hydra.Ext.Sql.Syntax.WindowFunction
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ApproximateNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayValueConstructorByEnumeration
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BinaryLargeObjectStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanFactor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanPredicand
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanTerm
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanTermAnd
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanTest
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanTestSequenceOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.BooleanValueExpressionOr
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CaseExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CastSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CollateClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CollectionType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CollectionValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CollectionValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnDefinitionTypeOrDomainOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnNameList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnOptions
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ColumnReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.CommonValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ContextuallyTypedRowValueExpressionList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DataType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DateLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DateString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DatetimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DatetimeType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DefaultClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.DomainName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ExactNumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ExactNumericTypeDecOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ExactNumericTypeDecimalOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ExactNumericTypeNumericOption
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.FieldReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.FromConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.FromDefault
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.FromSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.GeneralLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.GenerationClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.GlobalOrLocal
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.InsertColumnList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.InsertColumnsAndSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.InsertStatement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.InsertionTarget
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.IntervalLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.IntervalType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.LargeObjectLength
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.Length
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.LikeClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.MethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.MultisetElementReference
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.MultisetType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NewSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NextValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NonparenthesizedValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NumericType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.NumericValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.OverrideClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.Precision
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.PredefinedType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.PredefinedTypeNationalString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.PredefinedTypeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.Predicate
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.QueryExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ReferenceResolution
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ReferenceType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.RoutineInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.RowType
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.RowValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ScalarSubquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.Scale
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.StringValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.Subquery
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.SubtableClause
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableCommitAction
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableContentsSource
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableContentsSourceSubtable
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableDefinition
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableElement
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableElementList
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableName
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TableScope
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TimeLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TimeString
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TimestampLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.TruthValue
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UnsignedInteger
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UnsignedLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UnsignedNumericLiteral
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UnsignedValueSpecification
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ValueExpression
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.ValueExpressionPrimary
+ Hydra.Ext.Sql.Syntax: instance GHC.Internal.Show.Show Hydra.Ext.Sql.Syntax.WindowFunction
+ Hydra.Ext.Sql.Syntax: newtype ApproximateNumericLiteral
+ Hydra.Ext.Sql.Syntax: newtype ArrayElement
+ Hydra.Ext.Sql.Syntax: newtype ArrayElementReference
+ Hydra.Ext.Sql.Syntax: newtype ArrayType
+ Hydra.Ext.Sql.Syntax: newtype ArrayValueConstructorByQuery
+ Hydra.Ext.Sql.Syntax: newtype ArrayValueExpression
+ Hydra.Ext.Sql.Syntax: newtype AsSubqueryClause
+ Hydra.Ext.Sql.Syntax: newtype AttributeOrMethodReference
+ Hydra.Ext.Sql.Syntax: newtype BinaryStringLiteral
+ Hydra.Ext.Sql.Syntax: newtype BooleanPredicand
+ Hydra.Ext.Sql.Syntax: newtype BooleanType
+ Hydra.Ext.Sql.Syntax: newtype CaseExpression
+ Hydra.Ext.Sql.Syntax: newtype CastSpecification
+ Hydra.Ext.Sql.Syntax: newtype CharacterSetSpecification
+ Hydra.Ext.Sql.Syntax: newtype CharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: newtype CollateClause
+ Hydra.Ext.Sql.Syntax: newtype ColumnConstraintDefinition
+ Hydra.Ext.Sql.Syntax: newtype ColumnName
+ Hydra.Ext.Sql.Syntax: newtype ColumnOptions
+ Hydra.Ext.Sql.Syntax: newtype ColumnReference
+ Hydra.Ext.Sql.Syntax: newtype ContextuallyTypedRowValueConstructor
+ Hydra.Ext.Sql.Syntax: newtype ContextuallyTypedTableValueConstructor
+ Hydra.Ext.Sql.Syntax: newtype DateLiteral
+ Hydra.Ext.Sql.Syntax: newtype DateString
+ Hydra.Ext.Sql.Syntax: newtype DatetimeType
+ Hydra.Ext.Sql.Syntax: newtype DatetimeValueExpression
+ Hydra.Ext.Sql.Syntax: newtype DefaultClause
+ Hydra.Ext.Sql.Syntax: newtype DomainName
+ Hydra.Ext.Sql.Syntax: newtype ExactNumericLiteral
+ Hydra.Ext.Sql.Syntax: newtype FieldReference
+ Hydra.Ext.Sql.Syntax: newtype FromDefault
+ Hydra.Ext.Sql.Syntax: newtype FromSubquery
+ Hydra.Ext.Sql.Syntax: newtype GeneralValueSpecification
+ Hydra.Ext.Sql.Syntax: newtype GenerationClause
+ Hydra.Ext.Sql.Syntax: newtype IdentityColumnSpecification
+ Hydra.Ext.Sql.Syntax: newtype InsertColumnList
+ Hydra.Ext.Sql.Syntax: newtype InsertionTarget
+ Hydra.Ext.Sql.Syntax: newtype IntervalLiteral
+ Hydra.Ext.Sql.Syntax: newtype IntervalType
+ Hydra.Ext.Sql.Syntax: newtype IntervalValueExpression
+ Hydra.Ext.Sql.Syntax: newtype LargeObjectLength
+ Hydra.Ext.Sql.Syntax: newtype LeftBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: newtype Length
+ Hydra.Ext.Sql.Syntax: newtype LikeClause
+ Hydra.Ext.Sql.Syntax: newtype MethodInvocation
+ Hydra.Ext.Sql.Syntax: newtype MultisetElementReference
+ Hydra.Ext.Sql.Syntax: newtype MultisetType
+ Hydra.Ext.Sql.Syntax: newtype MultisetValueConstructor
+ Hydra.Ext.Sql.Syntax: newtype MultisetValueExpression
+ Hydra.Ext.Sql.Syntax: newtype NationalCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: newtype NationalCharacterStringType
+ Hydra.Ext.Sql.Syntax: newtype NewSpecification
+ Hydra.Ext.Sql.Syntax: newtype NextValueExpression
+ Hydra.Ext.Sql.Syntax: newtype NumericValueExpression
+ Hydra.Ext.Sql.Syntax: newtype ParenthesizedValueExpression
+ Hydra.Ext.Sql.Syntax: newtype PathResolvedUserDefinedTypeName
+ Hydra.Ext.Sql.Syntax: newtype Precision
+ Hydra.Ext.Sql.Syntax: newtype Predicate
+ Hydra.Ext.Sql.Syntax: newtype QueryExpression
+ Hydra.Ext.Sql.Syntax: newtype ReferenceResolution
+ Hydra.Ext.Sql.Syntax: newtype ReferenceScopeCheck
+ Hydra.Ext.Sql.Syntax: newtype ReferenceType
+ Hydra.Ext.Sql.Syntax: newtype ReferenceValueExpression
+ Hydra.Ext.Sql.Syntax: newtype RightBracketOrTrigraph
+ Hydra.Ext.Sql.Syntax: newtype RoutineInvocation
+ Hydra.Ext.Sql.Syntax: newtype RowType
+ Hydra.Ext.Sql.Syntax: newtype RowValueExpression
+ Hydra.Ext.Sql.Syntax: newtype RowValueSpecialCase
+ Hydra.Ext.Sql.Syntax: newtype ScalarSubquery
+ Hydra.Ext.Sql.Syntax: newtype Scale
+ Hydra.Ext.Sql.Syntax: newtype SelfReferencingColumnSpecification
+ Hydra.Ext.Sql.Syntax: newtype SetFunctionSpecification
+ Hydra.Ext.Sql.Syntax: newtype StaticMethodInvocation
+ Hydra.Ext.Sql.Syntax: newtype StringValueExpression
+ Hydra.Ext.Sql.Syntax: newtype Subquery
+ Hydra.Ext.Sql.Syntax: newtype SubtableClause
+ Hydra.Ext.Sql.Syntax: newtype SubtypeTreatment
+ Hydra.Ext.Sql.Syntax: newtype TableConstraintDefinition
+ Hydra.Ext.Sql.Syntax: newtype TableName
+ Hydra.Ext.Sql.Syntax: newtype TableScope
+ Hydra.Ext.Sql.Syntax: newtype TimeLiteral
+ Hydra.Ext.Sql.Syntax: newtype TimeString
+ Hydra.Ext.Sql.Syntax: newtype TimestampLiteral
+ Hydra.Ext.Sql.Syntax: newtype UnicodeCharacterStringLiteral
+ Hydra.Ext.Sql.Syntax: newtype UnsignedInteger
+ Hydra.Ext.Sql.Syntax: newtype UserDefinedTypeValueExpression
+ Hydra.Ext.Sql.Syntax: newtype WindowFunction
+ Hydra.Ext.Stac.Items: Asset :: Uri -> Maybe String -> Maybe String -> Maybe MediaType -> [Role] -> Asset
+ Hydra.Ext.Stac.Items: Item :: Feature -> StacVersion -> [Url] -> [Link] -> Map String Asset -> Maybe Id -> Item
+ Hydra.Ext.Stac.Items: Link :: Url -> RelationType -> Maybe MediaType -> Maybe String -> Link
+ Hydra.Ext.Stac.Items: MediaType :: String -> MediaType
+ Hydra.Ext.Stac.Items: RelationTypeIana :: LinkRelationType -> RelationType
+ Hydra.Ext.Stac.Items: RelationTypeOther :: String -> RelationType
+ Hydra.Ext.Stac.Items: RelationTypeStac :: StacRelationType -> RelationType
+ Hydra.Ext.Stac.Items: RoleData :: Role
+ Hydra.Ext.Stac.Items: RoleMetadata :: Role
+ Hydra.Ext.Stac.Items: RoleOther :: String -> Role
+ Hydra.Ext.Stac.Items: RoleOverview :: Role
+ Hydra.Ext.Stac.Items: RoleThumbnail :: Role
+ Hydra.Ext.Stac.Items: StacRelationTypeCollection :: StacRelationType
+ Hydra.Ext.Stac.Items: StacRelationTypeDerivedFrom :: StacRelationType
+ Hydra.Ext.Stac.Items: StacRelationTypeParent :: StacRelationType
+ Hydra.Ext.Stac.Items: StacRelationTypeRoot :: StacRelationType
+ Hydra.Ext.Stac.Items: StacRelationTypeSelf :: StacRelationType
+ Hydra.Ext.Stac.Items: StacVersion :: String -> StacVersion
+ Hydra.Ext.Stac.Items: Uri :: String -> Uri
+ Hydra.Ext.Stac.Items: Url :: String -> Url
+ Hydra.Ext.Stac.Items: [assetDescription] :: Asset -> Maybe String
+ Hydra.Ext.Stac.Items: [assetHref] :: Asset -> Uri
+ Hydra.Ext.Stac.Items: [assetRoles] :: Asset -> [Role]
+ Hydra.Ext.Stac.Items: [assetTitle] :: Asset -> Maybe String
+ Hydra.Ext.Stac.Items: [assetType] :: Asset -> Maybe MediaType
+ Hydra.Ext.Stac.Items: [itemAssets] :: Item -> Map String Asset
+ Hydra.Ext.Stac.Items: [itemCollection] :: Item -> Maybe Id
+ Hydra.Ext.Stac.Items: [itemFeature] :: Item -> Feature
+ Hydra.Ext.Stac.Items: [itemLinks] :: Item -> [Link]
+ Hydra.Ext.Stac.Items: [itemStacExtensions] :: Item -> [Url]
+ Hydra.Ext.Stac.Items: [itemStacVersion] :: Item -> StacVersion
+ Hydra.Ext.Stac.Items: [linkHref] :: Link -> Url
+ Hydra.Ext.Stac.Items: [linkRel] :: Link -> RelationType
+ Hydra.Ext.Stac.Items: [linkTitle] :: Link -> Maybe String
+ Hydra.Ext.Stac.Items: [linkType] :: Link -> Maybe MediaType
+ Hydra.Ext.Stac.Items: [unMediaType] :: MediaType -> String
+ Hydra.Ext.Stac.Items: [unStacVersion] :: StacVersion -> String
+ Hydra.Ext.Stac.Items: [unUri] :: Uri -> String
+ Hydra.Ext.Stac.Items: [unUrl] :: Url -> String
+ Hydra.Ext.Stac.Items: _Asset :: Name
+ Hydra.Ext.Stac.Items: _Asset_description :: Name
+ Hydra.Ext.Stac.Items: _Asset_href :: Name
+ Hydra.Ext.Stac.Items: _Asset_roles :: Name
+ Hydra.Ext.Stac.Items: _Asset_title :: Name
+ Hydra.Ext.Stac.Items: _Asset_type :: Name
+ Hydra.Ext.Stac.Items: _Item :: Name
+ Hydra.Ext.Stac.Items: _Item_assets :: Name
+ Hydra.Ext.Stac.Items: _Item_collection :: Name
+ Hydra.Ext.Stac.Items: _Item_feature :: Name
+ Hydra.Ext.Stac.Items: _Item_links :: Name
+ Hydra.Ext.Stac.Items: _Item_stacExtensions :: Name
+ Hydra.Ext.Stac.Items: _Item_stacVersion :: Name
+ Hydra.Ext.Stac.Items: _Link :: Name
+ Hydra.Ext.Stac.Items: _Link_href :: Name
+ Hydra.Ext.Stac.Items: _Link_rel :: Name
+ Hydra.Ext.Stac.Items: _Link_title :: Name
+ Hydra.Ext.Stac.Items: _Link_type :: Name
+ Hydra.Ext.Stac.Items: _MediaType :: Name
+ Hydra.Ext.Stac.Items: _RelationType :: Name
+ Hydra.Ext.Stac.Items: _RelationType_iana :: Name
+ Hydra.Ext.Stac.Items: _RelationType_other :: Name
+ Hydra.Ext.Stac.Items: _RelationType_stac :: Name
+ Hydra.Ext.Stac.Items: _Role :: Name
+ Hydra.Ext.Stac.Items: _Role_data :: Name
+ Hydra.Ext.Stac.Items: _Role_metadata :: Name
+ Hydra.Ext.Stac.Items: _Role_other :: Name
+ Hydra.Ext.Stac.Items: _Role_overview :: Name
+ Hydra.Ext.Stac.Items: _Role_thumbnail :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType_collection :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType_derivedFrom :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType_parent :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType_root :: Name
+ Hydra.Ext.Stac.Items: _StacRelationType_self :: Name
+ Hydra.Ext.Stac.Items: _StacVersion :: Name
+ Hydra.Ext.Stac.Items: _Uri :: Name
+ Hydra.Ext.Stac.Items: _Url :: Name
+ Hydra.Ext.Stac.Items: data Asset
+ Hydra.Ext.Stac.Items: data Item
+ Hydra.Ext.Stac.Items: data Link
+ Hydra.Ext.Stac.Items: data RelationType
+ Hydra.Ext.Stac.Items: data Role
+ Hydra.Ext.Stac.Items: data StacRelationType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Asset
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Item
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Link
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.MediaType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.RelationType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Role
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.StacRelationType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.StacVersion
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Uri
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Eq Hydra.Ext.Stac.Items.Url
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Asset
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Item
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Link
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.MediaType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.RelationType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Role
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.StacRelationType
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.StacVersion
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Uri
+ Hydra.Ext.Stac.Items: instance GHC.Classes.Ord Hydra.Ext.Stac.Items.Url
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Asset
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Item
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Link
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.MediaType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.RelationType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Role
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.StacRelationType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.StacVersion
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Uri
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Read.Read Hydra.Ext.Stac.Items.Url
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Asset
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Item
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Link
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.MediaType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.RelationType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Role
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.StacRelationType
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.StacVersion
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Uri
+ Hydra.Ext.Stac.Items: instance GHC.Internal.Show.Show Hydra.Ext.Stac.Items.Url
+ Hydra.Ext.Stac.Items: newtype MediaType
+ Hydra.Ext.Stac.Items: newtype StacVersion
+ Hydra.Ext.Stac.Items: newtype Uri
+ Hydra.Ext.Stac.Items: newtype Url
+ Hydra.Ext.Workflow: HydraSchemaSpec :: [Module] -> Name -> HydraSchemaSpec
+ Hydra.Ext.Workflow: SchemaSpecFile :: String -> SchemaSpec
+ Hydra.Ext.Workflow: SchemaSpecHydra :: HydraSchemaSpec -> SchemaSpec
+ Hydra.Ext.Workflow: SchemaSpecProvided :: SchemaSpec
+ Hydra.Ext.Workflow: TransformWorkflow :: String -> SchemaSpec -> String -> String -> TransformWorkflow
+ Hydra.Ext.Workflow: [hydraSchemaSpecModules] :: HydraSchemaSpec -> [Module]
+ Hydra.Ext.Workflow: [hydraSchemaSpecTypeName] :: HydraSchemaSpec -> Name
+ Hydra.Ext.Workflow: [transformWorkflowDestDir] :: TransformWorkflow -> String
+ Hydra.Ext.Workflow: [transformWorkflowName] :: TransformWorkflow -> String
+ Hydra.Ext.Workflow: [transformWorkflowSchemaSpec] :: TransformWorkflow -> SchemaSpec
+ Hydra.Ext.Workflow: [transformWorkflowSrcDir] :: TransformWorkflow -> String
+ Hydra.Ext.Workflow: _HydraSchemaSpec :: Name
+ Hydra.Ext.Workflow: _HydraSchemaSpec_modules :: Name
+ Hydra.Ext.Workflow: _HydraSchemaSpec_typeName :: Name
+ Hydra.Ext.Workflow: _SchemaSpec :: Name
+ Hydra.Ext.Workflow: _SchemaSpec_file :: Name
+ Hydra.Ext.Workflow: _SchemaSpec_hydra :: Name
+ Hydra.Ext.Workflow: _SchemaSpec_provided :: Name
+ Hydra.Ext.Workflow: _TransformWorkflow :: Name
+ Hydra.Ext.Workflow: _TransformWorkflow_destDir :: Name
+ Hydra.Ext.Workflow: _TransformWorkflow_name :: Name
+ Hydra.Ext.Workflow: _TransformWorkflow_schemaSpec :: Name
+ Hydra.Ext.Workflow: _TransformWorkflow_srcDir :: Name
+ Hydra.Ext.Workflow: data HydraSchemaSpec
+ Hydra.Ext.Workflow: data SchemaSpec
+ Hydra.Ext.Workflow: data TransformWorkflow
+ Hydra.Ext.Workflow: instance GHC.Classes.Eq Hydra.Ext.Workflow.HydraSchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Classes.Eq Hydra.Ext.Workflow.SchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Classes.Eq Hydra.Ext.Workflow.TransformWorkflow
+ Hydra.Ext.Workflow: instance GHC.Classes.Ord Hydra.Ext.Workflow.HydraSchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Classes.Ord Hydra.Ext.Workflow.SchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Classes.Ord Hydra.Ext.Workflow.TransformWorkflow
+ Hydra.Ext.Workflow: instance GHC.Internal.Read.Read Hydra.Ext.Workflow.HydraSchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Internal.Read.Read Hydra.Ext.Workflow.SchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Internal.Read.Read Hydra.Ext.Workflow.TransformWorkflow
+ Hydra.Ext.Workflow: instance GHC.Internal.Show.Show Hydra.Ext.Workflow.HydraSchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Internal.Show.Show Hydra.Ext.Workflow.SchemaSpec
+ Hydra.Ext.Workflow: instance GHC.Internal.Show.Show Hydra.Ext.Workflow.TransformWorkflow
+ Hydra.Ext.Yaml.Coder: decodeRecord :: Name -> [(FieldType, Coder Term Node Error)] -> Node -> Either Error Term
+ Hydra.Ext.Yaml.Coder: encodeRecord :: [(FieldType, Coder Term Node Error)] -> Graph -> Term -> Either Error Node
+ Hydra.Ext.Yaml.Coder: literalYamlCoder :: LiteralType -> Either t0 (Coder Literal Scalar Error)
+ Hydra.Ext.Yaml.Coder: recordCoder :: Name -> [FieldType] -> t0 -> Graph -> Either Error (Coder Term Node Error)
+ Hydra.Ext.Yaml.Coder: requiresYamlStringSentinel :: String -> Bool
+ Hydra.Ext.Yaml.Coder: termCoder :: Type -> t0 -> Graph -> Either Error (Coder Term Node Error)
+ Hydra.Ext.Yaml.Coder: unitCoder :: Coder Term Node Error
+ Hydra.Ext.Yaml.Coder: yamlCoder :: Type -> t0 -> Graph -> Either Error (Coder Term Node Error)
+ Hydra.Ext.Yaml.Language: yamlLanguage :: Language
+ Hydra.Ext.Yaml.Serde: escapeSingleQuotes :: String -> String
+ Hydra.Ext.Yaml.Serde: hasLeadingTrailingSpace :: String -> Bool
+ Hydra.Ext.Yaml.Serde: hydraYamlToString :: Node -> String
+ Hydra.Ext.Yaml.Serde: indentString :: String -> String
+ Hydra.Ext.Yaml.Serde: isDecimalString :: [Int] -> Bool
+ Hydra.Ext.Yaml.Serde: looksLikeNumber :: String -> Bool
+ Hydra.Ext.Yaml.Serde: needsQuoting :: String -> Bool
+ Hydra.Ext.Yaml.Serde: writeMappingEntry :: (Node, Node) -> String
+ Hydra.Ext.Yaml.Serde: writeMappingEntryInline :: (Node, Node) -> String
+ Hydra.Ext.Yaml.Serde: writeNode :: Node -> String
+ Hydra.Ext.Yaml.Serde: writeNodeInline :: Node -> String
+ Hydra.Ext.Yaml.Serde: writeScalar :: Scalar -> String
+ Hydra.Ext.Yaml.Serde: writeSequenceItem :: Node -> String
+ Hydra.Ext.Yaml.Serde: writeString :: String -> String
+ Hydra.Ext.Yaml.Serde: yamlReservedWords :: [String]
+ Hydra.Ext.Yaml.Serde: yamlSpecialChars :: String
Files
- CHANGELOG.md +80/−0
- hydra-ext.cabal +78/−58
- src/main/haskell/Hydra/Atlas.hs +0/−244
- src/main/haskell/Hydra/Avro/Coder.hs +0/−661
- src/main/haskell/Hydra/Avro/Encoder.hs +0/−605
- src/main/haskell/Hydra/Avro/Environment.hs +0/−90
- src/main/haskell/Hydra/Avro/Language.hs +0/−108
- src/main/haskell/Hydra/Avro/Schema.hs +0/−236
- src/main/haskell/Hydra/Avro/SchemaJson.hs +0/−482
- src/main/haskell/Hydra/Avro/Testing.hs +0/−326
- src/main/haskell/Hydra/Azure/Dtld.hs +0/−747
- src/main/haskell/Hydra/Cpp/Coder.hs +0/−746
- src/main/haskell/Hydra/Cpp/Environment.hs +0/−28
- src/main/haskell/Hydra/Cpp/Language.hs +0/−275
- src/main/haskell/Hydra/Cpp/Names.hs +0/−148
- src/main/haskell/Hydra/Cpp/Serde.hs +0/−1354
- src/main/haskell/Hydra/Cpp/Syntax.hs +0/−2033
- src/main/haskell/Hydra/Cpp/Utils.hs +0/−308
- src/main/haskell/Hydra/Csharp/Language.hs +0/−247
- src/main/haskell/Hydra/Csharp/Syntax.hs +0/−5297
- src/main/haskell/Hydra/Datalog/Syntax.hs +0/−180
- src/main/haskell/Hydra/Delta/Parquet.hs +0/−154
- src/main/haskell/Hydra/Ext/Atlas.hs +244/−0
- src/main/haskell/Hydra/Ext/Avro/Coder.hs +663/−0
- src/main/haskell/Hydra/Ext/Avro/Encoder.hs +607/−0
- src/main/haskell/Hydra/Ext/Avro/Environment.hs +90/−0
- src/main/haskell/Hydra/Ext/Avro/Language.hs +110/−0
- src/main/haskell/Hydra/Ext/Avro/Schema.hs +236/−0
- src/main/haskell/Hydra/Ext/Avro/SchemaJson.hs +484/−0
- src/main/haskell/Hydra/Ext/Avro/Testing.hs +326/−0
- src/main/haskell/Hydra/Ext/Azure/Dtld.hs +747/−0
- src/main/haskell/Hydra/Ext/Cpp/Coder.hs +748/−0
- src/main/haskell/Hydra/Ext/Cpp/Environment.hs +28/−0
- src/main/haskell/Hydra/Ext/Cpp/Language.hs +277/−0
- src/main/haskell/Hydra/Ext/Cpp/Names.hs +150/−0
- src/main/haskell/Hydra/Ext/Cpp/Serde.hs +1356/−0
- src/main/haskell/Hydra/Ext/Cpp/Syntax.hs +2033/−0
- src/main/haskell/Hydra/Ext/Cpp/Utils.hs +310/−0
- src/main/haskell/Hydra/Ext/Csharp/Language.hs +249/−0
- src/main/haskell/Hydra/Ext/Csharp/Syntax.hs +5297/−0
- src/main/haskell/Hydra/Ext/Datalog/Syntax.hs +180/−0
- src/main/haskell/Hydra/Ext/Delta/Parquet.hs +154/−0
- src/main/haskell/Hydra/Ext/Dsl/Atlas.hs +3926/−0
- src/main/haskell/Hydra/Ext/Dsl/Avro/Environment.hs +413/−0
- src/main/haskell/Hydra/Ext/Dsl/Avro/Schema.hs +1241/−0
- src/main/haskell/Hydra/Ext/Dsl/Avro/Testing.hs +2090/−0
- src/main/haskell/Hydra/Ext/Dsl/Azure/Dtld.hs +8206/−0
- src/main/haskell/Hydra/Ext/Dsl/Cpp/Environment.hs +84/−0
- src/main/haskell/Hydra/Ext/Dsl/Cpp/Syntax.hs +8910/−0
- src/main/haskell/Hydra/Ext/Dsl/Csharp/Syntax.hs +26317/−0
- src/main/haskell/Hydra/Ext/Dsl/Datalog/Syntax.hs +608/−0
- src/main/haskell/Hydra/Ext/Dsl/Delta/Parquet.hs +573/−0
- src/main/haskell/Hydra/Ext/Dsl/Geojson/Model.hs +1075/−0
- src/main/haskell/Hydra/Ext/Dsl/Graphql/Syntax.hs +7210/−0
- src/main/haskell/Hydra/Ext/Dsl/Iana/Linkrelations.hs +1105/−0
- src/main/haskell/Hydra/Ext/Dsl/Json/Schema/Model.hs +741/−0
- src/main/haskell/Hydra/Ext/Dsl/Kusto/Kql.hs +2970/−0
- src/main/haskell/Hydra/Ext/Dsl/Osv/Schema.hs +2239/−0
- src/main/haskell/Hydra/Ext/Dsl/Parquet/Format.hs +7789/−0
- src/main/haskell/Hydra/Ext/Dsl/Pegasus/Pdl.hs +1373/−0
- src/main/haskell/Hydra/Ext/Dsl/Protobuf/Any.hs +82/−0
- src/main/haskell/Hydra/Ext/Dsl/Protobuf/Environment.hs +104/−0
- src/main/haskell/Hydra/Ext/Dsl/Protobuf/Proto3.hs +1304/−0
- src/main/haskell/Hydra/Ext/Dsl/Protobuf/SourceContext.hs +45/−0
- src/main/haskell/Hydra/Ext/Dsl/Sql/Syntax.hs +4858/−0
- src/main/haskell/Hydra/Ext/Dsl/Stac/Items.hs +1015/−0
- src/main/haskell/Hydra/Ext/Dsl/Workflow.hs +297/−0
- src/main/haskell/Hydra/Ext/Geojson/Model.hs +230/−0
- src/main/haskell/Hydra/Ext/Graphql/Coder.hs +259/−0
- src/main/haskell/Hydra/Ext/Graphql/Language.hs +121/−0
- src/main/haskell/Hydra/Ext/Graphql/Serde.hs +189/−0
- src/main/haskell/Hydra/Ext/Graphql/Syntax.hs +1397/−0
- src/main/haskell/Hydra/Ext/Iana/Linkrelations.hs +500/−0
- src/main/haskell/Hydra/Ext/Json/Schema/Coder.hs +292/−0
- src/main/haskell/Hydra/Ext/Json/Schema/Language.hs +100/−0
- src/main/haskell/Hydra/Ext/Json/Schema/Model.hs +280/−0
- src/main/haskell/Hydra/Ext/Json/Schema/Serde.hs +386/−0
- src/main/haskell/Hydra/Ext/Kusto/Kql.hs +737/−0
- src/main/haskell/Hydra/Ext/Osv/Schema.hs +266/−0
- src/main/haskell/Hydra/Ext/Parquet/Format.hs +990/−0
- src/main/haskell/Hydra/Ext/Pegasus/Coder.hs +307/−0
- src/main/haskell/Hydra/Ext/Pegasus/Language.hs +114/−0
- src/main/haskell/Hydra/Ext/Pegasus/Pdl.hs +288/−0
- src/main/haskell/Hydra/Ext/Pegasus/Serde.hs +196/−0
- src/main/haskell/Hydra/Ext/Protobuf/Any.hs +26/−0
- src/main/haskell/Hydra/Ext/Protobuf/Coder.hs +598/−0
- src/main/haskell/Hydra/Ext/Protobuf/Environment.hs +40/−0
- src/main/haskell/Hydra/Ext/Protobuf/Language.hs +164/−0
- src/main/haskell/Hydra/Ext/Protobuf/Proto3.hs +294/−0
- src/main/haskell/Hydra/Ext/Protobuf/Serde.hs +296/−0
- src/main/haskell/Hydra/Ext/Protobuf/SourceContext.hs +21/−0
- src/main/haskell/Hydra/Ext/Sql/Syntax.hs +1577/−0
- src/main/haskell/Hydra/Ext/Stac/Items.hs +191/−0
- src/main/haskell/Hydra/Ext/Workflow.hs +68/−0
- src/main/haskell/Hydra/Ext/Yaml/Coder.hs +281/−0
- src/main/haskell/Hydra/Ext/Yaml/Language.hs +105/−0
- src/main/haskell/Hydra/Ext/Yaml/Serde.hs +266/−0
- src/main/haskell/Hydra/Geojson/Model.hs +0/−230
- src/main/haskell/Hydra/Graphql/Coder.hs +0/−250
- src/main/haskell/Hydra/Graphql/Language.hs +0/−119
- src/main/haskell/Hydra/Graphql/Serde.hs +0/−187
- src/main/haskell/Hydra/Graphql/Syntax.hs +0/−1397
- src/main/haskell/Hydra/Iana/Linkrelations.hs +0/−500
- src/main/haskell/Hydra/Json/Schema/Coder.hs +0/−286
- src/main/haskell/Hydra/Json/Schema/Language.hs +0/−98
- src/main/haskell/Hydra/Json/Schema/Model.hs +0/−280
- src/main/haskell/Hydra/Json/Schema/Serde.hs +0/−384
- src/main/haskell/Hydra/Kusto/Kql.hs +0/−737
- src/main/haskell/Hydra/Osv/Schema.hs +0/−266
- src/main/haskell/Hydra/Parquet/Format.hs +0/−990
- src/main/haskell/Hydra/Pegasus/Coder.hs +0/−305
- src/main/haskell/Hydra/Pegasus/Language.hs +0/−112
- src/main/haskell/Hydra/Pegasus/Pdl.hs +0/−288
- src/main/haskell/Hydra/Pegasus/Serde.hs +0/−194
- src/main/haskell/Hydra/Protobuf/Any.hs +0/−26
- src/main/haskell/Hydra/Protobuf/Coder.hs +0/−586
- src/main/haskell/Hydra/Protobuf/Environment.hs +0/−40
- src/main/haskell/Hydra/Protobuf/Language.hs +0/−162
- src/main/haskell/Hydra/Protobuf/Proto3.hs +0/−294
- src/main/haskell/Hydra/Protobuf/Serde.hs +0/−294
- src/main/haskell/Hydra/Protobuf/SourceContext.hs +0/−21
- src/main/haskell/Hydra/Rust/Coder.hs +0/−536
- src/main/haskell/Hydra/Rust/Language.hs +0/−264
- src/main/haskell/Hydra/Rust/Operators.hs +0/−271
- src/main/haskell/Hydra/Rust/Serde.hs +0/−1405
- src/main/haskell/Hydra/Rust/Syntax.hs +0/−2144
- src/main/haskell/Hydra/Sql/Syntax.hs +0/−1577
- src/main/haskell/Hydra/Stac/Items.hs +0/−191
- src/main/haskell/Hydra/Workflow.hs +0/−68
- src/main/haskell/Hydra/Yaml/Coder.hs +0/−279
- src/main/haskell/Hydra/Yaml/Language.hs +0/−103
- src/main/haskell/Hydra/Yaml/Serde.hs +0/−264
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-ext.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hydra-ext-version: 0.17.7+version: 0.18.0 synopsis: Hydra extensions: additional coders and schema integrations 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". Various extensions to Hydra category: Data@@ -27,61 +27,81 @@ library exposed-modules:- Hydra.Atlas- Hydra.Avro.Coder- Hydra.Avro.Encoder- Hydra.Avro.Environment- Hydra.Avro.Language- Hydra.Avro.Schema- Hydra.Avro.SchemaJson- Hydra.Avro.Testing- Hydra.Azure.Dtld- Hydra.Cpp.Coder- Hydra.Cpp.Environment- Hydra.Cpp.Language- Hydra.Cpp.Names- Hydra.Cpp.Serde- Hydra.Cpp.Syntax- Hydra.Cpp.Utils- Hydra.Csharp.Language- Hydra.Csharp.Syntax- Hydra.Datalog.Syntax- Hydra.Delta.Parquet- Hydra.Geojson.Model- Hydra.Graphql.Coder- Hydra.Graphql.Language- Hydra.Graphql.Serde- Hydra.Graphql.Syntax- Hydra.Iana.Linkrelations- Hydra.Json.Schema.Coder- Hydra.Json.Schema.Language- Hydra.Json.Schema.Model- Hydra.Json.Schema.Serde- Hydra.Kusto.Kql- Hydra.Osv.Schema- Hydra.Parquet.Format- Hydra.Pegasus.Coder- Hydra.Pegasus.Language- Hydra.Pegasus.Pdl- Hydra.Pegasus.Serde- Hydra.Protobuf.Any- Hydra.Protobuf.Coder- Hydra.Protobuf.Environment- Hydra.Protobuf.Language- Hydra.Protobuf.Proto3- Hydra.Protobuf.Serde- Hydra.Protobuf.SourceContext- Hydra.Rust.Coder- Hydra.Rust.Language- Hydra.Rust.Operators- Hydra.Rust.Serde- Hydra.Rust.Syntax- Hydra.Sql.Syntax- Hydra.Stac.Items- Hydra.Workflow- Hydra.Yaml.Coder- Hydra.Yaml.Language- Hydra.Yaml.Serde+ Hydra.Ext.Atlas+ Hydra.Ext.Avro.Coder+ Hydra.Ext.Avro.Encoder+ Hydra.Ext.Avro.Environment+ Hydra.Ext.Avro.Language+ Hydra.Ext.Avro.Schema+ Hydra.Ext.Avro.SchemaJson+ Hydra.Ext.Avro.Testing+ Hydra.Ext.Azure.Dtld+ Hydra.Ext.Cpp.Coder+ Hydra.Ext.Cpp.Environment+ Hydra.Ext.Cpp.Language+ Hydra.Ext.Cpp.Names+ Hydra.Ext.Cpp.Serde+ Hydra.Ext.Cpp.Syntax+ Hydra.Ext.Cpp.Utils+ Hydra.Ext.Csharp.Language+ Hydra.Ext.Csharp.Syntax+ Hydra.Ext.Datalog.Syntax+ Hydra.Ext.Delta.Parquet+ Hydra.Ext.Dsl.Atlas+ Hydra.Ext.Dsl.Avro.Environment+ Hydra.Ext.Dsl.Avro.Schema+ Hydra.Ext.Dsl.Avro.Testing+ Hydra.Ext.Dsl.Azure.Dtld+ Hydra.Ext.Dsl.Cpp.Environment+ Hydra.Ext.Dsl.Cpp.Syntax+ Hydra.Ext.Dsl.Csharp.Syntax+ Hydra.Ext.Dsl.Datalog.Syntax+ Hydra.Ext.Dsl.Delta.Parquet+ Hydra.Ext.Dsl.Geojson.Model+ Hydra.Ext.Dsl.Graphql.Syntax+ Hydra.Ext.Dsl.Iana.Linkrelations+ Hydra.Ext.Dsl.Json.Schema.Model+ Hydra.Ext.Dsl.Kusto.Kql+ Hydra.Ext.Dsl.Osv.Schema+ Hydra.Ext.Dsl.Parquet.Format+ Hydra.Ext.Dsl.Pegasus.Pdl+ Hydra.Ext.Dsl.Protobuf.Any+ Hydra.Ext.Dsl.Protobuf.Environment+ Hydra.Ext.Dsl.Protobuf.Proto3+ Hydra.Ext.Dsl.Protobuf.SourceContext+ Hydra.Ext.Dsl.Sql.Syntax+ Hydra.Ext.Dsl.Stac.Items+ Hydra.Ext.Dsl.Workflow+ Hydra.Ext.Geojson.Model+ Hydra.Ext.Graphql.Coder+ Hydra.Ext.Graphql.Language+ Hydra.Ext.Graphql.Serde+ Hydra.Ext.Graphql.Syntax+ Hydra.Ext.Iana.Linkrelations+ Hydra.Ext.Json.Schema.Coder+ Hydra.Ext.Json.Schema.Language+ Hydra.Ext.Json.Schema.Model+ Hydra.Ext.Json.Schema.Serde+ Hydra.Ext.Kusto.Kql+ Hydra.Ext.Osv.Schema+ Hydra.Ext.Parquet.Format+ Hydra.Ext.Pegasus.Coder+ Hydra.Ext.Pegasus.Language+ Hydra.Ext.Pegasus.Pdl+ Hydra.Ext.Pegasus.Serde+ Hydra.Ext.Protobuf.Any+ Hydra.Ext.Protobuf.Coder+ Hydra.Ext.Protobuf.Environment+ Hydra.Ext.Protobuf.Language+ Hydra.Ext.Protobuf.Proto3+ Hydra.Ext.Protobuf.Serde+ Hydra.Ext.Protobuf.SourceContext+ Hydra.Ext.Sql.Syntax+ Hydra.Ext.Stac.Items+ Hydra.Ext.Workflow+ Hydra.Ext.Yaml.Coder+ Hydra.Ext.Yaml.Language+ Hydra.Ext.Yaml.Serde other-modules: Paths_hydra_ext hs-source-dirs:@@ -90,7 +110,7 @@ base >=4.19.0 && <4.22 , bytestring >=0.11.5 && <0.13 , containers >=0.6.7 && <0.8- , hydra-kernel ==0.17.7- , hydra-rdf ==0.17.7+ , hydra-kernel ==0.18.0+ , hydra-rdf ==0.18.0 , scientific >=0.3.7 && <0.4 default-language: Haskell2010
− src/main/haskell/Hydra/Atlas.hs
@@ -1,244 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | The Apache Atlas meta-model--- | Based on the the org.apache.atlas.model package in the master branch as of 2022-06-01--- | https://github.com/apache/atlas/tree/master/intg/src/main/java/org/apache/atlas/model--module Hydra.Atlas where--import qualified Hydra.Core as Core-import qualified Hydra.Xml.Schema as Schema-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.Int as I-import qualified Data.Map as M-import qualified Data.Set as S---- | class that captures details of a struct-attribute.-data AtlasAttributeDef =- AtlasAttributeDef {- atlasAttributeDefName :: (Maybe String),- atlasAttributeDefTypeName :: (Maybe String),- atlasAttributeDefIsOptional :: Bool,- atlasAttributeDefCardinality :: (Maybe AtlasAttributeDefCardinality),- atlasAttributeDefValuesMinCount :: Int,- atlasAttributeDefValuesMaxCount :: Int,- atlasAttributeDefIsUnique :: Bool,- atlasAttributeDefIsIndexable :: Bool,- atlasAttributeDefIncludeInNotification :: Bool,- atlasAttributeDefDefaultValue :: (Maybe String),- atlasAttributeDefDescription :: (Maybe String),- atlasAttributeDefSearchWeight :: Int,- atlasAttributeDefIndexType :: (Maybe AtlasAttributeDefIndexType),- atlasAttributeDefConstraints :: [AtlasConstraintDef],- atlasAttributeDefOptions :: (M.Map String String),- atlasAttributeDefDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_AtlasAttributeDef = Core.Name "hydra.atlas.AtlasAttributeDef"--_AtlasAttributeDef_name = Core.Name "name"--_AtlasAttributeDef_typeName = Core.Name "typeName"--_AtlasAttributeDef_isOptional = Core.Name "isOptional"--_AtlasAttributeDef_cardinality = Core.Name "cardinality"--_AtlasAttributeDef_valuesMinCount = Core.Name "valuesMinCount"--_AtlasAttributeDef_valuesMaxCount = Core.Name "valuesMaxCount"--_AtlasAttributeDef_isUnique = Core.Name "isUnique"--_AtlasAttributeDef_isIndexable = Core.Name "isIndexable"--_AtlasAttributeDef_includeInNotification = Core.Name "includeInNotification"--_AtlasAttributeDef_defaultValue = Core.Name "defaultValue"--_AtlasAttributeDef_description = Core.Name "description"--_AtlasAttributeDef_searchWeight = Core.Name "searchWeight"--_AtlasAttributeDef_indexType = Core.Name "indexType"--_AtlasAttributeDef_constraints = Core.Name "constraints"--_AtlasAttributeDef_options = Core.Name "options"--_AtlasAttributeDef_displayName = Core.Name "displayName"---- | The cardinality of an Atlas attribute: single-valued, a list, or a set-data AtlasAttributeDefCardinality =- AtlasAttributeDefCardinalitySingle |- AtlasAttributeDefCardinalityList |- AtlasAttributeDefCardinalitySet- deriving (Eq, Ord, Read, Show)--_AtlasAttributeDefCardinality = Core.Name "hydra.atlas.AtlasAttributeDefCardinality"--_AtlasAttributeDefCardinality_single = Core.Name "single"--_AtlasAttributeDefCardinality_list = Core.Name "list"--_AtlasAttributeDefCardinality_set = Core.Name "set"---- | The index type of an Atlas attribute-data AtlasAttributeDefIndexType =- AtlasAttributeDefIndexTypeDefault |- AtlasAttributeDefIndexTypeString- deriving (Eq, Ord, Read, Show)--_AtlasAttributeDefIndexType = Core.Name "hydra.atlas.AtlasAttributeDefIndexType"--_AtlasAttributeDefIndexType_default = Core.Name "default"--_AtlasAttributeDefIndexType_string = Core.Name "string"---- | Base class that captures common-attributes for all Atlas types.-data AtlasBaseTypeDef =- AtlasBaseTypeDef {- atlasBaseTypeDefCategory :: (Maybe TypeCategory),- atlasBaseTypeDefGuid :: (Maybe String),- atlasBaseTypeDefCreatedBy :: (Maybe String),- atlasBaseTypeDefUpdatedBy :: (Maybe String),- atlasBaseTypeDefCreateTime :: (Maybe Schema.DateTime),- atlasBaseTypeDefUpdateTime :: (Maybe Schema.DateTime),- atlasBaseTypeDefVersion :: (Maybe I.Int64),- atlasBaseTypeDefName :: (Maybe String),- atlasBaseTypeDefDescription :: (Maybe String),- atlasBaseTypeDefTypeVersion :: (Maybe String),- atlasBaseTypeDefServiceType :: (Maybe String),- atlasBaseTypeDefOptions :: (M.Map String String)}- deriving (Eq, Ord, Read, Show)--_AtlasBaseTypeDef = Core.Name "hydra.atlas.AtlasBaseTypeDef"--_AtlasBaseTypeDef_category = Core.Name "category"--_AtlasBaseTypeDef_guid = Core.Name "guid"--_AtlasBaseTypeDef_createdBy = Core.Name "createdBy"--_AtlasBaseTypeDef_updatedBy = Core.Name "updatedBy"--_AtlasBaseTypeDef_createTime = Core.Name "createTime"--_AtlasBaseTypeDef_updateTime = Core.Name "updateTime"--_AtlasBaseTypeDef_version = Core.Name "version"--_AtlasBaseTypeDef_name = Core.Name "name"--_AtlasBaseTypeDef_description = Core.Name "description"--_AtlasBaseTypeDef_typeVersion = Core.Name "typeVersion"--_AtlasBaseTypeDef_serviceType = Core.Name "serviceType"--_AtlasBaseTypeDef_options = Core.Name "options"---- | class that captures details of a constraint.-data AtlasConstraintDef =- AtlasConstraintDef {- atlasConstraintDefType :: (Maybe String),- atlasConstraintDefParams :: (M.Map String String)}- deriving (Eq, Ord, Read, Show)--_AtlasConstraintDef = Core.Name "hydra.atlas.AtlasConstraintDef"--_AtlasConstraintDef_type = Core.Name "type"--_AtlasConstraintDef_params = Core.Name "params"---- | class that captures details of a entity-type.-data AtlasEntityDef =- AtlasEntityDef {- atlasEntityDefAsAtlasStruct :: AtlasStructDef,- atlasEntityDefSuperTypes :: (S.Set String),- -- | the value of this field is derived from 'superTypes' specified in all AtlasEntityDef- atlasEntityDefSubTypes :: (S.Set String),- -- | the value of this field is derived from all the relationshipDefs this entityType is referenced in- atlasEntityDefRelationshipAttributeDefs :: [AtlasRelationshipAttributeDef],- -- | the value of this field is derived from all the businessMetadataDefs this entityType is referenced in- atlasEntityDefBusinessAttributeDefs :: (M.Map String [AtlasAttributeDef])}- deriving (Eq, Ord, Read, Show)--_AtlasEntityDef = Core.Name "hydra.atlas.AtlasEntityDef"--_AtlasEntityDef_asAtlasStruct = Core.Name "asAtlasStruct"--_AtlasEntityDef_superTypes = Core.Name "superTypes"--_AtlasEntityDef_subTypes = Core.Name "subTypes"--_AtlasEntityDef_relationshipAttributeDefs = Core.Name "relationshipAttributeDefs"--_AtlasEntityDef_businessAttributeDefs = Core.Name "businessAttributeDefs"---- | class that captures details of a struct-attribute.-data AtlasRelationshipAttributeDef =- AtlasRelationshipAttributeDef {- atlasRelationshipAttributeDefAsAtlasAttribute :: AtlasAttributeDef,- atlasRelationshipAttributeDefRelationshipTypeName :: (Maybe String),- atlasRelationshipAttributeDefIsLegacyAttribute :: Bool}- deriving (Eq, Ord, Read, Show)--_AtlasRelationshipAttributeDef = Core.Name "hydra.atlas.AtlasRelationshipAttributeDef"--_AtlasRelationshipAttributeDef_asAtlasAttribute = Core.Name "asAtlasAttribute"--_AtlasRelationshipAttributeDef_relationshipTypeName = Core.Name "relationshipTypeName"--_AtlasRelationshipAttributeDef_isLegacyAttribute = Core.Name "isLegacyAttribute"---- | class that captures details of a struct-type.-data AtlasStructDef =- AtlasStructDef {- atlasStructDefAsAtlasBaseType :: AtlasBaseTypeDef,- atlasStructDefAttributeDefs :: [AtlasAttributeDef]}- deriving (Eq, Ord, Read, Show)--_AtlasStructDef = Core.Name "hydra.atlas.AtlasStructDef"--_AtlasStructDef_asAtlasBaseType = Core.Name "asAtlasBaseType"--_AtlasStructDef_attributeDefs = Core.Name "attributeDefs"---- | The category of an Atlas type definition-data TypeCategory =- TypeCategoryPrimitive |- TypeCategoryObjectIdType |- TypeCategoryEnum |- TypeCategoryStruct |- TypeCategoryClassification |- TypeCategoryEntity |- TypeCategoryArray |- TypeCategoryMap |- TypeCategoryRelationship |- TypeCategoryBusinessMetadata- deriving (Eq, Ord, Read, Show)--_TypeCategory = Core.Name "hydra.atlas.TypeCategory"--_TypeCategory_primitive = Core.Name "primitive"--_TypeCategory_objectIdType = Core.Name "objectIdType"--_TypeCategory_enum = Core.Name "enum"--_TypeCategory_struct = Core.Name "struct"--_TypeCategory_classification = Core.Name "classification"--_TypeCategory_entity = Core.Name "entity"--_TypeCategory_array = Core.Name "array"--_TypeCategory_map = Core.Name "map"--_TypeCategory_relationship = Core.Name "relationship"--_TypeCategory_businessMetadata = Core.Name "businessMetadata"
− src/main/haskell/Hydra/Avro/Coder.hs
@@ -1,661 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Avro-to-Hydra adapter for converting Avro schemas and data to Hydra types and terms--module Hydra.Avro.Coder where--import qualified Hydra.Ast as Ast-import qualified Hydra.Avro.Environment as Environment-import qualified Hydra.Avro.Schema as Schema-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-import qualified Hydra.Errors as Errors-import qualified Hydra.Extract.Core as ExtractCore-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-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.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.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Annotate an adapter's target type with optional annotations-annotateAdapter :: Maybe (M.Map Core.Name Core.Term) -> Coders.Adapter t0 Core.Type t1 t2 t3 -> Coders.Adapter t0 Core.Type t1 t2 t3-annotateAdapter ann ad =- Optionals.match ann ad (\n -> Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad),- Coders.adapterSource = (Coders.adapterSource ad),- Coders.adapterTarget = (Core.TypeAnnotated (Core.AnnotatedType {- Core.annotatedTypeBody = (Coders.adapterTarget ad),- Core.annotatedTypeAnnotation = (Core.TermMap (Maps.mapKeys (\n2 -> Core.TermVariable n2) n))})),- Coders.adapterCoder = (Coders.adapterCoder ad)})---- | The annotation key for foreign key metadata on an Avro field-avroForeignKey :: String-avroForeignKey = "@foreignKey"---- | Create an adapter between Avro schemas and Hydra types/terms-avroHydraAdapter :: t0 -> Schema.Schema -> Environment.AvroEnvironment -> Either Errors.Error (Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error, Environment.AvroEnvironment)-avroHydraAdapter cx schema env0 =-- let simpleAdapter =- \env -> \typ -> \encode -> \decode -> Right (- Coders.Adapter {- Coders.adapterIsLossy = False,- Coders.adapterSource = schema,- Coders.adapterTarget = typ,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encode,- Coders.coderDecode = decode}},- env)- doubleToInt = \d -> Literals.bigintToInt32 (Literals.decimalToBigint d)- doubleToLong = \d -> Literals.bigintToInt64 (Literals.decimalToBigint d)- in case schema of- Schema.SchemaArray v0 -> Eithers.bind (avroHydraAdapter cx (Schema.arrayItems v0) env0) (\adEnv ->- let ad = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad),- Coders.adapterSource = schema,- Coders.adapterTarget = (Core.TypeList (Coders.adapterTarget ad)),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\v -> case v of- Model.ValueArray v1 -> Eithers.map (\ts -> Core.TermList ts) (Eithers.mapList (\jv -> Coders.coderEncode (Coders.adapterCoder ad) jv) v1)),- Coders.coderDecode = (\t -> case t of- Core.TermList v1 -> Eithers.map (\jvs -> Model.ValueArray jvs) (Eithers.mapList (\tv -> Coders.coderDecode (Coders.adapterCoder ad) tv) v1))}},- env1)))- Schema.SchemaMap v0 -> Eithers.bind (avroHydraAdapter cx (Schema.mapValues v0) env0) (\adEnv ->- let ad = Pairs.first adEnv- env1 = Pairs.second adEnv- pairToHydra =- \entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Eithers.map (\v_ -> (Core.TermLiteral (Core.LiteralString k), v_)) (Coders.coderEncode (Coders.adapterCoder ad) v))- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad),- Coders.adapterSource = schema,- Coders.adapterTarget = (Core.TypeMap (Core.MapType {- Core.mapTypeKeys = (Core.TypeLiteral Core.LiteralTypeString),- Core.mapTypeValues = (Coders.adapterTarget ad)})),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\v -> case v of- Model.ValueObject v1 -> Eithers.map (\pairs -> Core.TermMap (Maps.fromList pairs)) (Eithers.mapList (\e -> pairToHydra e) v1)),- Coders.coderDecode = (\m -> Eithers.map (\mp_ -> Model.ValueObject (Maps.toList mp_)) (ExtractCore.map (\t -> ExtractCore.string (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t) (\t -> Coders.coderDecode (Coders.adapterCoder ad) t) (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) m))}},- env1)))- Schema.SchemaNamed v0 ->- let ns = Schema.namedNamespace v0- manns = namedAnnotationsToCore v0- ann = Logic.ifElse (Maps.isEmpty manns) Nothing (Just manns)- lastNs = Environment.avroEnvironmentNamespace env0- nextNs = Optionals.match ns lastNs (\s -> Just s)- env1 =- Environment.AvroEnvironment {- Environment.avroEnvironmentNamedAdapters = (Environment.avroEnvironmentNamedAdapters env0),- Environment.avroEnvironmentNamespace = nextNs,- Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env0)}- qname =- Environment.AvroQualifiedName {- Environment.avroQualifiedNameNamespace = nextNs,- Environment.avroQualifiedNameName = (Schema.namedName v0)}- hydraName = avroNameToHydraName qname- in (Optionals.match (getAvroHydraAdapter qname env1) (Eithers.bind (case (Schema.namedType v0) of- Schema.NamedTypeEnum v1 ->- let syms = Schema.enumSymbols v1- typ =- Core.TypeUnion (Lists.map (\s -> Core.FieldType {- Core.fieldTypeName = (Core.Name s),- Core.fieldTypeType = Core.TypeUnit}) syms)- in (simpleAdapter env1 typ (\jv -> case jv of- Model.ValueString v2 -> Right (Core.TermInject (Core.Injection {- Core.injectionTypeName = hydraName,- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name v2),- Core.fieldTerm = Core.TermUnit}}))) (\t -> case t of- Core.TermInject v2 ->- let fld = Core.injectionField v2- fn = Core.fieldName fld- in (Right (Model.ValueString (Core.unName fn)))))- Schema.NamedTypeFixed _ -> simpleAdapter env1 (Core.TypeLiteral Core.LiteralTypeBinary) (\jv -> case jv of- Model.ValueString v2 -> Right (Core.TermLiteral (Core.LiteralBinary (Literals.base64ToBinary v2)))) (\t -> Eithers.map (\b -> Model.ValueString (Literals.binaryToBase64 b)) (ExtractCore.binary (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.NamedTypeRecord v1 ->- let avroFields = Schema.recordFields v1- in (Eithers.bind (prepareFields cx env1 avroFields) (\prepResult ->- let adaptersByFieldName = Pairs.first prepResult- env2 = Pairs.second prepResult- in (Eithers.bind (findAvroPrimaryKeyField cx qname avroFields) (\pk ->- let encodePair =- \entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Optionals.match (Maps.lookup k adaptersByFieldName) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "unrecognized field for ",- (showQname qname),- ": ",- k])))) (\fad -> Eithers.map (\v_ -> Core.Field {- Core.fieldName = (Core.Name k),- Core.fieldTerm = v_}) (Coders.coderEncode (Coders.adapterCoder (Pairs.second fad)) v)))- decodeField =- \fld ->- let k = Core.unName (Core.fieldName fld)- v = Core.fieldTerm fld- in (Optionals.match (Maps.lookup k adaptersByFieldName) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "unrecognized field for ",- (showQname qname),- ": ",- k])))) (\fad -> Eithers.map (\v_ -> (k, v_)) (Coders.coderDecode (Coders.adapterCoder (Pairs.second fad)) v)))- lossy =- Lists.foldl (\b -> \fad -> Logic.or b (Coders.adapterIsLossy (Pairs.second fad))) False (Maps.elems adaptersByFieldName)- hfields =- Lists.map (\fad -> Core.FieldType {- Core.fieldTypeName = (Core.Name (Schema.fieldName (Pairs.first fad))),- Core.fieldTypeType = (Coders.adapterTarget (Pairs.second fad))}) (Maps.elems adaptersByFieldName)- target = Core.TypeRecord hfields- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = schema,- Coders.adapterTarget = target,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\jv -> case jv of- Model.ValueObject v2 -> Eithers.map (\fields -> Core.TermRecord (Core.Record {- Core.recordTypeName = hydraName,- Core.recordFields = fields})) (Eithers.mapList (\e -> encodePair e) v2)),- Coders.coderDecode = (\t -> case t of- Core.TermRecord v2 -> Eithers.map (\kvs -> Model.ValueObject kvs) (Eithers.mapList (\fld -> decodeField fld) (Core.recordFields v2)))}},- env2))))))) (\adEnv2 ->- let ad = Pairs.first adEnv2- env2 = Pairs.second adEnv2- env3 = putAvroHydraAdapter qname ad env2- env4 =- Environment.AvroEnvironment {- Environment.avroEnvironmentNamedAdapters = (Environment.avroEnvironmentNamedAdapters env3),- Environment.avroEnvironmentNamespace = lastNs,- Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env3)}- in (Right (annotateAdapter ann ad, env4)))) (\_ad -> err cx (Strings.concat2 "Avro named type defined more than once: " (showQname qname))))- Schema.SchemaPrimitive v0 -> case v0 of- Schema.PrimitiveNull -> simpleAdapter env0 Core.TypeUnit (\jv -> case jv of- Model.ValueString v2 -> Right (Core.TermLiteral (Core.LiteralString v2))) (\t -> Eithers.map (\s -> Model.ValueString s) (ExtractCore.string (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveBoolean -> simpleAdapter env0 (Core.TypeLiteral Core.LiteralTypeBoolean) (\jv -> case jv of- Model.ValueBoolean v2 -> Right (Core.TermLiteral (Core.LiteralBoolean v2))) (\t -> Eithers.map (\b -> Model.ValueBoolean b) (ExtractCore.boolean (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveInt -> simpleAdapter env0 (Core.TypeLiteral (Core.LiteralTypeInteger Core.IntegerTypeInt32)) (\jv -> case jv of- Model.ValueNumber v2 -> Right (Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 (doubleToInt v2))))) (\t -> Eithers.map (\i -> Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint i))) (ExtractCore.int32 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveLong -> simpleAdapter env0 (Core.TypeLiteral (Core.LiteralTypeInteger Core.IntegerTypeInt64)) (\jv -> case jv of- Model.ValueNumber v2 -> Right (Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt64 (doubleToLong v2))))) (\t -> Eithers.map (\i -> Model.ValueNumber (Literals.bigintToDecimal (Literals.int64ToBigint i))) (ExtractCore.int64 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveFloat -> simpleAdapter env0 (Core.TypeLiteral (Core.LiteralTypeFloat Core.FloatTypeFloat32)) (\jv -> case jv of- Model.ValueNumber v2 -> Right (Core.TermLiteral (Core.LiteralFloat (Core.FloatValueFloat32 (Literals.decimalToFloat32 v2))))) (\t -> Eithers.map (\f -> Model.ValueNumber (Literals.float32ToDecimal f)) (ExtractCore.float32 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveDouble -> simpleAdapter env0 (Core.TypeLiteral (Core.LiteralTypeFloat Core.FloatTypeFloat64)) (\jv -> case jv of- Model.ValueNumber v2 -> Right (Core.TermLiteral (Core.LiteralFloat (Core.FloatValueFloat64 (Literals.decimalToFloat64 v2))))) (\t -> Eithers.map (\d -> Model.ValueNumber (Literals.float64ToDecimal d)) (ExtractCore.float64 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveBytes -> simpleAdapter env0 (Core.TypeLiteral Core.LiteralTypeBinary) (\jv -> case jv of- Model.ValueString v2 -> Right (Core.TermLiteral (Core.LiteralBinary (Literals.base64ToBinary v2)))) (\t -> Eithers.map (\b -> Model.ValueString (Literals.binaryToBase64 b)) (ExtractCore.binary (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.PrimitiveString -> simpleAdapter env0 (Core.TypeLiteral Core.LiteralTypeString) (\jv -> case jv of- Model.ValueString v2 -> Right (Core.TermLiteral (Core.LiteralString v2))) (\t -> Eithers.map (\s -> Model.ValueString s) (ExtractCore.string (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t))- Schema.SchemaReference v0 ->- let qname = parseAvroName (Environment.avroEnvironmentNamespace env0) v0- in (Optionals.match (getAvroHydraAdapter qname env0) (err cx (Strings.concat2 "Referenced Avro type has not been defined: " (showQname qname))) (\ad -> Right (ad, env0)))- Schema.SchemaUnion v0 ->- let schemas = Schema.unUnion v0- isNull =- \s -> case s of- Schema.SchemaPrimitive v1 -> case v1 of- Schema.PrimitiveNull -> True- _ -> False- _ -> False- hasNull = Logic.not (Lists.isEmpty (Lists.filter isNull schemas))- nonNulls = Lists.filter (\s -> Logic.not (isNull s)) schemas- forOptional =- \s -> Eithers.bind (avroHydraAdapter cx s env0) (\adEnv ->- let ad = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad),- Coders.adapterSource = schema,- Coders.adapterTarget = (Core.TypeOptional (Coders.adapterTarget ad)),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\v -> case v of- Model.ValueNull -> Right (Core.TermOptional Nothing)- _ -> Eithers.map (\t -> Core.TermOptional (Just t)) (Coders.coderEncode (Coders.adapterCoder ad) v)),- Coders.coderDecode = (\t -> case t of- Core.TermOptional v1 -> Optionals.match v1 (Right Model.ValueNull) (\term_ -> Coders.coderDecode (Coders.adapterCoder ad) term_))}},- env1)))- in (Logic.ifElse (Ordering.gt (Lists.length nonNulls) 1) (err cx "general-purpose unions are not yet supported") (Optionals.match (Lists.head nonNulls) (err cx "cannot generate the empty type") (\nonNullHead -> Logic.ifElse hasNull (forOptional nonNullHead) (Eithers.bind (avroHydraAdapter cx nonNullHead env0) (\adEnv ->- let ad = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad),- Coders.adapterSource = schema,- Coders.adapterTarget = (Coders.adapterTarget ad),- Coders.adapterCoder = (Coders.adapterCoder ad)},- env1)))))))---- | Convert an Avro qualified name to a Hydra name-avroNameToHydraName :: Environment.AvroQualifiedName -> Core.Name-avroNameToHydraName qname =-- let mns = Environment.avroQualifiedNameNamespace qname- local = Environment.avroQualifiedNameName qname- in (Names.unqualifyName (Util.QualifiedName {- Util.qualifiedNameModuleName = (Optionals.map (\s -> Packaging.ModuleName s) mns),- Util.qualifiedNameLocal = local}))---- | The annotation key for primary key metadata on an Avro field-avroPrimaryKey :: String-avroPrimaryKey = "@primaryKey"---- | An empty Avro environment with no named adapters, no namespace, and no elements-emptyAvroEnvironment :: Environment.AvroEnvironment-emptyAvroEnvironment =- Environment.AvroEnvironment {- Environment.avroEnvironmentNamedAdapters = Maps.empty,- Environment.avroEnvironmentNamespace = Nothing,- Environment.avroEnvironmentElements = Maps.empty}---- | Encode a JSON value as a Hydra term for annotation purposes-encodeAnnotationValue :: Model.Value -> Core.Term-encodeAnnotationValue v =- case v of- Model.ValueArray v0 -> Core.TermList (Lists.map encodeAnnotationValue v0)- Model.ValueBoolean v0 -> Core.TermLiteral (Core.LiteralBoolean v0)- Model.ValueNull -> Core.TermUnit- Model.ValueNumber v0 -> Core.TermLiteral (Core.LiteralDecimal v0)- Model.ValueObject v0 -> Core.TermMap (Maps.fromList (Lists.map (\entry ->- let k = Pairs.first entry- v_ = Pairs.second entry- in (Core.TermLiteral (Core.LiteralString k), (encodeAnnotationValue v_))) v0))- Model.ValueString v0 -> Core.TermLiteral (Core.LiteralString v0)---- | Construct an error result with a message in context-err :: t0 -> String -> Either Errors.Error t1-err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))---- | Extract a JSON array or return an error-expectArrayE :: t0 -> Model.Value -> Either t1 [Model.Value]-expectArrayE cx value =- case value of- Model.ValueArray v0 -> Right v0---- | Extract a JSON object or return an error-expectObjectE :: t0 -> Model.Value -> Either t1 (M.Map String Model.Value)-expectObjectE cx value =- case value of- Model.ValueObject v0 -> Right (Maps.fromList v0)---- | Extract a JSON string or return an error-expectStringE :: t0 -> Model.Value -> Either t1 String-expectStringE cx value =- case value of- Model.ValueString v0 -> Right v0---- | Extract field annotations and convert them to core Name/Term pairs-fieldAnnotationsToCore :: Schema.Field -> M.Map Core.Name Core.Term-fieldAnnotationsToCore f =- Maps.fromList (Lists.map (\entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Core.Name k, (encodeAnnotationValue v))) (Maps.toList (Schema.fieldAnnotations f)))---- | Find the primary key field among a list of Avro fields-findAvroPrimaryKeyField :: t0 -> Environment.AvroQualifiedName -> [Schema.Field] -> Either Errors.Error (Maybe Environment.AvroPrimaryKey)-findAvroPrimaryKeyField cx qname avroFields =-- let keys = Optionals.givens (Lists.map (\f -> primaryKeyE cx f) avroFields)- in (Logic.ifElse (Lists.isEmpty keys) (Right Nothing) (Logic.ifElse (Equality.equal (Lists.length keys) 1) (Right (Lists.head keys)) (err cx (Strings.concat2 "multiple primary key fields for " (showQname qname)))))---- | Extract a foreign key annotation from a field, if present-foreignKeyE :: t0 -> Schema.Field -> Either Errors.Error (Maybe Environment.AvroForeignKey)-foreignKeyE cx f =- Optionals.match (Maps.lookup avroForeignKey (Schema.fieldAnnotations f)) (Right Nothing) (\v -> Eithers.bind (expectObjectE cx v) (\m -> Eithers.bind (Eithers.map (\s -> Core.Name s) (requireStringE cx "type" m)) (\tname -> Eithers.bind (optStringE cx "pattern" m) (\pattern_ ->- let constr = Optionals.match pattern_ (\s -> Core.Name s) (\pat -> patternToNameConstructor pat)- in (Right (Just (Environment.AvroForeignKey {- Environment.avroForeignKeyTypeName = tname,- Environment.avroForeignKeyConstructor = constr})))))))---- | Look up an adapter by qualified name in the environment-getAvroHydraAdapter :: Environment.AvroQualifiedName -> Environment.AvroEnvironment -> Maybe (Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error)-getAvroHydraAdapter qname env = Maps.lookup qname (Environment.avroEnvironmentNamedAdapters env)---- | Convert a JSON value to a string, supporting booleans, strings, and numbers-jsonToStringE :: t0 -> Model.Value -> Either Errors.Error String-jsonToStringE cx v =- case v of- Model.ValueBoolean v0 -> Right (Logic.ifElse v0 "true" "false")- Model.ValueString v0 -> Right v0- Model.ValueNumber v0 -> Right (Literals.printDecimal v0)- _ -> unexpectedE cx "string, number, or boolean" "other"---- | Extract named type annotations and convert them to core Name/Term pairs-namedAnnotationsToCore :: Schema.Named -> M.Map Core.Name Core.Term-namedAnnotationsToCore n =- Maps.fromList (Lists.map (\entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Core.Name k, (encodeAnnotationValue v))) (Maps.toList (Schema.namedAnnotations n)))---- | Look up an optional string attribute in a JSON object map-optStringE :: Ord t1 => (t0 -> t1 -> M.Map t1 Model.Value -> Either t2 (Maybe String))-optStringE cx fname m =- Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\s -> Optionals.given s) (expectStringE cx v))---- | Parse a dotted Avro name into a qualified name-parseAvroName :: Maybe String -> String -> Environment.AvroQualifiedName-parseAvroName mns name_ =-- let parts = Strings.splitOn "." name_- local = Optionals.withDefault name_ (Lists.last parts)- in (Logic.ifElse (Equality.equal (Lists.length parts) 1) (Environment.AvroQualifiedName {- Environment.avroQualifiedNameNamespace = mns,- Environment.avroQualifiedNameName = local}) (Environment.AvroQualifiedName {- Environment.avroQualifiedNameNamespace = (Optionals.map (\ps -> Strings.join "." ps) (Lists.init parts)),- Environment.avroQualifiedNameName = local}))---- | Create a name constructor from a pattern string-patternToNameConstructor :: String -> String -> Core.Name-patternToNameConstructor pat s = Core.Name (Strings.join s (Strings.splitOn "${}" pat))---- | Prepare a single field, producing an adapter and updated environment-prepareField :: t0 -> Environment.AvroEnvironment -> Schema.Field -> Either Errors.Error (- (String, (Schema.Field, (Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error))),- Environment.AvroEnvironment)-prepareField cx env f =-- let manns = fieldAnnotationsToCore f- ann = Logic.ifElse (Maps.isEmpty manns) Nothing (Just manns)- in (Eithers.bind (foreignKeyE cx f) (\fk -> Eithers.bind (Optionals.match fk (avroHydraAdapter cx (Schema.fieldType f) env) (\fkVal ->- let fkName = Environment.avroForeignKeyTypeName fkVal- fkConstr = Environment.avroForeignKeyConstructor fkVal- in (Eithers.bind (avroHydraAdapter cx (Schema.fieldType f) env) (\adEnvPair ->- let ad0 = Pairs.first adEnvPair- env1 = Pairs.second adEnvPair- elTyp = Core.TypeVariable fkName- encodeValue =- \v -> Eithers.bind (Coders.coderEncode (Coders.adapterCoder ad0) v) (\encoded -> Eithers.bind (termToStringE cx encoded) (\s -> Right (Core.TermVariable (fkConstr s))))- decodeTerm =- \t -> case t of- Core.TermVariable v0 -> Eithers.bind (stringToTermE cx (Coders.adapterTarget ad0) (Core.unName v0)) (\term_ -> Coders.coderDecode (Coders.adapterCoder ad0) term_)- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected variable"))- forTypeAndCoder =- \env2 -> \ad1 -> \typ -> \cdr -> Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy ad1),- Coders.adapterSource = (Schema.fieldType f),- Coders.adapterTarget = typ,- Coders.adapterCoder = cdr},- env2)- in case (Strip.deannotateType (Coders.adapterTarget ad0)) of- Core.TypeOptional v0 -> case v0 of- Core.TypeLiteral _ -> forTypeAndCoder env1 ad0 (Core.TypeOptional elTyp) (Coders.Coder {- Coders.coderEncode = (\json -> Eithers.map (\v_ -> Core.TermOptional (Just v_)) (encodeValue json)),- Coders.coderDecode = decodeTerm})- _ -> err cx "expected literal type inside optional foreign key"- Core.TypeList v0 -> case v0 of- Core.TypeLiteral _ -> forTypeAndCoder env1 ad0 (Core.TypeList elTyp) (Coders.Coder {- Coders.coderEncode = (\json -> case json of- Model.ValueArray v2 -> Eithers.map (\terms -> Core.TermList terms) (Eithers.mapList (\jv -> encodeValue jv) v2)- _ -> Left (Errors.ErrorOther (Errors.OtherError "Expected JSON array"))),- Coders.coderDecode = decodeTerm})- _ -> err cx "expected literal type inside list foreign key"- Core.TypeLiteral _ -> forTypeAndCoder env1 ad0 elTyp (Coders.Coder {- Coders.coderEncode = encodeValue,- Coders.coderDecode = decodeTerm})- _ -> err cx (Strings.concat2 "unsupported type annotated as foreign key: " "unknown"))))) (\adEnv ->- let ad = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right ((Schema.fieldName f, (f, (annotateAdapter ann ad))), env1)))))---- | Thread AvroEnvironment through preparing multiple fields-prepareFields :: t0 -> Environment.AvroEnvironment -> [Schema.Field] -> Either Errors.Error (- M.Map String (Schema.Field, (Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error)),- Environment.AvroEnvironment)-prepareFields cx env fields =- Lists.foldl (\acc -> \f -> Eithers.bind acc (\accPair ->- let m = Pairs.first accPair- env1 = Pairs.second accPair- in (Eithers.bind (prepareField cx env1 f) (\result ->- let kv = Pairs.first result- env2 = Pairs.second result- k = Pairs.first kv- v = Pairs.second kv- in (Right (Maps.insert k v m, env2)))))) (Right (Maps.empty, env)) fields---- | Extract a primary key annotation from a field, if present-primaryKeyE :: t0 -> Schema.Field -> Maybe Environment.AvroPrimaryKey-primaryKeyE cx f =- Optionals.match (Maps.lookup avroPrimaryKey (Schema.fieldAnnotations f)) Nothing (\v -> Eithers.either (\_ -> Nothing) (\s -> Just (Environment.AvroPrimaryKey {- Environment.avroPrimaryKeyFieldName = (Core.Name (Schema.fieldName f)),- Environment.avroPrimaryKeyConstructor = (patternToNameConstructor s)})) (expectStringE cx v))---- | Store an adapter in the environment by qualified name-putAvroHydraAdapter :: Environment.AvroQualifiedName -> Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error -> Environment.AvroEnvironment -> Environment.AvroEnvironment-putAvroHydraAdapter qname ad env =- Environment.AvroEnvironment {- Environment.avroEnvironmentNamedAdapters = (Maps.insert qname ad (Environment.avroEnvironmentNamedAdapters env)),- Environment.avroEnvironmentNamespace = (Environment.avroEnvironmentNamespace env),- Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env)}---- | Look up a required string attribute in a JSON object map-requireStringE :: t0 -> String -> M.Map String Model.Value -> Either Errors.Error String-requireStringE cx fname m =- Optionals.match (Maps.lookup fname m) (err cx (Strings.concat [- "required attribute ",- (Literals.printString fname),- " not found"])) (\v -> expectStringE cx v)---- | Recursively rewrite an Avro schema using a monadic transformation function-rewriteAvroSchemaM :: ((Schema.Schema -> Either t0 Schema.Schema) -> Schema.Schema -> Either t0 Schema.Schema) -> Schema.Schema -> Either t0 Schema.Schema-rewriteAvroSchemaM f schema =-- let recurse = rewriteAvroSchemaM f- fsub =- \s -> case s of- Schema.SchemaArray v0 -> Eithers.map (\els_ -> Schema.SchemaArray (Schema.Array {- Schema.arrayItems = els_})) (recurse (Schema.arrayItems v0))- Schema.SchemaMap v0 -> Eithers.map (\vs_ -> Schema.SchemaMap (Schema.Map {- Schema.mapValues = vs_})) (recurse (Schema.mapValues v0))- Schema.SchemaNamed v0 -> Eithers.map (\nt_ -> Schema.SchemaNamed (Schema.Named {- Schema.namedName = (Schema.namedName v0),- Schema.namedNamespace = (Schema.namedNamespace v0),- Schema.namedAliases = (Schema.namedAliases v0),- Schema.namedDoc = (Schema.namedDoc v0),- Schema.namedType = nt_,- Schema.namedAnnotations = (Schema.namedAnnotations v0)})) (case (Schema.namedType v0) of- Schema.NamedTypeRecord v1 -> Eithers.map (\fields_ -> Schema.NamedTypeRecord (Schema.Record {- Schema.recordFields = fields_})) (Eithers.mapList (\fld -> Eithers.map (\t_ -> Schema.Field {- Schema.fieldName = (Schema.fieldName fld),- Schema.fieldDoc = (Schema.fieldDoc fld),- Schema.fieldType = t_,- Schema.fieldDefault = (Schema.fieldDefault fld),- Schema.fieldOrder = (Schema.fieldOrder fld),- Schema.fieldAliases = (Schema.fieldAliases fld),- Schema.fieldAnnotations = (Schema.fieldAnnotations fld)}) (recurse (Schema.fieldType fld))) (Schema.recordFields v1))- _ -> Right (Schema.namedType v0))- Schema.SchemaUnion v0 -> Eithers.map (\schemas_ -> Schema.SchemaUnion (Schema.Union schemas_)) (Eithers.mapList (\us -> recurse us) (Schema.unUnion v0))- _ -> Right s- in (f fsub schema)---- | Convert an Avro qualified name to a display string-showQname :: Environment.AvroQualifiedName -> String-showQname qname =-- let mns = Environment.avroQualifiedNameNamespace qname- local = Environment.avroQualifiedNameName qname- in (Strings.concat2 (Optionals.match mns "" (\ns -> Strings.concat2 ns ".")) local)---- | Parse a string into a term of the expected type-stringToTermE :: t0 -> Core.Type -> String -> Either Errors.Error Core.Term-stringToTermE cx typ s =-- let readErr = err cx "failed to read value"- readAndWrap = \reader -> \wrapper -> Optionals.match (reader s) readErr (\v -> Right (Core.TermLiteral (wrapper v)))- in case (Strip.deannotateType typ) of- Core.TypeLiteral v0 -> case v0 of- Core.LiteralTypeBoolean -> readAndWrap (\x -> Literals.parseBoolean x) (\b -> Core.LiteralBoolean b)- Core.LiteralTypeInteger v1 -> case v1 of- Core.IntegerTypeBigint -> readAndWrap (\x -> Literals.parseBigint x) (\i -> Core.LiteralInteger (Core.IntegerValueBigint i))- Core.IntegerTypeInt8 -> readAndWrap (\x -> Literals.parseInt8 x) (\i -> Core.LiteralInteger (Core.IntegerValueInt8 i))- Core.IntegerTypeInt16 -> readAndWrap (\x -> Literals.parseInt16 x) (\i -> Core.LiteralInteger (Core.IntegerValueInt16 i))- Core.IntegerTypeInt32 -> readAndWrap (\x -> Literals.parseInt32 x) (\i -> Core.LiteralInteger (Core.IntegerValueInt32 i))- Core.IntegerTypeInt64 -> readAndWrap (\x -> Literals.parseInt64 x) (\i -> Core.LiteralInteger (Core.IntegerValueInt64 i))- Core.IntegerTypeUint8 -> readAndWrap (\x -> Literals.parseUint8 x) (\i -> Core.LiteralInteger (Core.IntegerValueUint8 i))- Core.IntegerTypeUint16 -> readAndWrap (\x -> Literals.parseUint16 x) (\i -> Core.LiteralInteger (Core.IntegerValueUint16 i))- Core.IntegerTypeUint32 -> readAndWrap (\x -> Literals.parseUint32 x) (\i -> Core.LiteralInteger (Core.IntegerValueUint32 i))- Core.IntegerTypeUint64 -> readAndWrap (\x -> Literals.parseUint64 x) (\i -> Core.LiteralInteger (Core.IntegerValueUint64 i))- Core.LiteralTypeString -> Right (Core.TermLiteral (Core.LiteralString s))- _ -> unexpectedE cx "literal type" "other literal type"- _ -> unexpectedE cx "literal type" "other"---- | Convert a literal term to its string representation-termToStringE :: t0 -> Core.Term -> Either Errors.Error String-termToStringE cx term =- case (Strip.deannotateTerm term) of- Core.TermLiteral v0 -> case v0 of- Core.LiteralBoolean v1 -> Right (Literals.printBoolean v1)- Core.LiteralInteger v1 -> Right (case v1 of- Core.IntegerValueBigint v2 -> Literals.printBigint v2- Core.IntegerValueInt8 v2 -> Literals.printInt8 v2- Core.IntegerValueInt16 v2 -> Literals.printInt16 v2- Core.IntegerValueInt32 v2 -> Literals.printInt32 v2- Core.IntegerValueInt64 v2 -> Literals.printInt64 v2- Core.IntegerValueUint8 v2 -> Literals.printUint8 v2- Core.IntegerValueUint16 v2 -> Literals.printUint16 v2- Core.IntegerValueUint32 v2 -> Literals.printUint32 v2- Core.IntegerValueUint64 v2 -> Literals.printUint64 v2)- Core.LiteralString v1 -> Right v1- _ -> unexpectedE cx "boolean, integer, or string" "other literal"- Core.TermOptional v0 -> Optionals.match v0 (unexpectedE cx "literal value" "Nothing") (\term_ -> termToStringE cx term_)- _ -> unexpectedE cx "literal value" "other"---- | Construct an error for unexpected values-unexpectedE :: t0 -> String -> String -> Either Errors.Error t1-unexpectedE cx expected found =- err cx (Strings.concat [- "Expected ",- expected,- ", found: ",- found])
− src/main/haskell/Hydra/Avro/Encoder.hs
@@ -1,605 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Hydra-to-Avro encoder: converts Hydra types and terms to Avro schemas and JSON values--module Hydra.Avro.Encoder where--import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Avro.Environment as Environment-import qualified Hydra.Avro.Schema as Schema-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-import qualified Hydra.Errors as Errors-import qualified Hydra.Extract.Core as ExtractCore-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-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.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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Build an Avro field from a name-adapter pair-buildAvroField :: (Core.Name, (Coders.Adapter t0 Schema.Schema t1 t2 t3)) -> Schema.Field-buildAvroField nameAd =-- let name_ = Pairs.first nameAd- ad = Pairs.second nameAd- in Schema.Field {- Schema.fieldName = (localName name_),- Schema.fieldDoc = Nothing,- Schema.fieldType = (Coders.adapterTarget ad),- Schema.fieldDefault = Nothing,- Schema.fieldOrder = Nothing,- Schema.fieldAliases = Nothing,- Schema.fieldAnnotations = Maps.empty}---- | Create an empty encode environment with the given type map-emptyEncodeEnvironment :: M.Map Core.Name Core.Type -> Environment.EncodeEnvironment-emptyEncodeEnvironment typeMap =- Environment.EncodeEnvironment {- Environment.encodeEnvironmentTypeMap = typeMap,- Environment.encodeEnvironmentEmitted = Maps.empty}---- | Encode a Hydra type to an Avro schema adapter, given the type map and a root name-encodeType :: t0 -> M.Map Core.Name Core.Type -> Core.Name -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error)-encodeType cx typeMap name_ =- Eithers.map (\adEnv -> Pairs.first adEnv) (encodeTypeWithEnv cx name_ (emptyEncodeEnvironment typeMap))---- | Core encoding logic: recursively encode a Hydra type to an Avro schema-encodeTypeInner :: t0 -> Maybe Core.Name -> Core.Type -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error, Environment.EncodeEnvironment)-encodeTypeInner cx mName typ env =-- let annResult = extractAnnotations typ- annotations = Pairs.first annResult- bareType = Pairs.second annResult- simpleAdapter =- \target -> \lossy -> \encode -> \decode -> Right (- Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = typ,- Coders.adapterTarget = target,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encode,- Coders.coderDecode = decode}},- env)- in case bareType of- Core.TypeUnit -> simpleAdapter (Schema.SchemaPrimitive Schema.PrimitiveNull) False (\_t -> Right Model.ValueNull) (\_j -> Right Core.TermUnit)- Core.TypeLiteral v0 -> Eithers.map (\ad -> (ad, env)) (literalAdapter cx typ v0)- Core.TypeList v0 -> Eithers.bind (encodeTypeInner cx Nothing v0 env) (\adEnv ->- let innerAd = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy innerAd),- Coders.adapterSource = typ,- Coders.adapterTarget = (Schema.SchemaArray (Schema.Array {- Schema.arrayItems = (Coders.adapterTarget innerAd)})),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\t -> case t of- Core.TermList v1 -> Eithers.map (\jvs -> Model.ValueArray jvs) (Eithers.mapList (\el -> Coders.coderEncode (Coders.adapterCoder innerAd) el) v1)),- Coders.coderDecode = (\j -> case j of- Model.ValueArray v1 -> Eithers.map (\ts -> Core.TermList ts) (Eithers.mapList (\el -> Coders.coderDecode (Coders.adapterCoder innerAd) el) v1))}},- env1)))- Core.TypeMap v0 ->- let keyType = Core.mapTypeKeys v0- valType = Core.mapTypeValues v0- in case (Strip.deannotateType keyType) of- Core.TypeLiteral v1 -> case v1 of- Core.LiteralTypeString -> Eithers.bind (encodeTypeInner cx Nothing valType env) (\adEnv ->- let valAd = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy valAd),- Coders.adapterSource = typ,- Coders.adapterTarget = (Schema.SchemaMap (Schema.Map {- Schema.mapValues = (Coders.adapterTarget valAd)})),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\t -> case t of- Core.TermMap v3 ->- let encodeEntry =- \entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Eithers.bind (ExtractCore.string (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) k) (\kStr -> Eithers.map (\vJson -> (kStr, vJson)) (Coders.coderEncode (Coders.adapterCoder valAd) v)))- in (Eithers.map (\pairs -> Model.ValueObject pairs) (Eithers.mapList encodeEntry (Maps.toList v3)))),- Coders.coderDecode = (\j -> case j of- Model.ValueObject v3 ->- let decodeEntry =- \entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Eithers.map (\vTerm -> (Core.TermLiteral (Core.LiteralString k), vTerm)) (Coders.coderDecode (Coders.adapterCoder valAd) v))- in (Eithers.map (\pairs -> Core.TermMap (Maps.fromList pairs)) (Eithers.mapList decodeEntry v3)))}},- env1)))- _ -> err cx "Avro maps require string keys"- _ -> err cx "Avro maps require string keys"- Core.TypeRecord v0 -> namedTypeAdapter cx typ mName annotations v0 env (\avroFields -> Schema.NamedTypeRecord (Schema.Record {- Schema.recordFields = avroFields})) recordTermCoder- Core.TypeUnion v0 ->- let allUnit =- Lists.foldl (\b -> \ft -> Logic.and b (case (Core.fieldTypeType ft) of- Core.TypeUnit -> True- _ -> False)) True v0- in (Logic.ifElse allUnit (enumAdapter cx typ mName annotations v0 env) (unionAsRecordAdapter cx typ mName annotations v0 env))- Core.TypeOptional v0 -> Eithers.bind (encodeTypeInner cx Nothing v0 env) (\adEnv ->- let innerAd = Pairs.first adEnv- env1 = Pairs.second adEnv- in (Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy innerAd),- Coders.adapterSource = typ,- Coders.adapterTarget = (Schema.SchemaUnion (Schema.Union [- Schema.SchemaPrimitive Schema.PrimitiveNull,- (Coders.adapterTarget innerAd)])),- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\t -> case t of- Core.TermOptional v1 -> Optionals.match v1 (Right Model.ValueNull) (\inner -> Coders.coderEncode (Coders.adapterCoder innerAd) inner)),- Coders.coderDecode = (\j -> case j of- Model.ValueNull -> Right (Core.TermOptional Nothing)- _ -> Eithers.map (\t -> Core.TermOptional (Just t)) (Coders.coderDecode (Coders.adapterCoder innerAd) j))}},- env1)))- Core.TypeWrap v0 -> encodeTypeInner cx mName v0 env- Core.TypeVariable v0 -> Optionals.match (Maps.lookup v0 (Environment.encodeEnvironmentEmitted env)) (Optionals.match (Maps.lookup v0 (Environment.encodeEnvironmentTypeMap env)) (err cx (Strings.concat2 "referenced type not found: " (Core.unName v0))) (\refType -> encodeTypeInner cx (Just v0) refType env)) (\existingAd -> Right (- Coders.Adapter {- Coders.adapterIsLossy = (Coders.adapterIsLossy existingAd),- Coders.adapterSource = (Coders.adapterSource existingAd),- Coders.adapterTarget = (Schema.SchemaReference (localName v0)),- Coders.adapterCoder = (Coders.adapterCoder existingAd)},- env))- _ -> err cx "unsupported Hydra type for Avro encoding"---- | Encode with full environment threading. Returns the adapter and updated environment-encodeTypeWithEnv :: t0 -> Core.Name -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error, Environment.EncodeEnvironment)-encodeTypeWithEnv cx name_ env =- Optionals.match (Maps.lookup name_ (Environment.encodeEnvironmentTypeMap env)) (err cx (Strings.concat2 "type not found in type map: " (Literals.printString (Core.unName name_)))) (\typ -> encodeTypeInner cx (Just name_) typ env)---- | Adapter for all-unit union types (enums)-enumAdapter :: t0 -> Core.Type -> Maybe Core.Name -> M.Map Core.Name Core.Term -> [Core.FieldType] -> Environment.EncodeEnvironment -> Either t1 (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error, Environment.EncodeEnvironment)-enumAdapter cx typ mName annotations fieldTypes env0 =-- let symbols = Lists.map (\ft -> localName (Core.fieldTypeName ft)) fieldTypes- typeName = Optionals.withDefault (typeToName typ) mName- avroAnnotations = hydraAnnotationsToAvro annotations- avroSchema =- Schema.SchemaNamed (Schema.Named {- Schema.namedName = (localName typeName),- Schema.namedNamespace = (nameNamespace typeName),- Schema.namedAliases = Nothing,- Schema.namedDoc = Nothing,- Schema.namedType = (Schema.NamedTypeEnum (Schema.Enum {- Schema.enumSymbols = symbols,- Schema.enumDefault = Nothing})),- Schema.namedAnnotations = avroAnnotations})- adapter_ =- Coders.Adapter {- Coders.adapterIsLossy = False,- Coders.adapterSource = typ,- Coders.adapterTarget = avroSchema,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\t -> case t of- Core.TermInject v0 ->- let fname = Core.injectionField v0- in (Right (Model.ValueString (localName (Core.fieldName fname))))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected union term for enum"))),- Coders.coderDecode = (\j -> case j of- Model.ValueString v0 -> Right (Core.TermInject (Core.Injection {- Core.injectionTypeName = typeName,- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name v0),- Core.fieldTerm = Core.TermUnit}})))}}- env1 =- Environment.EncodeEnvironment {- Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env0),- Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env0))}- in (Right (adapter_, env1))---- | Construct an error result with a message in context-err :: t0 -> String -> Either Errors.Error t1-err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))---- | Extract annotations from a potentially annotated type-extractAnnotations :: Core.Type -> (M.Map Core.Name Core.Term, Core.Type)-extractAnnotations typ =- case typ of- Core.TypeAnnotated v0 ->- let inner = Core.annotatedTypeBody v0- anns = Annotations.getAnnotationMap (Core.annotatedTypeAnnotation v0)- innerResult = extractAnnotations inner- innerAnns = Pairs.first innerResult- bareType = Pairs.second innerResult- in (Maps.union anns innerAnns, bareType)- _ -> (Maps.empty, typ)---- | Create an adapter for float types-floatAdapter :: t0 -> t1 -> Core.FloatType -> Either t2 (Coders.Adapter t1 Schema.Schema Core.Term Model.Value Errors.Error)-floatAdapter cx typ ft =-- let simple =- \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = typ,- Coders.adapterTarget = target,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encode,- Coders.coderDecode = decode}})- in case ft of- Core.FloatTypeFloat32 -> simple (Schema.SchemaPrimitive Schema.PrimitiveFloat) False (\t -> Eithers.map (\f -> Model.ValueNumber (Literals.float32ToDecimal f)) (ExtractCore.float32 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of- Model.ValueNumber v1 -> Right (Core.TermLiteral (Core.LiteralFloat (Core.FloatValueFloat32 (Literals.decimalToFloat32 v1)))))- Core.FloatTypeFloat64 -> simple (Schema.SchemaPrimitive Schema.PrimitiveDouble) False (\t -> Eithers.map (\d -> Model.ValueNumber (Literals.float64ToDecimal d)) (ExtractCore.float64 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of- Model.ValueNumber v1 -> Right (Core.TermLiteral (Core.LiteralFloat (Core.FloatValueFloat64 (Literals.decimalToFloat64 v1)))))- _ -> simple (Schema.SchemaPrimitive Schema.PrimitiveDouble) True (\t -> case t of- Core.TermLiteral v0 -> case v0 of- Core.LiteralFloat v1 -> Right (Model.ValueNumber (floatValueToDouble v1))) (\j -> case j of- Model.ValueNumber v0 -> Right (Core.TermLiteral (Core.LiteralFloat (Core.FloatValueFloat64 (Literals.decimalToFloat64 v0)))))---- | Convert any float value to a JSON decimal number-floatValueToDouble :: Core.FloatValue -> Sci.Scientific-floatValueToDouble fv =- case fv of- Core.FloatValueFloat32 v0 -> Literals.float32ToDecimal v0- Core.FloatValueFloat64 v0 -> Literals.float64ToDecimal v0---- | Fold over field types, building adapters and threading the environment-foldFieldAdapters :: t0 -> [Core.FieldType] -> Environment.EncodeEnvironment -> Either Errors.Error (- [(Core.Name, (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error))],- Environment.EncodeEnvironment)-foldFieldAdapters cx fieldTypes env0 =- Lists.foldl (\acc -> \ft -> Eithers.bind acc (\accPair ->- let soFar = Pairs.first accPair- env1 = Pairs.second accPair- fname = Core.fieldTypeName ft- ftype = Core.fieldTypeType ft- in (Eithers.bind (encodeTypeInner cx Nothing ftype env1) (\adEnv ->- let ad = Pairs.first adEnv- env2 = Pairs.second adEnv- in (Right (Lists.concat2 soFar [- (fname, ad)], env2)))))) (Right ([], env0)) fieldTypes---- | Convert Hydra annotations to Avro annotation map-hydraAnnotationsToAvro :: M.Map Core.Name Core.Term -> M.Map String Model.Value-hydraAnnotationsToAvro anns =- Maps.fromList (Lists.map (\entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Core.unName k, (termToJsonValue v))) (Maps.toList anns))---- | Encode a single type without a type map (for simple/anonymous types)-hydraAvroAdapter :: t0 -> M.Map Core.Name Core.Type -> Core.Type -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error)-hydraAvroAdapter cx typeMap typ =- Eithers.map (\adEnv -> Pairs.first adEnv) (encodeTypeInner cx Nothing typ (emptyEncodeEnvironment typeMap))---- | Convert a Hydra Name to an Avro qualified name (local name, optional namespace)-hydraNameToAvroName :: Core.Name -> (String, (Maybe String))-hydraNameToAvroName name_ = (localName name_, (nameNamespace name_))---- | Create an adapter for integer types-integerAdapter :: t0 -> t1 -> Core.IntegerType -> Either t2 (Coders.Adapter t1 Schema.Schema Core.Term Model.Value Errors.Error)-integerAdapter cx typ it =-- let simple =- \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = typ,- Coders.adapterTarget = target,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encode,- Coders.coderDecode = decode}})- in case it of- Core.IntegerTypeInt32 -> simple (Schema.SchemaPrimitive Schema.PrimitiveInt) False (\t -> Eithers.map (\i -> Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint i))) (ExtractCore.int32 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of- Model.ValueNumber v1 -> Right (Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 (Literals.bigintToInt32 (Literals.decimalToBigint v1))))))- Core.IntegerTypeInt64 -> simple (Schema.SchemaPrimitive Schema.PrimitiveLong) False (\t -> Eithers.map (\i -> Model.ValueNumber (Literals.bigintToDecimal (Literals.int64ToBigint i))) (ExtractCore.int64 (Graph.Graph {- Graph.graphBoundTerms = Maps.empty,- Graph.graphBoundTypes = Maps.empty,- Graph.graphClassConstraints = Maps.empty,- Graph.graphLambdaVariables = Sets.empty,- Graph.graphMetadata = Maps.empty,- Graph.graphPrimitives = Maps.empty,- Graph.graphSchemaTypes = Maps.empty,- Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of- Model.ValueNumber v1 -> Right (Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt64 (Literals.bigintToInt64 (Literals.decimalToBigint v1))))))- _ -> simple (Schema.SchemaPrimitive Schema.PrimitiveLong) True (\t -> case t of- Core.TermLiteral v0 -> case v0 of- Core.LiteralInteger v1 -> Right (Model.ValueNumber (integerValueToDouble v1))) (\j -> case j of- Model.ValueNumber v0 -> Right (Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt64 (Literals.bigintToInt64 (Literals.decimalToBigint v0))))))---- | Convert any integer value to a JSON decimal number-integerValueToDouble :: Core.IntegerValue -> Sci.Scientific-integerValueToDouble iv =- case iv of- Core.IntegerValueBigint v0 -> Literals.bigintToDecimal v0- Core.IntegerValueInt8 v0 -> Literals.bigintToDecimal (Literals.int8ToBigint v0)- Core.IntegerValueInt16 v0 -> Literals.bigintToDecimal (Literals.int16ToBigint v0)- Core.IntegerValueInt32 v0 -> Literals.bigintToDecimal (Literals.int32ToBigint v0)- Core.IntegerValueInt64 v0 -> Literals.bigintToDecimal (Literals.int64ToBigint v0)- Core.IntegerValueUint8 v0 -> Literals.bigintToDecimal (Literals.uint8ToBigint v0)- Core.IntegerValueUint16 v0 -> Literals.bigintToDecimal (Literals.uint16ToBigint v0)- Core.IntegerValueUint32 v0 -> Literals.bigintToDecimal (Literals.uint32ToBigint v0)- Core.IntegerValueUint64 v0 -> Literals.bigintToDecimal (Literals.uint64ToBigint v0)---- | Create an adapter for literal types-literalAdapter :: t0 -> t1 -> Core.LiteralType -> Either t2 (Coders.Adapter t1 Schema.Schema Core.Term Model.Value Errors.Error)-literalAdapter cx typ lt =-- let simple =- \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = typ,- Coders.adapterTarget = target,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encode,- Coders.coderDecode = decode}})- in case lt of- Core.LiteralTypeBoolean -> simple (Schema.SchemaPrimitive Schema.PrimitiveBoolean) False (\t -> case t of- Core.TermLiteral v1 -> case v1 of- Core.LiteralBoolean v2 -> Right (Model.ValueBoolean v2)) (\j -> case j of- Model.ValueBoolean v1 -> Right (Core.TermLiteral (Core.LiteralBoolean v1)))- Core.LiteralTypeString -> simple (Schema.SchemaPrimitive Schema.PrimitiveString) False (\t -> case t of- Core.TermLiteral v1 -> case v1 of- Core.LiteralString v2 -> Right (Model.ValueString v2)) (\j -> case j of- Model.ValueString v1 -> Right (Core.TermLiteral (Core.LiteralString v1)))- Core.LiteralTypeBinary -> simple (Schema.SchemaPrimitive Schema.PrimitiveBytes) False (\t -> case t of- Core.TermLiteral v1 -> case v1 of- Core.LiteralBinary v2 -> Right (Model.ValueString (Literals.binaryToBase64 v2))) (\j -> case j of- Model.ValueString v1 -> Right (Core.TermLiteral (Core.LiteralBinary (Literals.base64ToBinary v1))))- Core.LiteralTypeInteger v0 -> integerAdapter cx typ v0- Core.LiteralTypeFloat v0 -> floatAdapter cx typ v0---- | Extract the local part of a qualified name-localName :: Core.Name -> String-localName name_ =-- let s = Core.unName name_- parts = Strings.splitOn "." s- in (Optionals.withDefault s (Lists.last parts))---- | Extract the namespace from a qualified name, if any-nameNamespace :: Core.Name -> Maybe String-nameNamespace name_ =-- let s = Core.unName name_- parts = Strings.splitOn "." s- in (Logic.ifElse (Equality.equal (Lists.length parts) 1) Nothing (Optionals.map (\ps -> Strings.join "." ps) (Lists.init parts)))---- | Build a named type adapter (shared between record and union-as-record)-namedTypeAdapter :: t0 -> Core.Type -> Maybe Core.Name -> M.Map Core.Name Core.Term -> [Core.FieldType] -> Environment.EncodeEnvironment -> ([Schema.Field] -> Schema.NamedType) -> (t0 -> Core.Name -> [(Core.Name, (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error))] -> ((Core.Term -> Either Errors.Error Model.Value), (Model.Value -> Either Errors.Error Core.Term))) -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error, Environment.EncodeEnvironment)-namedTypeAdapter cx typ mName annotations fieldTypes env0 mkNamedType mkCoder =-- let typeName = Optionals.withDefault (typeToName typ) mName- in (Optionals.match (Maps.lookup typeName (Environment.encodeEnvironmentEmitted env0)) (Eithers.bind (foldFieldAdapters cx fieldTypes env0) (\faResult ->- let fieldAdapters = Pairs.first faResult- env1 = Pairs.second faResult- avroFields = Lists.map buildAvroField fieldAdapters- avroAnnotations = hydraAnnotationsToAvro annotations- avroSchema =- Schema.SchemaNamed (Schema.Named {- Schema.namedName = (localName typeName),- Schema.namedNamespace = (nameNamespace typeName),- Schema.namedAliases = Nothing,- Schema.namedDoc = Nothing,- Schema.namedType = (mkNamedType avroFields),- Schema.namedAnnotations = avroAnnotations})- lossy = Lists.foldl (\b -> \fa -> Logic.or b (Coders.adapterIsLossy (Pairs.second fa))) False fieldAdapters- coderPair = mkCoder cx typeName fieldAdapters- encodeFn = Pairs.first coderPair- decodeFn = Pairs.second coderPair- adapter_ =- Coders.Adapter {- Coders.adapterIsLossy = lossy,- Coders.adapterSource = typ,- Coders.adapterTarget = avroSchema,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = encodeFn,- Coders.coderDecode = decodeFn}}- env2 =- Environment.EncodeEnvironment {- Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env1),- Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env1))}- in (Right (adapter_, env2)))) (\existingAd -> Right (existingAd, env0)))---- | Build a record term coder from field adapters-recordTermCoder :: t0 -> Core.Name -> [(Core.Name, (Coders.Adapter t1 t2 Core.Term Model.Value Errors.Error))] -> ((Core.Term -> Either Errors.Error Model.Value), (Model.Value -> Either Errors.Error Core.Term))-recordTermCoder cx typeName fieldAdapters =-- let encode =- \term -> case term of- Core.TermRecord v0 ->- let fields = Core.recordFields v0- fieldMap = Maps.fromList (Lists.map (\f -> (Core.fieldName f, (Core.fieldTerm f))) fields)- encodeField =- \nameAd ->- let fname = Pairs.first nameAd- ad = Pairs.second nameAd- fTerm = Optionals.withDefault Core.TermUnit (Maps.lookup fname fieldMap)- in (Eithers.map (\jv -> (localName fname, jv)) (Coders.coderEncode (Coders.adapterCoder ad) fTerm))- in (Eithers.map (\pairs -> Model.ValueObject pairs) (Eithers.mapList encodeField fieldAdapters))- _ -> err cx "expected record term"- decode =- \json -> case json of- Model.ValueObject v0 ->- let mm = Maps.fromList v0- decodeField =- \nameAd ->- let fname = Pairs.first nameAd- ad = Pairs.second nameAd- jv = Optionals.withDefault Model.ValueNull (Maps.lookup (localName fname) mm)- in (Eithers.map (\t -> Core.Field {- Core.fieldName = fname,- Core.fieldTerm = t}) (Coders.coderDecode (Coders.adapterCoder ad) jv))- in (Eithers.map (\fields -> Core.TermRecord (Core.Record {- Core.recordTypeName = typeName,- Core.recordFields = fields})) (Eithers.mapList decodeField fieldAdapters))- _ -> err cx "expected JSON object"- in (encode, decode)---- | Convert a Hydra term to a JSON value (for annotation values)-termToJsonValue :: Core.Term -> Model.Value-termToJsonValue term =- case term of- Core.TermLiteral v0 -> case v0 of- Core.LiteralString v1 -> Model.ValueString v1- Core.LiteralBoolean v1 -> Model.ValueBoolean v1- Core.LiteralInteger v1 -> Model.ValueNumber (integerValueToDouble v1)- Core.LiteralFloat v1 -> Model.ValueNumber (floatValueToDouble v1)- Core.LiteralBinary v1 -> Model.ValueString (Literals.binaryToBase64 v1)- Core.TermList v0 -> Model.ValueArray (Lists.map termToJsonValue v0)- Core.TermMap v0 -> Model.ValueObject (Lists.map (\entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (- case k of- Core.TermLiteral v1 -> case v1 of- Core.LiteralString v2 -> v2- _ -> "<key>"- _ -> "<key>",- (termToJsonValue v))) (Maps.toList v0))- Core.TermRecord v0 -> Logic.ifElse (Lists.isEmpty (Core.recordFields v0)) Model.ValueNull (Model.ValueString "<record>")- _ -> Model.ValueString "<term>"---- | Generate a default name for an anonymous type-typeToName :: Core.Type -> Core.Name-typeToName t =- case (Strip.deannotateType t) of- Core.TypeRecord _ -> Core.Name "Record"- Core.TypeUnion _ -> Core.Name "Union"- _ -> Core.Name "Unknown"---- | Adapter for general unions (encoded as records with optional fields)-unionAsRecordAdapter :: t0 -> Core.Type -> Maybe Core.Name -> M.Map Core.Name Core.Term -> [Core.FieldType] -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error, Environment.EncodeEnvironment)-unionAsRecordAdapter cx typ mName annotations fieldTypes env0 =- Eithers.bind (foldFieldAdapters cx fieldTypes env0) (\faResult ->- let fieldAdapters = Pairs.first faResult- env1 = Pairs.second faResult- avroFields =- Lists.map (\nameAd ->- let fname = Pairs.first nameAd- ad = Pairs.second nameAd- in Schema.Field {- Schema.fieldName = (localName fname),- Schema.fieldDoc = Nothing,- Schema.fieldType = (Schema.SchemaUnion (Schema.Union [- Schema.SchemaPrimitive Schema.PrimitiveNull,- (Coders.adapterTarget ad)])),- Schema.fieldDefault = (Just Model.ValueNull),- Schema.fieldOrder = Nothing,- Schema.fieldAliases = Nothing,- Schema.fieldAnnotations = Maps.empty}) fieldAdapters- typeName = Optionals.withDefault (typeToName typ) mName- avroAnnotations = hydraAnnotationsToAvro annotations- avroSchema =- Schema.SchemaNamed (Schema.Named {- Schema.namedName = (localName typeName),- Schema.namedNamespace = (nameNamespace typeName),- Schema.namedAliases = Nothing,- Schema.namedDoc = Nothing,- Schema.namedType = (Schema.NamedTypeRecord (Schema.Record {- Schema.recordFields = avroFields})),- Schema.namedAnnotations = avroAnnotations})- adapter_ =- Coders.Adapter {- Coders.adapterIsLossy = True,- Coders.adapterSource = typ,- Coders.adapterTarget = avroSchema,- Coders.adapterCoder = Coders.Coder {- Coders.coderEncode = (\t -> case t of- Core.TermInject v0 ->- let activeName = Core.fieldName (Core.injectionField v0)- activeValue = Core.fieldTerm (Core.injectionField v0)- encodePair =- \nameAd ->- let fname = Pairs.first nameAd- ad = Pairs.second nameAd- in (Logic.ifElse (Equality.equal (Core.unName fname) (Core.unName activeName)) (Eithers.map (\jv -> (localName fname, jv)) (Coders.coderEncode (Coders.adapterCoder ad) activeValue)) (Right (localName fname, Model.ValueNull)))- in (Eithers.map (\pairs -> Model.ValueObject pairs) (Eithers.mapList encodePair fieldAdapters))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected union term"))),- Coders.coderDecode = (\j -> case j of- Model.ValueObject v0 ->- let mm = Maps.fromList v0- findActive =- \remaining -> Optionals.match (Lists.uncons remaining) (Left (Errors.ErrorOther (Errors.OtherError "no non-null field in union record"))) (\p ->- let head_ = Pairs.first p- rest_ = Pairs.second p- fname = Pairs.first head_- ad = Pairs.second head_- mjv = Maps.lookup (localName fname) mm- in (Optionals.match mjv (findActive rest_) (\jv -> case jv of- Model.ValueNull -> findActive rest_- _ -> Eithers.map (\t -> Core.TermInject (Core.Injection {- Core.injectionTypeName = typeName,- Core.injectionField = Core.Field {- Core.fieldName = fname,- Core.fieldTerm = t}})) (Coders.coderDecode (Coders.adapterCoder ad) jv))))- in (findActive fieldAdapters)- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected JSON object for union-as-record")))}}- env2 =- Environment.EncodeEnvironment {- Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env1),- Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env1))}- in (Right (adapter_, env2)))
− src/main/haskell/Hydra/Avro/Environment.hs
@@ -1,90 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Type definitions for the Avro code generation environment--module Hydra.Avro.Environment where--import qualified Hydra.Avro.Schema as Schema-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Errors as Errors-import qualified Hydra.Json.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-import qualified Data.Map as M---- | Environment for Avro-to-Hydra code generation-data AvroEnvironment =- AvroEnvironment {- -- | Named adapters for previously processed schemas- avroEnvironmentNamedAdapters :: (M.Map AvroQualifiedName (Coders.Adapter Schema.Schema Core.Type Model.Value Core.Term Errors.Error)),- -- | The current Avro namespace- avroEnvironmentNamespace :: (Maybe String),- -- | Generated Hydra elements- avroEnvironmentElements :: (M.Map Core.Name Core.Binding)}--_AvroEnvironment = Core.Name "hydra.avro.environment.AvroEnvironment"--_AvroEnvironment_namedAdapters = Core.Name "namedAdapters"--_AvroEnvironment_namespace = Core.Name "namespace"--_AvroEnvironment_elements = Core.Name "elements"---- | An Avro foreign key annotation linking a field to another type-data AvroForeignKey =- AvroForeignKey {- -- | The Hydra type name referenced by this foreign key- avroForeignKeyTypeName :: Core.Name,- -- | A function which constructs element names from string values- avroForeignKeyConstructor :: (String -> Core.Name)}--_AvroForeignKey = Core.Name "hydra.avro.environment.AvroForeignKey"--_AvroForeignKey_typeName = Core.Name "typeName"--_AvroForeignKey_constructor = Core.Name "constructor"---- | An Avro primary key annotation identifying the element name field-data AvroPrimaryKey =- AvroPrimaryKey {- -- | The name of the primary key field- avroPrimaryKeyFieldName :: Core.Name,- -- | A function which constructs element names from string values- avroPrimaryKeyConstructor :: (String -> Core.Name)}--_AvroPrimaryKey = Core.Name "hydra.avro.environment.AvroPrimaryKey"--_AvroPrimaryKey_fieldName = Core.Name "fieldName"--_AvroPrimaryKey_constructor = Core.Name "constructor"---- | An Avro qualified name with optional namespace-data AvroQualifiedName =- AvroQualifiedName {- -- | The optional namespace- avroQualifiedNameNamespace :: (Maybe String),- -- | The local name- avroQualifiedNameName :: String}- deriving (Eq, Ord, Read, Show)--_AvroQualifiedName = Core.Name "hydra.avro.environment.AvroQualifiedName"--_AvroQualifiedName_namespace = Core.Name "namespace"--_AvroQualifiedName_name = Core.Name "name"---- | Environment for Hydra-to-Avro encoding, tracking which named types have been emitted-data EncodeEnvironment =- EncodeEnvironment {- -- | All named types available for reference- encodeEnvironmentTypeMap :: (M.Map Core.Name Core.Type),- -- | Adapters for types that have already been fully emitted (emit references for these)- encodeEnvironmentEmitted :: (M.Map Core.Name (Coders.Adapter Core.Type Schema.Schema Core.Term Model.Value Errors.Error))}--_EncodeEnvironment = Core.Name "hydra.avro.environment.EncodeEnvironment"--_EncodeEnvironment_typeMap = Core.Name "typeMap"--_EncodeEnvironment_emitted = Core.Name "emitted"
− src/main/haskell/Hydra/Avro/Language.hs
@@ -1,108 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints for Apache Avro--module Hydra.Avro.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for Apache Avro-avroLanguage :: Coders.Language-avroLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.avro"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "avsc")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt32,- Core.IntegerTypeInt64]- termVariants =- Sets.fromList [- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantRecord]- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantWrap,- Variants.TypeVariantOptional,- Variants.TypeVariantRecord]- typePredicate =- \typ -> case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> case (Strip.deannotateType v0) of- Core.TypeOptional _ -> False- _ -> True- _ -> True
− src/main/haskell/Hydra/Avro/Schema.hs
@@ -1,236 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for Avro schemas. Based on the Avro 1.11.1 specification:--- | https://avro.apache.org/docs/1.11.1/specification--module Hydra.Avro.Schema where--import qualified Hydra.Core as Core-import qualified Hydra.Json.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-import qualified Data.Map as M---- | An Avro array schema-data Array =- Array {- arrayItems :: Schema}- deriving (Eq, Ord, Read, Show)--_Array = Core.Name "hydra.avro.schema.Array"--_Array_items = Core.Name "items"---- | An Avro enum schema-data Enum =- Enum {- -- | a JSON array, listing symbols, as JSON strings. All symbols in an enum must be unique; duplicates are prohibited. Every symbol must match the regular expression [A-Za-z_][A-Za-z0-9_]* (the same requirement as for names)- enumSymbols :: [String],- -- | A default value for this enumeration, used during resolution when the reader encounters a symbol from the writer that isn't defined in the reader's schema. The value provided here must be a JSON string that's a member of the symbols array- enumDefault :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_Enum = Core.Name "hydra.avro.schema.Enum"--_Enum_symbols = Core.Name "symbols"--_Enum_default = Core.Name "default"---- | An Avro record field-data Field =- Field {- -- | a JSON string providing the name of the field- fieldName :: String,- -- | a JSON string describing this field for users- fieldDoc :: (Maybe String),- -- | a schema- fieldType :: Schema,- -- | default value for this field, only used when reading instances that lack the field for schema evolution purposes- fieldDefault :: (Maybe Model.Value),- -- | specifies how this field impacts sort ordering of this record- fieldOrder :: (Maybe Order),- -- | a JSON array of strings, providing alternate names for this field- fieldAliases :: (Maybe [String]),- -- | Any additional key/value pairs attached to the field- fieldAnnotations :: (M.Map String Model.Value)}- deriving (Eq, Ord, Read, Show)--_Field = Core.Name "hydra.avro.schema.Field"--_Field_name = Core.Name "name"--_Field_doc = Core.Name "doc"--_Field_type = Core.Name "type"--_Field_default = Core.Name "default"--_Field_order = Core.Name "order"--_Field_aliases = Core.Name "aliases"--_Field_annotations = Core.Name "annotations"---- | An Avro fixed-size binary schema-data Fixed =- Fixed {- -- | an integer, specifying the number of bytes per value- fixedSize :: Int}- deriving (Eq, Ord, Read, Show)--_Fixed = Core.Name "hydra.avro.schema.Fixed"--_Fixed_size = Core.Name "size"---- | An Avro map schema-data Map =- Map {- mapValues :: Schema}- deriving (Eq, Ord, Read, Show)--_Map = Core.Name "hydra.avro.schema.Map"--_Map_values = Core.Name "values"---- | An Avro named schema: enum, fixed, or record-data Named =- Named {- -- | a string naming this schema- namedName :: String,- -- | a string that qualifies the name- namedNamespace :: (Maybe String),- -- | a JSON array of strings, providing alternate names for this schema- namedAliases :: (Maybe [String]),- -- | a JSON string providing documentation to the user of this schema- namedDoc :: (Maybe String),- namedType :: NamedType,- -- | Any additional key/value pairs attached to the type- namedAnnotations :: (M.Map String Model.Value)}- deriving (Eq, Ord, Read, Show)--_Named = Core.Name "hydra.avro.schema.Named"--_Named_name = Core.Name "name"--_Named_namespace = Core.Name "namespace"--_Named_aliases = Core.Name "aliases"--_Named_doc = Core.Name "doc"--_Named_type = Core.Name "type"--_Named_annotations = Core.Name "annotations"---- | The type-specific content of an Avro named schema-data NamedType =- NamedTypeEnum Enum |- NamedTypeFixed Fixed |- NamedTypeRecord Record- deriving (Eq, Ord, Read, Show)--_NamedType = Core.Name "hydra.avro.schema.NamedType"--_NamedType_enum = Core.Name "enum"--_NamedType_fixed = Core.Name "fixed"--_NamedType_record = Core.Name "record"---- | Specifies how a field impacts sort ordering of its enclosing record-data Order =- OrderAscending |- OrderDescending |- OrderIgnore- deriving (Eq, Ord, Read, Show)--_Order = Core.Name "hydra.avro.schema.Order"--_Order_ascending = Core.Name "ascending"--_Order_descending = Core.Name "descending"--_Order_ignore = Core.Name "ignore"---- | An Avro primitive type-data Primitive =- -- | no value- PrimitiveNull |- -- | A binary value- PrimitiveBoolean |- -- | 32-bit signed integer- PrimitiveInt |- -- | 64-bit signed integer- PrimitiveLong |- -- | single precision (32-bit) IEEE 754 floating-point number- PrimitiveFloat |- -- | double precision (64-bit) IEEE 754 floating-point number- PrimitiveDouble |- -- | sequence of 8-bit unsigned bytes- PrimitiveBytes |- -- | unicode character sequence- PrimitiveString- deriving (Eq, Ord, Read, Show)--_Primitive = Core.Name "hydra.avro.schema.Primitive"--_Primitive_null = Core.Name "null"--_Primitive_boolean = Core.Name "boolean"--_Primitive_int = Core.Name "int"--_Primitive_long = Core.Name "long"--_Primitive_float = Core.Name "float"--_Primitive_double = Core.Name "double"--_Primitive_bytes = Core.Name "bytes"--_Primitive_string = Core.Name "string"---- | An Avro record schema-data Record =- Record {- -- | a JSON array, listing fields- recordFields :: [Field]}- deriving (Eq, Ord, Read, Show)--_Record = Core.Name "hydra.avro.schema.Record"--_Record_fields = Core.Name "fields"---- | An Avro schema, in any of its forms-data Schema =- SchemaArray Array |- SchemaMap Map |- SchemaNamed Named |- SchemaPrimitive Primitive |- -- | A reference by name to a previously defined type- SchemaReference String |- SchemaUnion Union- deriving (Eq, Ord, Read, Show)--_Schema = Core.Name "hydra.avro.schema.Schema"--_Schema_array = Core.Name "array"--_Schema_map = Core.Name "map"--_Schema_named = Core.Name "named"--_Schema_primitive = Core.Name "primitive"--_Schema_reference = Core.Name "reference"--_Schema_union = Core.Name "union"---- | An Avro union schema: a list of alternative schemas-newtype Union =- Union {- unUnion :: [Schema]}- deriving (Eq, Ord, Read, Show)--_Union = Core.Name "hydra.avro.schema.Union"
− src/main/haskell/Hydra/Avro/SchemaJson.hs
@@ -1,482 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | JSON serialization and deserialization for Avro schemas--module Hydra.Avro.SchemaJson where--import qualified Hydra.Ast as Ast-import qualified Hydra.Avro.Schema as Schema-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Parser as Parser-import qualified Hydra.Json.Writer as Writer-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.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.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | The JSON attribute name for the list of alternate names of a named type or field-avroAliases :: String-avroAliases = "aliases"---- | The JSON type-name value identifying an Avro array schema-avroArray :: String-avroArray = "array"---- | The JSON value identifying ascending field order-avroAscending :: String-avroAscending = "ascending"---- | The JSON type-name value identifying the Avro boolean primitive-avroBoolean :: String-avroBoolean = "boolean"---- | The JSON type-name value identifying the Avro bytes primitive-avroBytes :: String-avroBytes = "bytes"---- | The JSON attribute name for a field's or enum's default value-avroDefault :: String-avroDefault = "default"---- | The JSON value identifying descending field order-avroDescending :: String-avroDescending = "descending"---- | The JSON attribute name for a named type's or field's documentation string-avroDoc :: String-avroDoc = "doc"---- | The JSON type-name value identifying the Avro double primitive-avroDouble :: String-avroDouble = "double"---- | The JSON type-name value identifying an Avro enum schema-avroEnum :: String-avroEnum = "enum"---- | The JSON attribute name for a record's list of fields-avroFields :: String-avroFields = "fields"---- | The JSON type-name value identifying an Avro fixed schema-avroFixed :: String-avroFixed = "fixed"---- | The JSON type-name value identifying the Avro float primitive-avroFloat :: String-avroFloat = "float"---- | The JSON value identifying ignored field order-avroIgnore :: String-avroIgnore = "ignore"---- | The JSON type-name value identifying the Avro int primitive-avroInt :: String-avroInt = "int"---- | The JSON attribute name for an array schema's item type-avroItems :: String-avroItems = "items"---- | The JSON type-name value identifying the Avro long primitive-avroLong :: String-avroLong = "long"---- | The JSON type-name value identifying an Avro map schema-avroMap :: String-avroMap = "map"---- | The JSON attribute name for a named type's or field's name-avroName :: String-avroName = "name"---- | The JSON attribute name for a named type's namespace-avroNamespace :: String-avroNamespace = "namespace"---- | The JSON type-name value identifying the Avro null primitive-avroNull :: String-avroNull = "null"---- | The JSON attribute name for a field's sort order-avroOrder :: String-avroOrder = "order"---- | The JSON type-name value identifying an Avro record schema-avroRecord :: String-avroRecord = "record"---- | Create a coder between Avro schemas and JSON values-avroSchemaJsonCoder :: t0 -> Coders.Coder Schema.Schema Model.Value Errors.Error-avroSchemaJsonCoder cx =- Coders.Coder {- Coders.coderEncode = (\schema -> Right (encodeSchema schema)),- Coders.coderDecode = (\json -> decodeSchema cx json)}---- | Create a coder between Avro schemas and JSON strings-avroSchemaStringCoder :: t0 -> Coders.Coder Schema.Schema String Errors.Error-avroSchemaStringCoder cx =- Coders.Coder {- Coders.coderEncode = (\schema -> Right (showJsonValue (encodeSchema schema))),- Coders.coderDecode = (\s -> Eithers.bind (Eithers.either (\e -> err cx e) (\v -> Right v) (stringToJsonValue s)) (\json -> decodeSchema cx json))}---- | The JSON attribute name for a fixed schema's byte size-avroSize :: String-avroSize = "size"---- | The JSON type-name value identifying the Avro string primitive-avroString :: String-avroString = "string"---- | The JSON attribute name for an enum schema's list of symbols-avroSymbols :: String-avroSymbols = "symbols"---- | The JSON attribute name for a schema's type name-avroType :: String-avroType = "type"---- | The JSON attribute name for a map schema's value type-avroValues :: String-avroValues = "values"---- | Decode aliases from a JSON object map-decodeAliases :: t0 -> M.Map String Model.Value -> Either t1 (Maybe [String])-decodeAliases cx m =- Eithers.bind (optArrayE cx avroAliases m) (\mArr -> Optionals.match mArr (Right Nothing) (\arr -> Eithers.map (\strs -> Optionals.given strs) (Eithers.mapList (expectStringE cx) arr)))---- | Decode an Avro array schema from a JSON object map-decodeArraySchema :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.Schema-decodeArraySchema cx m =- Eithers.bind (requireE cx avroItems m) (\items -> Eithers.map (\s -> Schema.SchemaArray (Schema.Array {- Schema.arrayItems = s})) (decodeSchema cx items))---- | Decode an Avro enum type from a JSON object map-decodeEnum :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.NamedType-decodeEnum cx m =- Eithers.bind (requireArrayE cx avroSymbols m) (\syms -> Eithers.bind (Eithers.mapList (expectStringE cx) syms) (\symbols -> Eithers.bind (optStringE cx avroDefault m) (\defVal -> Right (Schema.NamedTypeEnum (Schema.Enum {- Schema.enumSymbols = symbols,- Schema.enumDefault = defVal})))))---- | Decode an Avro field from a JSON object map-decodeField :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.Field-decodeField cx m =- Eithers.bind (requireStringE cx avroName m) (\name -> Eithers.bind (optStringE cx avroDoc m) (\fdoc -> Eithers.bind (requireE cx avroType m) (\typeJson -> Eithers.bind (decodeSchema cx typeJson) (\fieldType -> Eithers.bind (Eithers.bind (optStringE cx avroOrder m) (\mOrd -> Eithers.mapOptional (decodeOrder cx) mOrd)) (\order -> Eithers.bind (decodeAliases cx m) (\aliases -> Right (Schema.Field {- Schema.fieldName = name,- Schema.fieldDoc = fdoc,- Schema.fieldType = fieldType,- Schema.fieldDefault = (optE avroDefault m),- Schema.fieldOrder = order,- Schema.fieldAliases = aliases,- Schema.fieldAnnotations = (getAnnotations m)})))))))---- | Decode an Avro fixed type from a JSON object map-decodeFixed :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.NamedType-decodeFixed cx m =- Eithers.bind (requireNumberE cx avroSize m) (\n ->- let size = Literals.bigintToInt32 (Literals.decimalToBigint n)- in (Right (Schema.NamedTypeFixed (Schema.Fixed {- Schema.fixedSize = size}))))---- | Decode an Avro map schema from a JSON object map-decodeMapSchema :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.Schema-decodeMapSchema cx m =- Eithers.bind (requireE cx avroValues m) (\values -> Eithers.map (\s -> Schema.SchemaMap (Schema.Map {- Schema.mapValues = s})) (decodeSchema cx values))---- | Decode a named Avro schema from a JSON object map and a decoded named type result-decodeNamedSchema :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.NamedType -> Either Errors.Error Schema.Schema-decodeNamedSchema cx m namedTypeResult =- Eithers.bind (requireStringE cx avroName m) (\name -> Eithers.bind (optStringE cx avroNamespace m) (\ns -> Eithers.bind (optStringE cx avroDoc m) (\sdoc -> Eithers.bind (decodeAliases cx m) (\aliases -> Eithers.bind namedTypeResult (\namedType -> Right (Schema.SchemaNamed (Schema.Named {- Schema.namedName = name,- Schema.namedNamespace = ns,- Schema.namedAliases = aliases,- Schema.namedDoc = sdoc,- Schema.namedType = namedType,- Schema.namedAnnotations = (getAnnotations m)})))))))---- | Decode an Avro schema from a JSON object given the type name-decodeObjectSchema :: t0 -> M.Map String Model.Value -> String -> Either Errors.Error Schema.Schema-decodeObjectSchema cx m typeName =- Logic.ifElse (Equality.equal typeName "array") (decodeArraySchema cx m) (Logic.ifElse (Equality.equal typeName "map") (decodeMapSchema cx m) (Logic.ifElse (Equality.equal typeName "record") (decodeNamedSchema cx m (decodeRecord cx m)) (Logic.ifElse (Equality.equal typeName "enum") (decodeNamedSchema cx m (decodeEnum cx m)) (Logic.ifElse (Equality.equal typeName "fixed") (decodeNamedSchema cx m (decodeFixed cx m)) (Optionals.match (decodePrimitiveName typeName) (err cx (Strings.concat [- "unknown type: ",- typeName])) (\p -> Right (Schema.SchemaPrimitive p)))))))---- | Decode an Avro field ordering from a string-decodeOrder :: t0 -> String -> Either Errors.Error Schema.Order-decodeOrder cx o =- Logic.ifElse (Equality.equal o "ascending") (Right Schema.OrderAscending) (Logic.ifElse (Equality.equal o "descending") (Right Schema.OrderDescending) (Logic.ifElse (Equality.equal o "ignore") (Right Schema.OrderIgnore) (err cx (Strings.concat [- "unknown order: ",- o]))))---- | Decode a primitive type name string to a Primitive, or Nothing if not a primitive-decodePrimitiveName :: String -> Maybe Schema.Primitive-decodePrimitiveName s =- Logic.ifElse (Equality.equal s "null") (Just Schema.PrimitiveNull) (Logic.ifElse (Equality.equal s "boolean") (Just Schema.PrimitiveBoolean) (Logic.ifElse (Equality.equal s "int") (Just Schema.PrimitiveInt) (Logic.ifElse (Equality.equal s "long") (Just Schema.PrimitiveLong) (Logic.ifElse (Equality.equal s "float") (Just Schema.PrimitiveFloat) (Logic.ifElse (Equality.equal s "double") (Just Schema.PrimitiveDouble) (Logic.ifElse (Equality.equal s "bytes") (Just Schema.PrimitiveBytes) (Logic.ifElse (Equality.equal s "string") (Just Schema.PrimitiveString) Nothing)))))))---- | Decode an Avro record type from a JSON object map-decodeRecord :: t0 -> M.Map String Model.Value -> Either Errors.Error Schema.NamedType-decodeRecord cx m =- Eithers.bind (requireArrayE cx avroFields m) (\fieldJsons -> Eithers.bind (Eithers.mapList (\fj -> Eithers.bind (expectObjectE cx fj) (\fm -> decodeField cx fm)) fieldJsons) (\fields -> Right (Schema.NamedTypeRecord (Schema.Record {- Schema.recordFields = fields}))))---- | Decode an Avro schema from a JSON value-decodeSchema :: t0 -> Model.Value -> Either Errors.Error Schema.Schema-decodeSchema cx v =- case v of- Model.ValueString v0 -> Optionals.match (decodePrimitiveName v0) (Right (Schema.SchemaReference v0)) (\p -> Right (Schema.SchemaPrimitive p))- Model.ValueArray v0 -> Eithers.map (\decoded -> Schema.SchemaUnion (Schema.Union decoded)) (Eithers.mapList (decodeSchema cx) v0)- Model.ValueObject v0 ->- let m = Maps.fromList v0- in (Eithers.bind (requireStringE cx avroType m) (\typeName -> decodeObjectSchema cx m typeName))- _ -> err cx (Strings.concat [- "unexpected JSON value for schema: ",- (showJsonValue v)])---- | Encode annotations as key-value pairs with @ prefix on keys-encodeAnnotations :: M.Map String t0 -> [(String, t0)]-encodeAnnotations m = Lists.map (\entry -> (Strings.concat2 "@" (Pairs.first entry), (Pairs.second entry))) (Maps.toList m)---- | Encode an Avro array schema to a JSON object-encodeArray :: Schema.Array -> Model.Value-encodeArray arr =- Model.ValueObject [- ("type", (Model.ValueString "array")),- ("items", (encodeSchema (Schema.arrayItems arr)))]---- | Encode an Avro enum type as key-value pairs-encodeEnum :: Schema.Enum -> [(String, Model.Value)]-encodeEnum e =- Lists.concat [- [- ("type", (Model.ValueString "enum"))],- [- ("symbols", (Model.ValueArray (Lists.map (\s -> Model.ValueString s) (Schema.enumSymbols e))))],- (Optionals.match (Schema.enumDefault e) [] (\d -> [- ("default", (Model.ValueString d))]))]---- | Encode an Avro field to a JSON object-encodeField :: Schema.Field -> Model.Value-encodeField f =- Model.ValueObject (Lists.concat [- [- ("name", (Model.ValueString (Schema.fieldName f)))],- [- ("type", (encodeSchema (Schema.fieldType f)))],- (Optionals.match (Schema.fieldDoc f) [] (\d -> [- ("doc", (Model.ValueString d))])),- (Optionals.match (Schema.fieldDefault f) [] (\d -> [- ("default", d)])),- (Optionals.match (Schema.fieldOrder f) [] (\o -> [- encodeOrder o])),- (Optionals.match (Schema.fieldAliases f) [] (\als -> [- ("aliases", (Model.ValueArray (Lists.map (\a -> Model.ValueString a) als)))])),- (encodeAnnotations (Schema.fieldAnnotations f))])---- | Encode an Avro fixed type as key-value pairs-encodeFixed :: Schema.Fixed -> [(String, Model.Value)]-encodeFixed f =- [- ("type", (Model.ValueString "fixed")),- ("size", (Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint (Schema.fixedSize f)))))]---- | Encode an Avro map schema to a JSON object-encodeMap :: Schema.Map -> Model.Value-encodeMap mp =- Model.ValueObject [- ("type", (Model.ValueString "map")),- ("values", (encodeSchema (Schema.mapValues mp)))]---- | Encode an Avro named type to a JSON object-encodeNamed :: Schema.Named -> Model.Value-encodeNamed n =- Model.ValueObject (Lists.concat [- [- ("name", (Model.ValueString (Schema.namedName n)))],- (Optionals.match (Schema.namedNamespace n) [] (\ns -> [- ("namespace", (Model.ValueString ns))])),- (Optionals.match (Schema.namedDoc n) [] (\d -> [- ("doc", (Model.ValueString d))])),- (Optionals.match (Schema.namedAliases n) [] (\als -> [- ("aliases", (Model.ValueArray (Lists.map (\a -> Model.ValueString a) als)))])),- (encodeNamedType (Schema.namedType n)),- (encodeAnnotations (Schema.namedAnnotations n))])---- | Encode the specific variant of a named Avro type-encodeNamedType :: Schema.NamedType -> [(String, Model.Value)]-encodeNamedType nt =- case nt of- Schema.NamedTypeEnum v0 -> encodeEnum v0- Schema.NamedTypeFixed v0 -> encodeFixed v0- Schema.NamedTypeRecord v0 -> encodeRecord v0---- | Encode an Avro field ordering as a key-value pair-encodeOrder :: Schema.Order -> (String, Model.Value)-encodeOrder o =- (- "order",- (Model.ValueString (case o of- Schema.OrderAscending -> "ascending"- Schema.OrderDescending -> "descending"- Schema.OrderIgnore -> "ignore")))---- | Encode an Avro primitive type as a JSON string-encodePrimitive :: Schema.Primitive -> Model.Value-encodePrimitive p =- Model.ValueString (case p of- Schema.PrimitiveNull -> "null"- Schema.PrimitiveBoolean -> "boolean"- Schema.PrimitiveInt -> "int"- Schema.PrimitiveLong -> "long"- Schema.PrimitiveFloat -> "float"- Schema.PrimitiveDouble -> "double"- Schema.PrimitiveBytes -> "bytes"- Schema.PrimitiveString -> "string")---- | Encode an Avro record type as key-value pairs-encodeRecord :: Schema.Record -> [(String, Model.Value)]-encodeRecord r =- [- ("type", (Model.ValueString "record")),- ("fields", (Model.ValueArray (Lists.map encodeField (Schema.recordFields r))))]---- | Encode an Avro schema to a JSON value-encodeSchema :: Schema.Schema -> Model.Value-encodeSchema schema =- case schema of- Schema.SchemaPrimitive v0 -> encodePrimitive v0- Schema.SchemaArray v0 -> encodeArray v0- Schema.SchemaMap v0 -> encodeMap v0- Schema.SchemaNamed v0 -> encodeNamed v0- Schema.SchemaReference v0 -> Model.ValueString v0- Schema.SchemaUnion v0 -> encodeUnion v0---- | Encode an Avro union as a JSON array of schemas-encodeUnion :: Schema.Union -> Model.Value-encodeUnion u = Model.ValueArray (Lists.map encodeSchema (Schema.unUnion u))---- | Construct an error result with a message in context-err :: t0 -> String -> Either Errors.Error t1-err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))---- | Extract a JSON array or return an error-expectArrayE :: t0 -> Model.Value -> Either t1 [Model.Value]-expectArrayE cx value =- case value of- Model.ValueArray v0 -> Right v0---- | Extract a JSON number or return an error-expectNumberE :: t0 -> Model.Value -> Either t1 Sci.Scientific-expectNumberE cx value =- case value of- Model.ValueNumber v0 -> Right v0---- | Extract a JSON object as a name-keyed map or return an error (field order is dropped)-expectObjectE :: t0 -> Model.Value -> Either t1 (M.Map String Model.Value)-expectObjectE cx value =- case value of- Model.ValueObject v0 -> Right (Maps.fromList v0)---- | Extract a JSON string or return an error-expectStringE :: t0 -> Model.Value -> Either t1 String-expectStringE cx value =- case value of- Model.ValueString v0 -> Right v0---- | Extract annotation entries (keys starting with @) from a JSON object map-getAnnotations :: M.Map String t0 -> M.Map String t0-getAnnotations m =- Maps.fromList (Optionals.givens (Lists.map (\entry ->- let k = Pairs.first entry- v = Pairs.second entry- in (Logic.ifElse (Equality.equal (Optionals.withDefault 0 (Strings.charAt 0 k)) 64) (Optionals.given (Strings.fromList (Lists.drop 1 (Strings.toList k)), v)) Nothing)) (Maps.toList m)))---- | Look up an optional array attribute in a JSON object map-optArrayE :: Ord t1 => (t0 -> t1 -> M.Map t1 Model.Value -> Either t2 (Maybe [Model.Value]))-optArrayE cx fname m =- Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\a -> Optionals.given a) (expectArrayE cx v))---- | Look up an optional attribute in a JSON object map-optE :: Ord t0 => (t0 -> M.Map t0 t1 -> Maybe t1)-optE k m = Maps.lookup k m---- | Look up an optional string attribute in a JSON object map-optStringE :: Ord t1 => (t0 -> t1 -> M.Map t1 Model.Value -> Either t2 (Maybe String))-optStringE cx fname m =- Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\s -> Optionals.given s) (expectStringE cx v))---- | Look up a required array attribute in a JSON object map-requireArrayE :: t0 -> String -> M.Map String Model.Value -> Either Errors.Error [Model.Value]-requireArrayE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectArrayE cx v)---- | Look up a required attribute in a JSON object map-requireE :: t0 -> String -> M.Map String t1 -> Either Errors.Error t1-requireE cx fname m =- Optionals.match (Maps.lookup fname m) (err cx (Strings.concat [- "required attribute ",- (Literals.printString fname),- " not found"])) (\v -> Right v)---- | Look up a required number attribute in a JSON object map-requireNumberE :: t0 -> String -> M.Map String Model.Value -> Either Errors.Error Sci.Scientific-requireNumberE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectNumberE cx v)---- | Look up a required string attribute in a JSON object map-requireStringE :: t0 -> String -> M.Map String Model.Value -> Either Errors.Error String-requireStringE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectStringE cx v)---- | Convert a JSON value to its string representation-showJsonValue :: Model.Value -> String-showJsonValue v = Writer.printJson v---- | Parse a JSON string, returning Either for compatibility-stringToJsonValue :: String -> Either String Model.Value-stringToJsonValue s =- (\x -> case x of- Parsing.ParseResultSuccess v0 -> Right (Parsing.parseSuccessValue v0)- Parsing.ParseResultFailure v0 -> Left (Parsing.parseErrorMessage v0)) (Parser.parseJson s)---- | Construct an error for unexpected values-unexpectedE :: t0 -> String -> String -> Either Errors.Error t1-unexpectedE cx expected found =- err cx (Strings.concat [- "Expected ",- expected,- ", found: ",- found])
− src/main/haskell/Hydra/Avro/Testing.hs
@@ -1,326 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Test case types for the bidirectional Avro coder--module Hydra.Avro.Testing where--import qualified Hydra.Avro.Schema as Schema-import qualified Hydra.Core as Core-import qualified Hydra.Json.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---- | A test case for the bidirectional Avro coder-data AvroTestCase =- -- | Type-level forward mapping (Avro Schema -> Hydra Type)- AvroTestCaseTypeLevelForward TypeLevelForwardTestCase |- -- | Type-level reverse mapping (Hydra Type -> Avro Schema)- AvroTestCaseTypeLevelReverse TypeLevelReverseTestCase |- -- | Type-level round-trip starting from Avro (Avro -> Hydra -> Avro)- AvroTestCaseTypeLevelRoundTripAvro TypeLevelRoundTripAvroTestCase |- -- | Type-level round-trip starting from Hydra (Hydra -> Avro -> Hydra)- AvroTestCaseTypeLevelRoundTripHydra TypeLevelRoundTripHydraTestCase |- -- | Term-level forward mapping (JSON -> Hydra Term)- AvroTestCaseTermLevelForward TermLevelForwardTestCase |- -- | Term-level reverse mapping (Hydra Term -> JSON)- AvroTestCaseTermLevelReverse TermLevelReverseTestCase |- -- | Term-level round-trip starting from JSON (JSON -> Term -> JSON)- AvroTestCaseTermLevelRoundTripJson TermLevelRoundTripJsonTestCase |- -- | Term-level round-trip starting from a term (Term -> JSON -> Term)- AvroTestCaseTermLevelRoundTripTerm TermLevelRoundTripTermTestCase |- -- | Union-specific encoding and decoding- AvroTestCaseUnion UnionTestCase |- -- | Name mapping between Hydra and Avro- AvroTestCaseNameMapping NameMappingTestCase |- -- | Lossy conversion with annotation stashing- AvroTestCaseLossiness LossinessTestCase |- -- | Schema serialization to and from JSON- AvroTestCaseSchemaSerialization SchemaSerializationTestCase- deriving (Eq, Ord, Read, Show)--_AvroTestCase = Core.Name "hydra.avro.testing.AvroTestCase"--_AvroTestCase_typeLevelForward = Core.Name "typeLevelForward"--_AvroTestCase_typeLevelReverse = Core.Name "typeLevelReverse"--_AvroTestCase_typeLevelRoundTripAvro = Core.Name "typeLevelRoundTripAvro"--_AvroTestCase_typeLevelRoundTripHydra = Core.Name "typeLevelRoundTripHydra"--_AvroTestCase_termLevelForward = Core.Name "termLevelForward"--_AvroTestCase_termLevelReverse = Core.Name "termLevelReverse"--_AvroTestCase_termLevelRoundTripJson = Core.Name "termLevelRoundTripJson"--_AvroTestCase_termLevelRoundTripTerm = Core.Name "termLevelRoundTripTerm"--_AvroTestCase_union = Core.Name "union"--_AvroTestCase_nameMapping = Core.Name "nameMapping"--_AvroTestCase_lossiness = Core.Name "lossiness"--_AvroTestCase_schemaSerialization = Core.Name "schemaSerialization"---- | A test case which verifies that lossy conversions stash original information in annotations-data LossinessTestCase =- LossinessTestCase {- -- | A human-readable description of what this test case covers- lossinessTestCaseDescription :: String,- -- | The original Avro schema containing information that may be lost- lossinessTestCaseOriginalSchema :: Schema.Schema,- -- | The resulting Hydra type, which should carry annotations for any lost information- lossinessTestCaseHydraType :: Core.Type,- -- | The Avro schema recovered from the annotated Hydra type- lossinessTestCaseRecoveredSchema :: Schema.Schema,- -- | Whether the adapter reports this conversion as lossy- lossinessTestCaseIsLossy :: Bool}- deriving (Eq, Ord, Read, Show)--_LossinessTestCase = Core.Name "hydra.avro.testing.LossinessTestCase"--_LossinessTestCase_description = Core.Name "description"--_LossinessTestCase_originalSchema = Core.Name "originalSchema"--_LossinessTestCase_hydraType = Core.Name "hydraType"--_LossinessTestCase_recoveredSchema = Core.Name "recoveredSchema"--_LossinessTestCase_isLossy = Core.Name "isLossy"---- | A test case for bidirectional name mapping between Hydra and Avro-data NameMappingTestCase =- NameMappingTestCase {- -- | A human-readable description of what this test case covers- nameMappingTestCaseDescription :: String,- -- | The Hydra name- nameMappingTestCaseHydraName :: Core.Name,- -- | The expected Avro qualified name (dotted string)- nameMappingTestCaseAvroName :: String,- -- | The expected Avro namespace, if any- nameMappingTestCaseAvroNamespace :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_NameMappingTestCase = Core.Name "hydra.avro.testing.NameMappingTestCase"--_NameMappingTestCase_description = Core.Name "description"--_NameMappingTestCase_hydraName = Core.Name "hydraName"--_NameMappingTestCase_avroName = Core.Name "avroName"--_NameMappingTestCase_avroNamespace = Core.Name "avroNamespace"---- | A test case for Avro schema serialization to and from JSON-data SchemaSerializationTestCase =- SchemaSerializationTestCase {- -- | A human-readable description of what this test case covers- schemaSerializationTestCaseDescription :: String,- -- | The Avro schema- schemaSerializationTestCaseSchema :: Schema.Schema,- -- | The expected JSON representation of the schema- schemaSerializationTestCaseJson :: Model.Value}- deriving (Eq, Ord, Read, Show)--_SchemaSerializationTestCase = Core.Name "hydra.avro.testing.SchemaSerializationTestCase"--_SchemaSerializationTestCase_description = Core.Name "description"--_SchemaSerializationTestCase_schema = Core.Name "schema"--_SchemaSerializationTestCase_json = Core.Name "json"---- | A test case which encodes a JSON value as a Hydra term using an Avro schema-data TermLevelForwardTestCase =- TermLevelForwardTestCase {- -- | A human-readable description of what this test case covers- termLevelForwardTestCaseDescription :: String,- -- | The Avro schema describing the JSON value- termLevelForwardTestCaseSchema :: Schema.Schema,- -- | The input JSON value- termLevelForwardTestCaseJson :: Model.Value,- -- | The expected Hydra term- termLevelForwardTestCaseTerm :: Core.Term}- deriving (Eq, Ord, Read, Show)--_TermLevelForwardTestCase = Core.Name "hydra.avro.testing.TermLevelForwardTestCase"--_TermLevelForwardTestCase_description = Core.Name "description"--_TermLevelForwardTestCase_schema = Core.Name "schema"--_TermLevelForwardTestCase_json = Core.Name "json"--_TermLevelForwardTestCase_term = Core.Name "term"---- | A test case which decodes a Hydra term to a JSON value using an Avro schema-data TermLevelReverseTestCase =- TermLevelReverseTestCase {- -- | A human-readable description of what this test case covers- termLevelReverseTestCaseDescription :: String,- -- | The Avro schema describing the expected JSON value- termLevelReverseTestCaseSchema :: Schema.Schema,- -- | The input Hydra term- termLevelReverseTestCaseTerm :: Core.Term,- -- | The expected JSON value- termLevelReverseTestCaseJson :: Model.Value}- deriving (Eq, Ord, Read, Show)--_TermLevelReverseTestCase = Core.Name "hydra.avro.testing.TermLevelReverseTestCase"--_TermLevelReverseTestCase_description = Core.Name "description"--_TermLevelReverseTestCase_schema = Core.Name "schema"--_TermLevelReverseTestCase_term = Core.Name "term"--_TermLevelReverseTestCase_json = Core.Name "json"---- | A test case which encodes a JSON value as a Hydra term and decodes it back, verifying the result-data TermLevelRoundTripJsonTestCase =- TermLevelRoundTripJsonTestCase {- -- | A human-readable description of what this test case covers- termLevelRoundTripJsonTestCaseDescription :: String,- -- | The Avro schema describing the JSON value- termLevelRoundTripJsonTestCaseSchema :: Schema.Schema,- -- | The original JSON value- termLevelRoundTripJsonTestCaseJson :: Model.Value,- -- | The expected JSON value after the round-trip, which may differ from the original due to normalization- termLevelRoundTripJsonTestCaseExpectedJson :: Model.Value}- deriving (Eq, Ord, Read, Show)--_TermLevelRoundTripJsonTestCase = Core.Name "hydra.avro.testing.TermLevelRoundTripJsonTestCase"--_TermLevelRoundTripJsonTestCase_description = Core.Name "description"--_TermLevelRoundTripJsonTestCase_schema = Core.Name "schema"--_TermLevelRoundTripJsonTestCase_json = Core.Name "json"--_TermLevelRoundTripJsonTestCase_expectedJson = Core.Name "expectedJson"---- | A test case which decodes a Hydra term to JSON and encodes it back, verifying the result-data TermLevelRoundTripTermTestCase =- TermLevelRoundTripTermTestCase {- -- | A human-readable description of what this test case covers- termLevelRoundTripTermTestCaseDescription :: String,- -- | The Hydra type of the term- termLevelRoundTripTermTestCaseType :: Core.Type,- -- | The original Hydra term- termLevelRoundTripTermTestCaseTerm :: Core.Term,- -- | The expected Hydra term after the round-trip, which may differ from the original due to normalization- termLevelRoundTripTermTestCaseExpectedTerm :: Core.Term}- deriving (Eq, Ord, Read, Show)--_TermLevelRoundTripTermTestCase = Core.Name "hydra.avro.testing.TermLevelRoundTripTermTestCase"--_TermLevelRoundTripTermTestCase_description = Core.Name "description"--_TermLevelRoundTripTermTestCase_type = Core.Name "type"--_TermLevelRoundTripTermTestCase_term = Core.Name "term"--_TermLevelRoundTripTermTestCase_expectedTerm = Core.Name "expectedTerm"---- | A test case which maps an Avro schema to a Hydra type and compares the result-data TypeLevelForwardTestCase =- TypeLevelForwardTestCase {- -- | A human-readable description of what this test case covers- typeLevelForwardTestCaseDescription :: String,- -- | The input Avro schema- typeLevelForwardTestCaseSchema :: Schema.Schema,- -- | The expected Hydra type- typeLevelForwardTestCaseType :: Core.Type}- deriving (Eq, Ord, Read, Show)--_TypeLevelForwardTestCase = Core.Name "hydra.avro.testing.TypeLevelForwardTestCase"--_TypeLevelForwardTestCase_description = Core.Name "description"--_TypeLevelForwardTestCase_schema = Core.Name "schema"--_TypeLevelForwardTestCase_type = Core.Name "type"---- | A test case which maps a Hydra type to an Avro schema and compares the result-data TypeLevelReverseTestCase =- TypeLevelReverseTestCase {- -- | A human-readable description of what this test case covers- typeLevelReverseTestCaseDescription :: String,- -- | The input Hydra type- typeLevelReverseTestCaseType :: Core.Type,- -- | The expected Avro schema- typeLevelReverseTestCaseSchema :: Schema.Schema}- deriving (Eq, Ord, Read, Show)--_TypeLevelReverseTestCase = Core.Name "hydra.avro.testing.TypeLevelReverseTestCase"--_TypeLevelReverseTestCase_description = Core.Name "description"--_TypeLevelReverseTestCase_type = Core.Name "type"--_TypeLevelReverseTestCase_schema = Core.Name "schema"---- | A test case which maps an Avro schema to a Hydra type and back, verifying the result-data TypeLevelRoundTripAvroTestCase =- TypeLevelRoundTripAvroTestCase {- -- | A human-readable description of what this test case covers- typeLevelRoundTripAvroTestCaseDescription :: String,- -- | The original Avro schema- typeLevelRoundTripAvroTestCaseSchema :: Schema.Schema,- -- | The expected Avro schema after the round-trip, which may differ from the original due to normalization or information loss- typeLevelRoundTripAvroTestCaseExpectedSchema :: Schema.Schema}- deriving (Eq, Ord, Read, Show)--_TypeLevelRoundTripAvroTestCase = Core.Name "hydra.avro.testing.TypeLevelRoundTripAvroTestCase"--_TypeLevelRoundTripAvroTestCase_description = Core.Name "description"--_TypeLevelRoundTripAvroTestCase_schema = Core.Name "schema"--_TypeLevelRoundTripAvroTestCase_expectedSchema = Core.Name "expectedSchema"---- | A test case which maps a Hydra type to an Avro schema and back, verifying the result-data TypeLevelRoundTripHydraTestCase =- TypeLevelRoundTripHydraTestCase {- -- | A human-readable description of what this test case covers- typeLevelRoundTripHydraTestCaseDescription :: String,- -- | The original Hydra type- typeLevelRoundTripHydraTestCaseType :: Core.Type,- -- | The expected Hydra type after the round-trip, which may differ from the original due to normalization or information loss- typeLevelRoundTripHydraTestCaseExpectedType :: Core.Type}- deriving (Eq, Ord, Read, Show)--_TypeLevelRoundTripHydraTestCase = Core.Name "hydra.avro.testing.TypeLevelRoundTripHydraTestCase"--_TypeLevelRoundTripHydraTestCase_description = Core.Name "description"--_TypeLevelRoundTripHydraTestCase_type = Core.Name "type"--_TypeLevelRoundTripHydraTestCase_expectedType = Core.Name "expectedType"---- | A test case for union type encoding and decoding, covering the various strategies for representing unions in Avro-data UnionTestCase =- UnionTestCase {- -- | A human-readable description of what this test case covers- unionTestCaseDescription :: String,- -- | The Hydra union type- unionTestCaseHydraType :: Core.Type,- -- | The expected Avro schema (enum for all-unit unions, record with optional fields for general unions)- unionTestCaseAvroSchema :: Schema.Schema,- -- | Pairs of corresponding Hydra terms and JSON values for this union- unionTestCaseTermPairs :: [(Core.Term, Model.Value)]}- deriving (Eq, Ord, Read, Show)--_UnionTestCase = Core.Name "hydra.avro.testing.UnionTestCase"--_UnionTestCase_description = Core.Name "description"--_UnionTestCase_hydraType = Core.Name "hydraType"--_UnionTestCase_avroSchema = Core.Name "avroSchema"--_UnionTestCase_termPairs = Core.Name "termPairs"
− src/main/haskell/Hydra/Azure/Dtld.hs
@@ -1,747 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | An Azure Digital Twin Definition Language (DTLD) model. Based on:--- | https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#digital-twins-definition-language--- | DTLD features which are not currently included in this model:--- | * geospatial schemas (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#geospatial-schemas)--- | * semantic types and units (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#semantic-types)--- | * model versioning (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#model-versioning)--module Hydra.Azure.Dtld 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-import qualified Data.Set as S---- | A Command describes a function or operation that can be performed on any digital twin.-data Command =- Command {- -- | This must be 'Command'- commandType :: Iri,- -- | The 'programming' name of the command. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- commandName :: String,- -- | The ID of the command. If no @id is provided, the digital twin interface processor will assign one.- commandId :: (Maybe Dtmi),- -- | A comment for model authors- commandComment :: (Maybe String),- -- | A localizable description for display- commandDescription :: (Maybe String),- -- | A localizable name for display- commandDisplayName :: (Maybe String),- -- | This property is deprecated. Either value, synchronous or asynchronous, has the same meaning: a command that starts execution within a configurable time and that completes execution within a configurable time.- commandCommandType :: (Maybe CommandType),- -- | A description of the input to the Command- commandRequest :: (Maybe CommandPayload),- -- | A description of the output of the Command- commandResponse :: (Maybe CommandPayload)}- deriving (Eq, Ord, Read, Show)--_Command = Core.Name "hydra.azure.dtld.Command"--_Command_type = Core.Name "type"--_Command_name = Core.Name "name"--_Command_id = Core.Name "id"--_Command_comment = Core.Name "comment"--_Command_description = Core.Name "description"--_Command_displayName = Core.Name "displayName"--_Command_commandType = Core.Name "commandType"--_Command_request = Core.Name "request"--_Command_response = Core.Name "response"---- | A CommandPayload describes the inputs to or the outputs from a Command.-data CommandPayload =- CommandPayload {- -- | The 'programming' name of the payload. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- commandPayloadName :: String,- -- | The data type of the payload- commandPayloadSchema :: Schema,- -- | The ID of the payload. If no @id is provided, the digital twin interface processor will assign one.- commandPayloadId :: (Maybe Dtmi),- -- | A comment for model authors- commandPayloadComment :: (Maybe String),- -- | A localizable description for display- commandPayloadDescription :: (Maybe String),- -- | A localizable name for display- commandPayloadDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_CommandPayload = Core.Name "hydra.azure.dtld.CommandPayload"--_CommandPayload_name = Core.Name "name"--_CommandPayload_schema = Core.Name "schema"--_CommandPayload_id = Core.Name "id"--_CommandPayload_comment = Core.Name "comment"--_CommandPayload_description = Core.Name "description"--_CommandPayload_displayName = Core.Name "displayName"---- | CommandType is deprecated. Either value, synchronous or asynchronous, has the same meaning: a command that starts execution within a configurable time and that completes execution within a configurable time.-data CommandType =- CommandTypeSynchronous |- CommandTypeAsynchronous- deriving (Eq, Ord, Read, Show)--_CommandType = Core.Name "hydra.azure.dtld.CommandType"--_CommandType_synchronous = Core.Name "synchronous"--_CommandType_asynchronous = Core.Name "asynchronous"---- | Components enable interfaces to be composed of other interfaces. Components are different from relationships because they describe contents that are directly part of the interface. (A relationship describes a link between two interfaces.)-data Component =- Component {- -- | This must be 'Component'- componentType :: Iri,- -- | The 'programming' name of the component. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- componentName :: String,- -- | The data type of the component- componentSchema :: Interface,- -- | The ID of the component. If no @id is provided, the digital twin interface processor will assign one.- componentId :: (Maybe Dtmi),- -- | A comment for model authors- componentComment :: (Maybe String),- -- | A localizable description for display- componentDescription :: (Maybe String),- -- | A localizable name for display- componentDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_Component = Core.Name "hydra.azure.dtld.Component"--_Component_type = Core.Name "type"--_Component_name = Core.Name "name"--_Component_schema = Core.Name "schema"--_Component_id = Core.Name "id"--_Component_comment = Core.Name "comment"--_Component_description = Core.Name "description"--_Component_displayName = Core.Name "displayName"---- | A digital twin model identifier-newtype Dtmi =- Dtmi {- unDtmi :: String}- deriving (Eq, Ord, Read, Show)--_Dtmi = Core.Name "hydra.azure.dtld.Dtmi"---- | An EnumValue describes an element of an Enum.-data EnumValue =- EnumValue {- -- | The 'programming' name of the enum value. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- enumValueName :: String,- -- | The on-the-wire value that maps to the EnumValue. EnumValue may be either an integer or a string and must be unique for all enum values in this enum.- enumValueEnumValue :: IntegerOrString,- -- | The ID of the enum value. If no @id is provided, the digital twin interface processor will assign one.- enumValueId :: (Maybe Dtmi),- -- | A comment for model authors- enumValueComment :: (Maybe String),- -- | A localizable description for display- enumValueDescription :: (Maybe String),- -- | A localizable name for display- enumValueDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_EnumValue = Core.Name "hydra.azure.dtld.EnumValue"--_EnumValue_name = Core.Name "name"--_EnumValue_enumValue = Core.Name "enumValue"--_EnumValue_id = Core.Name "id"--_EnumValue_comment = Core.Name "comment"--_EnumValue_description = Core.Name "description"--_EnumValue_displayName = Core.Name "displayName"---- | A Field describes a field in an Object.-data Field =- Field {- -- | The 'programming' name of the field. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- fieldName :: String,- -- | The data type of the field- fieldSchema :: Schema,- -- | The ID of the field. If no @id is provided, the digital twin interface processor will assign one.- fieldId :: (Maybe Dtmi),- -- | A comment for model authors- fieldComment :: (Maybe String),- -- | A localizable description for display- fieldDescription :: (Maybe String),- -- | A localizable name for display- fieldDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_Field = Core.Name "hydra.azure.dtld.Field"--_Field_name = Core.Name "name"--_Field_schema = Core.Name "schema"--_Field_id = Core.Name "id"--_Field_comment = Core.Name "comment"--_Field_description = Core.Name "description"--_Field_displayName = Core.Name "displayName"---- | A value which may be either an integer or a string-data IntegerOrString =- IntegerOrStringInteger Int |- IntegerOrStringString String- deriving (Eq, Ord, Read, Show)--_IntegerOrString = Core.Name "hydra.azure.dtld.IntegerOrString"--_IntegerOrString_integer = Core.Name "integer"--_IntegerOrString_string = Core.Name "string"---- | An Interface describes the contents (Telemetry, Properties, Commands, Relationships, and Components) of any digital twin.-data Interface =- Interface {- -- | A digital twin model identifier for the interface- interfaceId :: Dtmi,- -- | This must be 'Interface'- interfaceType :: Iri,- -- | The context to use when processing this interface. For this version, it must be set to 'dtmi:dtdl:context;2'- interfaceContext :: Iri,- -- | A comment for model authors- interfaceComment :: (Maybe String),- -- | A set of objects that define the contents (Telemetry, Properties, Commands, Relationships, and/or Components) of this interface- interfaceContents :: (Maybe (S.Set InterfaceContents)),- -- | A localizable description for display- interfaceDescription :: (Maybe String),- -- | A localizable name for display- interfaceDisplayName :: (Maybe String),- -- | A set of DTMIs that refer to interfaces this interface inherits from. Interfaces can inherit from multiple interfaces.- interfaceExtends :: (Maybe (S.Set Interface)),- -- | A set of IRIs or objects that refer to the reusable schemas within this interface.- interfaceSchemas :: (Maybe (S.Set SchemaInterface))}- deriving (Eq, Ord, Read, Show)--_Interface = Core.Name "hydra.azure.dtld.Interface"--_Interface_id = Core.Name "id"--_Interface_type = Core.Name "type"--_Interface_context = Core.Name "context"--_Interface_comment = Core.Name "comment"--_Interface_contents = Core.Name "contents"--_Interface_description = Core.Name "description"--_Interface_displayName = Core.Name "displayName"--_Interface_extends = Core.Name "extends"--_Interface_schemas = Core.Name "schemas"---- | One of the kinds of content an Interface may contain: a Command, Component, Property, Relationship, or Telemetry-data InterfaceContents =- InterfaceContentsCommand Command |- InterfaceContentsComponent Component |- InterfaceContentsProperty Property |- InterfaceContentsRelationship Relationship |- InterfaceContentsTelemetry Telemetry- deriving (Eq, Ord, Read, Show)--_InterfaceContents = Core.Name "hydra.azure.dtld.InterfaceContents"--_InterfaceContents_command = Core.Name "command"--_InterfaceContents_component = Core.Name "component"--_InterfaceContents_property = Core.Name "property"--_InterfaceContents_relationship = Core.Name "relationship"--_InterfaceContents_telemetry = Core.Name "telemetry"---- | An Internationalized Resource Identifier-newtype Iri =- Iri {- unIri :: String}- deriving (Eq, Ord, Read, Show)--_Iri = Core.Name "hydra.azure.dtld.Iri"---- | A MapKey describes the key in a Map. The schema of a MapKey must be string.-data MapKey =- MapKey {- -- | The 'programming' name of the map's key. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- mapKeyName :: String,- -- | The data type of the map's key- mapKeySchema :: Schema,- -- | The ID of the map key. If no @id is provided, the digital twin interface processor will assign one.- mapKeyId :: (Maybe Dtmi),- -- | A comment for model authors- mapKeyComment :: (Maybe String),- -- | A localizable description for display- mapKeyDescription :: (Maybe String),- -- | A localizable name for display- mapKeyDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_MapKey = Core.Name "hydra.azure.dtld.MapKey"--_MapKey_name = Core.Name "name"--_MapKey_schema = Core.Name "schema"--_MapKey_id = Core.Name "id"--_MapKey_comment = Core.Name "comment"--_MapKey_description = Core.Name "description"--_MapKey_displayName = Core.Name "displayName"---- | A MapValue describes the values in a Map.-data MapValue =- MapValue {- -- | The 'programming' name of the map's value. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- mapValueName :: String,- -- | The data type of the map's values- mapValueSchema :: Schema,- -- | The ID of the map value. If no @id is provided, the digital twin interface processor will assign one.- mapValueId :: (Maybe Dtmi),- -- | A comment for model authors- mapValueComment :: (Maybe String),- -- | A localizable description for display- mapValueDescription :: (Maybe String),- -- | A localizable name for display- mapValueDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_MapValue = Core.Name "hydra.azure.dtld.MapValue"--_MapValue_name = Core.Name "name"--_MapValue_schema = Core.Name "schema"--_MapValue_id = Core.Name "id"--_MapValue_comment = Core.Name "comment"--_MapValue_description = Core.Name "description"--_MapValue_displayName = Core.Name "displayName"---- | A Property describes the read-only and read/write state of any digital twin. For example, a device serial number may be a read-only property, the desired temperature on a thermostat may be a read-write property; and the name of a room may be a read-write property.-data Property =- Property {- -- | This must at least be 'Property'. It can also include a semantic type.- propertyType :: Iri,- -- | The 'programming' name of the property. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$..- propertyName :: String,- -- | The data type of the Property- propertySchema :: Schema,- -- | The ID of the property. If no @id is provided, the digital twin interface processor will assign one.- propertyId :: (Maybe Dtmi),- -- | A comment for model authors- propertyComment :: (Maybe String),- -- | A localizable description for display- propertyDescription :: (Maybe String),- -- | A localizable name for display- propertyDisplayName :: (Maybe String),- -- | The unit type of the property. A semantic type is required for the unit property to be available.- propertyUnit :: (Maybe Unit),- -- | A boolean value that indicates whether the property is writable by an external source, such as an application, or not. The default value is false (read-only).- propertyWritable :: (Maybe Bool)}- deriving (Eq, Ord, Read, Show)--_Property = Core.Name "hydra.azure.dtld.Property"--_Property_type = Core.Name "type"--_Property_name = Core.Name "name"--_Property_schema = Core.Name "schema"--_Property_id = Core.Name "id"--_Property_comment = Core.Name "comment"--_Property_description = Core.Name "description"--_Property_displayName = Core.Name "displayName"--_Property_unit = Core.Name "unit"--_Property_writable = Core.Name "writable"---- | A Relationship describes a link to another digital twin and enables graphs of digital twins to be created. Relationships are different from Components because they describe a link to a separate digital twin.-data Relationship =- Relationship {- -- | This must be 'Relationship'- relationshipType :: Iri,- -- | The 'programming' name of the relationship. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.- relationshipName :: String,- -- | The ID of the relationship description. If no @id is provided, the digital twin interface processor will assign one.- relationshipId :: (Maybe Dtmi),- -- | A comment for model authors- relationshipComment :: (Maybe String),- -- | A localizable description for display- relationshipDescription :: (Maybe String),- -- | A localizable name for display- relationshipDisplayName :: (Maybe String),- -- | The maximum multiplicity for the target of the relationship. The default value is infinite (there may be an unlimited number of relationship instances for this relationship).- relationshipMaxMultiplicity :: (Maybe Int),- -- | The minimum multiplicity for the target of the relationship. The default value is 0 (this relationship is permitted to have no instances). In DTDL v2, minMultiplicity must always be 0.- relationshipMinMultiplicity :: (Maybe Int),- -- | A set of Properties that define relationship-specific state- relationshipProperties :: (Maybe (S.Set Property)),- -- | An interface ID. The default value (when target is not specified) is that the target may be any interface.- relationshipTarget :: (Maybe Interface),- -- | A boolean value that indicates whether the relationship is writable by an external source, such as an application, or not. The default value is false (read-only).- relationshipWritable :: (Maybe Bool)}- deriving (Eq, Ord, Read, Show)--_Relationship = Core.Name "hydra.azure.dtld.Relationship"--_Relationship_type = Core.Name "type"--_Relationship_name = Core.Name "name"--_Relationship_id = Core.Name "id"--_Relationship_comment = Core.Name "comment"--_Relationship_description = Core.Name "description"--_Relationship_displayName = Core.Name "displayName"--_Relationship_maxMultiplicity = Core.Name "maxMultiplicity"--_Relationship_minMultiplicity = Core.Name "minMultiplicity"--_Relationship_properties = Core.Name "properties"--_Relationship_target = Core.Name "target"--_Relationship_writable = Core.Name "writable"---- | Schemas are used to describe the on-the-wire or serialized format of the data in a digital twin interface. A full set of primitive data types are provided, along with support for a variety of complex schemas in the forms of Arrays, Enums, Maps, and Objects. Schemas described through digital twin's schema definition language are compatible with popular serialization formats, including JSON, Avro, and Protobuf.-data Schema =- SchemaPrimitive_ SchemaPrimitive |- SchemaComplex_ SchemaComplex- deriving (Eq, Ord, Read, Show)--_Schema = Core.Name "hydra.azure.dtld.Schema"--_Schema_primitive = Core.Name "primitive"--_Schema_complex = Core.Name "complex"---- | An Array describes an indexable data type where each element is of the same schema. An Array elements' schema can itself be a primitive or complex schema.-data SchemaArray =- SchemaArray {- -- | This must be 'Array'- schemaArrayType :: Iri,- -- | The data type of the array elements- schemaArrayElementSchema :: Schema,- -- | The ID of the array. If no @id is provided, the digital twin interface processor will assign one.- schemaArrayId :: (Maybe Dtmi),- -- | A comment for model authors- schemaArrayComment :: (Maybe String),- -- | A localizable description for display- schemaArrayDescription :: (Maybe String),- -- | A localizable name for display- schemaArrayDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_SchemaArray = Core.Name "hydra.azure.dtld.SchemaArray"--_SchemaArray_type = Core.Name "type"--_SchemaArray_elementSchema = Core.Name "elementSchema"--_SchemaArray_id = Core.Name "id"--_SchemaArray_comment = Core.Name "comment"--_SchemaArray_description = Core.Name "description"--_SchemaArray_displayName = Core.Name "displayName"---- | Complex schemas are designed for supporting complex data types made up of primitive data types. Currently the following complex schemas are provided: Array, Enum, Map, and Object. A complex schema can be specified directly as the value in a schema statement or described in the interface schemas set and referenced in the schema statement.-data SchemaComplex =- SchemaComplexArray SchemaArray |- SchemaComplexEnum SchemaEnum |- SchemaComplexMap SchemaMap |- SchemaComplexObject SchemaObject- deriving (Eq, Ord, Read, Show)--_SchemaComplex = Core.Name "hydra.azure.dtld.SchemaComplex"--_SchemaComplex_array = Core.Name "array"--_SchemaComplex_enum = Core.Name "enum"--_SchemaComplex_map = Core.Name "map"--_SchemaComplex_object = Core.Name "object"---- | An Enum describes a data type with a set of named labels that map to values. The values in an Enum can be either integers or strings, but the labels are always strings.-data SchemaEnum =- SchemaEnum {- -- | Enum- schemaEnumType :: Iri,- -- | A set of enum value and label mappings- schemaEnumEnumValues :: [EnumValue],- -- | The data type for the enum values. All enum values must be of the same type.- schemaEnumValueSchema :: IntegerOrString,- -- | The ID of the enum. If no @id is provided, the digital twin interface processor will assign one.- schemaEnumId :: (Maybe Dtmi),- -- | A comment for model authors- schemaEnumComment :: (Maybe String),- -- | A localizable description for display- schemaEnumDescription :: (Maybe String),- -- | A localizable name for display- schemaEnumDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_SchemaEnum = Core.Name "hydra.azure.dtld.SchemaEnum"--_SchemaEnum_type = Core.Name "type"--_SchemaEnum_enumValues = Core.Name "enumValues"--_SchemaEnum_valueSchema = Core.Name "valueSchema"--_SchemaEnum_id = Core.Name "id"--_SchemaEnum_comment = Core.Name "comment"--_SchemaEnum_description = Core.Name "description"--_SchemaEnum_displayName = Core.Name "displayName"---- | Within an interface definition, complex schemas may be defined for reusability across Telemetry, Properties, and Commands. This is designed to promote readability and improved maintenance because schemas that are reused can be defined once (per interface). Interface schemas are defined in the schemas property of an interface.-data SchemaInterface =- SchemaInterface {- -- | The globally unique identifier for the schema- schemaInterfaceId :: Dtmi,- -- | The type of complex schema. This must refer to one of the complex schema classes (Array, Enum, Map, or Object).- schemaInterfaceType :: SchemaInterfaceType,- -- | A comment for model authors- schemaInterfaceComment :: (Maybe String),- -- | A localizable description for display- schemaInterfaceDescription :: (Maybe String),- -- | A localizable name for display- schemaInterfaceDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_SchemaInterface = Core.Name "hydra.azure.dtld.SchemaInterface"--_SchemaInterface_id = Core.Name "id"--_SchemaInterface_type = Core.Name "type"--_SchemaInterface_comment = Core.Name "comment"--_SchemaInterface_description = Core.Name "description"--_SchemaInterface_displayName = Core.Name "displayName"---- | The type of a reusable interface schema: Array, Enum, Map, or Object-data SchemaInterfaceType =- SchemaInterfaceTypeArray SchemaArray |- SchemaInterfaceTypeEnum SchemaEnum |- SchemaInterfaceTypeMap SchemaMap |- SchemaInterfaceTypeObject SchemaObject- deriving (Eq, Ord, Read, Show)--_SchemaInterfaceType = Core.Name "hydra.azure.dtld.SchemaInterfaceType"--_SchemaInterfaceType_array = Core.Name "array"--_SchemaInterfaceType_enum = Core.Name "enum"--_SchemaInterfaceType_map = Core.Name "map"--_SchemaInterfaceType_object = Core.Name "object"---- | A Map describes a data type of key-value pairs where the values share the same schema. The key in a Map must be a string. The values in a Map can be any schema.-data SchemaMap =- SchemaMap {- -- | Map- schemaMapType :: Iri,- -- | A description of the keys in the map- schemaMapMapKey :: MapKey,- -- | A description of the values in the map- schemaMapMapValue :: MapValue,- -- | The ID of the map. If no @id is provided, the digital twin interface processor will assign one.- schemaMapId :: (Maybe Dtmi),- -- | A comment for model authors- schemaMapComment :: (Maybe String),- -- | A localizable description for display- schemaMapDescription :: (Maybe String),- -- | A localizable name for display- schemaMapDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_SchemaMap = Core.Name "hydra.azure.dtld.SchemaMap"--_SchemaMap_type = Core.Name "type"--_SchemaMap_mapKey = Core.Name "mapKey"--_SchemaMap_mapValue = Core.Name "mapValue"--_SchemaMap_id = Core.Name "id"--_SchemaMap_comment = Core.Name "comment"--_SchemaMap_description = Core.Name "description"--_SchemaMap_displayName = Core.Name "displayName"---- | An Object describes a data type made up of named fields (like a struct in C). The fields in an Object map can be primitive or complex schemas.-data SchemaObject =- SchemaObject {- -- | Object- schemaObjectType :: Iri,- -- | A set of field descriptions, one for each field in the Object- schemaObjectFields :: (S.Set Field),- -- | The ID of the object. If no @id is provided, the digital twin interface processor will assign one.- schemaObjectId :: (Maybe Dtmi),- -- | A comment for model authors- schemaObjectComment :: (Maybe String),- -- | A localizable description for display- schemaObjectDescription :: (Maybe String),- -- | A localizable name for display- schemaObjectDisplayName :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_SchemaObject = Core.Name "hydra.azure.dtld.SchemaObject"--_SchemaObject_type = Core.Name "type"--_SchemaObject_fields = Core.Name "fields"--_SchemaObject_id = Core.Name "id"--_SchemaObject_comment = Core.Name "comment"--_SchemaObject_description = Core.Name "description"--_SchemaObject_displayName = Core.Name "displayName"---- | A full set of primitive data types are provided and can be specified directly as the value in a schema statement in a digital twin interface.-data SchemaPrimitive =- -- | A boolean value- SchemaPrimitiveBoolean |- -- | A full-date as defined in section 5.6 of RFC 3339- SchemaPrimitiveDate |- -- | A date-time as defined in RFC 3339- SchemaPrimitiveDateTime |- -- | An IEEE 8-byte floating point- SchemaPrimitiveDouble |- -- | A duration in ISO 8601 format- SchemaPrimitiveDuration |- -- | An IEEE 4-byte floating point- SchemaPrimitiveFloat |- -- | A signed 4-byte integer- SchemaPrimitiveInteger |- -- | A signed 8-byte integer- SchemaPrimitiveLong |- -- | A UTF8 string- SchemaPrimitiveString |- -- | A full-time as defined in section 5.6 of RFC 3339- SchemaPrimitiveTime- deriving (Eq, Ord, Read, Show)--_SchemaPrimitive = Core.Name "hydra.azure.dtld.SchemaPrimitive"--_SchemaPrimitive_boolean = Core.Name "boolean"--_SchemaPrimitive_date = Core.Name "date"--_SchemaPrimitive_dateTime = Core.Name "dateTime"--_SchemaPrimitive_double = Core.Name "double"--_SchemaPrimitive_duration = Core.Name "duration"--_SchemaPrimitive_float = Core.Name "float"--_SchemaPrimitive_integer = Core.Name "integer"--_SchemaPrimitive_long = Core.Name "long"--_SchemaPrimitive_string = Core.Name "string"--_SchemaPrimitive_time = Core.Name "time"---- | Telemetry describes the data emitted by any digital twin, whether the data is a regular stream of sensor readings or a computed stream of data, such as occupancy, or an occasional error or information message.-data Telemetry =- Telemetry {- -- | This must be at least 'Telemetry'. It can also include a semantic type- telemetryType :: Iri,- -- | The 'programming' name of the telemetry. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$..- telemetryName :: String,- -- | The data type of the Telemetry- telemetrySchema :: Schema,- -- | The ID of the telemetry. If no @id is provided, the digital twin interface processor will assign one.- telemetryId :: (Maybe Dtmi),- -- | A comment for model authors- telemetryComment :: (Maybe String),- -- | A localizable description for display- telemetryDescription :: (Maybe String),- -- | A localizable name for display- telemetryDisplayName :: (Maybe String),- -- | The unit type of the Telemetry. A semantic type is required for the unit property to be available.- telemetryUnit :: (Maybe Unit)}- deriving (Eq, Ord, Read, Show)--_Telemetry = Core.Name "hydra.azure.dtld.Telemetry"--_Telemetry_type = Core.Name "type"--_Telemetry_name = Core.Name "name"--_Telemetry_schema = Core.Name "schema"--_Telemetry_id = Core.Name "id"--_Telemetry_comment = Core.Name "comment"--_Telemetry_description = Core.Name "description"--_Telemetry_displayName = Core.Name "displayName"--_Telemetry_unit = Core.Name "unit"---- | The unit type of a Property or Telemetry value, available when a semantic type is present-newtype Unit =- Unit {- unUnit :: ()}- deriving (Eq, Ord, Read, Show)--_Unit = Core.Name "hydra.azure.dtld.Unit"
− src/main/haskell/Hydra/Cpp/Coder.hs
@@ -1,746 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | C++ code generator: converts Hydra modules to C++ header files--module Hydra.Cpp.Coder where--import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Cpp.Language as Language-import qualified Hydra.Cpp.Serde as Serde-import qualified Hydra.Cpp.Syntax as Syntax-import qualified Hydra.Decode.Core as DecodeCore-import qualified Hydra.Dependencies as Dependencies-import qualified Hydra.Docs as Docs-import qualified Hydra.Encode.Core as EncodeCore-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.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.Predicates as Predicates-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Resolution as Resolution-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Sorting as Sorting-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Convert a binding name to a file path-bindingNameToFilePath :: Core.Name -> String-bindingNameToFilePath name =- Names.nameToFilePath Util.CaseConventionLowerSnake Util.CaseConventionLowerSnake (File.FileExtension "h") name---- | Get the class name from a fully qualified Name-className :: Core.Name -> String-className name = sanitizeCppName (Names.localNameOf name)---- | Create a const reference parameter-constParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter-constParameter name typ =- Syntax.Parameter {- Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = typ,- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),- Syntax.parameterName = name,- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}---- | Create a class declaration-cppClassDeclaration :: String -> [Syntax.BaseSpecifier] -> Maybe Syntax.ClassBody -> Syntax.Declaration-cppClassDeclaration name baseSpecs mbody =- Syntax.DeclarationClass (Syntax.ClassDeclaration {- Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {- Syntax.classSpecifierKey = Syntax.ClassKeyClass,- Syntax.classSpecifierName = name,- Syntax.classSpecifierInheritance = baseSpecs},- Syntax.classDeclarationBody = mbody})---- | Create an enum class declaration-cppEnumDeclaration :: String -> Maybe Syntax.ClassBody -> Syntax.Declaration-cppEnumDeclaration name mbody =- Syntax.DeclarationClass (Syntax.ClassDeclaration {- Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {- Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,- Syntax.classSpecifierName = name,- Syntax.classSpecifierInheritance = []},- Syntax.classDeclarationBody = mbody})---- | Create an enum forward declaration (no body)-cppEnumForwardDeclaration :: String -> Syntax.Declaration-cppEnumForwardDeclaration name = cppEnumDeclaration name Nothing---- | Convert a PostfixExpression to a full Expression-cppPostfixExpressionToCppExpression :: Syntax.PostfixExpression -> Syntax.Expression-cppPostfixExpressionToCppExpression pe = cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionPostfix pe)---- | Convert a PrimaryExpression to a full Expression-cppPrimaryExpressionToCppExpression :: Syntax.PrimaryExpression -> Syntax.Expression-cppPrimaryExpressionToCppExpression prim = cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary prim)---- | Convert a UnaryExpression to a full Expression-cppUnaryExpressionToCppExpression :: Syntax.UnaryExpression -> Syntax.Expression-cppUnaryExpressionToCppExpression ue =- Syntax.ExpressionAssignment (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression ue)))---- | Convert a UnaryExpression to a LogicalOrExpression-cppUnaryExpressionToCppLogicalOrExpression :: Syntax.UnaryExpression -> Syntax.LogicalOrExpression-cppUnaryExpressionToCppLogicalOrExpression ue =- Syntax.LogicalOrExpressionLogicalAnd (Syntax.LogicalAndExpressionInclusiveOr (Syntax.InclusiveOrExpressionExclusiveOr (Syntax.ExclusiveOrExpressionAnd (Syntax.AndExpressionEquality (Syntax.EqualityExpressionRelational (Syntax.RelationalExpressionShift (Syntax.ShiftExpressionAdditive (Syntax.AdditiveExpressionMultiplicative (Syntax.MultiplicativeExpressionUnary ue)))))))))---- | Create the accept() method implementation using a dynamic_cast chain-createAcceptImplementation :: Core.Name -> [Core.FieldType] -> Syntax.Declaration-createAcceptImplementation tname variants =- Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {- Syntax.templateDeclarationInline = False,- Syntax.templateDeclarationParameters = [- "typename R"],- Syntax.templateDeclarationDeclaration = (Syntax.DeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),- Syntax.functionDeclarationName = (Strings.concat2 (className tname) "::accept"),- Syntax.functionDeclarationParameters = [- Syntax.Parameter {- Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (Strings.concat2 (visitorName tname) "<R>"))),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),- Syntax.parameterName = "visitor",- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}],- Syntax.functionDeclarationSuffixSpecifiers = [- Syntax.FunctionSpecifierSuffixConst],- Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement (Lists.map (\ft ->- let fname = Core.fieldTypeName ft- in (Syntax.StatementSelection (Syntax.SelectionStatement {- Syntax.selectionStatementCondition = (Syntax.ExpressionAssignment (Syntax.AssignmentExpressionAssignment (Syntax.ExplicitAssignment {- Syntax.explicitAssignmentLeft = (cppUnaryExpressionToCppLogicalOrExpression (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "auto ptr")))),- Syntax.explicitAssignmentOp = Syntax.AssignmentOperatorAssign,- Syntax.explicitAssignmentRight = (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier (Strings.concat2 (Strings.concat2 "dynamic_cast<const " (variantName tname fname)) "*>"))),- Syntax.functionCallOperationArguments = [- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier "this")]}))))))}))),- Syntax.selectionStatementThenBranch = (Syntax.StatementCompound (Syntax.CompoundStatement [- Syntax.StatementJump (Syntax.JumpStatementReturnValue (cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {- Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "visitor")),- Syntax.memberAccessOperationMember = "visit"})),- Syntax.functionCallOperationArguments = [- cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionUnaryOp (Syntax.UnaryOperation {- Syntax.unaryOperationOperator = Syntax.UnaryOperatorDereference,- Syntax.unaryOperationOperand = (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "ptr")))}))]}))))])),- Syntax.selectionStatementElseBranch = (Just (createThrowStmt "std::runtime_error" createTypeIdNameCall))}))) variants)))}))})---- | Create a constructor function body: default if no params, empty compound otherwise-createConstructorBody :: [t0] -> Syntax.FunctionBody-createConstructorBody params =- Logic.ifElse (Lists.isEmpty params) Syntax.FunctionBodyDefault (Syntax.FunctionBodyCompound (Syntax.CompoundStatement []))---- | Create a function call expression-createFunctionCallExpr :: String -> [Syntax.Expression] -> Syntax.Expression-createFunctionCallExpr funcName args =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier funcName)),- Syntax.functionCallOperationArguments = args}))---- | Create a header file with pragma once, includes, and declarations-createHeaderFile :: [Syntax.IncludeDirective] -> [Syntax.Declaration] -> Syntax.Program-createHeaderFile includes decls =- Syntax.Program {- Syntax.programPreprocessorDirectives = [- Syntax.PreprocessorDirectivePragma (Syntax.PragmaDirective {- Syntax.pragmaDirectiveContent = "once"})],- Syntax.programIncludes = includes,- Syntax.programDeclarations = decls}---- | Create an identifier expression-createIdentifierExpr :: String -> Syntax.Expression-createIdentifierExpr name = cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier name)---- | Create a less-than operator for a record type (trivial/placeholder implementation)-createLessThanOperator :: Core.Name -> t0 -> Syntax.Declaration-createLessThanOperator typeName fields =- Syntax.DeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [- Syntax.FunctionSpecifierPrefixInline],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic Syntax.BasicTypeBool),- Syntax.functionDeclarationName = "operator<",- Syntax.functionDeclarationParameters = [- unnamedParameter "lhs" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className typeName))),- (unnamedParameter "rhs" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className typeName))))],- Syntax.functionDeclarationSuffixSpecifiers = [],- Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement [- Syntax.StatementJump (Syntax.JumpStatementReturnValue (createLiteralBoolExpr False))]))})---- | Create a boolean literal expression-createLiteralBoolExpr :: Bool -> Syntax.Expression-createLiteralBoolExpr val =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralBoolean (Syntax.BooleanLiteral val)))---- | Create an integer literal expression-createLiteralIntExpr :: Integer -> Syntax.Expression-createLiteralIntExpr val =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteralDecimal val)))---- | Create a partial visitor interface with default visit methods that delegate to otherwise()-createPartialVisitorInterface :: Core.Name -> [Core.FieldType] -> Syntax.Declaration-createPartialVisitorInterface tname variants =- Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {- Syntax.templateDeclarationInline = False,- Syntax.templateDeclarationParameters = [- "typename R"],- Syntax.templateDeclarationDeclaration = (cppClassDeclaration (partialVisitorName tname) [- Syntax.BaseSpecifier {- Syntax.baseSpecifierAccess = Syntax.AccessSpecifierPublic,- Syntax.baseSpecifierName = (Strings.concat2 (visitorName tname) "<R>")}] (Just (Syntax.ClassBody (Lists.concat [- [- memberSpecificationPublic],- [- Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [- Syntax.FunctionSpecifierPrefixVirtual],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),- Syntax.functionDeclarationName = "otherwise",- Syntax.functionDeclarationParameters = [- constParameter "value" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className tname)))],- Syntax.functionDeclarationSuffixSpecifiers = [- Syntax.FunctionSpecifierSuffixConst],- Syntax.functionDeclarationBody = Syntax.FunctionBodyPure}))],- (Lists.map (\ft ->- let fname = Core.fieldTypeName ft- in (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),- Syntax.functionDeclarationName = "visit",- Syntax.functionDeclarationParameters = [- constParameter "value" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (variantName tname fname)))],- Syntax.functionDeclarationSuffixSpecifiers = [- Syntax.FunctionSpecifierSuffixOverride],- Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement [- Syntax.StatementJump (Syntax.JumpStatementReturnValue (createFunctionCallExpr "otherwise" [- createIdentifierExpr "value"]))]))})))) variants)]))))})---- | Create a template type (e.g. std::vector<T>)-createTemplateType :: String -> [Syntax.TypeExpression] -> Syntax.TypeExpression-createTemplateType name args =- Syntax.TypeExpressionTemplate (Syntax.TemplateType {- Syntax.templateTypeName = name,- Syntax.templateTypeArguments = (Lists.map (\a -> Syntax.TemplateArgumentType a) args)})---- | Create a throw statement-createThrowStmt :: String -> Syntax.Expression -> Syntax.Statement-createThrowStmt exceptionType arg =- Syntax.StatementJump (Syntax.JumpStatementThrow (createFunctionCallExpr exceptionType [- arg]))---- | Create a typeid(*this).name() call expression-createTypeIdNameCall :: Syntax.Expression-createTypeIdNameCall =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {- Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "typeid")),- Syntax.functionCallOperationArguments = [- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized (cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "*this"))))]})),- Syntax.memberAccessOperationMember = "name"})),- Syntax.functionCallOperationArguments = []}))---- | Create a type reference, optionally as a shared_ptr for struct types-createTypeReference :: Bool -> Core.Name -> Syntax.TypeExpression-createTypeReference isPointer name =- Logic.ifElse isPointer (createTemplateType "std::shared_ptr" [- toConstType (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Names.localNameOf name))))]) (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Names.localNameOf name))))---- | Create the union base class with protected constructor, virtual destructor, and accept method-createUnionBaseClass :: Core.Name -> t0 -> Syntax.Declaration-createUnionBaseClass name variants =- cppClassDeclaration (className name) [] (Just (Syntax.ClassBody [- memberSpecificationProtected,- (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {- Syntax.constructorDeclarationName = (className name),- Syntax.constructorDeclarationParameters = [],- Syntax.constructorDeclarationInitializers = [],- Syntax.constructorDeclarationBody = Syntax.FunctionBodyDefault}))),- memberSpecificationPublic,- (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationDestructor (Syntax.DestructorDeclaration {- Syntax.destructorDeclarationPrefixSpecifiers = [- Syntax.FunctionSpecifierPrefixVirtual],- Syntax.destructorDeclarationName = (className name),- Syntax.destructorDeclarationSuffixSpecifiers = [],- Syntax.destructorDeclarationBody = Syntax.FunctionBodyDefault}))),- (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationTemplate (Syntax.TemplateDeclaration {- Syntax.templateDeclarationInline = False,- Syntax.templateDeclarationParameters = [- "typename R"],- Syntax.templateDeclarationDeclaration = (Syntax.DeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),- Syntax.functionDeclarationName = "accept",- Syntax.functionDeclarationParameters = [- Syntax.Parameter {- Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (Strings.concat2 (visitorName name) "<R>"))),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),- Syntax.parameterName = "visitor",- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}],- Syntax.functionDeclarationSuffixSpecifiers = [- Syntax.FunctionSpecifierSuffixConst],- Syntax.functionDeclarationBody = Syntax.FunctionBodyDeclaration}))})))]))---- | Create a variant subclass (one branch of a union type)-createVariantClass :: t0 -> t1 -> Core.Name -> Core.Name -> Core.FieldType -> Either Errors.Error Syntax.Declaration-createVariantClass cx g tname parentClass ft =-- let fname = Core.fieldTypeName ft- variantType = Core.fieldTypeType ft- hasValue = Logic.not (Predicates.isUnitType variantType)- valueField =- Logic.ifElse hasValue (Eithers.map (\cppType -> [- Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable (Syntax.VariableDeclaration {- Syntax.variableDeclarationType = (Just cppType),- Syntax.variableDeclarationName = "value",- Syntax.variableDeclarationInitializer = Nothing,- Syntax.variableDeclarationIsAuto = False}))]) (encodeType cx g (Strip.deannotateType variantType))) (Right [])- constructorParams =- Logic.ifElse hasValue (Eithers.map (\paramType -> [- Syntax.Parameter {- Syntax.parameterType = paramType,- Syntax.parameterName = "value",- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}]) (encodeType cx g (Strip.deannotateType variantType))) (Right [])- in (Eithers.bind valueField (\vFields -> Eithers.bind constructorParams (\vParams ->- let initList =- Logic.ifElse hasValue [- Syntax.MemInitializer {- Syntax.memInitializerName = "value",- Syntax.memInitializerArguments = [- createIdentifierExpr "value"]}] []- in (Right (cppClassDeclaration (variantName tname fname) [- Syntax.BaseSpecifier {- Syntax.baseSpecifierAccess = Syntax.AccessSpecifierPublic,- Syntax.baseSpecifierName = (className parentClass)}] (Just (Syntax.ClassBody (Lists.concat [- [- memberSpecificationPublic],- vFields,- [- Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {- Syntax.constructorDeclarationName = (variantName tname fname),- Syntax.constructorDeclarationParameters = vParams,- Syntax.constructorDeclarationInitializers = initList,- Syntax.constructorDeclarationBody = (createConstructorBody vParams)}))]]))))))))---- | Create a visitor interface with pure virtual visit methods-createVisitorInterface :: Core.Name -> [Core.FieldType] -> Syntax.Declaration-createVisitorInterface tname variants =- Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {- Syntax.templateDeclarationInline = False,- Syntax.templateDeclarationParameters = [- "typename R"],- Syntax.templateDeclarationDeclaration = (cppClassDeclaration (visitorName tname) [] (Just (Syntax.ClassBody (Lists.concat [- [- memberSpecificationPublic],- (Lists.map (\ft ->- let fname = Core.fieldTypeName ft- in (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {- Syntax.functionDeclarationPrefixSpecifiers = [- Syntax.FunctionSpecifierPrefixVirtual],- Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),- Syntax.functionDeclarationName = "visit",- Syntax.functionDeclarationParameters = [- Syntax.Parameter {- Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (variantName tname fname))),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),- Syntax.parameterName = "value",- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}],- Syntax.functionDeclarationSuffixSpecifiers = [],- Syntax.functionDeclarationBody = Syntax.FunctionBodyPure})))) variants),- [- Syntax.MemberSpecificationMember (Syntax.MemberDeclarationDestructor (Syntax.DestructorDeclaration {- Syntax.destructorDeclarationPrefixSpecifiers = [- Syntax.FunctionSpecifierPrefixVirtual],- Syntax.destructorDeclarationName = (visitorName tname),- Syntax.destructorDeclarationSuffixSpecifiers = [],- Syntax.destructorDeclarationBody = Syntax.FunctionBodyDefault}))]]))))})---- | Encode a type application (template instantiation)-encodeApplicationType :: t0 -> t1 -> Core.ApplicationType -> Either Errors.Error Syntax.TypeExpression-encodeApplicationType cx g at =- Eithers.bind (encodeType cx g (Core.applicationTypeFunction at)) (\body -> Eithers.bind (encodeType cx g (Core.applicationTypeArgument at)) (\arg -> Right (createTemplateType "TODO_template" [- body,- arg])))---- | Encode an enum type as a C++ enum class-encodeEnumType :: t0 -> t1 -> Core.Name -> [Core.FieldType] -> t2 -> Either t3 [Syntax.Declaration]-encodeEnumType cx g name tfields comment =- Right [- cppEnumDeclaration (className name) (Just (Syntax.ClassBody (Lists.map (\ft -> Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable (Syntax.VariableDeclaration {- Syntax.variableDeclarationType = Nothing,- Syntax.variableDeclarationName = (encodeEnumValue (Core.fieldTypeName ft)),- Syntax.variableDeclarationInitializer = Nothing,- Syntax.variableDeclarationIsAuto = False}))) tfields)))]---- | Encode an enum value in UPPER_SNAKE_CASE-encodeEnumValue :: Core.Name -> String-encodeEnumValue fname = sanitizeCppName (Formatting.convertCaseCamelToUpperSnake (Core.unName fname))---- | Encode a field name in lower_snake_case-encodeFieldName :: Core.Name -> String-encodeFieldName fname = sanitizeCppName (Formatting.convertCaseCamelToLowerSnake (Core.unName fname))---- | Encode a field type as a VariableDeclaration-encodeFieldType :: t0 -> Core.FieldType -> t1 -> t2 -> Either Errors.Error Syntax.VariableDeclaration-encodeFieldType isParameter ft cx g =-- let fname = Core.fieldTypeName ft- ftype = Core.fieldTypeType ft- in (Eithers.bind (encodeType cx g ftype) (\cppType -> Right (Syntax.VariableDeclaration {- Syntax.variableDeclarationType = (Just cppType),- Syntax.variableDeclarationName = (encodeFieldName fname),- Syntax.variableDeclarationInitializer = Nothing,- Syntax.variableDeclarationIsAuto = False})))---- | Encode a forall type (strip the quantifier)-encodeForallType :: t0 -> t1 -> Core.ForallType -> Either Errors.Error Syntax.TypeExpression-encodeForallType cx g lt = encodeType cx g (Core.forallTypeBody lt)---- | Encode a function type as std::function<R(Args...)>-encodeFunctionType :: t0 -> t1 -> Core.FunctionType -> Either Errors.Error Syntax.TypeExpression-encodeFunctionType cx g ft =- Eithers.bind (encodeType cx g (Core.functionTypeDomain ft)) (\dom -> Eithers.bind (encodeType cx g (Core.functionTypeCodomain ft)) (\cod -> Right (Syntax.TypeExpressionFunction (Syntax.FunctionType {- Syntax.functionTypeReturnType = cod,- Syntax.functionTypeParameters = [- Syntax.Parameter {- Syntax.parameterType = dom,- Syntax.parameterName = "",- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}]}))))---- | Encode a literal type as a C++ type expression-encodeLiteralType :: Core.LiteralType -> Syntax.TypeExpression-encodeLiteralType lt =- Syntax.TypeExpressionBasic (case lt of- Core.LiteralTypeBinary -> Syntax.BasicTypeChar- Core.LiteralTypeBoolean -> Syntax.BasicTypeBool- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat32 -> Syntax.BasicTypeFloat- Core.FloatTypeFloat64 -> Syntax.BasicTypeDouble- _ -> Syntax.BasicTypeDouble- Core.LiteralTypeInteger v0 -> case v0 of- Core.IntegerTypeBigint -> Syntax.BasicTypeInt- Core.IntegerTypeInt8 -> Syntax.BasicTypeChar- Core.IntegerTypeInt16 -> Syntax.BasicTypeNamed "int16_t"- Core.IntegerTypeInt32 -> Syntax.BasicTypeInt- Core.IntegerTypeInt64 -> Syntax.BasicTypeNamed "int64_t"- _ -> Syntax.BasicTypeInt- Core.LiteralTypeString -> Syntax.BasicTypeString)---- | Encode a name with a specified case convention, optionally qualified-encodeName :: t0 -> t1 -> t2 -> Core.Name -> String-encodeName isQualified conv env name = sanitizeCppName (Names.localNameOf name)---- | Encode a namespace as a C++ namespace string (e.g. "hydra.cpp" -> "hydra::cpp")-encodeNamespace :: Packaging.ModuleName -> String-encodeNamespace ns =- Strings.join "::" (Lists.map (\seg -> Formatting.convertCaseCamelToLowerSnake seg) (Strings.splitOn "." (Packaging.unModuleName ns)))---- | Encode a record type as a C++ class with fields and constructor-encodeRecordType :: t0 -> t1 -> Core.Name -> [Core.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]-encodeRecordType cx g name rt comment =- Eithers.bind (Eithers.mapList (\f -> encodeFieldType False f cx g) rt) (\cppFields -> Eithers.bind (Eithers.mapList (\f -> encodeFieldType True f cx g) rt) (\constructorParams -> Right [- cppClassDeclaration (className name) [] (Just (Syntax.ClassBody (Lists.concat [- [- memberSpecificationPublic],- (Lists.map (\field -> Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable field)) cppFields),- [- Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {- Syntax.constructorDeclarationName = (className name),- Syntax.constructorDeclarationParameters = (Lists.map (\p -> Syntax.Parameter {- Syntax.parameterType = (Optionals.withDefault (Syntax.TypeExpressionBasic Syntax.BasicTypeInt) (Syntax.variableDeclarationType p)),- Syntax.parameterName = (Syntax.variableDeclarationName p),- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}) constructorParams),- Syntax.constructorDeclarationInitializers = (Lists.map (\field -> Syntax.MemInitializer {- Syntax.memInitializerName = (Syntax.variableDeclarationName field),- Syntax.memInitializerArguments = [- createIdentifierExpr (Syntax.variableDeclarationName field)]}) cppFields),- Syntax.constructorDeclarationBody = (createConstructorBody constructorParams)}))]]))),- (createLessThanOperator name rt)]))---- | Encode a Hydra type as a C++ type expression-encodeType :: t0 -> t1 -> Core.Type -> Either Errors.Error Syntax.TypeExpression-encodeType cx g typ =-- let t = Strip.deannotateType typ- in case t of- Core.TypeApplication v0 -> encodeApplicationType cx g v0- Core.TypeEither v0 -> Eithers.bind (encodeType cx g (Core.eitherTypeLeft v0)) (\lt -> Eithers.bind (encodeType cx g (Core.eitherTypeRight v0)) (\rt -> Right (toConstType (createTemplateType "std::variant" [- lt,- rt]))))- Core.TypeFunction v0 -> encodeFunctionType cx g v0- Core.TypeForall v0 -> encodeForallType cx g v0- Core.TypeList v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::vector" [- enc])) (encodeType cx g v0)- Core.TypeMap v0 -> Eithers.bind (encodeType cx g (Core.mapTypeKeys v0)) (\kt -> Eithers.bind (encodeType cx g (Core.mapTypeValues v0)) (\vt -> Right (toConstType (createTemplateType "std::map" [- kt,- vt]))))- Core.TypeLiteral v0 -> Right (encodeLiteralType v0)- Core.TypeOptional v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::optional" [- enc])) (encodeType cx g v0)- Core.TypePair v0 -> Eithers.bind (encodeType cx g (Core.pairTypeFirst v0)) (\ft -> Eithers.bind (encodeType cx g (Core.pairTypeSecond v0)) (\st -> Right (toConstType (createTemplateType "std::pair" [- ft,- st]))))- Core.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))- Core.TypeSet v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::set" [- enc])) (encodeType cx g v0)- Core.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))- Core.TypeVariable v0 -> Right (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Core.unName v0))))- Core.TypeWrap _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous wrapped type"))- Core.TypeUnit -> Right (createTemplateType "std::tuple" [])- _ -> Left (Errors.ErrorOther (Errors.OtherError "Unsupported type"))---- | Encode a type as a typedef / using declaration-encodeTypeAlias :: t0 -> t1 -> Core.Name -> Core.Type -> t2 -> Either Errors.Error Syntax.Declaration-encodeTypeAlias cx g name typ comment =- Eithers.bind (encodeType cx g typ) (\cppType -> Right (Syntax.DeclarationTypedef (Syntax.TypedefDeclaration {- Syntax.typedefDeclarationName = (className name),- Syntax.typedefDeclarationType = cppType,- Syntax.typedefDeclarationIsUsing = True})))---- | Encode a top-level type definition (dispatches to record/union/wrap)-encodeTypeDefinition :: t0 -> t1 -> Core.Name -> Core.Type -> Either Errors.Error [Syntax.Declaration]-encodeTypeDefinition cx g name typ =-- let t = Strip.deannotateType typ- in case t of- Core.TypeForall v0 -> encodeTypeDefinition cx g name (Core.forallTypeBody v0)- Core.TypeRecord v0 -> encodeRecordType cx g name v0 Nothing- Core.TypeUnion v0 -> encodeUnionType cx g name v0 Nothing- Core.TypeWrap v0 -> encodeWrappedType cx g name v0 Nothing- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "unexpected type in definition: " (PrintCore.type_ typ))))---- | Encode a union type (dispatches to enum or variant based on content)-encodeUnionType :: t0 -> t1 -> Core.Name -> [Core.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]-encodeUnionType cx g name rt comment =- Logic.ifElse (Predicates.isEnumRowType rt) (encodeEnumType cx g name rt comment) (encodeVariantType cx g name rt comment)---- | Encode a variant (tagged union) type as a class hierarchy with visitor pattern-encodeVariantType :: t0 -> t1 -> Core.Name -> [Core.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]-encodeVariantType cx g name variants comment =- Eithers.bind (Eithers.mapList (\v -> createVariantClass cx g name name v) variants) (\variantClasses -> Right (Lists.concat [- generateForwardDeclarations name variants,- [- createVisitorInterface name variants],- [- createUnionBaseClass name variants],- variantClasses,- [- createPartialVisitorInterface name variants],- [- createAcceptImplementation name variants]]))---- | Encode a wrapped type as a single-field record-encodeWrappedType :: t0 -> t1 -> Core.Name -> Core.Type -> t2 -> Either Errors.Error [Syntax.Declaration]-encodeWrappedType cx g name typ comment =- encodeRecordType cx g name [- Core.FieldType {- Core.fieldTypeName = (Core.Name "value"),- Core.fieldTypeType = typ}] comment---- | Find includes for a set of type definitions-findIncludes :: Bool -> Packaging.ModuleName -> [Packaging.TypeDefinition] -> [Syntax.IncludeDirective]-findIncludes withFwd ns defs =- Lists.concat [- [- Syntax.IncludeDirective {- Syntax.includeDirectiveName = "memory",- Syntax.includeDirectiveIsSystem = True},- Syntax.IncludeDirective {- Syntax.includeDirectiveName = "stdexcept",- Syntax.includeDirectiveIsSystem = True}],- (Lists.map (\depName -> Syntax.IncludeDirective {- Syntax.includeDirectiveName = (bindingNameToFilePath depName),- Syntax.includeDirectiveIsSystem = False}) (findTypeDependencies ns defs)),- (Logic.ifElse withFwd [- Syntax.IncludeDirective {- Syntax.includeDirectiveName = (bindingNameToFilePath (fwdHeaderName ns)),- Syntax.includeDirectiveIsSystem = False}] [])]---- | Find type dependencies that are in other namespaces-findTypeDependencies :: Packaging.ModuleName -> [Packaging.TypeDefinition] -> [Core.Name]-findTypeDependencies ns defs =- Lists.filter (\n -> Logic.not (Equality.equal (Optionals.map Packaging.unModuleName (Names.moduleNameOf n)) (Just (Packaging.unModuleName ns)))) (Sets.toList (Lists.foldl (\acc -> \d -> Sets.union acc (Dependencies.typeDependencyNames True (Core.typeSchemeBody (Packaging.typeDefinitionBody d)))) Sets.empty defs))---- | Construct the forward-declaration header name for a namespace-fwdHeaderName :: Packaging.ModuleName -> Core.Name-fwdHeaderName ns =- Names.unqualifyName (Util.QualifiedName {- Util.qualifiedNameModuleName = (Just ns),- Util.qualifiedNameLocal = "Fwd"})---- | Gather metadata from definitions (simplified: always include common headers)-gatherMetadata :: t0 -> Bool-gatherMetadata defs = True---- | Generate forward declarations for all variant subclasses-generateForwardDeclarations :: Core.Name -> [Core.FieldType] -> [Syntax.Declaration]-generateForwardDeclarations tname fields =- Lists.map (\ft -> cppClassDeclaration (variantName tname (Core.fieldTypeName ft)) [] Nothing) fields---- | Generate a single type header file-generateTypeFile :: Packaging.ModuleName -> Packaging.TypeDefinition -> t0 -> t1 -> Either Errors.Error (String, String)-generateTypeFile ns def_ cx g =-- let name = Packaging.typeDefinitionName def_- typ = Core.typeSchemeBody (Packaging.typeDefinitionBody def_)- in (Eithers.bind (encodeTypeDefinition cx g name typ) (\decls ->- let includes = findIncludes True ns [- def_]- in (Right (serializeHeaderFile name includes [- namespaceDecl ns decls]))))---- | Generate all type header files for a module (fwd file + individual class files)-generateTypeFiles :: Packaging.ModuleName -> [Packaging.TypeDefinition] -> t0 -> t1 -> Either Errors.Error [(String, String)]-generateTypeFiles ns defs cx g =- Eithers.bind (Eithers.mapList (\d -> generateTypeFile ns d cx g) defs) (\classFiles -> Right classFiles)---- | Check whether a type maps to an STL container type-isStdContainerType :: Core.Type -> Bool-isStdContainerType typ =-- let t = Strip.deannotateType typ- in case t of- Core.TypeApplication v0 -> isStdContainerType (Core.applicationTypeFunction v0)- Core.TypeList _ -> True- Core.TypeMap _ -> True- Core.TypeOptional _ -> True- Core.TypeSet _ -> True- _ -> False---- | Check whether a type is a struct type (not a literal and not an enum)-isStructType :: Core.Type -> Bool-isStructType rawType =-- let t = Resolution.fullyStripType rawType- isLiteral =- case t of- Core.TypeLiteral _ -> True- _ -> False- in (Logic.and (Logic.not isLiteral) (Logic.not (Predicates.isEnumType rawType)))---- | Check whether a type maps to a C++ template type (string or STL container)-isTemplateType :: Core.Type -> Bool-isTemplateType typ =-- let t = Strip.deannotateType typ- in (Logic.or (case t of- Core.TypeLiteral v0 -> case v0 of- Core.LiteralTypeString -> True- _ -> False- _ -> False) (isStdContainerType typ))---- | A protected access label-memberSpecificationProtected :: Syntax.MemberSpecification-memberSpecificationProtected = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierProtected---- | A public access label-memberSpecificationPublic :: Syntax.MemberSpecification-memberSpecificationPublic = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierPublic---- | Convert a module to C++ code files (entry point)-moduleToCpp :: Packaging.Module -> [Packaging.Definition] -> t0 -> t1 -> Either Errors.Error (M.Map String String)-moduleToCpp mod defs cx g =-- let ns = Packaging.moduleName mod- typeDefs = Pairs.first (Environment.partitionDefinitions defs)- in (Eithers.bind (generateTypeFiles ns typeDefs cx g) (\typeFiles -> Right (Maps.fromList typeFiles)))---- | Create a namespace declaration wrapping declarations-namespaceDecl :: Packaging.ModuleName -> [Syntax.Declaration] -> Syntax.Declaration-namespaceDecl ns decls =- Syntax.DeclarationNamespace (Syntax.NamespaceDeclaration {- Syntax.namespaceDeclarationName = (encodeNamespace ns),- Syntax.namespaceDeclarationDeclarations = decls})---- | Construct a partial visitor interface name-partialVisitorName :: Core.Name -> String-partialVisitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "PartialVisitor")---- | Sanitize a name to be valid in C++-sanitizeCppName :: String -> String-sanitizeCppName name = Formatting.sanitizeWithUnderscores Language.cppReservedWords name---- | Serialize a header file from name, includes, and declarations-serializeHeaderFile :: Core.Name -> [Syntax.IncludeDirective] -> [Syntax.Declaration] -> (String, String)-serializeHeaderFile name includes decls =- (- bindingNameToFilePath name,- (Serialization.printExpr (Serialization.parenthesize (Serde.programToExpr (createHeaderFile includes decls)))))---- | Wrap a type expression with a const qualifier-toConstType :: Syntax.TypeExpression -> Syntax.TypeExpression-toConstType baseType =- Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = baseType,- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})---- | Create an unnamed parameter (for operator overloads, etc.)-unnamedParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter-unnamedParameter name typ =- Syntax.Parameter {- Syntax.parameterType = typ,- Syntax.parameterName = name,- Syntax.parameterUnnamed = True,- Syntax.parameterDefaultValue = Nothing}---- | Construct a variant class name (e.g. "MyType" + "field" -> "MyTypeField")-variantName :: Core.Name -> Core.Name -> String-variantName tname fname =- sanitizeCppName (Strings.concat2 (Names.localNameOf tname) (Formatting.capitalize (Core.unName fname)))---- | Construct a visitor interface name-visitorName :: Core.Name -> String-visitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "Visitor")
− src/main/haskell/Hydra/Cpp/Environment.hs
@@ -1,28 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Type definitions for C++ code generation environment--module Hydra.Cpp.Environment where--import qualified Hydra.Core as Core-import qualified Hydra.Packaging as Packaging-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---- | Environment for C++ code generation-data CppEnvironment =- CppEnvironment {- -- | ModuleName mapping for code generation- cppEnvironmentNamespaces :: (Util.ModuleNames String),- -- | Type variables in scope, with their C++ names- cppEnvironmentBoundTypeVariables :: ([Core.Name], (M.Map Core.Name String))}- deriving (Eq, Ord, Read, Show)--_CppEnvironment = Core.Name "hydra.cpp.environment.CppEnvironment"--_CppEnvironment_namespaces = Core.Name "namespaces"--_CppEnvironment_boundTypeVariables = Core.Name "boundTypeVariables"
− src/main/haskell/Hydra/Cpp/Language.hs
@@ -1,275 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints and reserved words for C++--module Hydra.Cpp.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for C++-cppLanguage :: Coders.Language-cppLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.cpp"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "cpp")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt8,- Core.IntegerTypeInt16,- Core.IntegerTypeInt32,- Core.IntegerTypeInt64,- Core.IntegerTypeBigint]- termVariants =- Sets.fromList [- Variants.TermVariantApplication,- Variants.TermVariantEither,- Variants.TermVariantCases,- Variants.TermVariantLambda,- Variants.TermVariantProject,- Variants.TermVariantUnwrap,- Variants.TermVariantTypeApplication,- Variants.TermVariantTypeLambda,- Variants.TermVariantLet,- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantPair,- Variants.TermVariantRecord,- Variants.TermVariantSet,- Variants.TermVariantInject,- Variants.TermVariantVariable,- Variants.TermVariantWrap]- typeVariants =- Sets.fromList [- Variants.TypeVariantApplication,- Variants.TypeVariantEither,- Variants.TypeVariantFunction,- Variants.TypeVariantForall,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantPair,- Variants.TypeVariantRecord,- Variants.TypeVariantSet,- Variants.TypeVariantUnion,- Variants.TypeVariantVariable,- Variants.TypeVariantWrap]- typePredicate = \_ -> True---- | A set of reserved words in C++-cppReservedWords :: S.Set String-cppReservedWords =- Sets.fromList (Lists.concat [- cppKeywords,- cppPreprocessor,- cppStlTypes,- hydraCppKeywords])- where- cppKeywords =- [- "alignas",- "alignof",- "and",- "and_eq",- "asm",- "auto",- "bitand",- "bitor",- "bool",- "break",- "case",- "catch",- "char",- "char8_t",- "char16_t",- "char32_t",- "class",- "compl",- "concept",- "const",- "consteval",- "constexpr",- "constinit",- "const_cast",- "continue",- "co_await",- "co_return",- "co_yield",- "decltype",- "default",- "delete",- "do",- "double",- "dynamic_cast",- "else",- "enum",- "explicit",- "export",- "extern",- "false",- "float",- "for",- "friend",- "goto",- "if",- "inline",- "int",- "long",- "mutable",- "namespace",- "new",- "noexcept",- "not",- "not_eq",- "nullptr",- "operator",- "or",- "or_eq",- "private",- "protected",- "public",- "register",- "reinterpret_cast",- "requires",- "return",- "short",- "signed",- "sizeof",- "static",- "static_assert",- "static_cast",- "struct",- "switch",- "template",- "this",- "thread_local",- "throw",- "true",- "try",- "typedef",- "typeid",- "typename",- "union",- "unsigned",- "using",- "virtual",- "void",- "volatile",- "wchar_t",- "while",- "xor",- "xor_eq"]- cppPreprocessor =- [- "#define",- "#elif",- "#else",- "#endif",- "#error",- "#if",- "#ifdef",- "#ifndef",- "#include",- "#line",- "#pragma",- "#undef"]- cppStlTypes =- [- "std",- "string",- "vector",- "map",- "set",- "optional",- "variant",- "pair",- "tuple",- "function",- "array",- "deque",- "forward_list",- "list",- "multimap",- "multiset",- "unordered_map",- "unordered_set",- "unordered_multimap",- "unordered_multiset",- "stack",- "queue",- "priority_queue",- "shared_ptr",- "unique_ptr",- "weak_ptr"]- hydraCppKeywords = []
− src/main/haskell/Hydra/Cpp/Names.hs
@@ -1,148 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | C++ naming utilities: encoding Hydra names as C++ names--module Hydra.Cpp.Names where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Cpp.Environment as Environment-import qualified Hydra.Cpp.Language as Language-import qualified Hydra.Cpp.Syntax as Syntax-import qualified Hydra.Cpp.Utils as Utils-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Names as Names-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Get the C++ class name from a Hydra Name-className :: Core.Name -> String-className name = sanitizeCppName (Names.localNameOf name)---- | Create a type reference, optionally wrapped in shared_ptr-createTypeReference :: Bool -> Environment.CppEnvironment -> Core.Name -> Syntax.TypeExpression-createTypeReference isPointer env name =-- let baseType = Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (encodeName True Util.CaseConventionPascal env name))- in (Logic.ifElse isPointer (Utils.toConstType baseType) baseType)---- | Encode an enum value with appropriate naming convention-encodeEnumValue :: Environment.CppEnvironment -> Core.Name -> String-encodeEnumValue = encodeName False Util.CaseConventionUpperSnake---- | Encode a field name with appropriate naming convention-encodeFieldName :: Environment.CppEnvironment -> Core.Name -> String-encodeFieldName env fname = encodeName False Util.CaseConventionLowerSnake env fname---- | Encode a name with specified convention-encodeName :: Bool -> Util.CaseConvention -> Environment.CppEnvironment -> Core.Name -> String-encodeName isQualified conv env name =-- let focusNs = Pairs.first (Util.moduleNamesFocus (Environment.cppEnvironmentNamespaces env))- boundVars = Pairs.second (Environment.cppEnvironmentBoundTypeVariables env)- qualName = Names.qualifyName name- mns = Util.qualifiedNameModuleName qualName- local = Util.qualifiedNameLocal qualName- cppLocal = sanitizeCppName (Formatting.convertCase Util.CaseConventionCamel conv local)- cppNs =- \nsVal -> Strings.join "::" (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))- in (Logic.ifElse isQualified (Optionals.match (Maps.lookup name boundVars) (Optionals.match mns cppLocal (\nsVal -> Strings.concat2 (cppNs nsVal) (Strings.concat2 "::" cppLocal))) (\n -> n)) cppLocal)---- | Encode a qualified name with namespace-encodeNameQualified :: Environment.CppEnvironment -> Core.Name -> String-encodeNameQualified env name =-- let boundVars = Pairs.second (Environment.cppEnvironmentBoundTypeVariables env)- focusNs = Pairs.first (Util.moduleNamesFocus (Environment.cppEnvironmentNamespaces env))- qualName = Names.qualifyName name- mns = Util.qualifiedNameModuleName qualName- local = Util.qualifiedNameLocal qualName- in (Optionals.match (Maps.lookup name boundVars) (Logic.ifElse (Equality.equal mns (Just focusNs)) (sanitizeCppName local) (Strings.join "::" (Lists.map sanitizeCppName (Strings.splitOn "." (Core.unName name))))) (\n -> n))---- | Encode a namespace as a C++ namespace string-encodeNamespace :: Packaging.ModuleName -> String-encodeNamespace nsVal =- Strings.join "::" (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))---- | Encode a type variable name-encodeTypeVariable :: Core.Name -> String-encodeTypeVariable name = Formatting.capitalize (Core.unName name)---- | Get the forward header name for a namespace-fwdHeaderName :: Packaging.ModuleName -> Core.Name-fwdHeaderName nsVal =- Names.unqualifyName (Util.QualifiedName {- Util.qualifiedNameModuleName = (Just nsVal),- Util.qualifiedNameLocal = "Fwd"})---- | Create a namespace declaration wrapping inner declarations-namespaceDecl :: Packaging.ModuleName -> [Syntax.Declaration] -> Syntax.Declaration-namespaceDecl nsVal decls =- Syntax.DeclarationNamespace (Syntax.NamespaceDeclaration {- Syntax.namespaceDeclarationName = (encodeNamespace nsVal),- Syntax.namespaceDeclarationDeclarations = decls})---- | Get the partial visitor name for a type-partialVisitorName :: Core.Name -> String-partialVisitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "PartialVisitor")---- | Sanitize a name to be valid in C++-sanitizeCppName :: String -> String-sanitizeCppName = Formatting.sanitizeWithUnderscores Language.cppReservedWords---- | Create a reference to a term variable-termVariableReference :: Environment.CppEnvironment -> Core.Name -> Syntax.Expression-termVariableReference = variableReference Util.CaseConventionLowerSnake---- | Create a reference to a type variable-typeVariableReference :: Environment.CppEnvironment -> Core.Name -> Syntax.TypeExpression-typeVariableReference env name =- Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (encodeName True Util.CaseConventionPascal env name))---- | Create a variable reference expression-variableReference :: Util.CaseConvention -> Environment.CppEnvironment -> Core.Name -> Syntax.Expression-variableReference conv env name = Utils.createIdentifierExpr (encodeName True conv env name)---- | Get the variant name by combining type name and field name-variantName :: Core.Name -> Core.Name -> String-variantName tname fname =- sanitizeCppName (Strings.concat2 (Names.localNameOf tname) (Formatting.capitalize (Core.unName fname)))---- | Get the visitor name for a type-visitorName :: Core.Name -> String-visitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "Visitor")
− src/main/haskell/Hydra/Cpp/Serde.hs
@@ -1,1354 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Serialization functions for converting C++ AST to abstract expressions--module Hydra.Cpp.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Cpp.Syntax as Syntax-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Convert an access specifier to an expression-accessSpecifierToExpr :: Syntax.AccessSpecifier -> Ast.Expr-accessSpecifierToExpr a =- case a of- Syntax.AccessSpecifierPublic -> Serialization.cst "public"- Syntax.AccessSpecifierProtected -> Serialization.cst "protected"- Syntax.AccessSpecifierPrivate -> Serialization.cst "private"- Syntax.AccessSpecifierNone -> Serialization.cst ""---- | Convert an add operation to an expression-addOperationToExpr :: Syntax.AddOperation -> Ast.Expr-addOperationToExpr op =-- let left = Syntax.addOperationLeft op- right = Syntax.addOperationRight op- in (Serialization.spaceSep [- additiveExpressionToExpr left,- (Serialization.cst "+"),- (multiplicativeExpressionToExpr right)])---- | Convert an additive expression to an expression-additiveExpressionToExpr :: Syntax.AdditiveExpression -> Ast.Expr-additiveExpressionToExpr e =- case e of- Syntax.AdditiveExpressionMultiplicative v0 -> multiplicativeExpressionToExpr v0- Syntax.AdditiveExpressionAdd v0 -> addOperationToExpr v0- Syntax.AdditiveExpressionSubtract v0 -> subtractOperationToExpr v0---- | Convert an and expression to an expression-andExpressionToExpr :: Syntax.AndExpression -> Ast.Expr-andExpressionToExpr e =- case e of- Syntax.AndExpressionEquality v0 -> equalityExpressionToExpr v0- Syntax.AndExpressionBitwiseAnd v0 -> bitwiseAndOperationToExpr v0---- | Convert an assignment expression to an expression-assignmentExpressionToExpr :: Syntax.AssignmentExpression -> Ast.Expr-assignmentExpressionToExpr a =- case a of- Syntax.AssignmentExpressionConditional v0 -> conditionalExpressionToExpr v0- Syntax.AssignmentExpressionAssignment v0 -> explicitAssignmentToExpr v0---- | Convert an assignment operator to an expression-assignmentOperatorToExpr :: Syntax.AssignmentOperator -> Ast.Expr-assignmentOperatorToExpr op =- case op of- Syntax.AssignmentOperatorAssign -> Serialization.cst "="- Syntax.AssignmentOperatorPlusAssign -> Serialization.cst "+="- Syntax.AssignmentOperatorMinusAssign -> Serialization.cst "-="- Syntax.AssignmentOperatorMultiplyAssign -> Serialization.cst "*="- Syntax.AssignmentOperatorDivideAssign -> Serialization.cst "/="- Syntax.AssignmentOperatorModuloAssign -> Serialization.cst "%="- Syntax.AssignmentOperatorLeftShiftAssign -> Serialization.cst "<<="- Syntax.AssignmentOperatorRightShiftAssign -> Serialization.cst ">>="- Syntax.AssignmentOperatorBitwiseAndAssign -> Serialization.cst "&="- Syntax.AssignmentOperatorBitwiseXorAssign -> Serialization.cst "^="- Syntax.AssignmentOperatorBitwiseOrAssign -> Serialization.cst "|="---- | Convert a base specifier to an expression-baseSpecifierToExpr :: Syntax.BaseSpecifier -> Ast.Expr-baseSpecifierToExpr bs =-- let access = Syntax.baseSpecifierAccess bs- name = Syntax.baseSpecifierName bs- in (Serialization.spaceSep [- accessSpecifierToExpr access,- (Serialization.cst name)])---- | Convert a basic type to an expression-basicTypeToExpr :: Syntax.BasicType -> Ast.Expr-basicTypeToExpr t =- case t of- Syntax.BasicTypeVoid -> Serialization.cst "void"- Syntax.BasicTypeBool -> Serialization.cst "bool"- Syntax.BasicTypeChar -> Serialization.cst "char"- Syntax.BasicTypeInt -> Serialization.cst "int"- Syntax.BasicTypeFloat -> Serialization.cst "float"- Syntax.BasicTypeDouble -> Serialization.cst "double"- Syntax.BasicTypeString -> Serialization.cst "std::string"- Syntax.BasicTypeAuto -> Serialization.cst "auto"- Syntax.BasicTypeNamed v0 -> Serialization.cst v0---- | Convert a bitwise and operation to an expression-bitwiseAndOperationToExpr :: Syntax.BitwiseAndOperation -> Ast.Expr-bitwiseAndOperationToExpr op =-- let left = Syntax.bitwiseAndOperationLeft op- right = Syntax.bitwiseAndOperationRight op- in (Serialization.spaceSep [- andExpressionToExpr left,- (Serialization.cst "&"),- (equalityExpressionToExpr right)])---- | Convert a bitwise or operation to an expression-bitwiseOrOperationToExpr :: Syntax.BitwiseOrOperation -> Ast.Expr-bitwiseOrOperationToExpr op =-- let left = Syntax.bitwiseOrOperationLeft op- right = Syntax.bitwiseOrOperationRight op- in (Serialization.spaceSep [- inclusiveOrExpressionToExpr left,- (Serialization.cst "|"),- (exclusiveOrExpressionToExpr right)])---- | Convert a bitwise xor operation to an expression-bitwiseXorOperationToExpr :: Syntax.BitwiseXorOperation -> Ast.Expr-bitwiseXorOperationToExpr op =-- let left = Syntax.bitwiseXorOperationLeft op- right = Syntax.bitwiseXorOperationRight op- in (Serialization.spaceSep [- exclusiveOrExpressionToExpr left,- (Serialization.cst "^"),- (andExpressionToExpr right)])---- | Convert a boolean literal to an expression-booleanLiteralToExpr :: Syntax.BooleanLiteral -> Ast.Expr-booleanLiteralToExpr bl = Logic.ifElse (Syntax.unBooleanLiteral bl) (Serialization.cst "true") (Serialization.cst "false")---- | Convert a capture list to an expression-captureListToExpr :: Syntax.CaptureList -> Ast.Expr-captureListToExpr cl =- case cl of- Syntax.CaptureListCaptureByValue -> Serialization.cst "[=]"- Syntax.CaptureListCaptures v0 -> Serialization.bracketList Serialization.inlineStyle (Lists.map captureToExpr v0)---- | Convert a capture to an expression-captureToExpr :: Syntax.Capture -> Ast.Expr-captureToExpr cap =-- let name = Syntax.captureName cap- byRef = Syntax.captureByReference cap- in (Logic.ifElse byRef (Serialization.cst (Strings.concat2 "&" name)) (Serialization.cst name))---- | Convert a case statement to an expression-caseStatementToExpr :: Syntax.CaseStatement -> Ast.Expr-caseStatementToExpr stmt =- case stmt of- Syntax.CaseStatementCase v0 -> caseValueToExpr v0- Syntax.CaseStatementDefault v0 -> Serialization.spaceSep [- Serialization.cst "default:",- (statementToExpr v0)]---- | Convert a case value to an expression-caseValueToExpr :: Syntax.CaseValue -> Ast.Expr-caseValueToExpr cv =-- let value = Syntax.caseValueValue cv- statement = Syntax.caseValueStatement cv- in (Serialization.spaceSep [- Serialization.cst "case",- (Serialization.noSep [- expressionToExpr value,- (Serialization.cst ":")]),- (statementToExpr statement)])---- | Convert a class body to an expression-classBodyToExpr :: Bool -> Syntax.ClassBody -> Ast.Expr-classBodyToExpr commas cb =- Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.doubleNewlineSep (Lists.map (memberSpecificationToExpr commas) (Syntax.unClassBody cb)))---- | Convert a class declaration to an expression-classDeclarationToExpr :: Syntax.ClassDeclaration -> Ast.Expr-classDeclarationToExpr cd =-- let spec = Syntax.classDeclarationSpecifier cd- mbody = Syntax.classDeclarationBody cd- key = Syntax.classSpecifierKey spec- isEnum = Logic.or (Equality.equal key Syntax.ClassKeyEnum) (Equality.equal key Syntax.ClassKeyEnumClass)- in (Serialization.withSemi (Serialization.spaceSep (Optionals.givens [- Just (classSpecifierToExpr spec),- (Optionals.map (\body -> classBodyToExpr isEnum body) mbody)])))---- | Convert a class key to an expression-classKeyToExpr :: Syntax.ClassKey -> Ast.Expr-classKeyToExpr k =- case k of- Syntax.ClassKeyClass -> Serialization.cst "class"- Syntax.ClassKeyEnum -> Serialization.cst "enum"- Syntax.ClassKeyEnumClass -> Serialization.cst "enum class"- Syntax.ClassKeyStruct -> Serialization.cst "struct"---- | Convert a class specifier to an expression-classSpecifierToExpr :: Syntax.ClassSpecifier -> Ast.Expr-classSpecifierToExpr cs =-- let key = Syntax.classSpecifierKey cs- name = Syntax.classSpecifierName cs- inheritance = Syntax.classSpecifierInheritance cs- in (Serialization.spaceSep (Lists.concat [- [- classKeyToExpr key,- (Serialization.cst name)],- (Logic.ifElse (Lists.isEmpty inheritance) [] [- Serialization.cst ":",- (Serialization.commaSep Serialization.inlineStyle (Lists.map baseSpecifierToExpr inheritance))])]))---- | Convert a comma expression to an expression-commaExpressionToExpr :: Syntax.CommaExpression -> Ast.Expr-commaExpressionToExpr ce =-- let left = Syntax.commaExpressionLeft ce- right = Syntax.commaExpressionRight ce- in (Serialization.spaceSep [- expressionToExpr left,- (Serialization.cst ","),- (assignmentExpressionToExpr right)])---- | Convert a comment to an expression-commentToExpr :: Syntax.Comment -> Ast.Expr-commentToExpr c =-- let text = Syntax.commentText c- isMultiline = Syntax.commentIsMultiline c- in (Serialization.cst (toCppComments text isMultiline))---- | Convert a compound statement to an expression-compoundStatementToExpr :: Syntax.CompoundStatement -> Ast.Expr-compoundStatementToExpr cs =- Serialization.curlyBracesList (Just "") Serialization.fullBlockStyle (Lists.map statementToExpr (Syntax.unCompoundStatement cs))---- | Convert a conditional expression to an expression-conditionalExpressionToExpr :: Syntax.ConditionalExpression -> Ast.Expr-conditionalExpressionToExpr c =- case c of- Syntax.ConditionalExpressionLogicalOr v0 -> logicalOrExpressionToExpr v0- Syntax.ConditionalExpressionTernary v0 -> ternaryExpressionToExpr v0---- | Convert a constructor declaration to an expression-constructorDeclarationToExpr :: Syntax.ConstructorDeclaration -> Ast.Expr-constructorDeclarationToExpr cd =-- let name = Syntax.constructorDeclarationName cd- params = Syntax.constructorDeclarationParameters cd- inits = Syntax.constructorDeclarationInitializers cd- body = Syntax.constructorDeclarationBody cd- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.noSep [- Serialization.cst name,- (Serialization.parenListAdaptive (Lists.map parameterToExpr params))]),- (Logic.ifElse (Lists.isEmpty inits) Nothing (Just (Serialization.spaceSep [- Serialization.cst ":",- (Serialization.commaSep Serialization.inlineStyle (Lists.map memInitializerToExpr inits))]))),- (Just (functionBodyToExpr body))]))---- | Convert a declaration to an expression-declarationToExpr :: Syntax.Declaration -> Ast.Expr-declarationToExpr d =- case d of- Syntax.DeclarationPreprocessor v0 -> preprocessorDirectiveToExpr v0- Syntax.DeclarationClass v0 -> classDeclarationToExpr v0- Syntax.DeclarationFunction v0 -> functionDeclarationToExpr v0- Syntax.DeclarationVariable v0 -> variableDeclarationToExpr False v0- Syntax.DeclarationTypedef v0 -> typedefDeclarationToExpr v0- Syntax.DeclarationNamespace v0 -> namespaceDeclarationToExpr v0- Syntax.DeclarationTemplate v0 -> templateDeclarationToExpr v0---- | Convert a define directive to an expression-defineDirectiveToExpr :: Syntax.DefineDirective -> Ast.Expr-defineDirectiveToExpr dd =-- let name = Syntax.defineDirectiveName dd- params = Syntax.defineDirectiveParameters dd- replacement = Syntax.defineDirectiveReplacement dd- in (Serialization.spaceSep (Lists.concat [- [- Serialization.cst "#define",- (Serialization.cst name)],- (Optionals.match params [] (\ps -> [- Serialization.parenListAdaptive (Lists.map (\p -> Serialization.cst p) ps)])),- (Optionals.match replacement [] (\r -> [- Serialization.cst r]))]))---- | Convert a destructor declaration to an expression-destructorDeclarationToExpr :: Syntax.DestructorDeclaration -> Ast.Expr-destructorDeclarationToExpr dd =-- let prefixSpecs = Syntax.destructorDeclarationPrefixSpecifiers dd- name = Syntax.destructorDeclarationName dd- suffixSpecs = Syntax.destructorDeclarationSuffixSpecifiers dd- body = Syntax.destructorDeclarationBody dd- in (Serialization.spaceSep (Lists.concat [- Lists.map functionSpecifierPrefixToExpr prefixSpecs,- [- Serialization.noSep [- Serialization.cst (Strings.concat2 "~" name),- (Serialization.parens (Serialization.cst ""))]],- (Lists.map functionSpecifierSuffixToExpr suffixSpecs),- [- functionBodyToExpr body]]))---- | Convert a divide operation to an expression-divideOperationToExpr :: Syntax.DivideOperation -> Ast.Expr-divideOperationToExpr op =-- let left = Syntax.divideOperationLeft op- right = Syntax.divideOperationRight op- in (Serialization.spaceSep [- multiplicativeExpressionToExpr left,- (Serialization.cst "/"),- (unaryExpressionToExpr right)])---- | Convert a do statement to an expression-doStatementToExpr :: Syntax.DoStatement -> Ast.Expr-doStatementToExpr ds =-- let body = Syntax.doStatementBody ds- cond = Syntax.doStatementCondition ds- in (Serialization.newlineSep [- Serialization.cst "do",- (statementToExpr body),- (Serialization.withSemi (Serialization.spaceSep [- Serialization.cst "while",- (Serialization.parens (expressionToExpr cond))]))])---- | Convert an elif directive to an expression-elifDirectiveToExpr :: Syntax.ElifDirective -> Ast.Expr-elifDirectiveToExpr ed =- Serialization.spaceSep [- Serialization.cst "#elif",- (Serialization.cst (Syntax.elifDirectiveCondition ed))]---- | Convert an else directive to an expression-elseDirectiveToExpr :: t0 -> Ast.Expr-elseDirectiveToExpr ed = Serialization.cst "#else"---- | Convert an endif directive to an expression-endifDirectiveToExpr :: t0 -> Ast.Expr-endifDirectiveToExpr ed = Serialization.cst "#endif"---- | Convert an equal operation to an expression-equalOperationToExpr :: Syntax.EqualOperation -> Ast.Expr-equalOperationToExpr op =-- let left = Syntax.equalOperationLeft op- right = Syntax.equalOperationRight op- in (Serialization.spaceSep [- equalityExpressionToExpr left,- (Serialization.cst "=="),- (relationalExpressionToExpr right)])---- | Convert an equality expression to an expression-equalityExpressionToExpr :: Syntax.EqualityExpression -> Ast.Expr-equalityExpressionToExpr e =- case e of- Syntax.EqualityExpressionRelational v0 -> relationalExpressionToExpr v0- Syntax.EqualityExpressionEqual v0 -> equalOperationToExpr v0- Syntax.EqualityExpressionNotEqual v0 -> notEqualOperationToExpr v0---- | Convert an error directive to an expression-errorDirectiveToExpr :: Syntax.ErrorDirective -> Ast.Expr-errorDirectiveToExpr ed =- Serialization.spaceSep [- Serialization.cst "#error",- (Serialization.cst (Syntax.errorDirectiveMessage ed))]---- | Convert an exclusive or expression to an expression-exclusiveOrExpressionToExpr :: Syntax.ExclusiveOrExpression -> Ast.Expr-exclusiveOrExpressionToExpr e =- case e of- Syntax.ExclusiveOrExpressionAnd v0 -> andExpressionToExpr v0- Syntax.ExclusiveOrExpressionBitwiseXor v0 -> bitwiseXorOperationToExpr v0---- | Convert an explicit assignment to an expression-explicitAssignmentToExpr :: Syntax.ExplicitAssignment -> Ast.Expr-explicitAssignmentToExpr ea =-- let left = Syntax.explicitAssignmentLeft ea- op = Syntax.explicitAssignmentOp ea- right = Syntax.explicitAssignmentRight ea- in (Serialization.spaceSep [- logicalOrExpressionToExpr left,- (assignmentOperatorToExpr op),- (assignmentExpressionToExpr right)])---- | Convert an expression to an expression-expressionToExpr :: Syntax.Expression -> Ast.Expr-expressionToExpr e =- case e of- Syntax.ExpressionAssignment v0 -> assignmentExpressionToExpr v0- Syntax.ExpressionComma v0 -> commaExpressionToExpr v0---- | Convert a for-init to an expression-forInitToExpr :: Syntax.ForInit -> Ast.Expr-forInitToExpr i =- case i of- Syntax.ForInitExpression v0 -> expressionToExpr v0- Syntax.ForInitDeclaration v0 -> variableDeclarationToExpr False v0- Syntax.ForInitEmpty -> Serialization.cst ""---- | Convert a for statement to an expression-forStatementToExpr :: Syntax.ForStatement -> Ast.Expr-forStatementToExpr fs =-- let init = Syntax.forStatementInit fs- cond = Syntax.forStatementCondition fs- inc = Syntax.forStatementIncrement fs- body = Syntax.forStatementBody fs- in (Serialization.newlineSep [- Serialization.spaceSep [- Serialization.cst "for",- (Serialization.parens (Serialization.noSep [- forInitToExpr init,- (Serialization.cst ";"),- (expressionToExpr cond),- (Serialization.cst ";"),- (expressionToExpr inc)]))],- (statementToExpr body)])---- | Convert a function application to an expression-functionApplicationToExpr :: Syntax.FunctionApplication -> Ast.Expr-functionApplicationToExpr fa =-- let func = Syntax.functionApplicationFunction fa- args = Syntax.functionApplicationArguments fa- in (Serialization.spaceSep [- functionIdentifierToExpr func,- (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])---- | Convert a function body to an expression-functionBodyToExpr :: Syntax.FunctionBody -> Ast.Expr-functionBodyToExpr b =- case b of- Syntax.FunctionBodyCompound v0 -> compoundStatementToExpr v0- Syntax.FunctionBodyDeclaration -> Serialization.cst ";"- Syntax.FunctionBodyPure -> Serialization.withSemi (Serialization.cst "= 0")- Syntax.FunctionBodyDefault -> Serialization.withSemi (Serialization.cst "= default")---- | Convert a function call operation to an expression-functionCallOperationToExpr :: Syntax.FunctionCallOperation -> Ast.Expr-functionCallOperationToExpr fco =-- let func = Syntax.functionCallOperationFunction fco- args = Syntax.functionCallOperationArguments fco- in (Serialization.noSep [- postfixExpressionToExpr func,- (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])---- | Convert a function declaration to an expression-functionDeclarationToExpr :: Syntax.FunctionDeclaration -> Ast.Expr-functionDeclarationToExpr fd =-- let prefixSpecs = Syntax.functionDeclarationPrefixSpecifiers fd- retType = Syntax.functionDeclarationReturnType fd- name = Syntax.functionDeclarationName fd- params = Syntax.functionDeclarationParameters fd- suffixSpecs = Syntax.functionDeclarationSuffixSpecifiers fd- body = Syntax.functionDeclarationBody fd- in (Serialization.spaceSep (Lists.concat [- Lists.map functionSpecifierPrefixToExpr prefixSpecs,- [- typeExpressionToExpr retType,- (Serialization.noSep [- Serialization.cst name,- (Serialization.parenListAdaptive (Lists.map parameterToExpr params))])],- (Lists.map functionSpecifierSuffixToExpr suffixSpecs),- [- functionBodyToExpr body]]))---- | Convert a function identifier to an expression-functionIdentifierToExpr :: Syntax.FunctionIdentifier -> Ast.Expr-functionIdentifierToExpr f =- case f of- Syntax.FunctionIdentifierSimple v0 -> Serialization.cst v0- Syntax.FunctionIdentifierQualified v0 -> qualifiedIdentifierToExpr v0---- | Convert a function specifier prefix to an expression-functionSpecifierPrefixToExpr :: Syntax.FunctionSpecifierPrefix -> Ast.Expr-functionSpecifierPrefixToExpr s =- case s of- Syntax.FunctionSpecifierPrefixInline -> Serialization.cst "inline"- Syntax.FunctionSpecifierPrefixVirtual -> Serialization.cst "virtual"- Syntax.FunctionSpecifierPrefixStatic -> Serialization.cst "static"- Syntax.FunctionSpecifierPrefixExplicit -> Serialization.cst "explicit"---- | Convert a function specifier suffix to an expression-functionSpecifierSuffixToExpr :: Syntax.FunctionSpecifierSuffix -> Ast.Expr-functionSpecifierSuffixToExpr s =- case s of- Syntax.FunctionSpecifierSuffixConst -> Serialization.cst "const"- Syntax.FunctionSpecifierSuffixNoexcept -> Serialization.cst "noexcept"- Syntax.FunctionSpecifierSuffixOverride -> Serialization.cst "override"- Syntax.FunctionSpecifierSuffixFinal -> Serialization.cst "final"---- | Convert a function type to an expression-functionTypeToExpr :: Syntax.FunctionType -> Ast.Expr-functionTypeToExpr ft =-- let retType = Syntax.functionTypeReturnType ft- params = Syntax.functionTypeParameters ft- in (Serialization.spaceSep [- typeExpressionToExpr retType,- (Serialization.parenListAdaptive (Lists.map parameterToExpr params))])---- | Convert a greater-than-or-equal operation to an expression-greaterEqualOperationToExpr :: Syntax.GreaterEqualOperation -> Ast.Expr-greaterEqualOperationToExpr op =-- let left = Syntax.greaterEqualOperationLeft op- right = Syntax.greaterEqualOperationRight op- in (Serialization.spaceSep [- relationalExpressionToExpr left,- (Serialization.cst ">="),- (shiftExpressionToExpr right)])---- | Convert a greater-than operation to an expression-greaterOperationToExpr :: Syntax.GreaterOperation -> Ast.Expr-greaterOperationToExpr op =-- let left = Syntax.greaterOperationLeft op- right = Syntax.greaterOperationRight op- in (Serialization.spaceSep [- relationalExpressionToExpr left,- (Serialization.cst ">"),- (shiftExpressionToExpr right)])---- | Convert an if directive to an expression-ifDirectiveToExpr :: Syntax.IfDirective -> Ast.Expr-ifDirectiveToExpr ifd =- Serialization.spaceSep [- Serialization.cst "#if",- (Serialization.cst (Syntax.ifDirectiveCondition ifd))]---- | Convert an ifdef directive to an expression-ifdefDirectiveToExpr :: Syntax.IfdefDirective -> Ast.Expr-ifdefDirectiveToExpr id =- Serialization.spaceSep [- Serialization.cst "#ifdef",- (Serialization.cst (Syntax.ifdefDirectiveIdentifier id))]---- | Convert an ifndef directive to an expression-ifndefDirectiveToExpr :: Syntax.IfndefDirective -> Ast.Expr-ifndefDirectiveToExpr ind =- Serialization.spaceSep [- Serialization.cst "#ifndef",- (Serialization.cst (Syntax.ifndefDirectiveIdentifier ind))]---- | Convert an include directive to an expression-includeDirectiveToExpr :: Syntax.IncludeDirective -> Ast.Expr-includeDirectiveToExpr incl =-- let name = Syntax.includeDirectiveName incl- isSystem = Syntax.includeDirectiveIsSystem incl- in (Logic.ifElse isSystem (Serialization.cst (Strings.concat [- "#include <",- name,- ">"])) (Serialization.cst (Strings.concat [- "#include \"",- name,- "\""])))---- | Convert an inclusive or expression to an expression-inclusiveOrExpressionToExpr :: Syntax.InclusiveOrExpression -> Ast.Expr-inclusiveOrExpressionToExpr e =- case e of- Syntax.InclusiveOrExpressionExclusiveOr v0 -> exclusiveOrExpressionToExpr v0- Syntax.InclusiveOrExpressionBitwiseOr v0 -> bitwiseOrOperationToExpr v0---- | Convert an integer literal to an expression-integerLiteralToExpr :: Syntax.IntegerLiteral -> Ast.Expr-integerLiteralToExpr i =- case i of- Syntax.IntegerLiteralDecimal v0 -> Serialization.cst (Literals.printBigint v0)- Syntax.IntegerLiteralHexadecimal v0 -> Serialization.cst (Strings.concat2 "0x" v0)- Syntax.IntegerLiteralOctal v0 -> Serialization.cst (Strings.concat2 "0" v0)- Syntax.IntegerLiteralBinary v0 -> Serialization.cst (Strings.concat2 "0b" v0)---- | Convert an iteration statement to an expression-iterationStatementToExpr :: Syntax.IterationStatement -> Ast.Expr-iterationStatementToExpr i =- case i of- Syntax.IterationStatementWhile v0 -> whileStatementToExpr v0- Syntax.IterationStatementDo v0 -> doStatementToExpr v0- Syntax.IterationStatementFor v0 -> forStatementToExpr v0- Syntax.IterationStatementRangeFor v0 -> rangeForStatementToExpr v0---- | Convert a jump statement to an expression-jumpStatementToExpr :: Syntax.JumpStatement -> Ast.Expr-jumpStatementToExpr j =- case j of- Syntax.JumpStatementBreak -> Serialization.withSemi (Serialization.cst "break")- Syntax.JumpStatementContinue -> Serialization.withSemi (Serialization.cst "continue")- Syntax.JumpStatementReturnValue v0 -> Serialization.withSemi (Serialization.spaceSep [- Serialization.cst "return",- (expressionToExpr v0)])- Syntax.JumpStatementReturnVoid -> Serialization.withSemi (Serialization.cst "return")- Syntax.JumpStatementThrow v0 -> Serialization.withSemi (Serialization.spaceSep [- Serialization.cst "throw",- (expressionToExpr v0)])---- | Convert a labeled statement to an expression-labeledStatementToExpr :: Syntax.LabeledStatement -> Ast.Expr-labeledStatementToExpr ls =-- let label = Syntax.labeledStatementLabel ls- stmt = Syntax.labeledStatementStatement ls- in (Serialization.newlineSep [- Serialization.cst (Strings.concat2 label ":"),- (statementToExpr stmt)])---- | Convert a lambda expression to an expression-lambdaExpressionToExpr :: Syntax.LambdaExpression -> Ast.Expr-lambdaExpressionToExpr le =-- let captures = Syntax.lambdaExpressionCaptures le- params = Syntax.lambdaExpressionParameters le- retType = Syntax.lambdaExpressionReturnType le- body = Syntax.lambdaExpressionBody le- in (Serialization.spaceSep [- captureListToExpr captures,- (Logic.ifElse (Lists.isEmpty params) (Serialization.parens (Serialization.cst "")) (Serialization.parenListAdaptive (Lists.map parameterToExpr params))),- (Optionals.match retType (Serialization.cst "") (\t -> Serialization.spaceSep [- Serialization.cst "->",- (typeExpressionToExpr t)])),- (compoundStatementToExpr body)])---- | Convert a left shift operation to an expression-leftShiftOperationToExpr :: Syntax.LeftShiftOperation -> Ast.Expr-leftShiftOperationToExpr op =-- let left = Syntax.leftShiftOperationLeft op- right = Syntax.leftShiftOperationRight op- in (Serialization.spaceSep [- shiftExpressionToExpr left,- (Serialization.cst "<<"),- (additiveExpressionToExpr right)])---- | Convert a less-than-or-equal operation to an expression-lessEqualOperationToExpr :: Syntax.LessEqualOperation -> Ast.Expr-lessEqualOperationToExpr op =-- let left = Syntax.lessEqualOperationLeft op- right = Syntax.lessEqualOperationRight op- in (Serialization.spaceSep [- relationalExpressionToExpr left,- (Serialization.cst "<="),- (shiftExpressionToExpr right)])---- | Convert a less-than operation to an expression-lessOperationToExpr :: Syntax.LessOperation -> Ast.Expr-lessOperationToExpr op =-- let left = Syntax.lessOperationLeft op- right = Syntax.lessOperationRight op- in (Serialization.spaceSep [- relationalExpressionToExpr left,- (Serialization.cst "<"),- (shiftExpressionToExpr right)])---- | Convert a line directive to an expression-lineDirectiveToExpr :: Syntax.LineDirective -> Ast.Expr-lineDirectiveToExpr ld =-- let lineNumber = Syntax.lineDirectiveLineNumber ld- filename = Syntax.lineDirectiveFilename ld- in (Serialization.spaceSep (Lists.concat [- [- Serialization.cst "#line",- (Serialization.cst (Literals.printInt32 lineNumber))],- (Optionals.match filename [] (\f -> [- Serialization.cst (Strings.concat [- "\"",- f,- "\""])]))]))---- | Convert a literal to an expression-literalToExpr :: Syntax.Literal -> Ast.Expr-literalToExpr l =- case l of- Syntax.LiteralInteger v0 -> integerLiteralToExpr v0- Syntax.LiteralFloating v0 -> Serialization.cst (Literals.printFloat64 (Syntax.unFloatingLiteral v0))- Syntax.LiteralCharacter v0 -> Serialization.cst (Strings.concat [- "'",- (Syntax.unCharacterLiteral v0),- "'"])- Syntax.LiteralString v0 -> Serialization.cst (Strings.concat [- "\"",- (Syntax.unStringLiteral v0),- "\""])- Syntax.LiteralBoolean v0 -> booleanLiteralToExpr v0- Syntax.LiteralNull -> Serialization.cst "nullptr"---- | Convert a logical and expression to an expression-logicalAndExpressionToExpr :: Syntax.LogicalAndExpression -> Ast.Expr-logicalAndExpressionToExpr e =- case e of- Syntax.LogicalAndExpressionInclusiveOr v0 -> inclusiveOrExpressionToExpr v0- Syntax.LogicalAndExpressionLogicalAnd v0 -> logicalAndOperationToExpr v0---- | Convert a logical and operation to an expression-logicalAndOperationToExpr :: Syntax.LogicalAndOperation -> Ast.Expr-logicalAndOperationToExpr op =-- let left = Syntax.logicalAndOperationLeft op- right = Syntax.logicalAndOperationRight op- in (Serialization.spaceSep [- logicalAndExpressionToExpr left,- (Serialization.cst "&&"),- (inclusiveOrExpressionToExpr right)])---- | Convert a logical or expression to an expression-logicalOrExpressionToExpr :: Syntax.LogicalOrExpression -> Ast.Expr-logicalOrExpressionToExpr e =- case e of- Syntax.LogicalOrExpressionLogicalAnd v0 -> logicalAndExpressionToExpr v0- Syntax.LogicalOrExpressionLogicalOr v0 -> logicalOrOperationToExpr v0---- | Convert a logical or operation to an expression-logicalOrOperationToExpr :: Syntax.LogicalOrOperation -> Ast.Expr-logicalOrOperationToExpr op =-- let left = Syntax.logicalOrOperationLeft op- right = Syntax.logicalOrOperationRight op- in (Serialization.spaceSep [- logicalOrExpressionToExpr left,- (Serialization.cst "||"),- (logicalAndExpressionToExpr right)])---- | Convert a map entry to an expression-mapEntryToExpr :: Syntax.MapEntry -> Ast.Expr-mapEntryToExpr me =-- let key = Syntax.mapEntryKey me- val = Syntax.mapEntryValue me- in (Serialization.spaceSep [- Serialization.curlyBracesList Nothing Serialization.inlineStyle [- expressionToExpr key],- (Serialization.cst "->"),- (expressionToExpr val)])---- | Convert a map to an expression-mapToExpr :: Syntax.Map -> Ast.Expr-mapToExpr m =-- let keyType = Syntax.mapKeyType m- valType = Syntax.mapValueType m- entries = Syntax.mapEntries m- in (Serialization.spaceSep [- Serialization.cst "std::map<",- (Serialization.commaSep Serialization.inlineStyle [- typeExpressionToExpr keyType,- (typeExpressionToExpr valType)]),- (Serialization.cst ">"),- (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map mapEntryToExpr entries))])---- | Convert a member initializer to an expression-memInitializerToExpr :: Syntax.MemInitializer -> Ast.Expr-memInitializerToExpr mi =-- let name = Syntax.memInitializerName mi- args = Syntax.memInitializerArguments mi- in (Serialization.noSep [- Serialization.cst name,- (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])---- | Convert a member access operation to an expression-memberAccessOperationToExpr :: Syntax.MemberAccessOperation -> Ast.Expr-memberAccessOperationToExpr mao =-- let obj = Syntax.memberAccessOperationObject mao- member = Syntax.memberAccessOperationMember mao- in (Serialization.noSep [- postfixExpressionToExpr obj,- (Serialization.cst "."),- (Serialization.cst member)])---- | Convert a member declaration to an expression-memberDeclarationToExpr :: Bool -> Syntax.MemberDeclaration -> Ast.Expr-memberDeclarationToExpr commas m =- case m of- Syntax.MemberDeclarationFunction v0 -> functionDeclarationToExpr v0- Syntax.MemberDeclarationVariable v0 -> variableDeclarationToExpr commas v0- Syntax.MemberDeclarationConstructor v0 -> constructorDeclarationToExpr v0- Syntax.MemberDeclarationDestructor v0 -> destructorDeclarationToExpr v0- Syntax.MemberDeclarationNestedClass v0 -> classDeclarationToExpr v0- Syntax.MemberDeclarationTemplate v0 -> templateDeclarationToExpr v0---- | Convert a member specification to an expression-memberSpecificationToExpr :: Bool -> Syntax.MemberSpecification -> Ast.Expr-memberSpecificationToExpr commas m =- case m of- Syntax.MemberSpecificationAccessLabel v0 -> Serialization.noSep [- accessSpecifierToExpr v0,- (Serialization.cst ":")]- Syntax.MemberSpecificationMember v0 -> memberDeclarationToExpr commas v0---- | Convert a modulo operation to an expression-moduloOperationToExpr :: Syntax.ModuloOperation -> Ast.Expr-moduloOperationToExpr op =-- let left = Syntax.moduloOperationLeft op- right = Syntax.moduloOperationRight op- in (Serialization.spaceSep [- multiplicativeExpressionToExpr left,- (Serialization.cst "%"),- (unaryExpressionToExpr right)])---- | Convert a multiplicative expression to an expression-multiplicativeExpressionToExpr :: Syntax.MultiplicativeExpression -> Ast.Expr-multiplicativeExpressionToExpr e =- case e of- Syntax.MultiplicativeExpressionUnary v0 -> unaryExpressionToExpr v0- Syntax.MultiplicativeExpressionMultiply v0 -> multiplyOperationToExpr v0- Syntax.MultiplicativeExpressionDivide v0 -> divideOperationToExpr v0- Syntax.MultiplicativeExpressionModulo v0 -> moduloOperationToExpr v0---- | Convert a multiply operation to an expression-multiplyOperationToExpr :: Syntax.MultiplyOperation -> Ast.Expr-multiplyOperationToExpr op =-- let left = Syntax.multiplyOperationLeft op- right = Syntax.multiplyOperationRight op- in (Serialization.spaceSep [- multiplicativeExpressionToExpr left,- (Serialization.cst "*"),- (unaryExpressionToExpr right)])---- | Convert a namespace declaration to an expression-namespaceDeclarationToExpr :: Syntax.NamespaceDeclaration -> Ast.Expr-namespaceDeclarationToExpr nd =-- let name = Syntax.namespaceDeclarationName nd- decls = Syntax.namespaceDeclarationDeclarations nd- in (Serialization.spaceSep [- Serialization.cst (Strings.concat2 "namespace " name),- (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.doubleNewlineSep (Lists.map declarationToExpr decls)))])---- | Convert a not-equal operation to an expression-notEqualOperationToExpr :: Syntax.NotEqualOperation -> Ast.Expr-notEqualOperationToExpr op =-- let left = Syntax.notEqualOperationLeft op- right = Syntax.notEqualOperationRight op- in (Serialization.spaceSep [- equalityExpressionToExpr left,- (Serialization.cst "!="),- (relationalExpressionToExpr right)])---- | Convert an optional to an expression-optionalToExpr :: Syntax.Optional -> Ast.Expr-optionalToExpr opt =-- let valType = Syntax.optionalValueType opt- val = Syntax.optionalValue opt- in (Serialization.spaceSep [- Serialization.cst "std::optional<",- (typeExpressionToExpr valType),- (Serialization.cst ">"),- (Optionals.match val (Serialization.cst "{}") (\v -> Serialization.curlyBracesList Nothing Serialization.inlineStyle [- expressionToExpr v]))])---- | Convert overloaded lambdas to an expression-overloadedLambdasToExpr :: Syntax.OverloadedLambdas -> Ast.Expr-overloadedLambdasToExpr ol =- Serialization.spaceSep [- Serialization.cst "overloaded",- (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.newlineSep (Lists.map lambdaExpressionToExpr (Syntax.unOverloadedLambdas ol))))]---- | Convert a parameter to an expression-parameterToExpr :: Syntax.Parameter -> Ast.Expr-parameterToExpr p =-- let typ = Syntax.parameterType p- name = Syntax.parameterName p- unnamed = Syntax.parameterUnnamed p- defaultVal = Syntax.parameterDefaultValue p- nameExpr =- Serialization.cst (Logic.ifElse unnamed (Strings.concat [- "/*",- name,- "*/"]) name)- in (Serialization.spaceSep (Lists.concat [- [- typeExpressionToExpr typ,- nameExpr],- (Optionals.match defaultVal [] (\expr -> [- Serialization.cst "=",- (expressionToExpr expr)]))]))---- | Convert a pattern match to an expression-patternMatchToExpr :: Syntax.PatternMatch -> Ast.Expr-patternMatchToExpr pm =-- let visitor = Syntax.patternMatchVisitor pm- variant = Syntax.patternMatchVariant pm- in (Serialization.spaceSep [- Serialization.cst "std::visit",- (Serialization.parenListAdaptive [- visitorToExpr visitor,- (expressionToExpr variant)])])---- | Convert a pointer member access operation to an expression-pointerMemberAccessOperationToExpr :: Syntax.PointerMemberAccessOperation -> Ast.Expr-pointerMemberAccessOperationToExpr pmao =-- let ptr = Syntax.pointerMemberAccessOperationPointer pmao- member = Syntax.pointerMemberAccessOperationMember pmao- in (Serialization.noSep [- postfixExpressionToExpr ptr,- (Serialization.cst "->"),- (Serialization.cst member)])---- | Convert a postfix expression to an expression-postfixExpressionToExpr :: Syntax.PostfixExpression -> Ast.Expr-postfixExpressionToExpr e =- case e of- Syntax.PostfixExpressionPrimary v0 -> primaryExpressionToExpr v0- Syntax.PostfixExpressionSubscript v0 -> subscriptOperationToExpr v0- Syntax.PostfixExpressionFunctionCall v0 -> functionCallOperationToExpr v0- Syntax.PostfixExpressionTemplateFunctionCall v0 -> templateFunctionCallOperationToExpr v0- Syntax.PostfixExpressionMemberAccess v0 -> memberAccessOperationToExpr v0- Syntax.PostfixExpressionPointerMemberAccess v0 -> pointerMemberAccessOperationToExpr v0- Syntax.PostfixExpressionPostIncrement v0 -> Serialization.noSep [- postfixExpressionToExpr v0,- (Serialization.cst "++")]- Syntax.PostfixExpressionPostDecrement v0 -> Serialization.noSep [- postfixExpressionToExpr v0,- (Serialization.cst "--")]---- | Convert a pragma directive to an expression-pragmaDirectiveToExpr :: Syntax.PragmaDirective -> Ast.Expr-pragmaDirectiveToExpr pd = Serialization.cst (Strings.concat2 "#pragma " (Syntax.pragmaDirectiveContent pd))---- | Convert a preprocessor directive to an expression-preprocessorDirectiveToExpr :: Syntax.PreprocessorDirective -> Ast.Expr-preprocessorDirectiveToExpr d =- case d of- Syntax.PreprocessorDirectiveInclude v0 -> includeDirectiveToExpr v0- Syntax.PreprocessorDirectivePragma v0 -> pragmaDirectiveToExpr v0- Syntax.PreprocessorDirectiveDefine v0 -> defineDirectiveToExpr v0- Syntax.PreprocessorDirectiveUndef v0 -> undefDirectiveToExpr v0- Syntax.PreprocessorDirectiveIfdef v0 -> ifdefDirectiveToExpr v0- Syntax.PreprocessorDirectiveIfndef v0 -> ifndefDirectiveToExpr v0- Syntax.PreprocessorDirectiveIf v0 -> ifDirectiveToExpr v0- Syntax.PreprocessorDirectiveElif v0 -> elifDirectiveToExpr v0- Syntax.PreprocessorDirectiveElse v0 -> elseDirectiveToExpr v0- Syntax.PreprocessorDirectiveEndif v0 -> endifDirectiveToExpr v0- Syntax.PreprocessorDirectiveLine v0 -> lineDirectiveToExpr v0- Syntax.PreprocessorDirectiveError v0 -> errorDirectiveToExpr v0- Syntax.PreprocessorDirectiveWarning v0 -> warningDirectiveToExpr v0---- | Convert a primary expression to an expression-primaryExpressionToExpr :: Syntax.PrimaryExpression -> Ast.Expr-primaryExpressionToExpr e =- case e of- Syntax.PrimaryExpressionIdentifier v0 -> Serialization.cst v0- Syntax.PrimaryExpressionLiteral v0 -> literalToExpr v0- Syntax.PrimaryExpressionParenthesized v0 -> Serialization.parens (expressionToExpr v0)- Syntax.PrimaryExpressionLambda v0 -> lambdaExpressionToExpr v0---- | Convert a program to an expression-programToExpr :: Syntax.Program -> Ast.Expr-programToExpr prog =-- let preps = Syntax.programPreprocessorDirectives prog- includes = Syntax.programIncludes prog- decls = Syntax.programDeclarations prog- separate = \sep -> \defs -> Logic.ifElse (Lists.isEmpty defs) Nothing (Just (sep defs))- in (Serialization.doubleNewlineSep (Optionals.givens [- separate Serialization.newlineSep (Lists.map preprocessorDirectiveToExpr preps),- (separate Serialization.newlineSep (Lists.map includeDirectiveToExpr includes)),- (separate Serialization.doubleNewlineSep (Lists.map declarationToExpr decls))]))---- | Convert a qualified identifier to an expression-qualifiedIdentifierToExpr :: Syntax.QualifiedIdentifier -> Ast.Expr-qualifiedIdentifierToExpr qi =-- let ns = Syntax.qualifiedIdentifierNamespace qi- name = Syntax.qualifiedIdentifierName qi- in (Serialization.cst (Strings.concat [- ns,- "::",- name]))---- | Convert a qualified type to an expression-qualifiedTypeToExpr :: Syntax.QualifiedType -> Ast.Expr-qualifiedTypeToExpr qt =-- let baseType = Syntax.qualifiedTypeBaseType qt- qualifier = Syntax.qualifiedTypeQualifier qt- in case qualifier of- Syntax.TypeQualifierConst -> Serialization.spaceSep [- Serialization.cst "const",- (typeExpressionToExpr baseType)]- Syntax.TypeQualifierLvalueRef -> Serialization.noSep [- typeExpressionToExpr baseType,- (Serialization.cst "&")]- Syntax.TypeQualifierRvalueRef -> Serialization.noSep [- typeExpressionToExpr baseType,- (Serialization.cst "&&")]- Syntax.TypeQualifierPointer -> Serialization.noSep [- typeExpressionToExpr baseType,- (Serialization.cst "*")]---- | Convert a range-for statement to an expression-rangeForStatementToExpr :: Syntax.RangeForStatement -> Ast.Expr-rangeForStatementToExpr rfs =-- let typ = Syntax.rangeForStatementType rfs- var = Syntax.rangeForStatementVariable rfs- range = Syntax.rangeForStatementRange rfs- body = Syntax.rangeForStatementBody rfs- in (Serialization.newlineSep [- Serialization.spaceSep [- Serialization.cst "for",- (Serialization.parens (Serialization.spaceSep [- typeExpressionToExpr typ,- (Serialization.cst var),- (Serialization.cst ":"),- (expressionToExpr range)]))],- (statementToExpr body)])---- | Convert a relational expression to an expression-relationalExpressionToExpr :: Syntax.RelationalExpression -> Ast.Expr-relationalExpressionToExpr e =- case e of- Syntax.RelationalExpressionShift v0 -> shiftExpressionToExpr v0- Syntax.RelationalExpressionLess v0 -> lessOperationToExpr v0- Syntax.RelationalExpressionGreater v0 -> greaterOperationToExpr v0- Syntax.RelationalExpressionLessEqual v0 -> lessEqualOperationToExpr v0- Syntax.RelationalExpressionGreaterEqual v0 -> greaterEqualOperationToExpr v0---- | Convert a right shift operation to an expression-rightShiftOperationToExpr :: Syntax.RightShiftOperation -> Ast.Expr-rightShiftOperationToExpr op =-- let left = Syntax.rightShiftOperationLeft op- right = Syntax.rightShiftOperationRight op- in (Serialization.spaceSep [- shiftExpressionToExpr left,- (Serialization.cst ">>"),- (additiveExpressionToExpr right)])---- | Convert a selection statement to an expression-selectionStatementToExpr :: Syntax.SelectionStatement -> Ast.Expr-selectionStatementToExpr ss =-- let cond = Syntax.selectionStatementCondition ss- thenBranch = Syntax.selectionStatementThenBranch ss- elseBranch = Syntax.selectionStatementElseBranch ss- in (Serialization.newlineSep [- Serialization.spaceSep [- Serialization.cst "if",- (Serialization.parens (expressionToExpr cond))],- (statementToExpr thenBranch),- (Optionals.match elseBranch (Serialization.cst "") (\stmt -> Serialization.newlineSep [- Serialization.cst "else",- (statementToExpr stmt)]))])---- | Convert a set to an expression-setToExpr :: Syntax.Set -> Ast.Expr-setToExpr s =-- let elemType = Syntax.setElementType s- elems = Syntax.setElements s- in (Serialization.spaceSep [- Serialization.cst "std::set<",- (typeExpressionToExpr elemType),- (Serialization.cst ">"),- (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map expressionToExpr elems))])---- | Convert a shift expression to an expression-shiftExpressionToExpr :: Syntax.ShiftExpression -> Ast.Expr-shiftExpressionToExpr e =- case e of- Syntax.ShiftExpressionAdditive v0 -> additiveExpressionToExpr v0- Syntax.ShiftExpressionLeftShift v0 -> leftShiftOperationToExpr v0- Syntax.ShiftExpressionRightShift v0 -> rightShiftOperationToExpr v0---- | Convert a sizeof expression to an expression-sizeofExpressionToExpr :: Syntax.SizeofExpression -> Ast.Expr-sizeofExpressionToExpr se =- Serialization.spaceSep [- Serialization.cst "sizeof",- (Serialization.parens (typeExpressionToExpr (Syntax.unSizeofExpression se)))]---- | Convert a statement to an expression-statementToExpr :: Syntax.Statement -> Ast.Expr-statementToExpr s =- case s of- Syntax.StatementLabeled v0 -> labeledStatementToExpr v0- Syntax.StatementCompound v0 -> compoundStatementToExpr v0- Syntax.StatementSelection v0 -> selectionStatementToExpr v0- Syntax.StatementSwitch v0 -> switchStatementToExpr v0- Syntax.StatementIteration v0 -> iterationStatementToExpr v0- Syntax.StatementJump v0 -> jumpStatementToExpr v0- Syntax.StatementDeclaration v0 -> Serialization.withSemi (variableDeclarationToExpr False v0)- Syntax.StatementExpression v0 -> Serialization.withSemi (expressionToExpr v0)---- | Convert a subscript operation to an expression-subscriptOperationToExpr :: Syntax.SubscriptOperation -> Ast.Expr-subscriptOperationToExpr so =-- let array = Syntax.subscriptOperationArray so- index = Syntax.subscriptOperationIndex so- in (Serialization.noSep [- postfixExpressionToExpr array,- (Serialization.cst "["),- (expressionToExpr index),- (Serialization.cst "]")])---- | Convert a subtract operation to an expression-subtractOperationToExpr :: Syntax.SubtractOperation -> Ast.Expr-subtractOperationToExpr op =-- let left = Syntax.subtractOperationLeft op- right = Syntax.subtractOperationRight op- in (Serialization.spaceSep [- additiveExpressionToExpr left,- (Serialization.cst "-"),- (multiplicativeExpressionToExpr right)])---- | Convert a switch statement to an expression-switchStatementToExpr :: Syntax.SwitchStatement -> Ast.Expr-switchStatementToExpr ss =-- let value = Syntax.switchStatementValue ss- match = Syntax.switchStatementCases ss- in (Serialization.spaceSep [- Serialization.cst "switch",- (Serialization.parens (expressionToExpr value)),- (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.newlineSep (Lists.map caseStatementToExpr match)))])---- | Convert a template argument to an expression-templateArgumentToExpr :: Syntax.TemplateArgument -> Ast.Expr-templateArgumentToExpr a =- case a of- Syntax.TemplateArgumentType v0 -> typeExpressionToExpr v0- Syntax.TemplateArgumentValue v0 -> expressionToExpr v0---- | Convert a template declaration to an expression-templateDeclarationToExpr :: Syntax.TemplateDeclaration -> Ast.Expr-templateDeclarationToExpr td =-- let inline = Syntax.templateDeclarationInline td- params = Syntax.templateDeclarationParameters td- declaration = Syntax.templateDeclarationDeclaration td- sep = Logic.ifElse inline Serialization.spaceSep Serialization.newlineSep- in (sep [- Serialization.noSep [- Serialization.cst "template",- (Serialization.angleBracesList Serialization.inlineStyle (Lists.map (\p -> Serialization.cst p) params))],- (declarationToExpr declaration)])---- | Convert a template function call operation to an expression-templateFunctionCallOperationToExpr :: Syntax.TemplateFunctionCallOperation -> Ast.Expr-templateFunctionCallOperationToExpr tfco =-- let func = Syntax.templateFunctionCallOperationFunction tfco- templateArgs = Syntax.templateFunctionCallOperationTemplateArguments tfco- args = Syntax.templateFunctionCallOperationArguments tfco- in (Serialization.noSep [- postfixExpressionToExpr func,- (Serialization.angleBracesList Serialization.inlineStyle (Lists.map templateArgumentToExpr templateArgs)),- (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])---- | Convert a template type to an expression-templateTypeToExpr :: Syntax.TemplateType -> Ast.Expr-templateTypeToExpr tt =-- let name = Syntax.templateTypeName tt- args = Syntax.templateTypeArguments tt- in (Serialization.noSep [- Serialization.cst name,- (Serialization.angleBracesList Serialization.inlineStyle (Lists.map templateArgumentToExpr args))])---- | Convert a ternary expression to an expression-ternaryExpressionToExpr :: Syntax.TernaryExpression -> Ast.Expr-ternaryExpressionToExpr te =-- let cond = Syntax.ternaryExpressionCondition te- trueExpr = Syntax.ternaryExpressionTrueExpr te- falseExpr = Syntax.ternaryExpressionFalseExpr te- in (Serialization.spaceSep [- logicalOrExpressionToExpr cond,- (Serialization.cst "?"),- (expressionToExpr trueExpr),- (Serialization.cst ":"),- (conditionalExpressionToExpr falseExpr)])---- | Convert a string to a C++ comment. Empty single-line comments emit `//` (no trailing space).-toCppComments :: String -> Bool -> String-toCppComments s isMultiline =- Logic.ifElse isMultiline (Strings.concat [- "/* ",- s,- " */"]) (Logic.ifElse (Equality.equal s "") "//" (Strings.concat2 "// " s))---- | Convert a type expression to an expression-typeExpressionToExpr :: Syntax.TypeExpression -> Ast.Expr-typeExpressionToExpr t =- case t of- Syntax.TypeExpressionBasic v0 -> basicTypeToExpr v0- Syntax.TypeExpressionQualified v0 -> qualifiedTypeToExpr v0- Syntax.TypeExpressionTemplate v0 -> templateTypeToExpr v0- Syntax.TypeExpressionFunction v0 -> functionTypeToExpr v0- Syntax.TypeExpressionAuto -> Serialization.cst "auto"---- | Convert a typedef declaration to an expression-typedefDeclarationToExpr :: Syntax.TypedefDeclaration -> Ast.Expr-typedefDeclarationToExpr td =-- let name = Syntax.typedefDeclarationName td- typ = Syntax.typedefDeclarationType td- isUsing = Syntax.typedefDeclarationIsUsing td- in (Logic.ifElse isUsing (Serialization.withSemi (Serialization.spaceSep [- Serialization.cst (Strings.concat2 "using " name),- (Serialization.cst "="),- (typeExpressionToExpr typ)])) (Serialization.withSemi (Serialization.spaceSep [- Serialization.cst "typedef",- (typeExpressionToExpr typ),- (Serialization.cst name)])))---- | Convert a unary expression to an expression-unaryExpressionToExpr :: Syntax.UnaryExpression -> Ast.Expr-unaryExpressionToExpr e =- case e of- Syntax.UnaryExpressionPostfix v0 -> postfixExpressionToExpr v0- Syntax.UnaryExpressionUnaryOp v0 -> unaryOperationToExpr v0- Syntax.UnaryExpressionSizeof v0 -> sizeofExpressionToExpr v0---- | Convert a unary operation to an expression-unaryOperationToExpr :: Syntax.UnaryOperation -> Ast.Expr-unaryOperationToExpr uo =-- let op = Syntax.unaryOperationOperator uo- operand = Syntax.unaryOperationOperand uo- in (Serialization.spaceSep [- unaryOperatorToExpr op,- (unaryExpressionToExpr operand)])---- | Convert a unary operator to an expression-unaryOperatorToExpr :: Syntax.UnaryOperator -> Ast.Expr-unaryOperatorToExpr op =- case op of- Syntax.UnaryOperatorPlus -> Serialization.cst "+"- Syntax.UnaryOperatorMinus -> Serialization.cst "-"- Syntax.UnaryOperatorLogicalNot -> Serialization.cst "!"- Syntax.UnaryOperatorBitwiseNot -> Serialization.cst "~"- Syntax.UnaryOperatorDereference -> Serialization.cst "*"- Syntax.UnaryOperatorAddressOf -> Serialization.cst "&"- Syntax.UnaryOperatorPreIncrement -> Serialization.cst "++"- Syntax.UnaryOperatorPreDecrement -> Serialization.cst "--"---- | Convert an undef directive to an expression-undefDirectiveToExpr :: Syntax.UndefDirective -> Ast.Expr-undefDirectiveToExpr ud =- Serialization.spaceSep [- Serialization.cst "#undef",- (Serialization.cst (Syntax.undefDirectiveName ud))]---- | Convert a variable declaration to an expression-variableDeclarationToExpr :: Bool -> Syntax.VariableDeclaration -> Ast.Expr-variableDeclarationToExpr commas vd =-- let typ = Syntax.variableDeclarationType vd- name = Syntax.variableDeclarationName vd- init = Syntax.variableDeclarationInitializer vd- isAuto = Syntax.variableDeclarationIsAuto vd- terminator = Logic.ifElse commas Serialization.withComma Serialization.withSemi- in (terminator (Serialization.spaceSep (Lists.concat [- Logic.ifElse isAuto [- Serialization.cst "auto"] (Optionals.match typ [] (\t -> [- typeExpressionToExpr t])),- [- Serialization.cst name],- (Optionals.match init [] (\expr -> [- Serialization.cst "=",- (expressionToExpr expr)]))])))---- | Convert a vector to an expression-vectorToExpr :: Syntax.Vector -> Ast.Expr-vectorToExpr v =-- let elemType = Syntax.vectorElementType v- elems = Syntax.vectorElements v- in (Serialization.spaceSep [- Serialization.cst "std::vector<",- (typeExpressionToExpr elemType),- (Serialization.cst ">"),- (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map expressionToExpr elems))])---- | Convert a visitor to an expression-visitorToExpr :: Syntax.Visitor -> Ast.Expr-visitorToExpr v =- case v of- Syntax.VisitorLambda v0 -> lambdaExpressionToExpr v0- Syntax.VisitorOverloaded v0 -> overloadedLambdasToExpr v0---- | Convert a warning directive to an expression-warningDirectiveToExpr :: Syntax.WarningDirective -> Ast.Expr-warningDirectiveToExpr wd =- Serialization.spaceSep [- Serialization.cst "#warning",- (Serialization.cst (Syntax.warningDirectiveMessage wd))]---- | Convert a while statement to an expression-whileStatementToExpr :: Syntax.WhileStatement -> Ast.Expr-whileStatementToExpr ws =-- let cond = Syntax.whileStatementCondition ws- body = Syntax.whileStatementBody ws- in (Serialization.newlineSep [- Serialization.spaceSep [- Serialization.cst "while",- (Serialization.parens (expressionToExpr cond))],- (statementToExpr body)])
− src/main/haskell/Hydra/Cpp/Syntax.hs
@@ -1,2033 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A C++ syntax model, focusing on features for representing algebraic data types and declarative computations--module Hydra.Cpp.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---- | A C++ member or base-class access specifier: public, protected, or private-data AccessSpecifier =- AccessSpecifierPublic |- AccessSpecifierProtected |- AccessSpecifierPrivate |- AccessSpecifierNone- deriving (Eq, Ord, Read, Show)--_AccessSpecifier = Core.Name "hydra.cpp.syntax.AccessSpecifier"--_AccessSpecifier_public = Core.Name "public"--_AccessSpecifier_protected = Core.Name "protected"--_AccessSpecifier_private = Core.Name "private"--_AccessSpecifier_none = Core.Name "none"---- | A C++ binary addition expression (left + right)-data AddOperation =- AddOperation {- addOperationLeft :: AdditiveExpression,- addOperationRight :: MultiplicativeExpression}- deriving (Eq, Ord, Read, Show)--_AddOperation = Core.Name "hydra.cpp.syntax.AddOperation"--_AddOperation_left = Core.Name "left"--_AddOperation_right = Core.Name "right"---- | A C++ additive-expression: a multiplicative expression, an addition, or a subtraction-data AdditiveExpression =- AdditiveExpressionMultiplicative MultiplicativeExpression |- AdditiveExpressionAdd AddOperation |- AdditiveExpressionSubtract SubtractOperation- deriving (Eq, Ord, Read, Show)--_AdditiveExpression = Core.Name "hydra.cpp.syntax.AdditiveExpression"--_AdditiveExpression_multiplicative = Core.Name "multiplicative"--_AdditiveExpression_add = Core.Name "add"--_AdditiveExpression_subtract = Core.Name "subtract"---- | A C++ and-expression: an equality expression or a bitwise AND operation-data AndExpression =- AndExpressionEquality EqualityExpression |- AndExpressionBitwiseAnd BitwiseAndOperation- deriving (Eq, Ord, Read, Show)--_AndExpression = Core.Name "hydra.cpp.syntax.AndExpression"--_AndExpression_equality = Core.Name "equality"--_AndExpression_bitwiseAnd = Core.Name "bitwiseAnd"---- | A C++ assignment-expression: a conditional expression or an explicit assignment-data AssignmentExpression =- AssignmentExpressionConditional ConditionalExpression |- AssignmentExpressionAssignment ExplicitAssignment- deriving (Eq, Ord, Read, Show)--_AssignmentExpression = Core.Name "hydra.cpp.syntax.AssignmentExpression"--_AssignmentExpression_conditional = Core.Name "conditional"--_AssignmentExpression_assignment = Core.Name "assignment"---- | A C++ assignment operator, such as =, +=, or <<=-data AssignmentOperator =- AssignmentOperatorAssign |- AssignmentOperatorPlusAssign |- AssignmentOperatorMinusAssign |- AssignmentOperatorMultiplyAssign |- AssignmentOperatorDivideAssign |- AssignmentOperatorModuloAssign |- AssignmentOperatorLeftShiftAssign |- AssignmentOperatorRightShiftAssign |- AssignmentOperatorBitwiseAndAssign |- AssignmentOperatorBitwiseXorAssign |- AssignmentOperatorBitwiseOrAssign- deriving (Eq, Ord, Read, Show)--_AssignmentOperator = Core.Name "hydra.cpp.syntax.AssignmentOperator"--_AssignmentOperator_assign = Core.Name "assign"--_AssignmentOperator_plusAssign = Core.Name "plusAssign"--_AssignmentOperator_minusAssign = Core.Name "minusAssign"--_AssignmentOperator_multiplyAssign = Core.Name "multiplyAssign"--_AssignmentOperator_divideAssign = Core.Name "divideAssign"--_AssignmentOperator_moduloAssign = Core.Name "moduloAssign"--_AssignmentOperator_leftShiftAssign = Core.Name "leftShiftAssign"--_AssignmentOperator_rightShiftAssign = Core.Name "rightShiftAssign"--_AssignmentOperator_bitwiseAndAssign = Core.Name "bitwiseAndAssign"--_AssignmentOperator_bitwiseXorAssign = Core.Name "bitwiseXorAssign"--_AssignmentOperator_bitwiseOrAssign = Core.Name "bitwiseOrAssign"---- | A C++ base class specifier within a class's inheritance list-data BaseSpecifier =- BaseSpecifier {- baseSpecifierAccess :: AccessSpecifier,- baseSpecifierName :: String}- deriving (Eq, Ord, Read, Show)--_BaseSpecifier = Core.Name "hydra.cpp.syntax.BaseSpecifier"--_BaseSpecifier_access = Core.Name "access"--_BaseSpecifier_name = Core.Name "name"---- | A C++ built-in or named basic type-data BasicType =- BasicTypeVoid |- BasicTypeBool |- BasicTypeChar |- BasicTypeInt |- BasicTypeFloat |- BasicTypeDouble |- BasicTypeString |- BasicTypeAuto |- BasicTypeNamed String- deriving (Eq, Ord, Read, Show)--_BasicType = Core.Name "hydra.cpp.syntax.BasicType"--_BasicType_void = Core.Name "void"--_BasicType_bool = Core.Name "bool"--_BasicType_char = Core.Name "char"--_BasicType_int = Core.Name "int"--_BasicType_float = Core.Name "float"--_BasicType_double = Core.Name "double"--_BasicType_string = Core.Name "string"--_BasicType_auto = Core.Name "auto"--_BasicType_named = Core.Name "named"---- | A C++ binary operator-data BinaryOperator =- BinaryOperatorPlus |- BinaryOperatorMinus |- BinaryOperatorMultiply |- BinaryOperatorDivide |- BinaryOperatorModulo |- BinaryOperatorBitwiseAnd |- BinaryOperatorBitwiseOr |- BinaryOperatorBitwiseXor |- BinaryOperatorLogicalAnd |- BinaryOperatorLogicalOr |- BinaryOperatorEqual |- BinaryOperatorNotEqual |- BinaryOperatorLess |- BinaryOperatorGreater |- BinaryOperatorLessEqual |- BinaryOperatorGreaterEqual |- BinaryOperatorLeftShift |- BinaryOperatorRightShift- deriving (Eq, Ord, Read, Show)--_BinaryOperator = Core.Name "hydra.cpp.syntax.BinaryOperator"--_BinaryOperator_plus = Core.Name "plus"--_BinaryOperator_minus = Core.Name "minus"--_BinaryOperator_multiply = Core.Name "multiply"--_BinaryOperator_divide = Core.Name "divide"--_BinaryOperator_modulo = Core.Name "modulo"--_BinaryOperator_bitwiseAnd = Core.Name "bitwiseAnd"--_BinaryOperator_bitwiseOr = Core.Name "bitwiseOr"--_BinaryOperator_bitwiseXor = Core.Name "bitwiseXor"--_BinaryOperator_logicalAnd = Core.Name "logicalAnd"--_BinaryOperator_logicalOr = Core.Name "logicalOr"--_BinaryOperator_equal = Core.Name "equal"--_BinaryOperator_notEqual = Core.Name "notEqual"--_BinaryOperator_less = Core.Name "less"--_BinaryOperator_greater = Core.Name "greater"--_BinaryOperator_lessEqual = Core.Name "lessEqual"--_BinaryOperator_greaterEqual = Core.Name "greaterEqual"--_BinaryOperator_leftShift = Core.Name "leftShift"--_BinaryOperator_rightShift = Core.Name "rightShift"---- | A C++ bitwise AND expression (left & right)-data BitwiseAndOperation =- BitwiseAndOperation {- bitwiseAndOperationLeft :: AndExpression,- bitwiseAndOperationRight :: EqualityExpression}- deriving (Eq, Ord, Read, Show)--_BitwiseAndOperation = Core.Name "hydra.cpp.syntax.BitwiseAndOperation"--_BitwiseAndOperation_left = Core.Name "left"--_BitwiseAndOperation_right = Core.Name "right"---- | A C++ bitwise OR expression (left | right)-data BitwiseOrOperation =- BitwiseOrOperation {- bitwiseOrOperationLeft :: InclusiveOrExpression,- bitwiseOrOperationRight :: ExclusiveOrExpression}- deriving (Eq, Ord, Read, Show)--_BitwiseOrOperation = Core.Name "hydra.cpp.syntax.BitwiseOrOperation"--_BitwiseOrOperation_left = Core.Name "left"--_BitwiseOrOperation_right = Core.Name "right"---- | A C++ bitwise XOR expression (left ^ right)-data BitwiseXorOperation =- BitwiseXorOperation {- bitwiseXorOperationLeft :: ExclusiveOrExpression,- bitwiseXorOperationRight :: AndExpression}- deriving (Eq, Ord, Read, Show)--_BitwiseXorOperation = Core.Name "hydra.cpp.syntax.BitwiseXorOperation"--_BitwiseXorOperation_left = Core.Name "left"--_BitwiseXorOperation_right = Core.Name "right"---- | A C++ boolean literal (true or false)-newtype BooleanLiteral =- BooleanLiteral {- unBooleanLiteral :: Bool}- deriving (Eq, Ord, Read, Show)--_BooleanLiteral = Core.Name "hydra.cpp.syntax.BooleanLiteral"---- | A single variable captured by a C++ lambda expression-data Capture =- Capture {- captureName :: String,- captureByReference :: Bool}- deriving (Eq, Ord, Read, Show)--_Capture = Core.Name "hydra.cpp.syntax.Capture"--_Capture_name = Core.Name "name"--_Capture_byReference = Core.Name "byReference"---- | A C++ lambda capture list: capture-by-value ([=]) or an explicit list of captures-data CaptureList =- CaptureListCaptureByValue |- CaptureListCaptures [Capture]- deriving (Eq, Ord, Read, Show)--_CaptureList = Core.Name "hydra.cpp.syntax.CaptureList"--_CaptureList_captureByValue = Core.Name "captureByValue"--_CaptureList_captures = Core.Name "captures"---- | A single case or default branch of a C++ switch statement-data CaseStatement =- CaseStatementCase CaseValue |- CaseStatementDefault Statement- deriving (Eq, Ord, Read, Show)--_CaseStatement = Core.Name "hydra.cpp.syntax.CaseStatement"--_CaseStatement_case = Core.Name "case"--_CaseStatement_default = Core.Name "default"---- | A C++ switch case label together with its associated statement-data CaseValue =- CaseValue {- caseValueValue :: Expression,- caseValueStatement :: Statement}- deriving (Eq, Ord, Read, Show)--_CaseValue = Core.Name "hydra.cpp.syntax.CaseValue"--_CaseValue_value = Core.Name "value"--_CaseValue_statement = Core.Name "statement"---- | A C++ character literal-newtype CharacterLiteral =- CharacterLiteral {- unCharacterLiteral :: String}- deriving (Eq, Ord, Read, Show)--_CharacterLiteral = Core.Name "hydra.cpp.syntax.CharacterLiteral"---- | The body of a C++ class, struct, or enum declaration: a list of member specifications-newtype ClassBody =- ClassBody {- unClassBody :: [MemberSpecification]}- deriving (Eq, Ord, Read, Show)--_ClassBody = Core.Name "hydra.cpp.syntax.ClassBody"---- | A C++ class, struct, or enum declaration, with an optional body-data ClassDeclaration =- ClassDeclaration {- classDeclarationSpecifier :: ClassSpecifier,- classDeclarationBody :: (Maybe ClassBody)}- deriving (Eq, Ord, Read, Show)--_ClassDeclaration = Core.Name "hydra.cpp.syntax.ClassDeclaration"--_ClassDeclaration_specifier = Core.Name "specifier"--_ClassDeclaration_body = Core.Name "body"---- | The keyword introducing a C++ class-like declaration: class, enum, enum class, or struct-data ClassKey =- ClassKeyClass |- ClassKeyEnum |- ClassKeyEnumClass |- ClassKeyStruct- deriving (Eq, Ord, Read, Show)--_ClassKey = Core.Name "hydra.cpp.syntax.ClassKey"--_ClassKey_class = Core.Name "class"--_ClassKey_enum = Core.Name "enum"--_ClassKey_enumClass = Core.Name "enumClass"--_ClassKey_struct = Core.Name "struct"---- | The head of a C++ class declaration: its key, name, and base class list-data ClassSpecifier =- ClassSpecifier {- classSpecifierKey :: ClassKey,- classSpecifierName :: String,- classSpecifierInheritance :: [BaseSpecifier]}- deriving (Eq, Ord, Read, Show)--_ClassSpecifier = Core.Name "hydra.cpp.syntax.ClassSpecifier"--_ClassSpecifier_key = Core.Name "key"--_ClassSpecifier_name = Core.Name "name"--_ClassSpecifier_inheritance = Core.Name "inheritance"---- | A C++ comma expression (left, right)-data CommaExpression =- CommaExpression {- commaExpressionLeft :: Expression,- commaExpressionRight :: AssignmentExpression}- deriving (Eq, Ord, Read, Show)--_CommaExpression = Core.Name "hydra.cpp.syntax.CommaExpression"--_CommaExpression_left = Core.Name "left"--_CommaExpression_right = Core.Name "right"---- | A C++ line or block comment-data Comment =- Comment {- commentText :: String,- commentIsMultiline :: Bool}- deriving (Eq, Ord, Read, Show)--_Comment = Core.Name "hydra.cpp.syntax.Comment"--_Comment_text = Core.Name "text"--_Comment_isMultiline = Core.Name "isMultiline"---- | A C++ compound statement: a brace-enclosed block of statements-newtype CompoundStatement =- CompoundStatement {- unCompoundStatement :: [Statement]}- deriving (Eq, Ord, Read, Show)--_CompoundStatement = Core.Name "hydra.cpp.syntax.CompoundStatement"---- | A C++ conditional-expression: a logical-or expression or a ternary expression-data ConditionalExpression =- ConditionalExpressionLogicalOr LogicalOrExpression |- ConditionalExpressionTernary TernaryExpression- deriving (Eq, Ord, Read, Show)--_ConditionalExpression = Core.Name "hydra.cpp.syntax.ConditionalExpression"--_ConditionalExpression_logicalOr = Core.Name "logicalOr"--_ConditionalExpression_ternary = Core.Name "ternary"---- | A C++ constructor declaration, with parameters, member initializers, and a body-data ConstructorDeclaration =- ConstructorDeclaration {- constructorDeclarationName :: String,- constructorDeclarationParameters :: [Parameter],- constructorDeclarationInitializers :: [MemInitializer],- constructorDeclarationBody :: FunctionBody}- deriving (Eq, Ord, Read, Show)--_ConstructorDeclaration = Core.Name "hydra.cpp.syntax.ConstructorDeclaration"--_ConstructorDeclaration_name = Core.Name "name"--_ConstructorDeclaration_parameters = Core.Name "parameters"--_ConstructorDeclaration_initializers = Core.Name "initializers"--_ConstructorDeclaration_body = Core.Name "body"---- | A declaration of a standard-library container type alias: list, map, set, or optional-data ContainerDeclaration =- ContainerDeclarationList ListDeclaration |- ContainerDeclarationMap MapDeclaration |- ContainerDeclarationSet SetDeclaration |- ContainerDeclarationOptional OptionalDeclaration- deriving (Eq, Ord, Read, Show)--_ContainerDeclaration = Core.Name "hydra.cpp.syntax.ContainerDeclaration"--_ContainerDeclaration_list = Core.Name "list"--_ContainerDeclaration_map = Core.Name "map"--_ContainerDeclaration_set = Core.Name "set"--_ContainerDeclaration_optional = Core.Name "optional"---- | A top-level C++ declaration-data Declaration =- DeclarationPreprocessor PreprocessorDirective |- DeclarationClass ClassDeclaration |- DeclarationFunction FunctionDeclaration |- DeclarationVariable VariableDeclaration |- DeclarationTypedef TypedefDeclaration |- DeclarationNamespace NamespaceDeclaration |- DeclarationTemplate TemplateDeclaration- deriving (Eq, Ord, Read, Show)--_Declaration = Core.Name "hydra.cpp.syntax.Declaration"--_Declaration_preprocessor = Core.Name "preprocessor"--_Declaration_class = Core.Name "class"--_Declaration_function = Core.Name "function"--_Declaration_variable = Core.Name "variable"--_Declaration_typedef = Core.Name "typedef"--_Declaration_namespace = Core.Name "namespace"--_Declaration_template = Core.Name "template"---- | A C preprocessor #define directive, optionally function-like-data DefineDirective =- DefineDirective {- defineDirectiveName :: String,- defineDirectiveParameters :: (Maybe [String]),- defineDirectiveReplacement :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_DefineDirective = Core.Name "hydra.cpp.syntax.DefineDirective"--_DefineDirective_name = Core.Name "name"--_DefineDirective_parameters = Core.Name "parameters"--_DefineDirective_replacement = Core.Name "replacement"---- | A C++ destructor declaration-data DestructorDeclaration =- DestructorDeclaration {- destructorDeclarationPrefixSpecifiers :: [FunctionSpecifierPrefix],- destructorDeclarationName :: String,- destructorDeclarationSuffixSpecifiers :: [FunctionSpecifierSuffix],- destructorDeclarationBody :: FunctionBody}- deriving (Eq, Ord, Read, Show)--_DestructorDeclaration = Core.Name "hydra.cpp.syntax.DestructorDeclaration"--_DestructorDeclaration_prefixSpecifiers = Core.Name "prefixSpecifiers"--_DestructorDeclaration_name = Core.Name "name"--_DestructorDeclaration_suffixSpecifiers = Core.Name "suffixSpecifiers"--_DestructorDeclaration_body = Core.Name "body"---- | A C++ division expression (left / right)-data DivideOperation =- DivideOperation {- divideOperationLeft :: MultiplicativeExpression,- divideOperationRight :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_DivideOperation = Core.Name "hydra.cpp.syntax.DivideOperation"--_DivideOperation_left = Core.Name "left"--_DivideOperation_right = Core.Name "right"---- | A C++ do-while statement-data DoStatement =- DoStatement {- doStatementBody :: Statement,- doStatementCondition :: Expression}- deriving (Eq, Ord, Read, Show)--_DoStatement = Core.Name "hydra.cpp.syntax.DoStatement"--_DoStatement_body = Core.Name "body"--_DoStatement_condition = Core.Name "condition"---- | A C preprocessor #elif directive-data ElifDirective =- ElifDirective {- elifDirectiveCondition :: String}- deriving (Eq, Ord, Read, Show)--_ElifDirective = Core.Name "hydra.cpp.syntax.ElifDirective"--_ElifDirective_condition = Core.Name "condition"---- | A C preprocessor #else directive-type ElseDirective = ()--_ElseDirective = Core.Name "hydra.cpp.syntax.ElseDirective"---- | A C preprocessor #endif directive-type EndifDirective = ()--_EndifDirective = Core.Name "hydra.cpp.syntax.EndifDirective"---- | A C++ equality comparison expression (left == right)-data EqualOperation =- EqualOperation {- equalOperationLeft :: EqualityExpression,- equalOperationRight :: RelationalExpression}- deriving (Eq, Ord, Read, Show)--_EqualOperation = Core.Name "hydra.cpp.syntax.EqualOperation"--_EqualOperation_left = Core.Name "left"--_EqualOperation_right = Core.Name "right"---- | A C++ equality-expression: a relational expression, an equality, or an inequality-data EqualityExpression =- EqualityExpressionRelational RelationalExpression |- EqualityExpressionEqual EqualOperation |- EqualityExpressionNotEqual NotEqualOperation- deriving (Eq, Ord, Read, Show)--_EqualityExpression = Core.Name "hydra.cpp.syntax.EqualityExpression"--_EqualityExpression_relational = Core.Name "relational"--_EqualityExpression_equal = Core.Name "equal"--_EqualityExpression_notEqual = Core.Name "notEqual"---- | A C preprocessor #error directive-data ErrorDirective =- ErrorDirective {- errorDirectiveMessage :: String}- deriving (Eq, Ord, Read, Show)--_ErrorDirective = Core.Name "hydra.cpp.syntax.ErrorDirective"--_ErrorDirective_message = Core.Name "message"---- | A C++ exclusive-or-expression: an and expression or a bitwise XOR operation-data ExclusiveOrExpression =- ExclusiveOrExpressionAnd AndExpression |- ExclusiveOrExpressionBitwiseXor BitwiseXorOperation- deriving (Eq, Ord, Read, Show)--_ExclusiveOrExpression = Core.Name "hydra.cpp.syntax.ExclusiveOrExpression"--_ExclusiveOrExpression_and = Core.Name "and"--_ExclusiveOrExpression_bitwiseXor = Core.Name "bitwiseXor"---- | A C++ assignment expression with an explicit operator (e.g. left += right)-data ExplicitAssignment =- ExplicitAssignment {- explicitAssignmentLeft :: LogicalOrExpression,- explicitAssignmentOp :: AssignmentOperator,- explicitAssignmentRight :: AssignmentExpression}- deriving (Eq, Ord, Read, Show)--_ExplicitAssignment = Core.Name "hydra.cpp.syntax.ExplicitAssignment"--_ExplicitAssignment_left = Core.Name "left"--_ExplicitAssignment_op = Core.Name "op"--_ExplicitAssignment_right = Core.Name "right"---- | A C++ expression: an assignment expression or a comma expression-data Expression =- ExpressionAssignment AssignmentExpression |- ExpressionComma CommaExpression- deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.cpp.syntax.Expression"--_Expression_assignment = Core.Name "assignment"--_Expression_comma = Core.Name "comma"---- | A C++ expression statement: an expression followed by a semicolon-newtype ExpressionStatement =- ExpressionStatement {- unExpressionStatement :: Expression}- deriving (Eq, Ord, Read, Show)--_ExpressionStatement = Core.Name "hydra.cpp.syntax.ExpressionStatement"---- | A C++ floating-point literal-newtype FloatingLiteral =- FloatingLiteral {- unFloatingLiteral :: Double}- deriving (Eq, Ord, Read, Show)--_FloatingLiteral = Core.Name "hydra.cpp.syntax.FloatingLiteral"---- | The initializer clause of a C++ for statement: an expression, a declaration, or empty-data ForInit =- ForInitExpression Expression |- ForInitDeclaration VariableDeclaration |- ForInitEmpty- deriving (Eq, Ord, Read, Show)--_ForInit = Core.Name "hydra.cpp.syntax.ForInit"--_ForInit_expression = Core.Name "expression"--_ForInit_declaration = Core.Name "declaration"--_ForInit_empty = Core.Name "empty"---- | A C++ for statement-data ForStatement =- ForStatement {- forStatementInit :: ForInit,- forStatementCondition :: Expression,- forStatementIncrement :: Expression,- forStatementBody :: Statement}- deriving (Eq, Ord, Read, Show)--_ForStatement = Core.Name "hydra.cpp.syntax.ForStatement"--_ForStatement_init = Core.Name "init"--_ForStatement_condition = Core.Name "condition"--_ForStatement_increment = Core.Name "increment"--_ForStatement_body = Core.Name "body"---- | A simplified function call: a function identifier applied to a list of arguments-data FunctionApplication =- FunctionApplication {- functionApplicationFunction :: FunctionIdentifier,- functionApplicationArguments :: [Expression]}- deriving (Eq, Ord, Read, Show)--_FunctionApplication = Core.Name "hydra.cpp.syntax.FunctionApplication"--_FunctionApplication_function = Core.Name "function"--_FunctionApplication_arguments = Core.Name "arguments"---- | The body of a C++ function: a compound statement, or a declaration-only/pure/default marker-data FunctionBody =- FunctionBodyCompound CompoundStatement |- FunctionBodyDeclaration |- FunctionBodyPure |- FunctionBodyDefault- deriving (Eq, Ord, Read, Show)--_FunctionBody = Core.Name "hydra.cpp.syntax.FunctionBody"--_FunctionBody_compound = Core.Name "compound"--_FunctionBody_declaration = Core.Name "declaration"--_FunctionBody_pure = Core.Name "pure"--_FunctionBody_default = Core.Name "default"---- | A C++ function call expression: a postfix expression applied to arguments-data FunctionCallOperation =- FunctionCallOperation {- functionCallOperationFunction :: PostfixExpression,- functionCallOperationArguments :: [Expression]}- deriving (Eq, Ord, Read, Show)--_FunctionCallOperation = Core.Name "hydra.cpp.syntax.FunctionCallOperation"--_FunctionCallOperation_function = Core.Name "function"--_FunctionCallOperation_arguments = Core.Name "arguments"---- | A C++ function declaration or definition-data FunctionDeclaration =- FunctionDeclaration {- functionDeclarationPrefixSpecifiers :: [FunctionSpecifierPrefix],- functionDeclarationReturnType :: TypeExpression,- functionDeclarationName :: String,- functionDeclarationParameters :: [Parameter],- functionDeclarationSuffixSpecifiers :: [FunctionSpecifierSuffix],- functionDeclarationBody :: FunctionBody}- deriving (Eq, Ord, Read, Show)--_FunctionDeclaration = Core.Name "hydra.cpp.syntax.FunctionDeclaration"--_FunctionDeclaration_prefixSpecifiers = Core.Name "prefixSpecifiers"--_FunctionDeclaration_returnType = Core.Name "returnType"--_FunctionDeclaration_name = Core.Name "name"--_FunctionDeclaration_parameters = Core.Name "parameters"--_FunctionDeclaration_suffixSpecifiers = Core.Name "suffixSpecifiers"--_FunctionDeclaration_body = Core.Name "body"---- | The identifier of a called function: a simple name or a qualified name-data FunctionIdentifier =- FunctionIdentifierSimple String |- FunctionIdentifierQualified QualifiedIdentifier- deriving (Eq, Ord, Read, Show)--_FunctionIdentifier = Core.Name "hydra.cpp.syntax.FunctionIdentifier"--_FunctionIdentifier_simple = Core.Name "simple"--_FunctionIdentifier_qualified = Core.Name "qualified"---- | A C++ function specifier that appears before the declaration: inline, virtual, static, or explicit-data FunctionSpecifierPrefix =- FunctionSpecifierPrefixInline |- FunctionSpecifierPrefixVirtual |- FunctionSpecifierPrefixStatic |- FunctionSpecifierPrefixExplicit- deriving (Eq, Ord, Read, Show)--_FunctionSpecifierPrefix = Core.Name "hydra.cpp.syntax.FunctionSpecifierPrefix"--_FunctionSpecifierPrefix_inline = Core.Name "inline"--_FunctionSpecifierPrefix_virtual = Core.Name "virtual"--_FunctionSpecifierPrefix_static = Core.Name "static"--_FunctionSpecifierPrefix_explicit = Core.Name "explicit"---- | A C++ function specifier that appears after the parameter list: const, noexcept, override, or final-data FunctionSpecifierSuffix =- FunctionSpecifierSuffixConst |- FunctionSpecifierSuffixNoexcept |- FunctionSpecifierSuffixOverride |- FunctionSpecifierSuffixFinal- deriving (Eq, Ord, Read, Show)--_FunctionSpecifierSuffix = Core.Name "hydra.cpp.syntax.FunctionSpecifierSuffix"--_FunctionSpecifierSuffix_const = Core.Name "const"--_FunctionSpecifierSuffix_noexcept = Core.Name "noexcept"--_FunctionSpecifierSuffix_override = Core.Name "override"--_FunctionSpecifierSuffix_final = Core.Name "final"---- | A C++ function type: a return type together with parameter types-data FunctionType =- FunctionType {- functionTypeReturnType :: TypeExpression,- functionTypeParameters :: [Parameter]}- deriving (Eq, Ord, Read, Show)--_FunctionType = Core.Name "hydra.cpp.syntax.FunctionType"--_FunctionType_returnType = Core.Name "returnType"--_FunctionType_parameters = Core.Name "parameters"---- | A C++ greater-than-or-equal comparison expression (left >= right)-data GreaterEqualOperation =- GreaterEqualOperation {- greaterEqualOperationLeft :: RelationalExpression,- greaterEqualOperationRight :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_GreaterEqualOperation = Core.Name "hydra.cpp.syntax.GreaterEqualOperation"--_GreaterEqualOperation_left = Core.Name "left"--_GreaterEqualOperation_right = Core.Name "right"---- | A C++ greater-than comparison expression (left > right)-data GreaterOperation =- GreaterOperation {- greaterOperationLeft :: RelationalExpression,- greaterOperationRight :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_GreaterOperation = Core.Name "hydra.cpp.syntax.GreaterOperation"--_GreaterOperation_left = Core.Name "left"--_GreaterOperation_right = Core.Name "right"---- | A C++ identifier-type Identifier = String--_Identifier = Core.Name "hydra.cpp.syntax.Identifier"---- | A C preprocessor #if directive-data IfDirective =- IfDirective {- ifDirectiveCondition :: String}- deriving (Eq, Ord, Read, Show)--_IfDirective = Core.Name "hydra.cpp.syntax.IfDirective"--_IfDirective_condition = Core.Name "condition"---- | A C preprocessor #ifdef directive-data IfdefDirective =- IfdefDirective {- ifdefDirectiveIdentifier :: String}- deriving (Eq, Ord, Read, Show)--_IfdefDirective = Core.Name "hydra.cpp.syntax.IfdefDirective"--_IfdefDirective_identifier = Core.Name "identifier"---- | A C preprocessor #ifndef directive-data IfndefDirective =- IfndefDirective {- ifndefDirectiveIdentifier :: String}- deriving (Eq, Ord, Read, Show)--_IfndefDirective = Core.Name "hydra.cpp.syntax.IfndefDirective"--_IfndefDirective_identifier = Core.Name "identifier"---- | A C preprocessor #include directive, for a system or local header-data IncludeDirective =- IncludeDirective {- includeDirectiveName :: String,- includeDirectiveIsSystem :: Bool}- deriving (Eq, Ord, Read, Show)--_IncludeDirective = Core.Name "hydra.cpp.syntax.IncludeDirective"--_IncludeDirective_name = Core.Name "name"--_IncludeDirective_isSystem = Core.Name "isSystem"---- | A C++ inclusive-or-expression: an exclusive-or expression or a bitwise OR operation-data InclusiveOrExpression =- InclusiveOrExpressionExclusiveOr ExclusiveOrExpression |- InclusiveOrExpressionBitwiseOr BitwiseOrOperation- deriving (Eq, Ord, Read, Show)--_InclusiveOrExpression = Core.Name "hydra.cpp.syntax.InclusiveOrExpression"--_InclusiveOrExpression_exclusiveOr = Core.Name "exclusiveOr"--_InclusiveOrExpression_bitwiseOr = Core.Name "bitwiseOr"---- | A C++ integer literal, in decimal, hexadecimal, octal, or binary form-data IntegerLiteral =- IntegerLiteralDecimal Integer |- IntegerLiteralHexadecimal String |- IntegerLiteralOctal String |- IntegerLiteralBinary String- deriving (Eq, Ord, Read, Show)--_IntegerLiteral = Core.Name "hydra.cpp.syntax.IntegerLiteral"--_IntegerLiteral_decimal = Core.Name "decimal"--_IntegerLiteral_hexadecimal = Core.Name "hexadecimal"--_IntegerLiteral_octal = Core.Name "octal"--_IntegerLiteral_binary = Core.Name "binary"---- | A C++ iteration statement: while, do-while, for, or range-based for-data IterationStatement =- IterationStatementWhile WhileStatement |- IterationStatementDo DoStatement |- IterationStatementFor ForStatement |- IterationStatementRangeFor RangeForStatement- deriving (Eq, Ord, Read, Show)--_IterationStatement = Core.Name "hydra.cpp.syntax.IterationStatement"--_IterationStatement_while = Core.Name "while"--_IterationStatement_do = Core.Name "do"--_IterationStatement_for = Core.Name "for"--_IterationStatement_rangeFor = Core.Name "rangeFor"---- | A C++ jump statement: break, continue, return (with or without a value), or throw-data JumpStatement =- JumpStatementBreak |- JumpStatementContinue |- JumpStatementReturnValue Expression |- JumpStatementReturnVoid |- JumpStatementThrow Expression- deriving (Eq, Ord, Read, Show)--_JumpStatement = Core.Name "hydra.cpp.syntax.JumpStatement"--_JumpStatement_break = Core.Name "break"--_JumpStatement_continue = Core.Name "continue"--_JumpStatement_returnValue = Core.Name "returnValue"--_JumpStatement_returnVoid = Core.Name "returnVoid"--_JumpStatement_throw = Core.Name "throw"---- | A C++ labeled statement-data LabeledStatement =- LabeledStatement {- labeledStatementLabel :: String,- labeledStatementStatement :: Statement}- deriving (Eq, Ord, Read, Show)--_LabeledStatement = Core.Name "hydra.cpp.syntax.LabeledStatement"--_LabeledStatement_label = Core.Name "label"--_LabeledStatement_statement = Core.Name "statement"---- | A C++ lambda expression-data LambdaExpression =- LambdaExpression {- lambdaExpressionCaptures :: CaptureList,- lambdaExpressionParameters :: [Parameter],- lambdaExpressionReturnType :: (Maybe TypeExpression),- lambdaExpressionBody :: CompoundStatement}- deriving (Eq, Ord, Read, Show)--_LambdaExpression = Core.Name "hydra.cpp.syntax.LambdaExpression"--_LambdaExpression_captures = Core.Name "captures"--_LambdaExpression_parameters = Core.Name "parameters"--_LambdaExpression_returnType = Core.Name "returnType"--_LambdaExpression_body = Core.Name "body"---- | A C++ left shift expression (left << right)-data LeftShiftOperation =- LeftShiftOperation {- leftShiftOperationLeft :: ShiftExpression,- leftShiftOperationRight :: AdditiveExpression}- deriving (Eq, Ord, Read, Show)--_LeftShiftOperation = Core.Name "hydra.cpp.syntax.LeftShiftOperation"--_LeftShiftOperation_left = Core.Name "left"--_LeftShiftOperation_right = Core.Name "right"---- | A C++ less-than-or-equal comparison expression (left <= right)-data LessEqualOperation =- LessEqualOperation {- lessEqualOperationLeft :: RelationalExpression,- lessEqualOperationRight :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_LessEqualOperation = Core.Name "hydra.cpp.syntax.LessEqualOperation"--_LessEqualOperation_left = Core.Name "left"--_LessEqualOperation_right = Core.Name "right"---- | A C++ less-than comparison expression (left < right)-data LessOperation =- LessOperation {- lessOperationLeft :: RelationalExpression,- lessOperationRight :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_LessOperation = Core.Name "hydra.cpp.syntax.LessOperation"--_LessOperation_left = Core.Name "left"--_LessOperation_right = Core.Name "right"---- | A C preprocessor #line directive-data LineDirective =- LineDirective {- lineDirectiveLineNumber :: Int,- lineDirectiveFilename :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_LineDirective = Core.Name "hydra.cpp.syntax.LineDirective"--_LineDirective_lineNumber = Core.Name "lineNumber"--_LineDirective_filename = Core.Name "filename"---- | A declaration of a named std::vector type alias-data ListDeclaration =- ListDeclaration {- listDeclarationElementType :: TypeExpression,- listDeclarationName :: String}- deriving (Eq, Ord, Read, Show)--_ListDeclaration = Core.Name "hydra.cpp.syntax.ListDeclaration"--_ListDeclaration_elementType = Core.Name "elementType"--_ListDeclaration_name = Core.Name "name"---- | A C++ literal value-data Literal =- LiteralInteger IntegerLiteral |- LiteralFloating FloatingLiteral |- LiteralCharacter CharacterLiteral |- LiteralString StringLiteral |- LiteralBoolean BooleanLiteral |- LiteralNull- deriving (Eq, Ord, Read, Show)--_Literal = Core.Name "hydra.cpp.syntax.Literal"--_Literal_integer = Core.Name "integer"--_Literal_floating = Core.Name "floating"--_Literal_character = Core.Name "character"--_Literal_string = Core.Name "string"--_Literal_boolean = Core.Name "boolean"--_Literal_null = Core.Name "null"---- | A C++ logical-and-expression: an inclusive-or expression or a logical AND operation-data LogicalAndExpression =- LogicalAndExpressionInclusiveOr InclusiveOrExpression |- LogicalAndExpressionLogicalAnd LogicalAndOperation- deriving (Eq, Ord, Read, Show)--_LogicalAndExpression = Core.Name "hydra.cpp.syntax.LogicalAndExpression"--_LogicalAndExpression_inclusiveOr = Core.Name "inclusiveOr"--_LogicalAndExpression_logicalAnd = Core.Name "logicalAnd"---- | A C++ logical AND expression (left && right)-data LogicalAndOperation =- LogicalAndOperation {- logicalAndOperationLeft :: LogicalAndExpression,- logicalAndOperationRight :: InclusiveOrExpression}- deriving (Eq, Ord, Read, Show)--_LogicalAndOperation = Core.Name "hydra.cpp.syntax.LogicalAndOperation"--_LogicalAndOperation_left = Core.Name "left"--_LogicalAndOperation_right = Core.Name "right"---- | A C++ logical-or-expression: a logical-and expression or a logical OR operation-data LogicalOrExpression =- LogicalOrExpressionLogicalAnd LogicalAndExpression |- LogicalOrExpressionLogicalOr LogicalOrOperation- deriving (Eq, Ord, Read, Show)--_LogicalOrExpression = Core.Name "hydra.cpp.syntax.LogicalOrExpression"--_LogicalOrExpression_logicalAnd = Core.Name "logicalAnd"--_LogicalOrExpression_logicalOr = Core.Name "logicalOr"---- | A C++ logical OR expression (left || right)-data LogicalOrOperation =- LogicalOrOperation {- logicalOrOperationLeft :: LogicalOrExpression,- logicalOrOperationRight :: LogicalAndExpression}- deriving (Eq, Ord, Read, Show)--_LogicalOrOperation = Core.Name "hydra.cpp.syntax.LogicalOrOperation"--_LogicalOrOperation_left = Core.Name "left"--_LogicalOrOperation_right = Core.Name "right"---- | A C++ std::map literal, with a key type, a value type, and entries-data Map =- Map {- mapKeyType :: TypeExpression,- mapValueType :: TypeExpression,- mapEntries :: [MapEntry]}- deriving (Eq, Ord, Read, Show)--_Map = Core.Name "hydra.cpp.syntax.Map"--_Map_keyType = Core.Name "keyType"--_Map_valueType = Core.Name "valueType"--_Map_entries = Core.Name "entries"---- | A declaration of a named std::map type alias-data MapDeclaration =- MapDeclaration {- mapDeclarationKeyType :: TypeExpression,- mapDeclarationValueType :: TypeExpression,- mapDeclarationName :: String}- deriving (Eq, Ord, Read, Show)--_MapDeclaration = Core.Name "hydra.cpp.syntax.MapDeclaration"--_MapDeclaration_keyType = Core.Name "keyType"--_MapDeclaration_valueType = Core.Name "valueType"--_MapDeclaration_name = Core.Name "name"---- | A single key/value entry in a C++ map literal-data MapEntry =- MapEntry {- mapEntryKey :: Expression,- mapEntryValue :: Expression}- deriving (Eq, Ord, Read, Show)--_MapEntry = Core.Name "hydra.cpp.syntax.MapEntry"--_MapEntry_key = Core.Name "key"--_MapEntry_value = Core.Name "value"---- | A C++ member initializer in a constructor's initializer list-data MemInitializer =- MemInitializer {- memInitializerName :: String,- memInitializerArguments :: [Expression]}- deriving (Eq, Ord, Read, Show)--_MemInitializer = Core.Name "hydra.cpp.syntax.MemInitializer"--_MemInitializer_name = Core.Name "name"--_MemInitializer_arguments = Core.Name "arguments"---- | A C++ member access expression (object.member)-data MemberAccessOperation =- MemberAccessOperation {- memberAccessOperationObject :: PostfixExpression,- memberAccessOperationMember :: String}- deriving (Eq, Ord, Read, Show)--_MemberAccessOperation = Core.Name "hydra.cpp.syntax.MemberAccessOperation"--_MemberAccessOperation_object = Core.Name "object"--_MemberAccessOperation_member = Core.Name "member"---- | A single member declaration within a C++ class body-data MemberDeclaration =- MemberDeclarationFunction FunctionDeclaration |- MemberDeclarationVariable VariableDeclaration |- MemberDeclarationConstructor ConstructorDeclaration |- MemberDeclarationDestructor DestructorDeclaration |- MemberDeclarationNestedClass ClassDeclaration |- MemberDeclarationTemplate TemplateDeclaration- deriving (Eq, Ord, Read, Show)--_MemberDeclaration = Core.Name "hydra.cpp.syntax.MemberDeclaration"--_MemberDeclaration_function = Core.Name "function"--_MemberDeclaration_variable = Core.Name "variable"--_MemberDeclaration_constructor = Core.Name "constructor"--_MemberDeclaration_destructor = Core.Name "destructor"--_MemberDeclaration_nestedClass = Core.Name "nestedClass"--_MemberDeclaration_template = Core.Name "template"---- | An entry in a C++ class body: an access-level label or a member declaration-data MemberSpecification =- MemberSpecificationAccessLabel AccessSpecifier |- MemberSpecificationMember MemberDeclaration- deriving (Eq, Ord, Read, Show)--_MemberSpecification = Core.Name "hydra.cpp.syntax.MemberSpecification"--_MemberSpecification_accessLabel = Core.Name "accessLabel"--_MemberSpecification_member = Core.Name "member"---- | A C++ modulo expression (left % right)-data ModuloOperation =- ModuloOperation {- moduloOperationLeft :: MultiplicativeExpression,- moduloOperationRight :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_ModuloOperation = Core.Name "hydra.cpp.syntax.ModuloOperation"--_ModuloOperation_left = Core.Name "left"--_ModuloOperation_right = Core.Name "right"---- | A C++ multiplicative-expression: a unary expression, a multiplication, a division, or a modulo-data MultiplicativeExpression =- MultiplicativeExpressionUnary UnaryExpression |- MultiplicativeExpressionMultiply MultiplyOperation |- MultiplicativeExpressionDivide DivideOperation |- MultiplicativeExpressionModulo ModuloOperation- deriving (Eq, Ord, Read, Show)--_MultiplicativeExpression = Core.Name "hydra.cpp.syntax.MultiplicativeExpression"--_MultiplicativeExpression_unary = Core.Name "unary"--_MultiplicativeExpression_multiply = Core.Name "multiply"--_MultiplicativeExpression_divide = Core.Name "divide"--_MultiplicativeExpression_modulo = Core.Name "modulo"---- | A C++ multiplication expression (left * right)-data MultiplyOperation =- MultiplyOperation {- multiplyOperationLeft :: MultiplicativeExpression,- multiplyOperationRight :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_MultiplyOperation = Core.Name "hydra.cpp.syntax.MultiplyOperation"--_MultiplyOperation_left = Core.Name "left"--_MultiplyOperation_right = Core.Name "right"---- | A C++ namespace declaration enclosing a list of declarations-data NamespaceDeclaration =- NamespaceDeclaration {- namespaceDeclarationName :: String,- namespaceDeclarationDeclarations :: [Declaration]}- deriving (Eq, Ord, Read, Show)--_NamespaceDeclaration = Core.Name "hydra.cpp.syntax.NamespaceDeclaration"--_NamespaceDeclaration_name = Core.Name "name"--_NamespaceDeclaration_declarations = Core.Name "declarations"---- | A C++ inequality comparison expression (left != right)-data NotEqualOperation =- NotEqualOperation {- notEqualOperationLeft :: EqualityExpression,- notEqualOperationRight :: RelationalExpression}- deriving (Eq, Ord, Read, Show)--_NotEqualOperation = Core.Name "hydra.cpp.syntax.NotEqualOperation"--_NotEqualOperation_left = Core.Name "left"--_NotEqualOperation_right = Core.Name "right"---- | A C++ std::optional literal, with a value type and an optional contained value-data Optional =- Optional {- optionalValueType :: TypeExpression,- optionalValue :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_Optional = Core.Name "hydra.cpp.syntax.Optional"--_Optional_valueType = Core.Name "valueType"--_Optional_value = Core.Name "value"---- | A declaration of a named std::optional type alias-data OptionalDeclaration =- OptionalDeclaration {- optionalDeclarationValueType :: TypeExpression,- optionalDeclarationName :: String}- deriving (Eq, Ord, Read, Show)--_OptionalDeclaration = Core.Name "hydra.cpp.syntax.OptionalDeclaration"--_OptionalDeclaration_valueType = Core.Name "valueType"--_OptionalDeclaration_name = Core.Name "name"---- | A set of lambda expressions combined via an overload pattern (e.g. a visitor helper)-newtype OverloadedLambdas =- OverloadedLambdas {- unOverloadedLambdas :: [LambdaExpression]}- deriving (Eq, Ord, Read, Show)--_OverloadedLambdas = Core.Name "hydra.cpp.syntax.OverloadedLambdas"---- | A C++ function or lambda parameter-data Parameter =- Parameter {- parameterType :: TypeExpression,- parameterName :: String,- parameterUnnamed :: Bool,- parameterDefaultValue :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_Parameter = Core.Name "hydra.cpp.syntax.Parameter"--_Parameter_type = Core.Name "type"--_Parameter_name = Core.Name "name"--_Parameter_unnamed = Core.Name "unnamed"--_Parameter_defaultValue = Core.Name "defaultValue"---- | A std::visit-style pattern match: a visitor applied to a variant expression-data PatternMatch =- PatternMatch {- patternMatchVisitor :: Visitor,- patternMatchVariant :: Expression}- deriving (Eq, Ord, Read, Show)--_PatternMatch = Core.Name "hydra.cpp.syntax.PatternMatch"--_PatternMatch_visitor = Core.Name "visitor"--_PatternMatch_variant = Core.Name "variant"---- | A C++ pointer member access expression (pointer->member)-data PointerMemberAccessOperation =- PointerMemberAccessOperation {- pointerMemberAccessOperationPointer :: PostfixExpression,- pointerMemberAccessOperationMember :: String}- deriving (Eq, Ord, Read, Show)--_PointerMemberAccessOperation = Core.Name "hydra.cpp.syntax.PointerMemberAccessOperation"--_PointerMemberAccessOperation_pointer = Core.Name "pointer"--_PointerMemberAccessOperation_member = Core.Name "member"---- | A C++ postfix-expression: a primary expression optionally followed by a postfix operation-data PostfixExpression =- PostfixExpressionPrimary PrimaryExpression |- PostfixExpressionSubscript SubscriptOperation |- PostfixExpressionFunctionCall FunctionCallOperation |- PostfixExpressionTemplateFunctionCall TemplateFunctionCallOperation |- PostfixExpressionMemberAccess MemberAccessOperation |- PostfixExpressionPointerMemberAccess PointerMemberAccessOperation |- PostfixExpressionPostIncrement PostfixExpression |- PostfixExpressionPostDecrement PostfixExpression- deriving (Eq, Ord, Read, Show)--_PostfixExpression = Core.Name "hydra.cpp.syntax.PostfixExpression"--_PostfixExpression_primary = Core.Name "primary"--_PostfixExpression_subscript = Core.Name "subscript"--_PostfixExpression_functionCall = Core.Name "functionCall"--_PostfixExpression_templateFunctionCall = Core.Name "templateFunctionCall"--_PostfixExpression_memberAccess = Core.Name "memberAccess"--_PostfixExpression_pointerMemberAccess = Core.Name "pointerMemberAccess"--_PostfixExpression_postIncrement = Core.Name "postIncrement"--_PostfixExpression_postDecrement = Core.Name "postDecrement"---- | A C preprocessor #pragma directive-data PragmaDirective =- PragmaDirective {- pragmaDirectiveContent :: String}- deriving (Eq, Ord, Read, Show)--_PragmaDirective = Core.Name "hydra.cpp.syntax.PragmaDirective"--_PragmaDirective_content = Core.Name "content"---- | A C preprocessor directive-data PreprocessorDirective =- PreprocessorDirectiveInclude IncludeDirective |- PreprocessorDirectivePragma PragmaDirective |- PreprocessorDirectiveDefine DefineDirective |- PreprocessorDirectiveUndef UndefDirective |- PreprocessorDirectiveIfdef IfdefDirective |- PreprocessorDirectiveIfndef IfndefDirective |- PreprocessorDirectiveIf IfDirective |- PreprocessorDirectiveElif ElifDirective |- PreprocessorDirectiveElse ElseDirective |- PreprocessorDirectiveEndif EndifDirective |- PreprocessorDirectiveLine LineDirective |- PreprocessorDirectiveError ErrorDirective |- PreprocessorDirectiveWarning WarningDirective- deriving (Eq, Ord, Read, Show)--_PreprocessorDirective = Core.Name "hydra.cpp.syntax.PreprocessorDirective"--_PreprocessorDirective_include = Core.Name "include"--_PreprocessorDirective_pragma = Core.Name "pragma"--_PreprocessorDirective_define = Core.Name "define"--_PreprocessorDirective_undef = Core.Name "undef"--_PreprocessorDirective_ifdef = Core.Name "ifdef"--_PreprocessorDirective_ifndef = Core.Name "ifndef"--_PreprocessorDirective_if = Core.Name "if"--_PreprocessorDirective_elif = Core.Name "elif"--_PreprocessorDirective_else = Core.Name "else"--_PreprocessorDirective_endif = Core.Name "endif"--_PreprocessorDirective_line = Core.Name "line"--_PreprocessorDirective_error = Core.Name "error"--_PreprocessorDirective_warning = Core.Name "warning"---- | A C++ primary-expression: an identifier, a literal, a parenthesized expression, or a lambda-data PrimaryExpression =- PrimaryExpressionIdentifier String |- PrimaryExpressionLiteral Literal |- PrimaryExpressionParenthesized Expression |- PrimaryExpressionLambda LambdaExpression- deriving (Eq, Ord, Read, Show)--_PrimaryExpression = Core.Name "hydra.cpp.syntax.PrimaryExpression"--_PrimaryExpression_identifier = Core.Name "identifier"--_PrimaryExpression_literal = Core.Name "literal"--_PrimaryExpression_parenthesized = Core.Name "parenthesized"--_PrimaryExpression_lambda = Core.Name "lambda"---- | A declaration of a product type as a C++ struct with named fields-data ProductDeclaration =- ProductDeclaration {- productDeclarationName :: String,- productDeclarationFields :: [VariableDeclaration]}- deriving (Eq, Ord, Read, Show)--_ProductDeclaration = Core.Name "hydra.cpp.syntax.ProductDeclaration"--_ProductDeclaration_name = Core.Name "name"--_ProductDeclaration_fields = Core.Name "fields"---- | A complete C++ source or header file: preprocessor directives, includes, and declarations-data Program =- Program {- programPreprocessorDirectives :: [PreprocessorDirective],- programIncludes :: [IncludeDirective],- programDeclarations :: [Declaration]}- deriving (Eq, Ord, Read, Show)--_Program = Core.Name "hydra.cpp.syntax.Program"--_Program_preprocessorDirectives = Core.Name "preprocessorDirectives"--_Program_includes = Core.Name "includes"--_Program_declarations = Core.Name "declarations"---- | A C++ namespace-qualified identifier (namespace::name)-data QualifiedIdentifier =- QualifiedIdentifier {- qualifiedIdentifierNamespace :: String,- qualifiedIdentifierName :: String}- deriving (Eq, Ord, Read, Show)--_QualifiedIdentifier = Core.Name "hydra.cpp.syntax.QualifiedIdentifier"--_QualifiedIdentifier_namespace = Core.Name "namespace"--_QualifiedIdentifier_name = Core.Name "name"---- | A C++ type expression qualified by const, a reference, or a pointer-data QualifiedType =- QualifiedType {- qualifiedTypeBaseType :: TypeExpression,- qualifiedTypeQualifier :: TypeQualifier}- deriving (Eq, Ord, Read, Show)--_QualifiedType = Core.Name "hydra.cpp.syntax.QualifiedType"--_QualifiedType_baseType = Core.Name "baseType"--_QualifiedType_qualifier = Core.Name "qualifier"---- | A C++ range-based for statement-data RangeForStatement =- RangeForStatement {- rangeForStatementType :: TypeExpression,- rangeForStatementVariable :: String,- rangeForStatementRange :: Expression,- rangeForStatementBody :: Statement}- deriving (Eq, Ord, Read, Show)--_RangeForStatement = Core.Name "hydra.cpp.syntax.RangeForStatement"--_RangeForStatement_type = Core.Name "type"--_RangeForStatement_variable = Core.Name "variable"--_RangeForStatement_range = Core.Name "range"--_RangeForStatement_body = Core.Name "body"---- | A C++ relational-expression: a shift expression or a relational comparison-data RelationalExpression =- RelationalExpressionShift ShiftExpression |- RelationalExpressionLess LessOperation |- RelationalExpressionGreater GreaterOperation |- RelationalExpressionLessEqual LessEqualOperation |- RelationalExpressionGreaterEqual GreaterEqualOperation- deriving (Eq, Ord, Read, Show)--_RelationalExpression = Core.Name "hydra.cpp.syntax.RelationalExpression"--_RelationalExpression_shift = Core.Name "shift"--_RelationalExpression_less = Core.Name "less"--_RelationalExpression_greater = Core.Name "greater"--_RelationalExpression_lessEqual = Core.Name "lessEqual"--_RelationalExpression_greaterEqual = Core.Name "greaterEqual"---- | A C++ right shift expression (left >> right)-data RightShiftOperation =- RightShiftOperation {- rightShiftOperationLeft :: ShiftExpression,- rightShiftOperationRight :: AdditiveExpression}- deriving (Eq, Ord, Read, Show)--_RightShiftOperation = Core.Name "hydra.cpp.syntax.RightShiftOperation"--_RightShiftOperation_left = Core.Name "left"--_RightShiftOperation_right = Core.Name "right"---- | A C++ if statement, with an optional else branch-data SelectionStatement =- SelectionStatement {- selectionStatementCondition :: Expression,- selectionStatementThenBranch :: Statement,- selectionStatementElseBranch :: (Maybe Statement)}- deriving (Eq, Ord, Read, Show)--_SelectionStatement = Core.Name "hydra.cpp.syntax.SelectionStatement"--_SelectionStatement_condition = Core.Name "condition"--_SelectionStatement_thenBranch = Core.Name "thenBranch"--_SelectionStatement_elseBranch = Core.Name "elseBranch"---- | A C++ std::set literal, with an element type and elements-data Set =- Set {- setElementType :: TypeExpression,- setElements :: [Expression]}- deriving (Eq, Ord, Read, Show)--_Set = Core.Name "hydra.cpp.syntax.Set"--_Set_elementType = Core.Name "elementType"--_Set_elements = Core.Name "elements"---- | A declaration of a named std::set type alias-data SetDeclaration =- SetDeclaration {- setDeclarationElementType :: TypeExpression,- setDeclarationName :: String}- deriving (Eq, Ord, Read, Show)--_SetDeclaration = Core.Name "hydra.cpp.syntax.SetDeclaration"--_SetDeclaration_elementType = Core.Name "elementType"--_SetDeclaration_name = Core.Name "name"---- | A C++ shift-expression: an additive expression, a left shift, or a right shift-data ShiftExpression =- ShiftExpressionAdditive AdditiveExpression |- ShiftExpressionLeftShift LeftShiftOperation |- ShiftExpressionRightShift RightShiftOperation- deriving (Eq, Ord, Read, Show)--_ShiftExpression = Core.Name "hydra.cpp.syntax.ShiftExpression"--_ShiftExpression_additive = Core.Name "additive"--_ShiftExpression_leftShift = Core.Name "leftShift"--_ShiftExpression_rightShift = Core.Name "rightShift"---- | A C++ sizeof expression applied to a type-newtype SizeofExpression =- SizeofExpression {- unSizeofExpression :: TypeExpression}- deriving (Eq, Ord, Read, Show)--_SizeofExpression = Core.Name "hydra.cpp.syntax.SizeofExpression"---- | A C++ statement-data Statement =- StatementLabeled LabeledStatement |- StatementCompound CompoundStatement |- StatementSelection SelectionStatement |- StatementSwitch SwitchStatement |- StatementIteration IterationStatement |- StatementJump JumpStatement |- StatementDeclaration VariableDeclaration |- StatementExpression Expression- deriving (Eq, Ord, Read, Show)--_Statement = Core.Name "hydra.cpp.syntax.Statement"--_Statement_labeled = Core.Name "labeled"--_Statement_compound = Core.Name "compound"--_Statement_selection = Core.Name "selection"--_Statement_switch = Core.Name "switch"--_Statement_iteration = Core.Name "iteration"--_Statement_jump = Core.Name "jump"--_Statement_declaration = Core.Name "declaration"--_Statement_expression = Core.Name "expression"---- | A C++ string literal-newtype StringLiteral =- StringLiteral {- unStringLiteral :: String}- deriving (Eq, Ord, Read, Show)--_StringLiteral = Core.Name "hydra.cpp.syntax.StringLiteral"---- | A C++ array subscript expression (array[index])-data SubscriptOperation =- SubscriptOperation {- subscriptOperationArray :: PostfixExpression,- subscriptOperationIndex :: Expression}- deriving (Eq, Ord, Read, Show)--_SubscriptOperation = Core.Name "hydra.cpp.syntax.SubscriptOperation"--_SubscriptOperation_array = Core.Name "array"--_SubscriptOperation_index = Core.Name "index"---- | A C++ subtraction expression (left - right)-data SubtractOperation =- SubtractOperation {- subtractOperationLeft :: AdditiveExpression,- subtractOperationRight :: MultiplicativeExpression}- deriving (Eq, Ord, Read, Show)--_SubtractOperation = Core.Name "hydra.cpp.syntax.SubtractOperation"--_SubtractOperation_left = Core.Name "left"--_SubtractOperation_right = Core.Name "right"---- | A C++ switch statement-data SwitchStatement =- SwitchStatement {- switchStatementValue :: Expression,- switchStatementCases :: [CaseStatement]}- deriving (Eq, Ord, Read, Show)--_SwitchStatement = Core.Name "hydra.cpp.syntax.SwitchStatement"--_SwitchStatement_value = Core.Name "value"--_SwitchStatement_cases = Core.Name "cases"---- | A single argument to a C++ template instantiation: a type or a value-data TemplateArgument =- TemplateArgumentType TypeExpression |- TemplateArgumentValue Expression- deriving (Eq, Ord, Read, Show)--_TemplateArgument = Core.Name "hydra.cpp.syntax.TemplateArgument"--_TemplateArgument_type = Core.Name "type"--_TemplateArgument_value = Core.Name "value"---- | A C++ template declaration wrapping a class or function declaration-data TemplateDeclaration =- TemplateDeclaration {- templateDeclarationInline :: Bool,- templateDeclarationParameters :: [String],- templateDeclarationDeclaration :: Declaration}- deriving (Eq, Ord, Read, Show)--_TemplateDeclaration = Core.Name "hydra.cpp.syntax.TemplateDeclaration"--_TemplateDeclaration_inline = Core.Name "inline"--_TemplateDeclaration_parameters = Core.Name "parameters"--_TemplateDeclaration_declaration = Core.Name "declaration"---- | A C++ explicit template function call (func<Args...>(arguments))-data TemplateFunctionCallOperation =- TemplateFunctionCallOperation {- templateFunctionCallOperationFunction :: PostfixExpression,- templateFunctionCallOperationTemplateArguments :: [TemplateArgument],- templateFunctionCallOperationArguments :: [Expression]}- deriving (Eq, Ord, Read, Show)--_TemplateFunctionCallOperation = Core.Name "hydra.cpp.syntax.TemplateFunctionCallOperation"--_TemplateFunctionCallOperation_function = Core.Name "function"--_TemplateFunctionCallOperation_templateArguments = Core.Name "templateArguments"--_TemplateFunctionCallOperation_arguments = Core.Name "arguments"---- | A C++ template instantiation type (e.g. std::vector<int>)-data TemplateType =- TemplateType {- templateTypeName :: String,- templateTypeArguments :: [TemplateArgument]}- deriving (Eq, Ord, Read, Show)--_TemplateType = Core.Name "hydra.cpp.syntax.TemplateType"--_TemplateType_name = Core.Name "name"--_TemplateType_arguments = Core.Name "arguments"---- | A C++ ternary conditional expression (condition ? trueExpr : falseExpr)-data TernaryExpression =- TernaryExpression {- ternaryExpressionCondition :: LogicalOrExpression,- ternaryExpressionTrueExpr :: Expression,- ternaryExpressionFalseExpr :: ConditionalExpression}- deriving (Eq, Ord, Read, Show)--_TernaryExpression = Core.Name "hydra.cpp.syntax.TernaryExpression"--_TernaryExpression_condition = Core.Name "condition"--_TernaryExpression_trueExpr = Core.Name "trueExpr"--_TernaryExpression_falseExpr = Core.Name "falseExpr"---- | A C++ type expression-data TypeExpression =- TypeExpressionBasic BasicType |- TypeExpressionQualified QualifiedType |- TypeExpressionTemplate TemplateType |- TypeExpressionFunction FunctionType |- TypeExpressionAuto- deriving (Eq, Ord, Read, Show)--_TypeExpression = Core.Name "hydra.cpp.syntax.TypeExpression"--_TypeExpression_basic = Core.Name "basic"--_TypeExpression_qualified = Core.Name "qualified"--_TypeExpression_template = Core.Name "template"--_TypeExpression_function = Core.Name "function"--_TypeExpression_auto = Core.Name "auto"---- | A C++ type qualifier: const, lvalue reference, rvalue reference, or pointer-data TypeQualifier =- TypeQualifierConst |- TypeQualifierLvalueRef |- TypeQualifierRvalueRef |- TypeQualifierPointer- deriving (Eq, Ord, Read, Show)--_TypeQualifier = Core.Name "hydra.cpp.syntax.TypeQualifier"--_TypeQualifier_const = Core.Name "const"--_TypeQualifier_lvalueRef = Core.Name "lvalueRef"--_TypeQualifier_rvalueRef = Core.Name "rvalueRef"--_TypeQualifier_pointer = Core.Name "pointer"---- | A C++ typedef or using type alias declaration-data TypedefDeclaration =- TypedefDeclaration {- typedefDeclarationName :: String,- typedefDeclarationType :: TypeExpression,- typedefDeclarationIsUsing :: Bool}- deriving (Eq, Ord, Read, Show)--_TypedefDeclaration = Core.Name "hydra.cpp.syntax.TypedefDeclaration"--_TypedefDeclaration_name = Core.Name "name"--_TypedefDeclaration_type = Core.Name "type"--_TypedefDeclaration_isUsing = Core.Name "isUsing"---- | A C++ unary-expression: a postfix expression, a unary operation, or a sizeof expression-data UnaryExpression =- UnaryExpressionPostfix PostfixExpression |- UnaryExpressionUnaryOp UnaryOperation |- UnaryExpressionSizeof SizeofExpression- deriving (Eq, Ord, Read, Show)--_UnaryExpression = Core.Name "hydra.cpp.syntax.UnaryExpression"--_UnaryExpression_postfix = Core.Name "postfix"--_UnaryExpression_unaryOp = Core.Name "unaryOp"--_UnaryExpression_sizeof = Core.Name "sizeof"---- | A C++ unary operation applied to an operand (e.g. -x, !x, *x)-data UnaryOperation =- UnaryOperation {- unaryOperationOperator :: UnaryOperator,- unaryOperationOperand :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_UnaryOperation = Core.Name "hydra.cpp.syntax.UnaryOperation"--_UnaryOperation_operator = Core.Name "operator"--_UnaryOperation_operand = Core.Name "operand"---- | A C++ unary operator-data UnaryOperator =- UnaryOperatorPlus |- UnaryOperatorMinus |- UnaryOperatorLogicalNot |- UnaryOperatorBitwiseNot |- UnaryOperatorDereference |- UnaryOperatorAddressOf |- UnaryOperatorPreIncrement |- UnaryOperatorPreDecrement- deriving (Eq, Ord, Read, Show)--_UnaryOperator = Core.Name "hydra.cpp.syntax.UnaryOperator"--_UnaryOperator_plus = Core.Name "plus"--_UnaryOperator_minus = Core.Name "minus"--_UnaryOperator_logicalNot = Core.Name "logicalNot"--_UnaryOperator_bitwiseNot = Core.Name "bitwiseNot"--_UnaryOperator_dereference = Core.Name "dereference"--_UnaryOperator_addressOf = Core.Name "addressOf"--_UnaryOperator_preIncrement = Core.Name "preIncrement"--_UnaryOperator_preDecrement = Core.Name "preDecrement"---- | A C preprocessor #undef directive-data UndefDirective =- UndefDirective {- undefDirectiveName :: String}- deriving (Eq, Ord, Read, Show)--_UndefDirective = Core.Name "hydra.cpp.syntax.UndefDirective"--_UndefDirective_name = Core.Name "name"---- | A C++ variable declaration, with an optional type (for auto) and initializer-data VariableDeclaration =- VariableDeclaration {- variableDeclarationType :: (Maybe TypeExpression),- variableDeclarationName :: String,- variableDeclarationInitializer :: (Maybe Expression),- variableDeclarationIsAuto :: Bool}- deriving (Eq, Ord, Read, Show)--_VariableDeclaration = Core.Name "hydra.cpp.syntax.VariableDeclaration"--_VariableDeclaration_type = Core.Name "type"--_VariableDeclaration_name = Core.Name "name"--_VariableDeclaration_initializer = Core.Name "initializer"--_VariableDeclaration_isAuto = Core.Name "isAuto"---- | A declaration of a named std::variant type alias over a list of member types-data VariantDeclaration =- VariantDeclaration {- variantDeclarationTypes :: [TypeExpression],- variantDeclarationName :: String}- deriving (Eq, Ord, Read, Show)--_VariantDeclaration = Core.Name "hydra.cpp.syntax.VariantDeclaration"--_VariantDeclaration_types = Core.Name "types"--_VariantDeclaration_name = Core.Name "name"---- | A C++ std::vector literal, with an element type and elements-data Vector =- Vector {- vectorElementType :: TypeExpression,- vectorElements :: [Expression]}- deriving (Eq, Ord, Read, Show)--_Vector = Core.Name "hydra.cpp.syntax.Vector"--_Vector_elementType = Core.Name "elementType"--_Vector_elements = Core.Name "elements"---- | A C++ visitor used in a pattern match: a single lambda or a set of overloaded lambdas-data Visitor =- VisitorLambda LambdaExpression |- VisitorOverloaded OverloadedLambdas- deriving (Eq, Ord, Read, Show)--_Visitor = Core.Name "hydra.cpp.syntax.Visitor"--_Visitor_lambda = Core.Name "lambda"--_Visitor_overloaded = Core.Name "overloaded"---- | A C preprocessor #warning directive-data WarningDirective =- WarningDirective {- warningDirectiveMessage :: String}- deriving (Eq, Ord, Read, Show)--_WarningDirective = Core.Name "hydra.cpp.syntax.WarningDirective"--_WarningDirective_message = Core.Name "message"---- | A C++ while statement-data WhileStatement =- WhileStatement {- whileStatementCondition :: Expression,- whileStatementBody :: Statement}- deriving (Eq, Ord, Read, Show)--_WhileStatement = Core.Name "hydra.cpp.syntax.WhileStatement"--_WhileStatement_condition = Core.Name "condition"--_WhileStatement_body = Core.Name "body"
− src/main/haskell/Hydra/Cpp/Utils.hs
@@ -1,308 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | C++ utilities for constructing C++ syntax trees--module Hydra.Cpp.Utils where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Cpp.Syntax as Syntax-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Create a const reference parameter-constParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter-constParameter name typ =- Syntax.Parameter {- Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = typ,- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),- Syntax.parameterName = name,- Syntax.parameterUnnamed = False,- Syntax.parameterDefaultValue = Nothing}---- | Create a C++ class declaration-cppClassDeclaration :: String -> [Syntax.BaseSpecifier] -> Maybe Syntax.ClassBody -> Syntax.Declaration-cppClassDeclaration name baseSpecs mbody =- Syntax.DeclarationClass (Syntax.ClassDeclaration {- Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {- Syntax.classSpecifierKey = Syntax.ClassKeyClass,- Syntax.classSpecifierName = name,- Syntax.classSpecifierInheritance = baseSpecs},- Syntax.classDeclarationBody = mbody})---- | Create a C++ enum class declaration-cppEnumDeclaration :: String -> Maybe Syntax.ClassBody -> Syntax.Declaration-cppEnumDeclaration name mbody =- Syntax.DeclarationClass (Syntax.ClassDeclaration {- Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {- Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,- Syntax.classSpecifierName = name,- Syntax.classSpecifierInheritance = []},- Syntax.classDeclarationBody = mbody})---- | Create a C++ enum class forward declaration-cppEnumForwardDeclaration :: String -> Syntax.Declaration-cppEnumForwardDeclaration name =- Syntax.DeclarationClass (Syntax.ClassDeclaration {- Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {- Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,- Syntax.classSpecifierName = name,- Syntax.classSpecifierInheritance = []},- Syntax.classDeclarationBody = Nothing})---- | Convert a PostfixExpression to an Expression-cppPostfixExpressionToCppExpression :: Syntax.PostfixExpression -> Syntax.Expression-cppPostfixExpressionToCppExpression pf = cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionPostfix pf)---- | Convert a PrimaryExpression to an Expression-cppPrimaryExpressionToCppExpression :: Syntax.PrimaryExpression -> Syntax.Expression-cppPrimaryExpressionToCppExpression prim = cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary prim)---- | Convert a UnaryExpression to an Expression-cppUnaryExpressionToCppExpression :: Syntax.UnaryExpression -> Syntax.Expression-cppUnaryExpressionToCppExpression ue =- Syntax.ExpressionAssignment (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression ue)))---- | Convert a UnaryExpression to a LogicalOrExpression-cppUnaryExpressionToCppLogicalOrExpression :: Syntax.UnaryExpression -> Syntax.LogicalOrExpression-cppUnaryExpressionToCppLogicalOrExpression ue =- Syntax.LogicalOrExpressionLogicalAnd (Syntax.LogicalAndExpressionInclusiveOr (Syntax.InclusiveOrExpressionExclusiveOr (Syntax.ExclusiveOrExpressionAnd (Syntax.AndExpressionEquality (Syntax.EqualityExpressionRelational (Syntax.RelationalExpressionShift (Syntax.ShiftExpressionAdditive (Syntax.AdditiveExpressionMultiplicative (Syntax.MultiplicativeExpressionUnary ue)))))))))---- | Create a cast expression-createCastExpr :: t0 -> Syntax.Expression -> Syntax.Expression-createCastExpr targetType expr =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized (cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized expr)))---- | Create a compound statement-createCompoundStmt :: [Syntax.Statement] -> Syntax.CompoundStatement-createCompoundStmt stmts = Syntax.CompoundStatement stmts---- | Create a const reference type-createConstRefType :: Syntax.TypeExpression -> Syntax.TypeExpression-createConstRefType baseType = createReferenceType (createConstType baseType)---- | Create a const-qualified type-createConstType :: Syntax.TypeExpression -> Syntax.TypeExpression-createConstType baseType = createQualifiedType baseType Syntax.TypeQualifierConst---- | Create a constructor body (default if no params, empty otherwise)-createConstructorBody :: [t0] -> Syntax.FunctionBody-createConstructorBody params = Logic.ifElse (Lists.isEmpty params) Syntax.FunctionBodyDefault emptyFunctionBody---- | Create an enum access expression-createEnumAccessExpr :: String -> String -> Syntax.Expression-createEnumAccessExpr enumName valueName =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {- Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier enumName)),- Syntax.memberAccessOperationMember = valueName}))---- | Create a function call expression-createFunctionCallExpr :: String -> [Syntax.Expression] -> Syntax.Expression-createFunctionCallExpr funcName args =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier funcName)),- Syntax.functionCallOperationArguments = args}))---- | Create a header file with pragma once-createHeaderFile :: [Syntax.IncludeDirective] -> [Syntax.Declaration] -> Syntax.Program-createHeaderFile includes decls =- Syntax.Program {- Syntax.programPreprocessorDirectives = [- Syntax.PreprocessorDirectivePragma (Syntax.PragmaDirective {- Syntax.pragmaDirectiveContent = "once"})],- Syntax.programIncludes = includes,- Syntax.programDeclarations = decls}---- | Create an identifier expression-createIdentifierExpr :: String -> Syntax.Expression-createIdentifierExpr name = cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier name)---- | Create a lambda expression-createLambdaExpr :: [Syntax.Parameter] -> Syntax.Expression -> Syntax.Expression-createLambdaExpr params body =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionLambda (Syntax.LambdaExpression {- Syntax.lambdaExpressionCaptures = (Syntax.CaptureListCaptures []),- Syntax.lambdaExpressionParameters = params,- Syntax.lambdaExpressionReturnType = Nothing,- Syntax.lambdaExpressionBody = (Syntax.CompoundStatement [- Syntax.StatementExpression body])})))---- | Create a boolean literal expression-createLiteralBoolExpr :: Bool -> Syntax.Expression-createLiteralBoolExpr val =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralBoolean (Syntax.BooleanLiteral val)))---- | Create an integer literal expression-createLiteralIntExpr :: Integer -> Syntax.Expression-createLiteralIntExpr val =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteralDecimal val)))---- | Create a string literal expression-createLiteralStringExpr :: String -> Syntax.Expression-createLiteralStringExpr val =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralString (Syntax.StringLiteral val)))---- | Create a member access expression-createMemberAccessExpr :: Syntax.Expression -> String -> Syntax.Expression-createMemberAccessExpr objExpr member =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {- Syntax.memberAccessOperationObject = (extractPostfixExpression objExpr),- Syntax.memberAccessOperationMember = member}))---- | Create a qualified type with a qualifier-createQualifiedType :: Syntax.TypeExpression -> Syntax.TypeQualifier -> Syntax.TypeExpression-createQualifiedType baseType qualifier =- Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = baseType,- Syntax.qualifiedTypeQualifier = qualifier})---- | Create a reference type-createReferenceType :: Syntax.TypeExpression -> Syntax.TypeExpression-createReferenceType baseType = createQualifiedType baseType Syntax.TypeQualifierLvalueRef---- | Create a return statement with a value-createReturnStmt :: Syntax.Expression -> Syntax.Statement-createReturnStmt expr = Syntax.StatementJump (Syntax.JumpStatementReturnValue expr)---- | Create a void return statement-createReturnVoidStmt :: Syntax.Statement-createReturnVoidStmt = Syntax.StatementJump Syntax.JumpStatementReturnVoid---- | Create a template type-createTemplateType :: String -> [Syntax.TypeExpression] -> Syntax.TypeExpression-createTemplateType name args =- Syntax.TypeExpressionTemplate (Syntax.TemplateType {- Syntax.templateTypeName = name,- Syntax.templateTypeArguments = (Lists.map (\a -> Syntax.TemplateArgumentType a) args)})---- | Create a *this expression-createThisExpr :: Syntax.Expression-createThisExpr =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "*this"))---- | Create a throw statement-createThrowStmt :: String -> Syntax.Expression -> Syntax.Statement-createThrowStmt exceptionType arg =- Syntax.StatementJump (Syntax.JumpStatementThrow (createFunctionCallExpr exceptionType [- arg]))---- | Create a typeid(...).name() call expression-createTypeIdNameCall :: Syntax.Expression-createTypeIdNameCall =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {- Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {- Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "typeid")),- Syntax.functionCallOperationArguments = [- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized createThisExpr)]})),- Syntax.memberAccessOperationMember = "name"})),- Syntax.functionCallOperationArguments = []}))---- | Create a type name expression-createTypeNameExpr :: String -> Syntax.Expression-createTypeNameExpr typeName =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier typeName))---- | Create a variant expression-createVariantExpr :: Syntax.Expression-createVariantExpr =- cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "variant"))---- | An empty function body-emptyFunctionBody :: Syntax.FunctionBody-emptyFunctionBody = Syntax.FunctionBodyCompound (Syntax.CompoundStatement [])---- | Extract the PostfixExpression from a fully-wrapped Expression-extractPostfixExpression :: Syntax.Expression -> Syntax.PostfixExpression-extractPostfixExpression expr =- case expr of- Syntax.ExpressionAssignment v0 -> case v0 of- Syntax.AssignmentExpressionConditional v1 -> case v1 of- Syntax.ConditionalExpressionLogicalOr v2 -> case v2 of- Syntax.LogicalOrExpressionLogicalAnd v3 -> case v3 of- Syntax.LogicalAndExpressionInclusiveOr v4 -> case v4 of- Syntax.InclusiveOrExpressionExclusiveOr v5 -> case v5 of- Syntax.ExclusiveOrExpressionAnd v6 -> case v6 of- Syntax.AndExpressionEquality v7 -> case v7 of- Syntax.EqualityExpressionRelational v8 -> case v8 of- Syntax.RelationalExpressionShift v9 -> case v9 of- Syntax.ShiftExpressionAdditive v10 -> case v10 of- Syntax.AdditiveExpressionMultiplicative v11 -> case v11 of- Syntax.MultiplicativeExpressionUnary v12 -> case v12 of- Syntax.UnaryExpressionPostfix v13 -> v13- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")- _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")---- | Protected access specifier member specification-memberSpecificationProtected :: Syntax.MemberSpecification-memberSpecificationProtected = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierProtected---- | Public access specifier member specification-memberSpecificationPublic :: Syntax.MemberSpecification-memberSpecificationPublic = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierPublic---- | Create a string expression-stringExpression :: String -> Syntax.Expression-stringExpression s =- cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralString (Syntax.StringLiteral s)))---- | Add const qualifier to a type-toConstType :: Syntax.TypeExpression -> Syntax.TypeExpression-toConstType baseType =- Syntax.TypeExpressionQualified (Syntax.QualifiedType {- Syntax.qualifiedTypeBaseType = baseType,- Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})---- | Create an unnamed parameter-unnamedParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter-unnamedParameter name typ =- Syntax.Parameter {- Syntax.parameterType = typ,- Syntax.parameterName = name,- Syntax.parameterUnnamed = True,- Syntax.parameterDefaultValue = Nothing}
− src/main/haskell/Hydra/Csharp/Language.hs
@@ -1,247 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints and reserved words for C Sharp (C#)--module Hydra.Csharp.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for C Sharp (C#)-csharpLanguage :: Coders.Language-csharpLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.csharp"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "cs")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt8,- Core.IntegerTypeInt16,- Core.IntegerTypeInt32,- Core.IntegerTypeInt64,- Core.IntegerTypeUint8,- Core.IntegerTypeUint16,- Core.IntegerTypeUint32,- Core.IntegerTypeUint64]- termVariants =- Sets.fromList [- Variants.TermVariantApplication,- Variants.TermVariantCases,- Variants.TermVariantLambda,- Variants.TermVariantProject,- Variants.TermVariantUnwrap,- Variants.TermVariantTypeApplication,- Variants.TermVariantTypeLambda,- Variants.TermVariantLet,- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantRecord,- Variants.TermVariantSet,- Variants.TermVariantInject,- Variants.TermVariantVariable,- Variants.TermVariantWrap]- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantApplication,- Variants.TypeVariantFunction,- Variants.TypeVariantForall,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantRecord,- Variants.TypeVariantSet,- Variants.TypeVariantUnion,- Variants.TypeVariantVariable,- Variants.TypeVariantWrap]- typePredicate = \_ -> True---- | A set of reserved words in C#. Both the "keywords" and "contextual keywords" are drawn from section 6.4.4 of the C# documentation:--- | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#64-tokens-csharpReservedWords :: S.Set String-csharpReservedWords =- Sets.fromList (Lists.concat [- keywords,- contextualKeywords])- where- keywords =- [- "DEFAULT",- "FALSE",- "NULL",- "TRUE",- "abstract",- "as",- "base",- "bool",- "break",- "byte",- "case",- "catch",- "char",- "checked",- "class",- "const",- "continue",- "decimal",- "delegate",- "do",- "double",- "else",- "enum",- "event",- "explicit",- "extern",- "finally",- "fixed",- "float",- "for",- "foreach",- "goto",- "if",- "implicit",- "in",- "int",- "interface",- "internal",- "is",- "lock",- "long",- "namespace",- "new",- "object",- "operator",- "out",- "override",- "params",- "private",- "protected",- "public",- "readonly",- "ref",- "return",- "sbyte",- "sealed",- "short",- "sizeof",- "stackalloc",- "static",- "string",- "struct",- "switch",- "this",- "throw",- "try",- "typeof",- "uint",- "ulong",- "unchecked",- "unsafe",- "ushort",- "using",- "virtual",- "void",- "volatile",- "while"]- contextualKeywords =- [- "add",- "alias",- "ascending",- "async",- "await",- "by",- "descending",- "dynamic",- "equals",- "from",- "get",- "global",- "group",- "into",- "join",- "let",- "nameof",- "on",- "orderby",- "partial",- "remove",- "select",- "set",- "unmanaged",- "value",- "var",- "when",- "where",- "yield"]
− src/main/haskell/Hydra/Csharp/Syntax.hs
@@ -1,5297 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A C# syntax module based on the ANTLR grammar dated 02/07/2024 and available at:--- | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/grammar--module Hydra.Csharp.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---- | The body of a property or indexer accessor: a block, an expression, or empty (abstract).-data AccessorBody =- AccessorBodyBlock Block |- AccessorBodyExpression Expression |- AccessorBodyEmpty- deriving (Eq, Ord, Read, Show)--_AccessorBody = Core.Name "hydra.csharp.syntax.AccessorBody"--_AccessorBody_block = Core.Name "block"--_AccessorBody_expression = Core.Name "expression"--_AccessorBody_empty = Core.Name "empty"---- | A single get or set accessor, with optional attributes and an access modifier.-data AccessorDeclaration =- AccessorDeclaration {- accessorDeclarationAttributes :: (Maybe Attributes),- accessorDeclarationModifier :: (Maybe AccessorModifier),- accessorDeclarationBody :: AccessorBody}- deriving (Eq, Ord, Read, Show)--_AccessorDeclaration = Core.Name "hydra.csharp.syntax.AccessorDeclaration"--_AccessorDeclaration_attributes = Core.Name "attributes"--_AccessorDeclaration_modifier = Core.Name "modifier"--_AccessorDeclaration_body = Core.Name "body"---- | The get and/or set accessors of a standard (non-ref-returning) property.-data AccessorDeclarations =- AccessorDeclarationsGet (Maybe AccessorDeclaration) |- AccessorDeclarationsSet (Maybe AccessorDeclaration)- deriving (Eq, Ord, Read, Show)--_AccessorDeclarations = Core.Name "hydra.csharp.syntax.AccessorDeclarations"--_AccessorDeclarations_get = Core.Name "get"--_AccessorDeclarations_set = Core.Name "set"---- | An access modifier restricting a get or set accessor beyond the property's own accessibility.-data AccessorModifier =- AccessorModifierProtected |- AccessorModifierInternal |- AccessorModifierPrivate |- AccessorModifierProtectedInternal |- AccessorModifierInternalProtected |- AccessorModifierProtectedPrivate |- AccessorModifierPrivateProtected- deriving (Eq, Ord, Read, Show)--_AccessorModifier = Core.Name "hydra.csharp.syntax.AccessorModifier"--_AccessorModifier_protected = Core.Name "protected"--_AccessorModifier_internal = Core.Name "internal"--_AccessorModifier_private = Core.Name "private"--_AccessorModifier_protectedInternal = Core.Name "protectedInternal"--_AccessorModifier_internalProtected = Core.Name "internalProtected"--_AccessorModifier_protectedPrivate = Core.Name "protectedPrivate"--_AccessorModifier_privateProtected = Core.Name "privateProtected"---- | An event declaration using explicit add/remove accessor syntax.-data AccessorsEventDeclaration =- AccessorsEventDeclaration {- accessorsEventDeclarationAttributes :: (Maybe Attributes),- accessorsEventDeclarationModifiers :: [EventModifier],- accessorsEventDeclarationType :: Type,- accessorsEventDeclarationName :: MemberName,- accessorsEventDeclarationAccessors :: EventAccessorDeclarations}- deriving (Eq, Ord, Read, Show)--_AccessorsEventDeclaration = Core.Name "hydra.csharp.syntax.AccessorsEventDeclaration"--_AccessorsEventDeclaration_attributes = Core.Name "attributes"--_AccessorsEventDeclaration_modifiers = Core.Name "modifiers"--_AccessorsEventDeclaration_type = Core.Name "type"--_AccessorsEventDeclaration_name = Core.Name "name"--_AccessorsEventDeclaration_accessors = Core.Name "accessors"---- | The add or remove accessor body of an event declaration.-data AddRemoveAccessorDeclaration =- AddRemoveAccessorDeclaration {- addRemoveAccessorDeclarationAttributes :: (Maybe Attributes),- addRemoveAccessorDeclarationBody :: Block}- deriving (Eq, Ord, Read, Show)--_AddRemoveAccessorDeclaration = Core.Name "hydra.csharp.syntax.AddRemoveAccessorDeclaration"--_AddRemoveAccessorDeclaration_attributes = Core.Name "attributes"--_AddRemoveAccessorDeclaration_body = Core.Name "body"---- | A simple multiplicative expression or a binary addition/subtraction expression.-data AdditiveExpression =- AdditiveExpressionSimple MultiplicativeExpression |- AdditiveExpressionBinary BinaryAdditiveExpression- deriving (Eq, Ord, Read, Show)--_AdditiveExpression = Core.Name "hydra.csharp.syntax.AdditiveExpression"--_AdditiveExpression_simple = Core.Name "simple"--_AdditiveExpression_binary = Core.Name "binary"---- | The plus or minus operator used in an additive expression.-data AdditiveOperator =- AdditiveOperatorPlus |- AdditiveOperatorMinus- deriving (Eq, Ord, Read, Show)--_AdditiveOperator = Core.Name "hydra.csharp.syntax.AdditiveOperator"--_AdditiveOperator_plus = Core.Name "plus"--_AdditiveOperator_minus = Core.Name "minus"---- | A simple equality expression or a binary bitwise-AND expression.-data AndExpression =- AndExpressionSimple EqualityExpression |- AndExpressionBinary BinaryAndExpression- deriving (Eq, Ord, Read, Show)--_AndExpression = Core.Name "hydra.csharp.syntax.AndExpression"--_AndExpression_simple = Core.Name "simple"--_AndExpression_binary = Core.Name "binary"---- | The body of an anonymous function: a null-conditional invocation, expression, ref, or block.-data AnonymousFunctionBody =- AnonymousFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |- AnonymousFunctionBodyExpression Expression |- AnonymousFunctionBodyRef VariableReference |- AnonymousFunctionBodyBlock Block- deriving (Eq, Ord, Read, Show)--_AnonymousFunctionBody = Core.Name "hydra.csharp.syntax.AnonymousFunctionBody"--_AnonymousFunctionBody_nullConditionalInvocation = Core.Name "nullConditionalInvocation"--_AnonymousFunctionBody_expression = Core.Name "expression"--_AnonymousFunctionBody_ref = Core.Name "ref"--_AnonymousFunctionBody_block = Core.Name "block"---- | A ref, out, or in modifier on an explicit anonymous function parameter.-data AnonymousFunctionParameterModifier =- AnonymousFunctionParameterModifierRef |- AnonymousFunctionParameterModifierOut |- AnonymousFunctionParameterModifierIn- deriving (Eq, Ord, Read, Show)--_AnonymousFunctionParameterModifier = Core.Name "hydra.csharp.syntax.AnonymousFunctionParameterModifier"--_AnonymousFunctionParameterModifier_ref = Core.Name "ref"--_AnonymousFunctionParameterModifier_out = Core.Name "out"--_AnonymousFunctionParameterModifier_in = Core.Name "in"---- | The parameter list of a lambda expression, either explicitly or implicitly typed.-data AnonymousFunctionSignature =- AnonymousFunctionSignatureExplicit [ExplicitAnonymousFunctionParameter] |- AnonymousFunctionSignatureImplicit [Identifier]- deriving (Eq, Ord, Read, Show)--_AnonymousFunctionSignature = Core.Name "hydra.csharp.syntax.AnonymousFunctionSignature"--_AnonymousFunctionSignature_explicit = Core.Name "explicit"--_AnonymousFunctionSignature_implicit = Core.Name "implicit"---- | A delegate expression created with the anonymous method syntax (delegate(...) { ... }).-data AnonymousMethodExpression =- AnonymousMethodExpression {- anonymousMethodExpressionAsync :: Bool,- anonymousMethodExpressionSignature :: [ExplicitAnonymousFunctionParameter],- anonymousMethodExpressionBody :: Block}- deriving (Eq, Ord, Read, Show)--_AnonymousMethodExpression = Core.Name "hydra.csharp.syntax.AnonymousMethodExpression"--_AnonymousMethodExpression_async = Core.Name "async"--_AnonymousMethodExpression_signature = Core.Name "signature"--_AnonymousMethodExpression_body = Core.Name "body"---- | A single argument in an argument list, with an optional name for named arguments.-data Argument =- Argument {- argumentName :: (Maybe Identifier),- argumentValue :: ArgumentValue}- deriving (Eq, Ord, Read, Show)--_Argument = Core.Name "hydra.csharp.syntax.Argument"--_Argument_name = Core.Name "name"--_Argument_value = Core.Name "value"---- | A non-empty, comma-separated list of arguments passed to a member or delegate invocation.-newtype ArgumentList =- ArgumentList {- unArgumentList :: [Argument]}- deriving (Eq, Ord, Read, Show)--_ArgumentList = Core.Name "hydra.csharp.syntax.ArgumentList"---- | The value portion of an argument: an expression, or a ref/in/out variable reference.-data ArgumentValue =- ArgumentValueExpression Expression |- ArgumentValueIn VariableReference |- ArgumentValueRef VariableReference |- ArgumentValueOut VariableReference- deriving (Eq, Ord, Read, Show)--_ArgumentValue = Core.Name "hydra.csharp.syntax.ArgumentValue"--_ArgumentValue_expression = Core.Name "expression"--_ArgumentValue_in = Core.Name "in"--_ArgumentValue_ref = Core.Name "ref"--_ArgumentValue_out = Core.Name "out"---- | An expression that creates a new array, in any of its three creation-syntax forms.-data ArrayCreationExpression =- ArrayCreationExpressionNonArrayType NonArrayTypeArrayCreationExpression |- ArrayCreationExpressionArrayType ArrayTypeArrayCreationExpression |- ArrayCreationExpressionRankSpecifier RankSpecifierArrayCreationExpression- deriving (Eq, Ord, Read, Show)--_ArrayCreationExpression = Core.Name "hydra.csharp.syntax.ArrayCreationExpression"--_ArrayCreationExpression_nonArrayType = Core.Name "nonArrayType"--_ArrayCreationExpression_arrayType = Core.Name "arrayType"--_ArrayCreationExpression_rankSpecifier = Core.Name "rankSpecifier"---- | A brace-delimited list of variable initializers used to populate an array.-newtype ArrayInitializer =- ArrayInitializer {- unArrayInitializer :: [VariableInitializer]}- deriving (Eq, Ord, Read, Show)--_ArrayInitializer = Core.Name "hydra.csharp.syntax.ArrayInitializer"---- | An array type formed from a non-array element type and one or more rank specifiers.-data ArrayType =- ArrayType {- arrayTypeType :: NonArrayType,- arrayTypeRank :: [RankSpecifier]}- deriving (Eq, Ord, Read, Show)--_ArrayType = Core.Name "hydra.csharp.syntax.ArrayType"--_ArrayType_type = Core.Name "type"--_ArrayType_rank = Core.Name "rank"---- | Array creation using an explicit array type together with an array initializer.-data ArrayTypeArrayCreationExpression =- ArrayTypeArrayCreationExpression {- arrayTypeArrayCreationExpressionType :: ArrayType,- arrayTypeArrayCreationExpressionInitializer :: ArrayInitializer}- deriving (Eq, Ord, Read, Show)--_ArrayTypeArrayCreationExpression = Core.Name "hydra.csharp.syntax.ArrayTypeArrayCreationExpression"--_ArrayTypeArrayCreationExpression_type = Core.Name "type"--_ArrayTypeArrayCreationExpression_initializer = Core.Name "initializer"---- | An 'as' expression that attempts a type conversion, yielding null on failure.-data AsTypeExpression =- AsTypeExpression {- asTypeExpressionExpression :: RelationalExpression,- asTypeExpressionType :: Type}- deriving (Eq, Ord, Read, Show)--_AsTypeExpression = Core.Name "hydra.csharp.syntax.AsTypeExpression"--_AsTypeExpression_expression = Core.Name "expression"--_AsTypeExpression_type = Core.Name "type"---- | An assignment expression: a target, an assignment operator, and a right-hand expression.-data Assignment =- Assignment {- assignmentLeft :: UnaryExpression,- assignmentOperator :: AssignmentOperator,- assignmentRight :: Expression}- deriving (Eq, Ord, Read, Show)--_Assignment = Core.Name "hydra.csharp.syntax.Assignment"--_Assignment_left = Core.Name "left"--_Assignment_operator = Core.Name "operator"--_Assignment_right = Core.Name "right"---- | A member declarator of the form 'name = expression' in an anonymous object creation.-data AssignmentMemberDeclarator =- AssignmentMemberDeclarator {- assignmentMemberDeclaratorIdentifier :: Identifier,- assignmentMemberDeclaratorExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_AssignmentMemberDeclarator = Core.Name "hydra.csharp.syntax.AssignmentMemberDeclarator"--_AssignmentMemberDeclarator_identifier = Core.Name "identifier"--_AssignmentMemberDeclarator_expression = Core.Name "expression"---- | The simple assignment operator or one of the compound assignment operators.-data AssignmentOperator =- AssignmentOperatorSimple Bool |- AssignmentOperatorPlusEquals |- AssignmentOperatorMinusEquals |- AssignmentOperatorTimesEquals |- AssignmentOperatorDivideEquals |- AssignmentOperatorModEquals |- AssignmentOperatorAndEquals |- AssignmentOperatorOrEquals |- AssignmentOperatorXorEquals |- AssignmentOperatorLeftShiftEquals |- AssignmentOperatorRightShiftEquals- deriving (Eq, Ord, Read, Show)--_AssignmentOperator = Core.Name "hydra.csharp.syntax.AssignmentOperator"--_AssignmentOperator_simple = Core.Name "simple"--_AssignmentOperator_plusEquals = Core.Name "plusEquals"--_AssignmentOperator_minusEquals = Core.Name "minusEquals"--_AssignmentOperator_timesEquals = Core.Name "timesEquals"--_AssignmentOperator_divideEquals = Core.Name "divideEquals"--_AssignmentOperator_modEquals = Core.Name "modEquals"--_AssignmentOperator_andEquals = Core.Name "andEquals"--_AssignmentOperator_orEquals = Core.Name "orEquals"--_AssignmentOperator_xorEquals = Core.Name "xorEquals"--_AssignmentOperator_leftShiftEquals = Core.Name "leftShiftEquals"--_AssignmentOperator_rightShiftEquals = Core.Name "rightShiftEquals"---- | A single attribute, consisting of an attribute name and optional constructor/named arguments.-data Attribute =- Attribute {- attributeName :: AttributeName,- attributeArguments :: (Maybe AttributeArguments)}- deriving (Eq, Ord, Read, Show)--_Attribute = Core.Name "hydra.csharp.syntax.Attribute"--_Attribute_name = Core.Name "name"--_Attribute_arguments = Core.Name "arguments"---- | An expression usable as an attribute argument (a compile-time constant expression).-newtype AttributeArgumentExpression =- AttributeArgumentExpression {- unAttributeArgumentExpression :: NonAssignmentExpression}- deriving (Eq, Ord, Read, Show)--_AttributeArgumentExpression = Core.Name "hydra.csharp.syntax.AttributeArgumentExpression"---- | The positional and named argument lists supplied to an attribute.-data AttributeArguments =- AttributeArguments {- attributeArgumentsPositonal :: (Maybe PositionalArgumentList),- attributeArgumentsNamed :: (Maybe NamedArgumentList)}- deriving (Eq, Ord, Read, Show)--_AttributeArguments = Core.Name "hydra.csharp.syntax.AttributeArguments"--_AttributeArguments_positonal = Core.Name "positonal"--_AttributeArguments_named = Core.Name "named"---- | A non-empty, comma-separated list of attributes within a single attribute section.-newtype AttributeList =- AttributeList {- unAttributeList :: [Attribute]}- deriving (Eq, Ord, Read, Show)--_AttributeList = Core.Name "hydra.csharp.syntax.AttributeList"---- | The type name referenced by an attribute, resolved against types ending in the suffix Attribute.-newtype AttributeName =- AttributeName {- unAttributeName :: TypeName}- deriving (Eq, Ord, Read, Show)--_AttributeName = Core.Name "hydra.csharp.syntax.AttributeName"---- | A bracketed attribute section, with an optional target specifier, attached to a declaration.-data AttributeSection =- AttributeSection {- attributeSectionTarget :: (Maybe AttributeTarget),- attributeSectionAttributes :: AttributeList}- deriving (Eq, Ord, Read, Show)--_AttributeSection = Core.Name "hydra.csharp.syntax.AttributeSection"--_AttributeSection_target = Core.Name "target"--_AttributeSection_attributes = Core.Name "attributes"---- | The target specifier of an attribute section (e.g. assembly, module, return, field).-data AttributeTarget =- AttributeTargetIdentifier Identifier |- AttributeTargetKeyword Keyword- deriving (Eq, Ord, Read, Show)--_AttributeTarget = Core.Name "hydra.csharp.syntax.AttributeTarget"--_AttributeTarget_identifier = Core.Name "identifier"--_AttributeTarget_keyword = Core.Name "keyword"---- | A non-empty sequence of attribute sections attached to a single declaration.-newtype Attributes =- Attributes {- unAttributes :: [AttributeSection]}- deriving (Eq, Ord, Read, Show)--_Attributes = Core.Name "hydra.csharp.syntax.Attributes"---- | A 'base' access expression, either invoking a base member or indexing via base[args].-data BaseAccess =- BaseAccessIdentifier BaseAccessWithIdentifier |- BaseAccessArguments ArgumentList- deriving (Eq, Ord, Read, Show)--_BaseAccess = Core.Name "hydra.csharp.syntax.BaseAccess"--_BaseAccess_identifier = Core.Name "identifier"--_BaseAccess_arguments = Core.Name "arguments"---- | A 'base.member' access, with an optional list of type arguments.-data BaseAccessWithIdentifier =- BaseAccessWithIdentifier {- baseAccessWithIdentifierIdentifier :: Identifier,- baseAccessWithIdentifierTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_BaseAccessWithIdentifier = Core.Name "hydra.csharp.syntax.BaseAccessWithIdentifier"--_BaseAccessWithIdentifier_identifier = Core.Name "identifier"--_BaseAccessWithIdentifier_typeArguments = Core.Name "typeArguments"---- | A binary addition or subtraction expression with a left operand, operator, and right operand.-data BinaryAdditiveExpression =- BinaryAdditiveExpression {- binaryAdditiveExpressionLeft :: AdditiveExpression,- binaryAdditiveExpressionOperator :: AdditiveOperator,- binaryAdditiveExpressionRight :: MultiplicativeExpression}- deriving (Eq, Ord, Read, Show)--_BinaryAdditiveExpression = Core.Name "hydra.csharp.syntax.BinaryAdditiveExpression"--_BinaryAdditiveExpression_left = Core.Name "left"--_BinaryAdditiveExpression_operator = Core.Name "operator"--_BinaryAdditiveExpression_right = Core.Name "right"---- | A binary bitwise-AND expression (&) over two operand expressions.-data BinaryAndExpression =- BinaryAndExpression {- binaryAndExpressionLeft :: AndExpression,- binaryAndExpressionRight :: EqualityExpression}- deriving (Eq, Ord, Read, Show)--_BinaryAndExpression = Core.Name "hydra.csharp.syntax.BinaryAndExpression"--_BinaryAndExpression_left = Core.Name "left"--_BinaryAndExpression_right = Core.Name "right"---- | A binary conditional-AND expression (&&) over two operand expressions.-data BinaryConditionalAndExpression =- BinaryConditionalAndExpression {- binaryConditionalAndExpressionLeft :: ConditionalAndExpression,- binaryConditionalAndExpressionRight :: InclusiveOrExpression}- deriving (Eq, Ord, Read, Show)--_BinaryConditionalAndExpression = Core.Name "hydra.csharp.syntax.BinaryConditionalAndExpression"--_BinaryConditionalAndExpression_left = Core.Name "left"--_BinaryConditionalAndExpression_right = Core.Name "right"---- | A binary conditional-OR expression (||) over two operand expressions.-data BinaryConditionalOrExpression =- BinaryConditionalOrExpression {- binaryConditionalOrExpressionLeft :: ConditionalOrExpression,- binaryConditionalOrExpressionRight :: ConditionalAndExpression}- deriving (Eq, Ord, Read, Show)--_BinaryConditionalOrExpression = Core.Name "hydra.csharp.syntax.BinaryConditionalOrExpression"--_BinaryConditionalOrExpression_left = Core.Name "left"--_BinaryConditionalOrExpression_right = Core.Name "right"---- | A binary equality or inequality comparison expression.-data BinaryEqualityExpression =- BinaryEqualityExpression {- binaryEqualityExpressionLeft :: EqualityExpression,- binaryEqualityExpressionOperator :: EqualityOperator,- binaryEqualityExpressionRight :: RelationalExpression}- deriving (Eq, Ord, Read, Show)--_BinaryEqualityExpression = Core.Name "hydra.csharp.syntax.BinaryEqualityExpression"--_BinaryEqualityExpression_left = Core.Name "left"--_BinaryEqualityExpression_operator = Core.Name "operator"--_BinaryEqualityExpression_right = Core.Name "right"---- | A binary bitwise exclusive-OR expression (^) over two operand expressions.-data BinaryExclusiveOrExpression =- BinaryExclusiveOrExpression {- binaryExclusiveOrExpressionLeft :: ExclusiveOrExpression,- binaryExclusiveOrExpressionRight :: AndExpression}- deriving (Eq, Ord, Read, Show)--_BinaryExclusiveOrExpression = Core.Name "hydra.csharp.syntax.BinaryExclusiveOrExpression"--_BinaryExclusiveOrExpression_left = Core.Name "left"--_BinaryExclusiveOrExpression_right = Core.Name "right"---- | A binary bitwise inclusive-OR expression (|) over two operand expressions.-data BinaryInclusiveOrExpression =- BinaryInclusiveOrExpression {- binaryInclusiveOrExpressionLeft :: InclusiveOrExpression,- binaryInclusiveOrExpressionRight :: ExclusiveOrExpression}- deriving (Eq, Ord, Read, Show)--_BinaryInclusiveOrExpression = Core.Name "hydra.csharp.syntax.BinaryInclusiveOrExpression"--_BinaryInclusiveOrExpression_left = Core.Name "left"--_BinaryInclusiveOrExpression_right = Core.Name "right"---- | A binary multiplication, division, or remainder expression.-data BinaryMultiplicativeExpression =- BinaryMultiplicativeExpression {- binaryMultiplicativeExpressionLeft :: MultiplicativeExpression,- binaryMultiplicativeExpressionOperator :: MultiplicativeOperator,- binaryMultiplicativeExpressionRight :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_BinaryMultiplicativeExpression = Core.Name "hydra.csharp.syntax.BinaryMultiplicativeExpression"--_BinaryMultiplicativeExpression_left = Core.Name "left"--_BinaryMultiplicativeExpression_operator = Core.Name "operator"--_BinaryMultiplicativeExpression_right = Core.Name "right"---- | A binary null-coalescing expression (??) over two operand expressions.-data BinaryNullCoalescingExpression =- BinaryNullCoalescingExpression {- binaryNullCoalescingExpressionLeft :: ConditionalOrExpression,- binaryNullCoalescingExpressionRight :: NullCoalescingExpression}- deriving (Eq, Ord, Read, Show)--_BinaryNullCoalescingExpression = Core.Name "hydra.csharp.syntax.BinaryNullCoalescingExpression"--_BinaryNullCoalescingExpression_left = Core.Name "left"--_BinaryNullCoalescingExpression_right = Core.Name "right"---- | The declarator for a user-defined binary operator overload, naming its two parameters.-data BinaryOperatorDeclarator =- BinaryOperatorDeclarator {- binaryOperatorDeclaratorType :: Type,- binaryOperatorDeclaratorOperator :: OverloadableBinaryOperator,- binaryOperatorDeclaratorLeft :: FixedParameter,- binaryOperatorDeclaratorRight :: FixedParameter}- deriving (Eq, Ord, Read, Show)--_BinaryOperatorDeclarator = Core.Name "hydra.csharp.syntax.BinaryOperatorDeclarator"--_BinaryOperatorDeclarator_type = Core.Name "type"--_BinaryOperatorDeclarator_operator = Core.Name "operator"--_BinaryOperatorDeclarator_left = Core.Name "left"--_BinaryOperatorDeclarator_right = Core.Name "right"---- | A binary relational comparison expression (<, >, <=, or >=).-data BinaryRelationalExpression =- BinaryRelationalExpression {- binaryRelationalExpressionLeft :: RelationalExpression,- binaryRelationalExpressionOperator :: RelationalOperator,- binaryRelationalExpressionRight :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_BinaryRelationalExpression = Core.Name "hydra.csharp.syntax.BinaryRelationalExpression"--_BinaryRelationalExpression_left = Core.Name "left"--_BinaryRelationalExpression_operator = Core.Name "operator"--_BinaryRelationalExpression_right = Core.Name "right"---- | A binary left-shift or right-shift expression.-data BinaryShiftExpression =- BinaryShiftExpression {- binaryShiftExpressionLeft :: ShiftExpression,- binaryShiftExpressionOperator :: ShiftOperator,- binaryShiftExpressionRight :: AdditiveExpression}- deriving (Eq, Ord, Read, Show)--_BinaryShiftExpression = Core.Name "hydra.csharp.syntax.BinaryShiftExpression"--_BinaryShiftExpression_left = Core.Name "left"--_BinaryShiftExpression_operator = Core.Name "operator"--_BinaryShiftExpression_right = Core.Name "right"---- | A brace-delimited sequence of statements forming a single compound statement.-newtype Block =- Block {- unBlock :: [Statement]}- deriving (Eq, Ord, Read, Show)--_Block = Core.Name "hydra.csharp.syntax.Block"---- | A property body given as get/set accessor declarations, with an optional initializer.-data BlockPropertyBody =- BlockPropertyBody {- blockPropertyBodyAccessors :: AccessorDeclarations,- blockPropertyBodyInitializer :: (Maybe VariableInitializer)}- deriving (Eq, Ord, Read, Show)--_BlockPropertyBody = Core.Name "hydra.csharp.syntax.BlockPropertyBody"--_BlockPropertyBody_accessors = Core.Name "accessors"--_BlockPropertyBody_initializer = Core.Name "initializer"---- | An expression required to have (or be convertible to) type bool, such as an if condition.-newtype BooleanExpression =- BooleanExpression {- unBooleanExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_BooleanExpression = Core.Name "hydra.csharp.syntax.BooleanExpression"---- | An explicit type-cast expression applied to a unary expression.-data CastExpression =- CastExpression {- castExpressionType :: Type,- castExpressionExpression :: UnaryExpression}- deriving (Eq, Ord, Read, Show)--_CastExpression = Core.Name "hydra.csharp.syntax.CastExpression"--_CastExpression_type = Core.Name "type"--_CastExpression_expression = Core.Name "expression"---- | The catch clauses of a try statement: one or more specific clauses, or a single general clause.-data CatchClauses =- CatchClausesSpecific [SpecificCatchClause] |- CatchClausesGeneral Block- deriving (Eq, Ord, Read, Show)--_CatchClauses = Core.Name "hydra.csharp.syntax.CatchClauses"--_CatchClauses_specific = Core.Name "specific"--_CatchClauses_general = Core.Name "general"---- | The base class and/or implemented interfaces listed in a class declaration's base-list.-data ClassBase =- ClassBaseClass (Maybe ClassType) |- ClassBaseInterfaces [InterfaceType]- deriving (Eq, Ord, Read, Show)--_ClassBase = Core.Name "hydra.csharp.syntax.ClassBase"--_ClassBase_class = Core.Name "class"--_ClassBase_interfaces = Core.Name "interfaces"---- | The brace-delimited sequence of member declarations that make up a class.-newtype ClassBody =- ClassBody {- unClassBody :: [ClassMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_ClassBody = Core.Name "hydra.csharp.syntax.ClassBody"---- | A C# class declaration, including its modifiers, type parameters, base list, and body.-data ClassDeclaration =- ClassDeclaration {- classDeclarationAttributes :: [AttributeSection],- classDeclarationModifiers :: [ClassModifier],- classDeclarationPartial :: Bool,- classDeclarationName :: Identifier,- classDeclarationParameters :: (Maybe TypeParameterList),- classDeclarationBase :: (Maybe ClassBase),- classDeclarationConstraints :: [TypeParameterConstraintsClause],- classDeclarationBody :: ClassBody}- deriving (Eq, Ord, Read, Show)--_ClassDeclaration = Core.Name "hydra.csharp.syntax.ClassDeclaration"--_ClassDeclaration_attributes = Core.Name "attributes"--_ClassDeclaration_modifiers = Core.Name "modifiers"--_ClassDeclaration_partial = Core.Name "partial"--_ClassDeclaration_name = Core.Name "name"--_ClassDeclaration_parameters = Core.Name "parameters"--_ClassDeclaration_base = Core.Name "base"--_ClassDeclaration_constraints = Core.Name "constraints"--_ClassDeclaration_body = Core.Name "body"---- | Any member that can appear in a class body: field, method, property, event, and so on.-data ClassMemberDeclaration =- ClassMemberDeclarationConstant ConstantDeclaration |- ClassMemberDeclarationField FieldDeclaration |- ClassMemberDeclarationMethod MethodDeclaration |- ClassMemberDeclarationProperty PropertyDeclaration |- ClassMemberDeclarationEvent EventDeclaration |- ClassMemberDeclarationIndexer IndexerDeclaration |- ClassMemberDeclarationOperator OperatorDeclaration |- ClassMemberDeclarationConstructor ConstructorDeclaration |- ClassMemberDeclarationFinalizer FinalizerDeclaration |- ClassMemberDeclarationStaticConstructor StaticConstructorDeclaration |- ClassMemberDeclarationType TypeDeclaration- deriving (Eq, Ord, Read, Show)--_ClassMemberDeclaration = Core.Name "hydra.csharp.syntax.ClassMemberDeclaration"--_ClassMemberDeclaration_constant = Core.Name "constant"--_ClassMemberDeclaration_field = Core.Name "field"--_ClassMemberDeclaration_method = Core.Name "method"--_ClassMemberDeclaration_property = Core.Name "property"--_ClassMemberDeclaration_event = Core.Name "event"--_ClassMemberDeclaration_indexer = Core.Name "indexer"--_ClassMemberDeclaration_operator = Core.Name "operator"--_ClassMemberDeclaration_constructor = Core.Name "constructor"--_ClassMemberDeclaration_finalizer = Core.Name "finalizer"--_ClassMemberDeclaration_staticConstructor = Core.Name "staticConstructor"--_ClassMemberDeclaration_type = Core.Name "type"---- | A modifier keyword on a class declaration, such as public, abstract, sealed, or static.-data ClassModifier =- ClassModifierNew |- ClassModifierPublic |- ClassModifierProtected |- ClassModifierInternal |- ClassModifierPrivate |- ClassModifierAbstract |- ClassModifierSealed |- ClassModifierStatic |- ClassModifierUnsafe- deriving (Eq, Ord, Read, Show)--_ClassModifier = Core.Name "hydra.csharp.syntax.ClassModifier"--_ClassModifier_new = Core.Name "new"--_ClassModifier_public = Core.Name "public"--_ClassModifier_protected = Core.Name "protected"--_ClassModifier_internal = Core.Name "internal"--_ClassModifier_private = Core.Name "private"--_ClassModifier_abstract = Core.Name "abstract"--_ClassModifier_sealed = Core.Name "sealed"--_ClassModifier_static = Core.Name "static"--_ClassModifier_unsafe = Core.Name "unsafe"---- | A reference to a class type: a named type, or the predefined 'object' or 'string' types.-data ClassType =- ClassTypeTypeName TypeName |- ClassTypeObject |- ClassTypeString- deriving (Eq, Ord, Read, Show)--_ClassType = Core.Name "hydra.csharp.syntax.ClassType"--_ClassType_typeName = Core.Name "typeName"--_ClassType_object = Core.Name "object"--_ClassType_string = Core.Name "string"---- | The root of a C# source file: extern aliases, using directives, attributes, and type members.-data CompilationUnit =- CompilationUnit {- compilationUnitExterns :: [ExternAliasDirective],- compilationUnitUsings :: [UsingDirective],- compilationUnitAttributes :: [GlobalAttributeSection],- compilationUnitMembers :: [NamespaceMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_CompilationUnit = Core.Name "hydra.csharp.syntax.CompilationUnit"--_CompilationUnit_externs = Core.Name "externs"--_CompilationUnit_usings = Core.Name "usings"--_CompilationUnit_attributes = Core.Name "attributes"--_CompilationUnit_members = Core.Name "members"---- | A simple inclusive-OR expression or a binary conditional-AND (&&) expression.-data ConditionalAndExpression =- ConditionalAndExpressionSimple InclusiveOrExpression |- ConditionalAndExpressionBinary BinaryConditionalAndExpression- deriving (Eq, Ord, Read, Show)--_ConditionalAndExpression = Core.Name "hydra.csharp.syntax.ConditionalAndExpression"--_ConditionalAndExpression_simple = Core.Name "simple"--_ConditionalAndExpression_binary = Core.Name "binary"---- | The ternary conditional expression, in its simple, ref-conditional, or fallthrough forms.-data ConditionalExpression =- ConditionalExpressionSimple NullCoalescingExpression |- ConditionalExpressionSimpleConditional SimpleConditionalExpression |- ConditionalExpressionRefConditional RefConditionalExpression- deriving (Eq, Ord, Read, Show)--_ConditionalExpression = Core.Name "hydra.csharp.syntax.ConditionalExpression"--_ConditionalExpression_simple = Core.Name "simple"--_ConditionalExpression_simpleConditional = Core.Name "simpleConditional"--_ConditionalExpression_refConditional = Core.Name "refConditional"---- | A simple conditional-AND expression or a binary conditional-OR (||) expression.-data ConditionalOrExpression =- ConditionalOrExpressionSimple ConditionalAndExpression |- ConditionalOrExpressionBinary BinaryConditionalOrExpression- deriving (Eq, Ord, Read, Show)--_ConditionalOrExpression = Core.Name "hydra.csharp.syntax.ConditionalOrExpression"--_ConditionalOrExpression_simple = Core.Name "simple"--_ConditionalOrExpression_binary = Core.Name "binary"---- | A 'const' field declaration with its modifiers, type, and one or more declarators.-data ConstantDeclaration =- ConstantDeclaration {- constantDeclarationAttributes :: (Maybe Attributes),- constantDeclarationModifiers :: [ConstantModifier],- constantDeclarationType :: Type,- constantDeclarationDeclarators :: [ConstantDeclarator]}- deriving (Eq, Ord, Read, Show)--_ConstantDeclaration = Core.Name "hydra.csharp.syntax.ConstantDeclaration"--_ConstantDeclaration_attributes = Core.Name "attributes"--_ConstantDeclaration_modifiers = Core.Name "modifiers"--_ConstantDeclaration_type = Core.Name "type"--_ConstantDeclaration_declarators = Core.Name "declarators"---- | A single 'identifier = expression' pair within a constant declaration.-data ConstantDeclarator =- ConstantDeclarator {- constantDeclaratorIdentifier :: Identifier,- constantDeclaratorExpression :: ConstantExpression}- deriving (Eq, Ord, Read, Show)--_ConstantDeclarator = Core.Name "hydra.csharp.syntax.ConstantDeclarator"--_ConstantDeclarator_identifier = Core.Name "identifier"--_ConstantDeclarator_expression = Core.Name "expression"---- | An expression that is required to be evaluable at compile time.-newtype ConstantExpression =- ConstantExpression {- unConstantExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_ConstantExpression = Core.Name "hydra.csharp.syntax.ConstantExpression"---- | An access modifier (new, public, protected, internal, or private) on a constant declaration.-data ConstantModifier =- ConstantModifierNew |- ConstantModifierPublic |- ConstantModifierProtected |- ConstantModifierInternal |- ConstantModifierPrivate- deriving (Eq, Ord, Read, Show)--_ConstantModifier = Core.Name "hydra.csharp.syntax.ConstantModifier"--_ConstantModifier_new = Core.Name "new"--_ConstantModifier_public = Core.Name "public"--_ConstantModifier_protected = Core.Name "protected"--_ConstantModifier_internal = Core.Name "internal"--_ConstantModifier_private = Core.Name "private"---- | The body of an instance constructor: a block, expression body, or empty (extern) body.-data ConstructorBody =- ConstructorBodyBlock Block |- ConstructorBodyExpression Expression |- ConstructorBodyEmpty- deriving (Eq, Ord, Read, Show)--_ConstructorBody = Core.Name "hydra.csharp.syntax.ConstructorBody"--_ConstructorBody_block = Core.Name "block"--_ConstructorBody_expression = Core.Name "expression"--_ConstructorBody_empty = Core.Name "empty"---- | An instance constructor declaration, including its declarator and body.-data ConstructorDeclaration =- ConstructorDeclaration {- constructorDeclarationAttributes :: (Maybe Attributes),- constructorDeclarationModifiers :: [ConstructorModifier],- constructorDeclarationDeclarator :: ConstructorDeclarator,- constructorDeclarationBody :: ConstructorBody}- deriving (Eq, Ord, Read, Show)--_ConstructorDeclaration = Core.Name "hydra.csharp.syntax.ConstructorDeclaration"--_ConstructorDeclaration_attributes = Core.Name "attributes"--_ConstructorDeclaration_modifiers = Core.Name "modifiers"--_ConstructorDeclaration_declarator = Core.Name "declarator"--_ConstructorDeclaration_body = Core.Name "body"---- | A constructor's name, parameter list, and optional base/this initializer.-data ConstructorDeclarator =- ConstructorDeclarator {- constructorDeclaratorName :: Identifier,- constructorDeclaratorParameters :: (Maybe FormalParameterList),- constructorDeclaratorInitializer :: (Maybe ConstructorInitializer)}- deriving (Eq, Ord, Read, Show)--_ConstructorDeclarator = Core.Name "hydra.csharp.syntax.ConstructorDeclarator"--_ConstructorDeclarator_name = Core.Name "name"--_ConstructorDeclarator_parameters = Core.Name "parameters"--_ConstructorDeclarator_initializer = Core.Name "initializer"---- | A ': base(...)' or ': this(...)' initializer invoked before a constructor body runs.-data ConstructorInitializer =- ConstructorInitializerBase (Maybe ArgumentList) |- ConstructorInitializerThis (Maybe ArgumentList)- deriving (Eq, Ord, Read, Show)--_ConstructorInitializer = Core.Name "hydra.csharp.syntax.ConstructorInitializer"--_ConstructorInitializer_base = Core.Name "base"--_ConstructorInitializer_this = Core.Name "this"---- | An access or extern/unsafe modifier on an instance constructor declaration.-data ConstructorModifier =- ConstructorModifierPublic |- ConstructorModifierProtected |- ConstructorModifierInternal |- ConstructorModifierPrivate |- ConstructorModifierExtern |- ConstructorModifierUnsafe- deriving (Eq, Ord, Read, Show)--_ConstructorModifier = Core.Name "hydra.csharp.syntax.ConstructorModifier"--_ConstructorModifier_public = Core.Name "public"--_ConstructorModifier_protected = Core.Name "protected"--_ConstructorModifier_internal = Core.Name "internal"--_ConstructorModifier_private = Core.Name "private"--_ConstructorModifier_extern = Core.Name "extern"--_ConstructorModifier_unsafe = Core.Name "unsafe"---- | Whether a user-defined conversion operator is implicit or explicit.-data ConversionKind =- ConversionKindImplicit |- ConversionKindExplicit- deriving (Eq, Ord, Read, Show)--_ConversionKind = Core.Name "hydra.csharp.syntax.ConversionKind"--_ConversionKind_implicit = Core.Name "implicit"--_ConversionKind_explicit = Core.Name "explicit"---- | The declarator for a user-defined implicit or explicit conversion operator.-data ConversionOperatorDeclarator =- ConversionOperatorDeclarator {- conversionOperatorDeclaratorKind :: ConversionKind,- conversionOperatorDeclaratorType :: Type,- conversionOperatorDeclaratorParameter :: FixedParameter}- deriving (Eq, Ord, Read, Show)--_ConversionOperatorDeclarator = Core.Name "hydra.csharp.syntax.ConversionOperatorDeclarator"--_ConversionOperatorDeclarator_kind = Core.Name "kind"--_ConversionOperatorDeclarator_type = Core.Name "type"--_ConversionOperatorDeclarator_parameter = Core.Name "parameter"---- | An inline variable declaration used as an expression, such as an out-variable declaration.-data DeclarationExpression =- DeclarationExpression {- declarationExpressionType :: LocalVariableType,- declarationExpressionIdentifier :: Identifier}- deriving (Eq, Ord, Read, Show)--_DeclarationExpression = Core.Name "hydra.csharp.syntax.DeclarationExpression"--_DeclarationExpression_type = Core.Name "type"--_DeclarationExpression_identifier = Core.Name "identifier"---- | A pattern that tests an expression's type and, on success, binds it to a designation.-data DeclarationPattern =- DeclarationPattern {- declarationPatternType :: Type,- declarationPatternDesignation :: Designation}- deriving (Eq, Ord, Read, Show)--_DeclarationPattern = Core.Name "hydra.csharp.syntax.DeclarationPattern"--_DeclarationPattern_type = Core.Name "type"--_DeclarationPattern_designation = Core.Name "designation"---- | A local variable, local constant, or local function declaration statement.-data DeclarationStatement =- DeclarationStatementVariable LocalVariableDeclaration |- DeclarationStatementConstant LocalConstantDeclaration |- DeclarationStatementFunction LocalFunctionDeclaration- deriving (Eq, Ord, Read, Show)--_DeclarationStatement = Core.Name "hydra.csharp.syntax.DeclarationStatement"--_DeclarationStatement_variable = Core.Name "variable"--_DeclarationStatement_constant = Core.Name "constant"--_DeclarationStatement_function = Core.Name "function"---- | One element of a deconstruction pattern: a nested tuple or a bound identifier.-data DeconstructionElement =- DeconstructionElementTuple DeconstructionTuple |- DeconstructionElementIdentifier Identifier- deriving (Eq, Ord, Read, Show)--_DeconstructionElement = Core.Name "hydra.csharp.syntax.DeconstructionElement"--_DeconstructionElement_tuple = Core.Name "tuple"--_DeconstructionElement_identifier = Core.Name "identifier"---- | A tuple deconstruction pattern used on the left-hand side of a deconstructing assignment.-newtype DeconstructionTuple =- DeconstructionTuple {- unDeconstructionTuple :: [DeconstructionElement]}- deriving (Eq, Ord, Read, Show)--_DeconstructionTuple = Core.Name "hydra.csharp.syntax.DeconstructionTuple"---- | A 'default(T)' expression, or the type-inferred 'default' literal.-data DefaultValueExpression =- DefaultValueExpressionExplicitlyTyped Type |- DefaultValueExpressionDefaultLiteral- deriving (Eq, Ord, Read, Show)--_DefaultValueExpression = Core.Name "hydra.csharp.syntax.DefaultValueExpression"--_DefaultValueExpression_explicitlyTyped = Core.Name "explicitlyTyped"--_DefaultValueExpression_defaultLiteral = Core.Name "defaultLiteral"---- | An expression that creates a delegate instance from a method group or lambda.-data DelegateCreationExpression =- DelegateCreationExpression {- delegateCreationExpressionType :: DelegateType,- delegateCreationExpressionExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_DelegateCreationExpression = Core.Name "hydra.csharp.syntax.DelegateCreationExpression"--_DelegateCreationExpression_type = Core.Name "type"--_DelegateCreationExpression_expression = Core.Name "expression"---- | A delegate type declaration, naming its return type, ref kind, and parameter list.-data DelegateDeclaration =- DelegateDeclaration {- delegateDeclarationAttributes :: (Maybe Attributes),- delegateDeclarationModifiers :: [DelegateModifier],- delegateDeclarationReturnType :: ReturnType,- delegateDeclarationRefKind :: (Maybe RefKind),- delegateDeclarationRefReturnType :: (Maybe Type),- delegateDeclarationHeader :: DelegateHeader}- deriving (Eq, Ord, Read, Show)--_DelegateDeclaration = Core.Name "hydra.csharp.syntax.DelegateDeclaration"--_DelegateDeclaration_attributes = Core.Name "attributes"--_DelegateDeclaration_modifiers = Core.Name "modifiers"--_DelegateDeclaration_returnType = Core.Name "returnType"--_DelegateDeclaration_refKind = Core.Name "refKind"--_DelegateDeclaration_refReturnType = Core.Name "refReturnType"--_DelegateDeclaration_header = Core.Name "header"---- | The name, type parameters, formal parameters, and constraints of a delegate declaration.-data DelegateHeader =- DelegateHeader {- delegateHeaderName :: Identifier,- delegateHeaderTypeParameters :: (Maybe VariantTypeParameters),- delegateHeaderParameters :: (Maybe FormalParameterList),- delegateHeaderConstraints :: [TypeParameterConstraintsClause]}- deriving (Eq, Ord, Read, Show)--_DelegateHeader = Core.Name "hydra.csharp.syntax.DelegateHeader"--_DelegateHeader_name = Core.Name "name"--_DelegateHeader_typeParameters = Core.Name "typeParameters"--_DelegateHeader_parameters = Core.Name "parameters"--_DelegateHeader_constraints = Core.Name "constraints"---- | An access or unsafe modifier on a delegate type declaration.-data DelegateModifier =- DelegateModifierNew |- DelegateModifierPublic |- DelegateModifierProtected |- DelegateModifierInternal |- DelegateModifierPrivate |- DelegateModifierUnsafe- deriving (Eq, Ord, Read, Show)--_DelegateModifier = Core.Name "hydra.csharp.syntax.DelegateModifier"--_DelegateModifier_new = Core.Name "new"--_DelegateModifier_public = Core.Name "public"--_DelegateModifier_protected = Core.Name "protected"--_DelegateModifier_internal = Core.Name "internal"--_DelegateModifier_private = Core.Name "private"--_DelegateModifier_unsafe = Core.Name "unsafe"---- | A reference to a delegate type by its type name.-newtype DelegateType =- DelegateType {- unDelegateType :: TypeName}- deriving (Eq, Ord, Read, Show)--_DelegateType = Core.Name "hydra.csharp.syntax.DelegateType"---- | A member access, element access, or invocation chained after a null-conditional operator.-data DependentAccess =- DependentAccessMemberAccess DependentAccessForMember |- DependentAccessElementAccess ArgumentList |- DependentAccessInvocation (Maybe ArgumentList)- deriving (Eq, Ord, Read, Show)--_DependentAccess = Core.Name "hydra.csharp.syntax.DependentAccess"--_DependentAccess_memberAccess = Core.Name "memberAccess"--_DependentAccess_elementAccess = Core.Name "elementAccess"--_DependentAccess_invocation = Core.Name "invocation"---- | A member identifier and optional type arguments chained after a null-conditional access.-data DependentAccessForMember =- DependentAccessForMember {- dependentAccessForMemberIdentifier :: Identifier,- dependentAccessForMemberTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_DependentAccessForMember = Core.Name "hydra.csharp.syntax.DependentAccessForMember"--_DependentAccessForMember_identifier = Core.Name "identifier"--_DependentAccessForMember_typeArguments = Core.Name "typeArguments"---- | A simple identifier binding introduced by a pattern, such as in a declaration pattern.-newtype Designation =- Designation {- unDesignation :: Identifier}- deriving (Eq, Ord, Read, Show)--_Designation = Core.Name "hydra.csharp.syntax.Designation"---- | A do-while iteration statement that executes its body at least once.-data DoStatement =- DoStatement {- doStatementBody :: EmbeddedStatement,- doStatementWhile :: BooleanExpression}- deriving (Eq, Ord, Read, Show)--_DoStatement = Core.Name "hydra.csharp.syntax.DoStatement"--_DoStatement_body = Core.Name "body"--_DoStatement_while = Core.Name "while"---- | An indexer access expression applying an argument list to a primary expression.-data ElementAccess =- ElementAccess {- elementAccessExpression :: PrimaryNoArrayCreationExpression,- elementAccessArguments :: ArgumentList}- deriving (Eq, Ord, Read, Show)--_ElementAccess = Core.Name "hydra.csharp.syntax.ElementAccess"--_ElementAccess_expression = Core.Name "expression"--_ElementAccess_arguments = Core.Name "arguments"---- | A single element of a collection initializer: one expression, or a nested element list.-data ElementInitializer =- ElementInitializerSingle NonAssignmentExpression |- ElementInitializerList ExpressionList- deriving (Eq, Ord, Read, Show)--_ElementInitializer = Core.Name "hydra.csharp.syntax.ElementInitializer"--_ElementInitializer_single = Core.Name "single"--_ElementInitializer_list = Core.Name "list"---- | A statement nested inside another statement, excluding labeled and declaration statements.-data EmbeddedStatement =- EmbeddedStatementBlock Block |- EmbeddedStatementEmpty |- EmbeddedStatementExpression StatementExpression |- EmbeddedStatementSelection SelectionStatement |- EmbeddedStatementIteration IterationStatement |- EmbeddedStatementJump JumpStatement |- EmbeddedStatementTry TryStatement |- EmbeddedStatementChecked Block |- EmbeddedStatementUnchecked Block |- EmbeddedStatementLock LockStatement |- EmbeddedStatementUsing UsingStatement |- EmbeddedStatementYield YieldStatement |- EmbeddedStatementUnsafe Block |- EmbeddedStatementFixed FixedStatement- deriving (Eq, Ord, Read, Show)--_EmbeddedStatement = Core.Name "hydra.csharp.syntax.EmbeddedStatement"--_EmbeddedStatement_block = Core.Name "block"--_EmbeddedStatement_empty = Core.Name "empty"--_EmbeddedStatement_expression = Core.Name "expression"--_EmbeddedStatement_selection = Core.Name "selection"--_EmbeddedStatement_iteration = Core.Name "iteration"--_EmbeddedStatement_jump = Core.Name "jump"--_EmbeddedStatement_try = Core.Name "try"--_EmbeddedStatement_checked = Core.Name "checked"--_EmbeddedStatement_unchecked = Core.Name "unchecked"--_EmbeddedStatement_lock = Core.Name "lock"--_EmbeddedStatement_using = Core.Name "using"--_EmbeddedStatement_yield = Core.Name "yield"--_EmbeddedStatement_unsafe = Core.Name "unsafe"--_EmbeddedStatement_fixed = Core.Name "fixed"---- | The optional explicit underlying integral type declared for an enum.-data EnumBase =- EnumBaseType IntegralType |- EnumBaseName TypeName- deriving (Eq, Ord, Read, Show)--_EnumBase = Core.Name "hydra.csharp.syntax.EnumBase"--_EnumBase_type = Core.Name "type"--_EnumBase_name = Core.Name "name"---- | The brace-delimited list of member declarations that make up an enum.-newtype EnumBody =- EnumBody {- unEnumBody :: [EnumMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_EnumBody = Core.Name "hydra.csharp.syntax.EnumBody"---- | An enum type declaration, with its modifiers, name, underlying type, and members.-data EnumDeclaration =- EnumDeclaration {- enumDeclarationAttributes :: (Maybe Attributes),- enumDeclarationModifiers :: [EnumModifier],- enumDeclarationName :: Identifier,- enumDeclarationBase :: (Maybe EnumBase),- enumDeclarationBody :: (Maybe EnumBody)}- deriving (Eq, Ord, Read, Show)--_EnumDeclaration = Core.Name "hydra.csharp.syntax.EnumDeclaration"--_EnumDeclaration_attributes = Core.Name "attributes"--_EnumDeclaration_modifiers = Core.Name "modifiers"--_EnumDeclaration_name = Core.Name "name"--_EnumDeclaration_base = Core.Name "base"--_EnumDeclaration_body = Core.Name "body"---- | A single named enum member, with optional attributes and an explicit constant value.-data EnumMemberDeclaration =- EnumMemberDeclaration {- enumMemberDeclarationAttributes :: (Maybe Attributes),- enumMemberDeclarationName :: Identifier,- enumMemberDeclarationValue :: (Maybe ConstantExpression)}- deriving (Eq, Ord, Read, Show)--_EnumMemberDeclaration = Core.Name "hydra.csharp.syntax.EnumMemberDeclaration"--_EnumMemberDeclaration_attributes = Core.Name "attributes"--_EnumMemberDeclaration_name = Core.Name "name"--_EnumMemberDeclaration_value = Core.Name "value"---- | An access modifier (new, public, protected, internal, or private) on an enum declaration.-data EnumModifier =- EnumModifierNew |- EnumModifierPublic |- EnumModifierProtected |- EnumModifierInternal |- EnumModifierPrivate- deriving (Eq, Ord, Read, Show)--_EnumModifier = Core.Name "hydra.csharp.syntax.EnumModifier"--_EnumModifier_new = Core.Name "new"--_EnumModifier_public = Core.Name "public"--_EnumModifier_protected = Core.Name "protected"--_EnumModifier_internal = Core.Name "internal"--_EnumModifier_private = Core.Name "private"---- | A reference to an enum type by its type name.-newtype EnumType =- EnumType {- unEnumType :: TypeName}- deriving (Eq, Ord, Read, Show)--_EnumType = Core.Name "hydra.csharp.syntax.EnumType"---- | A simple relational expression or a binary equality/inequality expression.-data EqualityExpression =- EqualityExpressionSimple RelationalExpression |- EqualityExpressionBinary BinaryEqualityExpression- deriving (Eq, Ord, Read, Show)--_EqualityExpression = Core.Name "hydra.csharp.syntax.EqualityExpression"--_EqualityExpression_simple = Core.Name "simple"--_EqualityExpression_binary = Core.Name "binary"---- | The equality (==) or inequality (!=) operator.-data EqualityOperator =- EqualityOperatorEqual |- EqualityOperatorNotEqual- deriving (Eq, Ord, Read, Show)--_EqualityOperator = Core.Name "hydra.csharp.syntax.EqualityOperator"--_EqualityOperator_equal = Core.Name "equal"--_EqualityOperator_notEqual = Core.Name "notEqual"---- | The add and remove accessor declarations of an event with an explicit accessor body.-data EventAccessorDeclarations =- EventAccessorDeclarationsAdd AddRemoveAccessorDeclaration |- EventAccessorDeclarationsRemove AddRemoveAccessorDeclaration- deriving (Eq, Ord, Read, Show)--_EventAccessorDeclarations = Core.Name "hydra.csharp.syntax.EventAccessorDeclarations"--_EventAccessorDeclarations_add = Core.Name "add"--_EventAccessorDeclarations_remove = Core.Name "remove"---- | An event member declaration, in either its field-like or explicit-accessor form.-data EventDeclaration =- EventDeclarationStandard StandardEventDeclaration |- EventDeclarationAccessors AccessorsEventDeclaration- deriving (Eq, Ord, Read, Show)--_EventDeclaration = Core.Name "hydra.csharp.syntax.EventDeclaration"--_EventDeclaration_standard = Core.Name "standard"--_EventDeclaration_accessors = Core.Name "accessors"---- | A modifier keyword on an event declaration, such as static, virtual, or override.-data EventModifier =- EventModifierNew |- EventModifierPublic |- EventModifierProtected |- EventModifierInternal |- EventModifierPrivate |- EventModifierStatic |- EventModifierVirtual |- EventModifierSealed |- EventModifierOverride |- EventModifierAbstract |- EventModifierExtern |- EventModifierUnsafe- deriving (Eq, Ord, Read, Show)--_EventModifier = Core.Name "hydra.csharp.syntax.EventModifier"--_EventModifier_new = Core.Name "new"--_EventModifier_public = Core.Name "public"--_EventModifier_protected = Core.Name "protected"--_EventModifier_internal = Core.Name "internal"--_EventModifier_private = Core.Name "private"--_EventModifier_static = Core.Name "static"--_EventModifier_virtual = Core.Name "virtual"--_EventModifier_sealed = Core.Name "sealed"--_EventModifier_override = Core.Name "override"--_EventModifier_abstract = Core.Name "abstract"--_EventModifier_extern = Core.Name "extern"--_EventModifier_unsafe = Core.Name "unsafe"---- | The exception type and optional identifier caught by a specific catch clause.-data ExceptionSpecifier =- ExceptionSpecifier {- exceptionSpecifierType :: Type,- exceptionSpecifierIdentifier :: (Maybe Identifier)}- deriving (Eq, Ord, Read, Show)--_ExceptionSpecifier = Core.Name "hydra.csharp.syntax.ExceptionSpecifier"--_ExceptionSpecifier_type = Core.Name "type"--_ExceptionSpecifier_identifier = Core.Name "identifier"---- | A simple AND expression or a binary bitwise exclusive-OR (^) expression.-data ExclusiveOrExpression =- ExclusiveOrExpressionSimple AndExpression |- ExclusiveOrExpressionBinary BinaryExclusiveOrExpression- deriving (Eq, Ord, Read, Show)--_ExclusiveOrExpression = Core.Name "hydra.csharp.syntax.ExclusiveOrExpression"--_ExclusiveOrExpression_simple = Core.Name "simple"--_ExclusiveOrExpression_binary = Core.Name "binary"---- | An explicitly typed parameter of an anonymous function, with an optional modifier.-data ExplicitAnonymousFunctionParameter =- ExplicitAnonymousFunctionParameter {- explicitAnonymousFunctionParameterModifier :: (Maybe AnonymousFunctionParameterModifier),- explicitAnonymousFunctionParameterType :: Type,- explicitAnonymousFunctionParameterIdentifier :: Identifier}- deriving (Eq, Ord, Read, Show)--_ExplicitAnonymousFunctionParameter = Core.Name "hydra.csharp.syntax.ExplicitAnonymousFunctionParameter"--_ExplicitAnonymousFunctionParameter_modifier = Core.Name "modifier"--_ExplicitAnonymousFunctionParameter_type = Core.Name "type"--_ExplicitAnonymousFunctionParameter_identifier = Core.Name "identifier"---- | A local variable declaration whose type is written out explicitly.-data ExplicitlyTypedLocalVariableDeclaration =- ExplicitlyTypedLocalVariableDeclaration {- explicitlyTypedLocalVariableDeclarationType :: Type,- explicitlyTypedLocalVariableDeclarationDeclarators :: [ExplicitlyTypedLocalVariableDeclarator]}- deriving (Eq, Ord, Read, Show)--_ExplicitlyTypedLocalVariableDeclaration = Core.Name "hydra.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"--_ExplicitlyTypedLocalVariableDeclaration_type = Core.Name "type"--_ExplicitlyTypedLocalVariableDeclaration_declarators = Core.Name "declarators"---- | An identifier and optional initializer within an explicitly typed local declaration.-data ExplicitlyTypedLocalVariableDeclarator =- ExplicitlyTypedLocalVariableDeclarator {- explicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,- explicitlyTypedLocalVariableDeclaratorInitializer :: (Maybe LocalVariableInitializer)}- deriving (Eq, Ord, Read, Show)--_ExplicitlyTypedLocalVariableDeclarator = Core.Name "hydra.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"--_ExplicitlyTypedLocalVariableDeclarator_identifier = Core.Name "identifier"--_ExplicitlyTypedLocalVariableDeclarator_initializer = Core.Name "initializer"---- | A non-assignment expression or an assignment expression.-data Expression =- ExpressionNonAssignment NonAssignmentExpression |- ExpressionAssignment Assignment- deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.csharp.syntax.Expression"--_Expression_nonAssignment = Core.Name "nonAssignment"--_Expression_assignment = Core.Name "assignment"---- | A non-empty, comma-separated list of expressions, as used in an array creation expression.-newtype ExpressionList =- ExpressionList {- unExpressionList :: [Expression]}- deriving (Eq, Ord, Read, Show)--_ExpressionList = Core.Name "hydra.csharp.syntax.ExpressionList"---- | An 'extern alias' directive introducing an alias for an external assembly reference.-newtype ExternAliasDirective =- ExternAliasDirective {- unExternAliasDirective :: Identifier}- deriving (Eq, Ord, Read, Show)--_ExternAliasDirective = Core.Name "hydra.csharp.syntax.ExternAliasDirective"---- | A field member declaration, with its modifiers, type, and one or more variable declarators.-data FieldDeclaration =- FieldDeclaration {- fieldDeclarationAttributes :: (Maybe Attributes),- fieldDeclarationModifiers :: [FieldModifier],- fieldDeclarationType :: Type,- fieldDeclarationDeclarators :: [VariableDeclarator]}- deriving (Eq, Ord, Read, Show)--_FieldDeclaration = Core.Name "hydra.csharp.syntax.FieldDeclaration"--_FieldDeclaration_attributes = Core.Name "attributes"--_FieldDeclaration_modifiers = Core.Name "modifiers"--_FieldDeclaration_type = Core.Name "type"--_FieldDeclaration_declarators = Core.Name "declarators"---- | A modifier keyword on a field declaration, such as static, readonly, or volatile.-data FieldModifier =- FieldModifierNew |- FieldModifierPublic |- FieldModifierProtected |- FieldModifierInternal |- FieldModifierPrivate |- FieldModifierStatic |- FieldModifierReadonly |- FieldModifierVolatile |- FieldModifierUnsafe- deriving (Eq, Ord, Read, Show)--_FieldModifier = Core.Name "hydra.csharp.syntax.FieldModifier"--_FieldModifier_new = Core.Name "new"--_FieldModifier_public = Core.Name "public"--_FieldModifier_protected = Core.Name "protected"--_FieldModifier_internal = Core.Name "internal"--_FieldModifier_private = Core.Name "private"--_FieldModifier_static = Core.Name "static"--_FieldModifier_readonly = Core.Name "readonly"--_FieldModifier_volatile = Core.Name "volatile"--_FieldModifier_unsafe = Core.Name "unsafe"---- | The body of a finalizer: a block, expression body, or empty (extern) body.-data FinalizerBody =- FinalizerBodyBlock Block |- FinalizerBodyExpression Expression |- FinalizerBodyEmpty- deriving (Eq, Ord, Read, Show)--_FinalizerBody = Core.Name "hydra.csharp.syntax.FinalizerBody"--_FinalizerBody_block = Core.Name "block"--_FinalizerBody_expression = Core.Name "expression"--_FinalizerBody_empty = Core.Name "empty"---- | A finalizer (destructor) declaration, with its extern/unsafe flags, name, and body.-data FinalizerDeclaration =- FinalizerDeclaration {- finalizerDeclarationAttributes :: (Maybe Attributes),- finalizerDeclarationExtern :: Bool,- finalizerDeclarationUnsafe :: Bool,- finalizerDeclarationName :: Identifier,- finalizerDeclarationBody :: FinalizerBody}- deriving (Eq, Ord, Read, Show)--_FinalizerDeclaration = Core.Name "hydra.csharp.syntax.FinalizerDeclaration"--_FinalizerDeclaration_attributes = Core.Name "attributes"--_FinalizerDeclaration_extern = Core.Name "extern"--_FinalizerDeclaration_unsafe = Core.Name "unsafe"--_FinalizerDeclaration_name = Core.Name "name"--_FinalizerDeclaration_body = Core.Name "body"---- | A single by-value or by-reference formal parameter, with optional attributes and a default value.-data FixedParameter =- FixedParameter {- fixedParameterAttributes :: (Maybe Attributes),- fixedParameterModifier :: (Maybe ParameterModifier),- fixedParameterType :: Type,- fixedParameterIdentifier :: Identifier,- fixedParameterDefaultArgument :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_FixedParameter = Core.Name "hydra.csharp.syntax.FixedParameter"--_FixedParameter_attributes = Core.Name "attributes"--_FixedParameter_modifier = Core.Name "modifier"--_FixedParameter_type = Core.Name "type"--_FixedParameter_identifier = Core.Name "identifier"--_FixedParameter_defaultArgument = Core.Name "defaultArgument"---- | A single declarator in a fixed statement, binding a pointer to a variable or expression.-data FixedPointerDeclarator =- FixedPointerDeclaratorReference VariableReference |- FixedPointerDeclaratorExpression Expression- deriving (Eq, Ord, Read, Show)--_FixedPointerDeclarator = Core.Name "hydra.csharp.syntax.FixedPointerDeclarator"--_FixedPointerDeclarator_reference = Core.Name "reference"--_FixedPointerDeclarator_expression = Core.Name "expression"---- | An unsafe fixed-size buffer field declaration inside a struct.-data FixedSizeBufferDeclaration =- FixedSizeBufferDeclaration {- fixedSizeBufferDeclarationAttributes :: (Maybe Attributes),- fixedSizeBufferDeclarationModifiers :: [FixedSizeBufferModifier],- fixedSizeBufferDeclarationElementType :: Type,- fixedSizeBufferDeclarationDeclarators :: [FixedSizeBufferDeclarator]}- deriving (Eq, Ord, Read, Show)--_FixedSizeBufferDeclaration = Core.Name "hydra.csharp.syntax.FixedSizeBufferDeclaration"--_FixedSizeBufferDeclaration_attributes = Core.Name "attributes"--_FixedSizeBufferDeclaration_modifiers = Core.Name "modifiers"--_FixedSizeBufferDeclaration_elementType = Core.Name "elementType"--_FixedSizeBufferDeclaration_declarators = Core.Name "declarators"---- | The name and constant size of a single fixed-size buffer member.-data FixedSizeBufferDeclarator =- FixedSizeBufferDeclarator {- fixedSizeBufferDeclaratorName :: Identifier,- fixedSizeBufferDeclaratorSize :: ConstantExpression}- deriving (Eq, Ord, Read, Show)--_FixedSizeBufferDeclarator = Core.Name "hydra.csharp.syntax.FixedSizeBufferDeclarator"--_FixedSizeBufferDeclarator_name = Core.Name "name"--_FixedSizeBufferDeclarator_size = Core.Name "size"---- | An access or unsafe modifier on a fixed-size buffer declaration.-data FixedSizeBufferModifier =- FixedSizeBufferModifierNew |- FixedSizeBufferModifierPublic |- FixedSizeBufferModifierInternal |- FixedSizeBufferModifierPrivate |- FixedSizeBufferModifierUnsafe- deriving (Eq, Ord, Read, Show)--_FixedSizeBufferModifier = Core.Name "hydra.csharp.syntax.FixedSizeBufferModifier"--_FixedSizeBufferModifier_new = Core.Name "new"--_FixedSizeBufferModifier_public = Core.Name "public"--_FixedSizeBufferModifier_internal = Core.Name "internal"--_FixedSizeBufferModifier_private = Core.Name "private"--_FixedSizeBufferModifier_unsafe = Core.Name "unsafe"---- | An unsafe 'fixed' statement that pins one or more variables for pointer access.-data FixedStatement =- FixedStatement {- fixedStatementPointerType :: PointerType,- fixedStatementDeclarators :: [FixedPointerDeclarator],- fixedStatementStatement :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_FixedStatement = Core.Name "hydra.csharp.syntax.FixedStatement"--_FixedStatement_pointerType = Core.Name "pointerType"--_FixedStatement_declarators = Core.Name "declarators"--_FixedStatement_statement = Core.Name "statement"---- | The float or double floating-point numeric type.-data FloatingPointType =- FloatingPointTypeFloat |- FloatingPointTypeDouble- deriving (Eq, Ord, Read, Show)--_FloatingPointType = Core.Name "hydra.csharp.syntax.FloatingPointType"--_FloatingPointType_float = Core.Name "float"--_FloatingPointType_double = Core.Name "double"---- | The initializer clause of a for statement: a local variable declaration or expression list.-data ForInitializer =- ForInitializerVariable LocalVariableDeclaration |- ForInitializerStatements StatementExpressionList- deriving (Eq, Ord, Read, Show)--_ForInitializer = Core.Name "hydra.csharp.syntax.ForInitializer"--_ForInitializer_variable = Core.Name "variable"--_ForInitializer_statements = Core.Name "statements"---- | A C-style for loop, with optional initializer, condition, iterator, and a body statement.-data ForStatement =- ForStatement {- forStatementInitializer :: (Maybe ForInitializer),- forStatementCondition :: (Maybe BooleanExpression),- forStatementIterator :: (Maybe StatementExpressionList),- forStatementBody :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_ForStatement = Core.Name "hydra.csharp.syntax.ForStatement"--_ForStatement_initializer = Core.Name "initializer"--_ForStatement_condition = Core.Name "condition"--_ForStatement_iterator = Core.Name "iterator"--_ForStatement_body = Core.Name "body"---- | A foreach iteration statement over an enumerable expression, binding each element to a variable.-data ForeachStatement =- ForeachStatement {- foreachStatementKind :: (Maybe RefKind),- foreachStatementType :: LocalVariableType,- foreachStatementIdentifier :: Identifier,- foreachStatementExpression :: Expression,- foreachStatementBody :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_ForeachStatement = Core.Name "hydra.csharp.syntax.ForeachStatement"--_ForeachStatement_kind = Core.Name "kind"--_ForeachStatement_type = Core.Name "type"--_ForeachStatement_identifier = Core.Name "identifier"--_ForeachStatement_expression = Core.Name "expression"--_ForeachStatement_body = Core.Name "body"---- | The fixed parameters of a member, plus an optional trailing params array parameter.-data FormalParameterList =- FormalParameterList {- formalParameterListFixed :: [FixedParameter],- formalParameterListArray :: (Maybe ParameterArray)}- deriving (Eq, Ord, Read, Show)--_FormalParameterList = Core.Name "hydra.csharp.syntax.FormalParameterList"--_FormalParameterList_fixed = Core.Name "fixed"--_FormalParameterList_array = Core.Name "array"---- | The initial or additional 'from' clause of a query expression, introducing a range variable.-data FromClause =- FromClause {- fromClauseType :: (Maybe Type),- fromClauseIdentifier :: Identifier,- fromClauseIn :: Expression}- deriving (Eq, Ord, Read, Show)--_FromClause = Core.Name "hydra.csharp.syntax.FromClause"--_FromClause_type = Core.Name "type"--_FromClause_identifier = Core.Name "identifier"--_FromClause_in = Core.Name "in"---- | An assembly- or module-level attribute section appearing at the top of a compilation unit.-data GlobalAttributeSection =- GlobalAttributeSection {- globalAttributeSectionTarget :: Identifier,- globalAttributeSectionAttributes :: AttributeList}- deriving (Eq, Ord, Read, Show)--_GlobalAttributeSection = Core.Name "hydra.csharp.syntax.GlobalAttributeSection"--_GlobalAttributeSection_target = Core.Name "target"--_GlobalAttributeSection_attributes = Core.Name "attributes"---- | A goto statement targeting a label, a switch case, or the switch default section.-data GotoStatement =- GotoStatementIdentifier Identifier |- GotoStatementCase ConstantExpression |- GotoStatementDefault- deriving (Eq, Ord, Read, Show)--_GotoStatement = Core.Name "hydra.csharp.syntax.GotoStatement"--_GotoStatement_identifier = Core.Name "identifier"--_GotoStatement_case = Core.Name "case"--_GotoStatement_default = Core.Name "default"---- | The 'group ... by ...' clause that ends a query expression, producing grouped results.-data GroupClause =- GroupClause {- groupClauseGrouped :: Expression,- groupClauseBy :: Expression}- deriving (Eq, Ord, Read, Show)--_GroupClause = Core.Name "hydra.csharp.syntax.GroupClause"--_GroupClause_grouped = Core.Name "grouped"--_GroupClause_by = Core.Name "by"---- | A C# identifier: a name for a variable, type, member, or other program element.-newtype Identifier =- Identifier {- unIdentifier :: String}- deriving (Eq, Ord, Read, Show)--_Identifier = Core.Name "hydra.csharp.syntax.Identifier"---- | A simple namespace-or-type name consisting of an identifier and optional type arguments.-data IdentifierNamespaceOrTypeName =- IdentifierNamespaceOrTypeName {- identifierNamespaceOrTypeNameIdentifier :: Identifier,- identifierNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_IdentifierNamespaceOrTypeName = Core.Name "hydra.csharp.syntax.IdentifierNamespaceOrTypeName"--_IdentifierNamespaceOrTypeName_identifier = Core.Name "identifier"--_IdentifierNamespaceOrTypeName_arguments = Core.Name "arguments"---- | An if statement with a boolean condition, a then-branch, and an else-branch.-data IfStatement =- IfStatement {- ifStatementCondition :: BooleanExpression,- ifStatementIfBranch :: EmbeddedStatement,- ifStatementElseBranch :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_IfStatement = Core.Name "hydra.csharp.syntax.IfStatement"--_IfStatement_condition = Core.Name "condition"--_IfStatement_ifBranch = Core.Name "ifBranch"--_IfStatement_elseBranch = Core.Name "elseBranch"---- | A local variable declaration using 'var' with inferred type, plain or ref.-data ImplicitlyTypedLocalVariableDeclaration =- ImplicitlyTypedLocalVariableDeclarationVar ImplicitlyTypedLocalVariableDeclarator |- ImplicitlyTypedLocalVariableDeclarationRefVar RefVarImplicitlyTypedLocalVariableDeclaration- deriving (Eq, Ord, Read, Show)--_ImplicitlyTypedLocalVariableDeclaration = Core.Name "hydra.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration"--_ImplicitlyTypedLocalVariableDeclaration_var = Core.Name "var"--_ImplicitlyTypedLocalVariableDeclaration_refVar = Core.Name "refVar"---- | The identifier and initializer expression of a 'var'-typed local variable.-data ImplicitlyTypedLocalVariableDeclarator =- ImplicitlyTypedLocalVariableDeclarator {- implicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,- implicitlyTypedLocalVariableDeclaratorExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_ImplicitlyTypedLocalVariableDeclarator = Core.Name "hydra.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"--_ImplicitlyTypedLocalVariableDeclarator_identifier = Core.Name "identifier"--_ImplicitlyTypedLocalVariableDeclarator_expression = Core.Name "expression"---- | A simple exclusive-OR expression or a binary bitwise inclusive-OR (|) expression.-data InclusiveOrExpression =- InclusiveOrExpressionSimple ExclusiveOrExpression |- InclusiveOrExpressionBinary BinaryInclusiveOrExpression- deriving (Eq, Ord, Read, Show)--_InclusiveOrExpression = Core.Name "hydra.csharp.syntax.InclusiveOrExpression"--_InclusiveOrExpression_simple = Core.Name "simple"--_InclusiveOrExpression_binary = Core.Name "binary"---- | The body of a standard indexer: block accessors or a single expression body.-data IndexerBody =- IndexerBodyBlock AccessorDeclarations |- IndexerBodyExpression Expression- deriving (Eq, Ord, Read, Show)--_IndexerBody = Core.Name "hydra.csharp.syntax.IndexerBody"--_IndexerBody_block = Core.Name "block"--_IndexerBody_expression = Core.Name "expression"---- | An indexer member declaration, in its standard or ref-returning form.-data IndexerDeclaration =- IndexerDeclarationStandard StandardIndexerDeclaration |- IndexerDeclarationRef RefIndexerDeclaration- deriving (Eq, Ord, Read, Show)--_IndexerDeclaration = Core.Name "hydra.csharp.syntax.IndexerDeclaration"--_IndexerDeclaration_standard = Core.Name "standard"--_IndexerDeclaration_ref = Core.Name "ref"---- | An indexer's declared type, optional explicit interface, and formal parameter list.-data IndexerDeclarator =- IndexerDeclarator {- indexerDeclaratorType :: Type,- indexerDeclaratorInterface :: (Maybe InterfaceType),- indexerDeclaratorParameters :: FormalParameterList}- deriving (Eq, Ord, Read, Show)--_IndexerDeclarator = Core.Name "hydra.csharp.syntax.IndexerDeclarator"--_IndexerDeclarator_type = Core.Name "type"--_IndexerDeclarator_interface = Core.Name "interface"--_IndexerDeclarator_parameters = Core.Name "parameters"---- | A modifier keyword on an indexer declaration, such as virtual, override, or abstract.-data IndexerModifier =- IndexerModifierNew |- IndexerModifierPublic |- IndexerModifierProtected |- IndexerModifierInternal |- IndexerModifierPrivate |- IndexerModifierVirtual |- IndexerModifierSealed |- IndexerModifierOverride |- IndexerModifierAbstract |- IndexerModifierExtern |- IndexerModifierUnsafe- deriving (Eq, Ord, Read, Show)--_IndexerModifier = Core.Name "hydra.csharp.syntax.IndexerModifier"--_IndexerModifier_new = Core.Name "new"--_IndexerModifier_public = Core.Name "public"--_IndexerModifier_protected = Core.Name "protected"--_IndexerModifier_internal = Core.Name "internal"--_IndexerModifier_private = Core.Name "private"--_IndexerModifier_virtual = Core.Name "virtual"--_IndexerModifier_sealed = Core.Name "sealed"--_IndexerModifier_override = Core.Name "override"--_IndexerModifier_abstract = Core.Name "abstract"--_IndexerModifier_extern = Core.Name "extern"--_IndexerModifier_unsafe = Core.Name "unsafe"---- | The left-hand side of a member initializer: an identifier or an indexer argument list.-data InitializerTarget =- InitializerTargetIdentifier Identifier |- InitializerTargetArguments ArgumentList- deriving (Eq, Ord, Read, Show)--_InitializerTarget = Core.Name "hydra.csharp.syntax.InitializerTarget"--_InitializerTarget_identifier = Core.Name "identifier"--_InitializerTarget_arguments = Core.Name "arguments"---- | The right-hand side of a member initializer: an expression or a nested collection initializer.-data InitializerValue =- InitializerValueExpression Expression |- InitializerValueObjectOrCollection ObjectOrCollectionInitializer- deriving (Eq, Ord, Read, Show)--_InitializerValue = Core.Name "hydra.csharp.syntax.InitializerValue"--_InitializerValue_expression = Core.Name "expression"--_InitializerValue_objectOrCollection = Core.Name "objectOrCollection"---- | An integer literal, expressed in decimal, hexadecimal, or binary notation.-data IntegerLiteral =- IntegerLiteralDecimal String |- IntegerLiteralHexadecimal String |- IntegerLiteralBinary Integer- deriving (Eq, Ord, Read, Show)--_IntegerLiteral = Core.Name "hydra.csharp.syntax.IntegerLiteral"--_IntegerLiteral_decimal = Core.Name "decimal"--_IntegerLiteral_hexadecimal = Core.Name "hexadecimal"--_IntegerLiteral_binary = Core.Name "binary"---- | One of the built-in integral numeric types (sbyte through char).-data IntegralType =- IntegralTypeSbyte |- IntegralTypeByte |- IntegralTypeShort |- IntegralTypeUshort |- IntegralTypeInt |- IntegralTypeUint |- IntegralTypeLong |- IntegralTypeUlong |- IntegralTypeChar- deriving (Eq, Ord, Read, Show)--_IntegralType = Core.Name "hydra.csharp.syntax.IntegralType"--_IntegralType_sbyte = Core.Name "sbyte"--_IntegralType_byte = Core.Name "byte"--_IntegralType_short = Core.Name "short"--_IntegralType_ushort = Core.Name "ushort"--_IntegralType_int = Core.Name "int"--_IntegralType_uint = Core.Name "uint"--_IntegralType_long = Core.Name "long"--_IntegralType_ulong = Core.Name "ulong"--_IntegralType_char = Core.Name "char"---- | The get and/or set accessor attribute lists declared by an interface property or indexer.-data InterfaceAccessors =- InterfaceAccessors {- interfaceAccessorsAttributes :: (Maybe Attributes),- interfaceAccessorsGet :: (Maybe Attributes),- interfaceAccessorsSet :: (Maybe Attributes)}- deriving (Eq, Ord, Read, Show)--_InterfaceAccessors = Core.Name "hydra.csharp.syntax.InterfaceAccessors"--_InterfaceAccessors_attributes = Core.Name "attributes"--_InterfaceAccessors_get = Core.Name "get"--_InterfaceAccessors_set = Core.Name "set"---- | An interface type declaration, with its modifiers, type parameters, base interfaces, and members.-data InterfaceDeclaration =- InterfaceDeclaration {- interfaceDeclarationAttributes :: (Maybe Attributes),- interfaceDeclarationModifiers :: [InterfaceModifier],- interfaceDeclarationPartial :: Bool,- interfaceDeclarationName :: Identifier,- interfaceDeclarationParameters :: (Maybe VariantTypeParameters),- interfaceDeclarationBase :: [InterfaceType],- interfaceDeclarationConstraints :: [TypeParameterConstraintsClause],- interfaceDeclarationBody :: [InterfaceMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_InterfaceDeclaration = Core.Name "hydra.csharp.syntax.InterfaceDeclaration"--_InterfaceDeclaration_attributes = Core.Name "attributes"--_InterfaceDeclaration_modifiers = Core.Name "modifiers"--_InterfaceDeclaration_partial = Core.Name "partial"--_InterfaceDeclaration_name = Core.Name "name"--_InterfaceDeclaration_parameters = Core.Name "parameters"--_InterfaceDeclaration_base = Core.Name "base"--_InterfaceDeclaration_constraints = Core.Name "constraints"--_InterfaceDeclaration_body = Core.Name "body"---- | An event member declared within an interface body.-data InterfaceEventDeclaration =- InterfaceEventDeclaration {- interfaceEventDeclarationAttributes :: (Maybe Attributes),- interfaceEventDeclarationNew :: Bool,- interfaceEventDeclarationType :: Type,- interfaceEventDeclarationName :: Identifier}- deriving (Eq, Ord, Read, Show)--_InterfaceEventDeclaration = Core.Name "hydra.csharp.syntax.InterfaceEventDeclaration"--_InterfaceEventDeclaration_attributes = Core.Name "attributes"--_InterfaceEventDeclaration_new = Core.Name "new"--_InterfaceEventDeclaration_type = Core.Name "type"--_InterfaceEventDeclaration_name = Core.Name "name"---- | An indexer member declared within an interface body.-data InterfaceIndexerDeclaration =- InterfaceIndexerDeclaration {- interfaceIndexerDeclarationAttributes :: (Maybe Attributes),- interfaceIndexerDeclarationNew :: Bool,- interfaceIndexerDeclarationRefKind :: (Maybe RefKind),- interfaceIndexerDeclarationType :: Type,- interfaceIndexerDeclarationParameters :: FormalParameterList,- interfaceIndexerDeclarationAccessors :: InterfaceAccessors}- deriving (Eq, Ord, Read, Show)--_InterfaceIndexerDeclaration = Core.Name "hydra.csharp.syntax.InterfaceIndexerDeclaration"--_InterfaceIndexerDeclaration_attributes = Core.Name "attributes"--_InterfaceIndexerDeclaration_new = Core.Name "new"--_InterfaceIndexerDeclaration_refKind = Core.Name "refKind"--_InterfaceIndexerDeclaration_type = Core.Name "type"--_InterfaceIndexerDeclaration_parameters = Core.Name "parameters"--_InterfaceIndexerDeclaration_accessors = Core.Name "accessors"---- | Any member that can appear in an interface body: method, property, event, or indexer.-data InterfaceMemberDeclaration =- InterfaceMemberDeclarationMethod InterfaceMethodDeclaration |- InterfaceMemberDeclarationProperty InterfacePropertyDeclaration |- InterfaceMemberDeclarationEvent InterfaceEventDeclaration |- InterfaceMemberDeclarationIndexer InterfaceIndexerDeclaration- deriving (Eq, Ord, Read, Show)--_InterfaceMemberDeclaration = Core.Name "hydra.csharp.syntax.InterfaceMemberDeclaration"--_InterfaceMemberDeclaration_method = Core.Name "method"--_InterfaceMemberDeclaration_property = Core.Name "property"--_InterfaceMemberDeclaration_event = Core.Name "event"--_InterfaceMemberDeclaration_indexer = Core.Name "indexer"---- | A method member declared within an interface body.-data InterfaceMethodDeclaration =- InterfaceMethodDeclaration {- interfaceMethodDeclarationAttributes :: (Maybe Attributes),- interfaceMethodDeclarationNew :: Bool,- interfaceMethodDeclarationReturnType :: ReturnType,- interfaceMethodDeclarationRefKind :: (Maybe RefKind),- interfaceMethodDeclarationHeader :: InterfaceMethodHeader}- deriving (Eq, Ord, Read, Show)--_InterfaceMethodDeclaration = Core.Name "hydra.csharp.syntax.InterfaceMethodDeclaration"--_InterfaceMethodDeclaration_attributes = Core.Name "attributes"--_InterfaceMethodDeclaration_new = Core.Name "new"--_InterfaceMethodDeclaration_returnType = Core.Name "returnType"--_InterfaceMethodDeclaration_refKind = Core.Name "refKind"--_InterfaceMethodDeclaration_header = Core.Name "header"---- | The name, parameters, type parameters, and constraints of an interface method declaration.-data InterfaceMethodHeader =- InterfaceMethodHeader {- interfaceMethodHeaderName :: Identifier,- interfaceMethodHeaderParameters :: (Maybe FormalParameterList),- interfaceMethodHeaderTypeParameters :: (Maybe TypeParameterList),- interfaceMethodHeaderConstraints :: [TypeParameterConstraintsClause]}- deriving (Eq, Ord, Read, Show)--_InterfaceMethodHeader = Core.Name "hydra.csharp.syntax.InterfaceMethodHeader"--_InterfaceMethodHeader_name = Core.Name "name"--_InterfaceMethodHeader_parameters = Core.Name "parameters"--_InterfaceMethodHeader_typeParameters = Core.Name "typeParameters"--_InterfaceMethodHeader_constraints = Core.Name "constraints"---- | An access or unsafe modifier on an interface declaration.-data InterfaceModifier =- InterfaceModifierNew |- InterfaceModifierPublic |- InterfaceModifierProtected |- InterfaceModifierInternal |- InterfaceModifierPrivate |- InterfaceModifierUnsafe- deriving (Eq, Ord, Read, Show)--_InterfaceModifier = Core.Name "hydra.csharp.syntax.InterfaceModifier"--_InterfaceModifier_new = Core.Name "new"--_InterfaceModifier_public = Core.Name "public"--_InterfaceModifier_protected = Core.Name "protected"--_InterfaceModifier_internal = Core.Name "internal"--_InterfaceModifier_private = Core.Name "private"--_InterfaceModifier_unsafe = Core.Name "unsafe"---- | A property member declared within an interface body.-data InterfacePropertyDeclaration =- InterfacePropertyDeclaration {- interfacePropertyDeclarationAttributes :: (Maybe Attributes),- interfacePropertyDeclarationNew :: Bool,- interfacePropertyDeclarationRefKind :: (Maybe RefKind),- interfacePropertyDeclarationType :: Type,- interfacePropertyDeclarationName :: Identifier,- interfacePropertyDeclarationAccessors :: InterfaceAccessors}- deriving (Eq, Ord, Read, Show)--_InterfacePropertyDeclaration = Core.Name "hydra.csharp.syntax.InterfacePropertyDeclaration"--_InterfacePropertyDeclaration_attributes = Core.Name "attributes"--_InterfacePropertyDeclaration_new = Core.Name "new"--_InterfacePropertyDeclaration_refKind = Core.Name "refKind"--_InterfacePropertyDeclaration_type = Core.Name "type"--_InterfacePropertyDeclaration_name = Core.Name "name"--_InterfacePropertyDeclaration_accessors = Core.Name "accessors"---- | A reference to an interface type by its type name.-newtype InterfaceType =- InterfaceType {- unInterfaceType :: TypeName}- deriving (Eq, Ord, Read, Show)--_InterfaceType = Core.Name "hydra.csharp.syntax.InterfaceType"---- | An interpolated string literal delimited by ordinary double quotes.-newtype InterpolatedRegularStringExpression =- InterpolatedRegularStringExpression {- unInterpolatedRegularStringExpression :: String}- deriving (Eq, Ord, Read, Show)--_InterpolatedRegularStringExpression = Core.Name "hydra.csharp.syntax.InterpolatedRegularStringExpression"---- | An interpolated string expression, in its regular or verbatim quoting form.-data InterpolatedStringExpression =- InterpolatedStringExpressionRegular InterpolatedRegularStringExpression |- InterpolatedStringExpressionVerbatim InterpolatedVerbatimStringExpression- deriving (Eq, Ord, Read, Show)--_InterpolatedStringExpression = Core.Name "hydra.csharp.syntax.InterpolatedStringExpression"--_InterpolatedStringExpression_regular = Core.Name "regular"--_InterpolatedStringExpression_verbatim = Core.Name "verbatim"---- | An interpolated string literal using verbatim, at-sign-prefixed quoting.-newtype InterpolatedVerbatimStringExpression =- InterpolatedVerbatimStringExpression {- unInterpolatedVerbatimStringExpression :: String}- deriving (Eq, Ord, Read, Show)--_InterpolatedVerbatimStringExpression = Core.Name "hydra.csharp.syntax.InterpolatedVerbatimStringExpression"---- | A method or delegate invocation: a primary expression applied to an argument list.-data InvocationExpression =- InvocationExpression {- invocationExpressionExpression :: PrimaryExpression,- invocationExpressionArguments :: (Maybe ArgumentList)}- deriving (Eq, Ord, Read, Show)--_InvocationExpression = Core.Name "hydra.csharp.syntax.InvocationExpression"--_InvocationExpression_expression = Core.Name "expression"--_InvocationExpression_arguments = Core.Name "arguments"---- | An 'is' pattern-matching expression testing a relational expression against a pattern.-data IsPatternExpression =- IsPatternExpression {- isPatternExpressionExpression :: RelationalExpression,- isPatternExpressionPattern :: Pattern}- deriving (Eq, Ord, Read, Show)--_IsPatternExpression = Core.Name "hydra.csharp.syntax.IsPatternExpression"--_IsPatternExpression_expression = Core.Name "expression"--_IsPatternExpression_pattern = Core.Name "pattern"---- | An 'is' type-testing expression checking whether an expression is of a given type.-data IsTypeExpression =- IsTypeExpression {- isTypeExpressionExpression :: RelationalExpression,- isTypeExpressionType :: Type}- deriving (Eq, Ord, Read, Show)--_IsTypeExpression = Core.Name "hydra.csharp.syntax.IsTypeExpression"--_IsTypeExpression_expression = Core.Name "expression"--_IsTypeExpression_type = Core.Name "type"---- | A while, do, for, or foreach loop statement.-data IterationStatement =- IterationStatementWhile WhileStatement |- IterationStatementDo DoStatement |- IterationStatementFor ForStatement |- IterationStatementForeach ForeachStatement- deriving (Eq, Ord, Read, Show)--_IterationStatement = Core.Name "hydra.csharp.syntax.IterationStatement"--_IterationStatement_while = Core.Name "while"--_IterationStatement_do = Core.Name "do"--_IterationStatement_for = Core.Name "for"--_IterationStatement_foreach = Core.Name "foreach"---- | A 'join' clause in a query expression, correlating two sequences on matching keys.-data JoinClause =- JoinClause {- joinClauseType :: (Maybe Type),- joinClauseIdentifier :: Identifier,- joinClauseIn :: Expression,- joinClauseOn :: Expression,- joinClauseEquals :: Expression,- joinClauseInto :: (Maybe Identifier)}- deriving (Eq, Ord, Read, Show)--_JoinClause = Core.Name "hydra.csharp.syntax.JoinClause"--_JoinClause_type = Core.Name "type"--_JoinClause_identifier = Core.Name "identifier"--_JoinClause_in = Core.Name "in"--_JoinClause_on = Core.Name "on"--_JoinClause_equals = Core.Name "equals"--_JoinClause_into = Core.Name "into"---- | A break, continue, goto, return, or throw statement that transfers control.-data JumpStatement =- JumpStatementBreak |- JumpStatementContinue |- JumpStatementGoto GotoStatement |- JumpStatementReturn ReturnStatement |- JumpStatementThrow (Maybe Expression)- deriving (Eq, Ord, Read, Show)--_JumpStatement = Core.Name "hydra.csharp.syntax.JumpStatement"--_JumpStatement_break = Core.Name "break"--_JumpStatement_continue = Core.Name "continue"--_JumpStatement_goto = Core.Name "goto"--_JumpStatement_return = Core.Name "return"--_JumpStatement_throw = Core.Name "throw"---- | A reserved C# keyword.-newtype Keyword =- Keyword {- unKeyword :: String}- deriving (Eq, Ord, Read, Show)--_Keyword = Core.Name "hydra.csharp.syntax.Keyword"---- | A statement prefixed with a label, usable as the target of a goto statement.-data LabeledStatement =- LabeledStatement {- labeledStatementLabel :: Identifier,- labeledStatementStatement :: Statement}- deriving (Eq, Ord, Read, Show)--_LabeledStatement = Core.Name "hydra.csharp.syntax.LabeledStatement"--_LabeledStatement_label = Core.Name "label"--_LabeledStatement_statement = Core.Name "statement"---- | A lambda expression, with its async flag, parameter signature, and body.-data LambdaExpression =- LambdaExpression {- lambdaExpressionAsync :: Bool,- lambdaExpressionSignature :: AnonymousFunctionSignature,- lambdaExpressionBody :: AnonymousFunctionBody}- deriving (Eq, Ord, Read, Show)--_LambdaExpression = Core.Name "hydra.csharp.syntax.LambdaExpression"--_LambdaExpression_async = Core.Name "async"--_LambdaExpression_signature = Core.Name "signature"--_LambdaExpression_body = Core.Name "body"---- | A 'let' clause in a query expression that introduces a computed range variable.-data LetClause =- LetClause {- letClauseLeft :: Identifier,- letClauseRight :: Expression}- deriving (Eq, Ord, Read, Show)--_LetClause = Core.Name "hydra.csharp.syntax.LetClause"--_LetClause_left = Core.Name "left"--_LetClause_right = Core.Name "right"---- | A literal value: boolean, integer, real, character, string, or null.-data Literal =- LiteralBoolean Bool |- LiteralInteger IntegerLiteral |- LiteralReal Double |- LiteralCharacter String |- LiteralString String |- LiteralNull- deriving (Eq, Ord, Read, Show)--_Literal = Core.Name "hydra.csharp.syntax.Literal"--_Literal_boolean = Core.Name "boolean"--_Literal_integer = Core.Name "integer"--_Literal_real = Core.Name "real"--_Literal_character = Core.Name "character"--_Literal_string = Core.Name "string"--_Literal_null = Core.Name "null"---- | A 'const' local declaration with its type and one or more constant declarators.-data LocalConstantDeclaration =- LocalConstantDeclaration {- localConstantDeclarationType :: Type,- localConstantDeclarationDeclarators :: [ConstantDeclarator]}- deriving (Eq, Ord, Read, Show)--_LocalConstantDeclaration = Core.Name "hydra.csharp.syntax.LocalConstantDeclaration"--_LocalConstantDeclaration_type = Core.Name "type"--_LocalConstantDeclaration_declarators = Core.Name "declarators"---- | The body of a local function: a block, null-conditional invocation, or expression.-data LocalFunctionBody =- LocalFunctionBodyBlock Block |- LocalFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |- LocalFunctionBodyExpression Expression- deriving (Eq, Ord, Read, Show)--_LocalFunctionBody = Core.Name "hydra.csharp.syntax.LocalFunctionBody"--_LocalFunctionBody_block = Core.Name "block"--_LocalFunctionBody_nullConditionalInvocation = Core.Name "nullConditionalInvocation"--_LocalFunctionBody_expression = Core.Name "expression"---- | A local function declaration, in its standard or ref-returning form.-data LocalFunctionDeclaration =- LocalFunctionDeclarationStandard StandardLocalFunctionDeclaration |- LocalFunctionDeclarationRef RefLocalFunctionDeclaration- deriving (Eq, Ord, Read, Show)--_LocalFunctionDeclaration = Core.Name "hydra.csharp.syntax.LocalFunctionDeclaration"--_LocalFunctionDeclaration_standard = Core.Name "standard"--_LocalFunctionDeclaration_ref = Core.Name "ref"---- | The name, type parameters, formal parameters, and constraints of a local function.-data LocalFunctionHeader =- LocalFunctionHeader {- localFunctionHeaderIdentifier :: Identifier,- localFunctionHeaderTypeParameters :: (Maybe TypeParameterList),- localFunctionHeaderParameters :: FormalParameterList,- localFunctionHeaderConstraints :: [TypeParameterConstraintsClause]}- deriving (Eq, Ord, Read, Show)--_LocalFunctionHeader = Core.Name "hydra.csharp.syntax.LocalFunctionHeader"--_LocalFunctionHeader_identifier = Core.Name "identifier"--_LocalFunctionHeader_typeParameters = Core.Name "typeParameters"--_LocalFunctionHeader_parameters = Core.Name "parameters"--_LocalFunctionHeader_constraints = Core.Name "constraints"---- | A modifier on a local function declaration: a ref modifier, or 'async'.-data LocalFunctionModifier =- LocalFunctionModifierRef RefLocalFunctionModifier |- LocalFunctionModifierAsync- deriving (Eq, Ord, Read, Show)--_LocalFunctionModifier = Core.Name "hydra.csharp.syntax.LocalFunctionModifier"--_LocalFunctionModifier_ref = Core.Name "ref"--_LocalFunctionModifier_async = Core.Name "async"---- | A local variable declaration, in its implicitly typed, explicitly typed, or ref form.-data LocalVariableDeclaration =- LocalVariableDeclarationImplicitlyTyped ImplicitlyTypedLocalVariableDeclaration |- LocalVariableDeclarationExplicitlyTyped ExplicitlyTypedLocalVariableDeclaration |- LocalVariableDeclarationRef RefLocalVariableDeclaration- deriving (Eq, Ord, Read, Show)--_LocalVariableDeclaration = Core.Name "hydra.csharp.syntax.LocalVariableDeclaration"--_LocalVariableDeclaration_implicitlyTyped = Core.Name "implicitlyTyped"--_LocalVariableDeclaration_explicitlyTyped = Core.Name "explicitlyTyped"--_LocalVariableDeclaration_ref = Core.Name "ref"---- | The initializer of a local variable: an expression or an array initializer.-data LocalVariableInitializer =- LocalVariableInitializerExpression Expression |- LocalVariableInitializerInitializer ArrayInitializer- deriving (Eq, Ord, Read, Show)--_LocalVariableInitializer = Core.Name "hydra.csharp.syntax.LocalVariableInitializer"--_LocalVariableInitializer_expression = Core.Name "expression"--_LocalVariableInitializer_initializer = Core.Name "initializer"---- | The declared type of a local variable, or 'var' for implicit typing.-data LocalVariableType =- LocalVariableTypeType Type |- LocalVariableTypeVar- deriving (Eq, Ord, Read, Show)--_LocalVariableType = Core.Name "hydra.csharp.syntax.LocalVariableType"--_LocalVariableType_type = Core.Name "type"--_LocalVariableType_var = Core.Name "var"---- | A 'lock' statement that acquires a mutual-exclusion lock for the duration of its body.-data LockStatement =- LockStatement {- lockStatementExpression :: Expression,- lockStatementBody :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_LockStatement = Core.Name "hydra.csharp.syntax.LockStatement"--_LockStatement_expression = Core.Name "expression"--_LockStatement_body = Core.Name "body"---- | A 'primary.identifier' member access, with optional explicit type arguments.-data MemberAccess =- MemberAccess {- memberAccessHead :: MemberAccessHead,- memberAccessIdentifier :: Identifier,- memberAccessTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_MemberAccess = Core.Name "hydra.csharp.syntax.MemberAccess"--_MemberAccess_head = Core.Name "head"--_MemberAccess_identifier = Core.Name "identifier"--_MemberAccess_typeArguments = Core.Name "typeArguments"---- | The left-hand target of a member access: a primary expression, predefined type, or alias.-data MemberAccessHead =- MemberAccessHeadPrimary PrimaryExpression |- MemberAccessHeadPredefined PredefinedType |- MemberAccessHeadQualifiedAlias QualifiedAliasMember- deriving (Eq, Ord, Read, Show)--_MemberAccessHead = Core.Name "hydra.csharp.syntax.MemberAccessHead"--_MemberAccessHead_primary = Core.Name "primary"--_MemberAccessHead_predefined = Core.Name "predefined"--_MemberAccessHead_qualifiedAlias = Core.Name "qualifiedAlias"---- | A single member of an anonymous object initializer, naming or computing a member value.-data MemberDeclarator =- MemberDeclaratorName SimpleName |- MemberDeclaratorMemberAccess MemberAccess |- MemberDeclaratorNullConditionalProjectionInitializer NullConditionalProjectionInitializer |- MemberDeclaratorBaseAccess BaseAccess |- MemberDeclaratorAssignment AssignmentMemberDeclarator- deriving (Eq, Ord, Read, Show)--_MemberDeclarator = Core.Name "hydra.csharp.syntax.MemberDeclarator"--_MemberDeclarator_name = Core.Name "name"--_MemberDeclarator_memberAccess = Core.Name "memberAccess"--_MemberDeclarator_nullConditionalProjectionInitializer = Core.Name "nullConditionalProjectionInitializer"--_MemberDeclarator_baseAccess = Core.Name "baseAccess"--_MemberDeclarator_assignment = Core.Name "assignment"---- | A non-empty, comma-separated list of member declarators in an anonymous object creation.-newtype MemberDeclaratorList =- MemberDeclaratorList {- unMemberDeclaratorList :: [MemberDeclarator]}- deriving (Eq, Ord, Read, Show)--_MemberDeclaratorList = Core.Name "hydra.csharp.syntax.MemberDeclaratorList"---- | A 'target = value' pair within an object initializer.-data MemberInitializer =- MemberInitializer {- memberInitializerTarget :: InitializerTarget,- memberInitializerValue :: InitializerValue}- deriving (Eq, Ord, Read, Show)--_MemberInitializer = Core.Name "hydra.csharp.syntax.MemberInitializer"--_MemberInitializer_target = Core.Name "target"--_MemberInitializer_value = Core.Name "value"---- | A member's declared name, with an optional explicit interface type qualifier.-data MemberName =- MemberName {- memberNameInterfaceType :: (Maybe TypeName),- memberNameIdentifier :: Identifier}- deriving (Eq, Ord, Read, Show)--_MemberName = Core.Name "hydra.csharp.syntax.MemberName"--_MemberName_interfaceType = Core.Name "interfaceType"--_MemberName_identifier = Core.Name "identifier"---- | The body of a standard method: a block, null-conditional invocation, expression, or empty.-data MethodBody =- MethodBodyBlock Block |- MethodBodyNullConditionalInvocation NullConditionalInvocationExpression |- MethodBodyExpression Expression |- MethodBodyEmpty- deriving (Eq, Ord, Read, Show)--_MethodBody = Core.Name "hydra.csharp.syntax.MethodBody"--_MethodBody_block = Core.Name "block"--_MethodBody_nullConditionalInvocation = Core.Name "nullConditionalInvocation"--_MethodBody_expression = Core.Name "expression"--_MethodBody_empty = Core.Name "empty"---- | A method member declaration, in its standard or ref-returning form.-data MethodDeclaration =- MethodDeclarationStandard StandardMethodDeclaration |- MethodDeclarationRefReturn RefReturnMethodDeclaration- deriving (Eq, Ord, Read, Show)--_MethodDeclaration = Core.Name "hydra.csharp.syntax.MethodDeclaration"--_MethodDeclaration_standard = Core.Name "standard"--_MethodDeclaration_refReturn = Core.Name "refReturn"---- | The name, type parameters, formal parameters, and constraints of a method declaration.-data MethodHeader =- MethodHeader {- methodHeaderName :: MemberName,- methodHeaderTypeParameters :: (Maybe TypeParameterList),- methodHeaderParameters :: (Maybe FormalParameterList),- methodHeaderConstraints :: [TypeParameterConstraintsClause]}- deriving (Eq, Ord, Read, Show)--_MethodHeader = Core.Name "hydra.csharp.syntax.MethodHeader"--_MethodHeader_name = Core.Name "name"--_MethodHeader_typeParameters = Core.Name "typeParameters"--_MethodHeader_parameters = Core.Name "parameters"--_MethodHeader_constraints = Core.Name "constraints"---- | A modifier on a method declaration: a ref modifier, or 'async'.-data MethodModifier =- MethodModifierRef RefMethodModifier |- MethodModifierAsync- deriving (Eq, Ord, Read, Show)--_MethodModifier = Core.Name "hydra.csharp.syntax.MethodModifier"--_MethodModifier_ref = Core.Name "ref"--_MethodModifier_async = Core.Name "async"---- | The full modifier list of a method declaration, including whether it is 'partial'.-data MethodModifiers =- MethodModifiers {- methodModifiersModifiers :: [MethodModifier],- methodModifiersPartial :: Bool}- deriving (Eq, Ord, Read, Show)--_MethodModifiers = Core.Name "hydra.csharp.syntax.MethodModifiers"--_MethodModifiers_modifiers = Core.Name "modifiers"--_MethodModifiers_partial = Core.Name "partial"---- | A simple unary expression or a binary multiplication/division/remainder expression.-data MultiplicativeExpression =- MultiplicativeExpressionSimple UnaryExpression |- MultiplicativeExpressionBinary BinaryMultiplicativeExpression- deriving (Eq, Ord, Read, Show)--_MultiplicativeExpression = Core.Name "hydra.csharp.syntax.MultiplicativeExpression"--_MultiplicativeExpression_simple = Core.Name "simple"--_MultiplicativeExpression_binary = Core.Name "binary"---- | The multiplication, division, or modulo operator.-data MultiplicativeOperator =- MultiplicativeOperatorTimes |- MultiplicativeOperatorDivide |- MultiplicativeOperatorModulo- deriving (Eq, Ord, Read, Show)--_MultiplicativeOperator = Core.Name "hydra.csharp.syntax.MultiplicativeOperator"--_MultiplicativeOperator_times = Core.Name "times"--_MultiplicativeOperator_divide = Core.Name "divide"--_MultiplicativeOperator_modulo = Core.Name "modulo"---- | An argument of the form 'name: value' passed to an attribute constructor.-data NamedArgument =- NamedArgument {- namedArgumentName :: Identifier,- namedArgumentValue :: AttributeArgumentExpression}- deriving (Eq, Ord, Read, Show)--_NamedArgument = Core.Name "hydra.csharp.syntax.NamedArgument"--_NamedArgument_name = Core.Name "name"--_NamedArgument_value = Core.Name "value"---- | A non-empty, comma-separated list of named arguments passed to an attribute.-newtype NamedArgumentList =- NamedArgumentList {- unNamedArgumentList :: [NamedArgument]}- deriving (Eq, Ord, Read, Show)--_NamedArgumentList = Core.Name "hydra.csharp.syntax.NamedArgumentList"---- | The target expression of a 'nameof' operator, with its chain of accessed parts.-data NamedEntity =- NamedEntity {- namedEntityTarget :: NamedEntityTarget,- namedEntityParts :: [NamedEntityPart]}- deriving (Eq, Ord, Read, Show)--_NamedEntity = Core.Name "hydra.csharp.syntax.NamedEntity"--_NamedEntity_target = Core.Name "target"--_NamedEntity_parts = Core.Name "parts"---- | A single '.identifier<TypeArgs>' segment chained within a named entity.-data NamedEntityPart =- NamedEntityPart {- namedEntityPartIdentifier :: Identifier,- namedEntityPartTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_NamedEntityPart = Core.Name "hydra.csharp.syntax.NamedEntityPart"--_NamedEntityPart_identifier = Core.Name "identifier"--_NamedEntityPart_typeArguments = Core.Name "typeArguments"---- | The initial target of a named entity: a simple name, this, base, or a predefined/aliased type.-data NamedEntityTarget =- NamedEntityTargetName SimpleName |- NamedEntityTargetThis |- NamedEntityTargetBase |- NamedEntityTargetPredefinedType PredefinedType |- NamedEntityTargetQualifiedAliasMember QualifiedAliasMember- deriving (Eq, Ord, Read, Show)--_NamedEntityTarget = Core.Name "hydra.csharp.syntax.NamedEntityTarget"--_NamedEntityTarget_name = Core.Name "name"--_NamedEntityTarget_this = Core.Name "this"--_NamedEntityTarget_base = Core.Name "base"--_NamedEntityTarget_predefinedType = Core.Name "predefinedType"--_NamedEntityTarget_qualifiedAliasMember = Core.Name "qualifiedAliasMember"---- | The extern aliases, using directives, and member declarations within a namespace.-data NamespaceBody =- NamespaceBody {- namespaceBodyExterns :: [ExternAliasDirective],- namespaceBodyUsings :: [UsingDirective],- namespaceBodyMembers :: [NamespaceMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_NamespaceBody = Core.Name "hydra.csharp.syntax.NamespaceBody"--_NamespaceBody_externs = Core.Name "externs"--_NamespaceBody_usings = Core.Name "usings"--_NamespaceBody_members = Core.Name "members"---- | A namespace declaration, naming the namespace and giving its body.-data NamespaceDeclaration =- NamespaceDeclaration {- namespaceDeclarationName :: QualifiedIdentifier,- namespaceDeclarationBody :: NamespaceBody}- deriving (Eq, Ord, Read, Show)--_NamespaceDeclaration = Core.Name "hydra.csharp.syntax.NamespaceDeclaration"--_NamespaceDeclaration_name = Core.Name "name"--_NamespaceDeclaration_body = Core.Name "body"---- | A member of a namespace: a nested namespace declaration or a type declaration.-data NamespaceMemberDeclaration =- NamespaceMemberDeclarationNamespace NamespaceDeclaration |- NamespaceMemberDeclarationType TypeDeclaration- deriving (Eq, Ord, Read, Show)--_NamespaceMemberDeclaration = Core.Name "hydra.csharp.syntax.NamespaceMemberDeclaration"--_NamespaceMemberDeclaration_namespace = Core.Name "namespace"--_NamespaceMemberDeclaration_type = Core.Name "type"---- | A reference to a namespace, expressed as a namespace-or-type name.-newtype NamespaceName =- NamespaceName {- unNamespaceName :: NamespaceOrTypeName}- deriving (Eq, Ord, Read, Show)--_NamespaceName = Core.Name "hydra.csharp.syntax.NamespaceName"---- | A name that may refer to either a namespace or a type: identifier, qualified, or alias-qualified.-data NamespaceOrTypeName =- NamespaceOrTypeNameIdentifier IdentifierNamespaceOrTypeName |- NamespaceOrTypeNameQualified QualifiedNamespaceOrTypeName |- NamespaceOrTypeNameAlias QualifiedAliasMember- deriving (Eq, Ord, Read, Show)--_NamespaceOrTypeName = Core.Name "hydra.csharp.syntax.NamespaceOrTypeName"--_NamespaceOrTypeName_identifier = Core.Name "identifier"--_NamespaceOrTypeName_qualified = Core.Name "qualified"--_NamespaceOrTypeName_alias = Core.Name "alias"---- | A type that is not itself an array type: value, class, interface, delegate, dynamic, or pointer.-data NonArrayType =- NonArrayTypeValue ValueType |- NonArrayTypeClass ClassType |- NonArrayTypeInterface InterfaceType |- NonArrayTypeDelegate DelegateType |- NonArrayTypeDynamic |- NonArrayTypeParameter TypeParameter |- NonArrayTypePointer PointerType- deriving (Eq, Ord, Read, Show)--_NonArrayType = Core.Name "hydra.csharp.syntax.NonArrayType"--_NonArrayType_value = Core.Name "value"--_NonArrayType_class = Core.Name "class"--_NonArrayType_interface = Core.Name "interface"--_NonArrayType_delegate = Core.Name "delegate"--_NonArrayType_dynamic = Core.Name "dynamic"--_NonArrayType_parameter = Core.Name "parameter"--_NonArrayType_pointer = Core.Name "pointer"---- | Array creation giving the element type, dimension expressions, and rank specifiers directly.-data NonArrayTypeArrayCreationExpression =- NonArrayTypeArrayCreationExpression {- nonArrayTypeArrayCreationExpressionType :: NonArrayType,- nonArrayTypeArrayCreationExpressionExpressions :: ExpressionList,- nonArrayTypeArrayCreationExpressionRankSpecifiers :: [RankSpecifier],- nonArrayTypeArrayCreationExpressionInitializer :: (Maybe ArrayInitializer)}- deriving (Eq, Ord, Read, Show)--_NonArrayTypeArrayCreationExpression = Core.Name "hydra.csharp.syntax.NonArrayTypeArrayCreationExpression"--_NonArrayTypeArrayCreationExpression_type = Core.Name "type"--_NonArrayTypeArrayCreationExpression_expressions = Core.Name "expressions"--_NonArrayTypeArrayCreationExpression_rankSpecifiers = Core.Name "rankSpecifiers"--_NonArrayTypeArrayCreationExpression_initializer = Core.Name "initializer"---- | An expression other than an assignment: declaration, conditional, lambda, or query expression.-data NonAssignmentExpression =- NonAssignmentExpressionDeclaration DeclarationExpression |- NonAssignmentExpressionConditional ConditionalExpression |- NonAssignmentExpressionLambda LambdaExpression |- NonAssignmentExpressionQuery QueryExpression- deriving (Eq, Ord, Read, Show)--_NonAssignmentExpression = Core.Name "hydra.csharp.syntax.NonAssignmentExpression"--_NonAssignmentExpression_declaration = Core.Name "declaration"--_NonAssignmentExpression_conditional = Core.Name "conditional"--_NonAssignmentExpression_lambda = Core.Name "lambda"--_NonAssignmentExpression_query = Core.Name "query"---- | A simple, binary (??), or throw-expression form of the null-coalescing operator.-data NullCoalescingExpression =- NullCoalescingExpressionSimple ConditionalOrExpression |- NullCoalescingExpressionBinary BinaryNullCoalescingExpression |- NullCoalescingExpressionThrow NullCoalescingExpression- deriving (Eq, Ord, Read, Show)--_NullCoalescingExpression = Core.Name "hydra.csharp.syntax.NullCoalescingExpression"--_NullCoalescingExpression_simple = Core.Name "simple"--_NullCoalescingExpression_binary = Core.Name "binary"--_NullCoalescingExpression_throw = Core.Name "throw"---- | A null-conditional element access (?[...]) with its chain of dependent accesses.-data NullConditionalElementAccess =- NullConditionalElementAccess {- nullConditionalElementAccessExpression :: PrimaryNoArrayCreationExpression,- nullConditionalElementAccessArguments :: ArgumentList,- nullConditionalElementAccessDependentAccess :: [DependentAccess]}- deriving (Eq, Ord, Read, Show)--_NullConditionalElementAccess = Core.Name "hydra.csharp.syntax.NullConditionalElementAccess"--_NullConditionalElementAccess_expression = Core.Name "expression"--_NullConditionalElementAccess_arguments = Core.Name "arguments"--_NullConditionalElementAccess_dependentAccess = Core.Name "dependentAccess"---- | A null-conditional invocation (?.method(...) or ?[...]) with optional arguments.-data NullConditionalInvocationExpression =- NullConditionalInvocationExpression {- nullConditionalInvocationExpressionHead :: NullConditionalInvocationExpressionHead,- nullConditionalInvocationExpressionArguments :: (Maybe ArgumentList)}- deriving (Eq, Ord, Read, Show)--_NullConditionalInvocationExpression = Core.Name "hydra.csharp.syntax.NullConditionalInvocationExpression"--_NullConditionalInvocationExpression_head = Core.Name "head"--_NullConditionalInvocationExpression_arguments = Core.Name "arguments"---- | The member- or element-access head of a null-conditional invocation expression.-data NullConditionalInvocationExpressionHead =- NullConditionalInvocationExpressionHeadMember NullConditionalMemberAccess |- NullConditionalInvocationExpressionHeadElement NullConditionalElementAccess- deriving (Eq, Ord, Read, Show)--_NullConditionalInvocationExpressionHead = Core.Name "hydra.csharp.syntax.NullConditionalInvocationExpressionHead"--_NullConditionalInvocationExpressionHead_member = Core.Name "member"--_NullConditionalInvocationExpressionHead_element = Core.Name "element"---- | A null-conditional member access (?.member) with its chain of dependent accesses.-data NullConditionalMemberAccess =- NullConditionalMemberAccess {- nullConditionalMemberAccessExpression :: PrimaryExpression,- nullConditionalMemberAccessIdentifier :: Identifier,- nullConditionalMemberAccessTypeArguments :: (Maybe TypeArgumentList),- nullConditionalMemberAccessDependentAccess :: [DependentAccess]}- deriving (Eq, Ord, Read, Show)--_NullConditionalMemberAccess = Core.Name "hydra.csharp.syntax.NullConditionalMemberAccess"--_NullConditionalMemberAccess_expression = Core.Name "expression"--_NullConditionalMemberAccess_identifier = Core.Name "identifier"--_NullConditionalMemberAccess_typeArguments = Core.Name "typeArguments"--_NullConditionalMemberAccess_dependentAccess = Core.Name "dependentAccess"---- | A null-conditional member projection used inside an anonymous object initializer.-data NullConditionalProjectionInitializer =- NullConditionalProjectionInitializer {- nullConditionalProjectionInitializerExpression :: PrimaryExpression,- nullConditionalProjectionInitializerIdentifier :: Identifier,- nullConditionalProjectionInitializerTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_NullConditionalProjectionInitializer = Core.Name "hydra.csharp.syntax.NullConditionalProjectionInitializer"--_NullConditionalProjectionInitializer_expression = Core.Name "expression"--_NullConditionalProjectionInitializer_identifier = Core.Name "identifier"--_NullConditionalProjectionInitializer_typeArguments = Core.Name "typeArguments"---- | A numeric type: integral, floating-point, or decimal.-data NumericType =- NumericTypeIntegral IntegralType |- NumericTypeFloatingPoint FloatingPointType |- NumericTypeDecimal- deriving (Eq, Ord, Read, Show)--_NumericType = Core.Name "hydra.csharp.syntax.NumericType"--_NumericType_integral = Core.Name "integral"--_NumericType_floatingPoint = Core.Name "floatingPoint"--_NumericType_decimal = Core.Name "decimal"---- | A 'new' expression that constructs an object, with optional arguments and initializer.-data ObjectCreationExpression =- ObjectCreationExpression {- objectCreationExpressionType :: Type,- objectCreationExpressionArguments :: (Maybe ArgumentList),- objectCreationExpressionInitializer :: (Maybe ObjectOrCollectionInitializer)}- deriving (Eq, Ord, Read, Show)--_ObjectCreationExpression = Core.Name "hydra.csharp.syntax.ObjectCreationExpression"--_ObjectCreationExpression_type = Core.Name "type"--_ObjectCreationExpression_arguments = Core.Name "arguments"--_ObjectCreationExpression_initializer = Core.Name "initializer"---- | An object initializer's member list, or a collection initializer's element list.-data ObjectOrCollectionInitializer =- ObjectOrCollectionInitializerObject [MemberInitializer] |- ObjectOrCollectionInitializerCollection [ElementInitializer]- deriving (Eq, Ord, Read, Show)--_ObjectOrCollectionInitializer = Core.Name "hydra.csharp.syntax.ObjectOrCollectionInitializer"--_ObjectOrCollectionInitializer_object = Core.Name "object"--_ObjectOrCollectionInitializer_collection = Core.Name "collection"---- | The body of an operator overload declaration: a block, expression body, or empty (extern) body.-data OperatorBody =- OperatorBodyBlock Block |- OperatorBodyExpression Expression |- OperatorBodyEmpty- deriving (Eq, Ord, Read, Show)--_OperatorBody = Core.Name "hydra.csharp.syntax.OperatorBody"--_OperatorBody_block = Core.Name "block"--_OperatorBody_expression = Core.Name "expression"--_OperatorBody_empty = Core.Name "empty"---- | A user-defined operator overload declaration, with its modifiers, declarator, and body.-data OperatorDeclaration =- OperatorDeclaration {- operatorDeclarationAttributes :: (Maybe Attributes),- operatorDeclarationModifiers :: [OperatorModifier],- operatorDeclarationDeclarator :: OperatorDeclarator,- operatorDeclarationBody :: OperatorBody}- deriving (Eq, Ord, Read, Show)--_OperatorDeclaration = Core.Name "hydra.csharp.syntax.OperatorDeclaration"--_OperatorDeclaration_attributes = Core.Name "attributes"--_OperatorDeclaration_modifiers = Core.Name "modifiers"--_OperatorDeclaration_declarator = Core.Name "declarator"--_OperatorDeclaration_body = Core.Name "body"---- | The declarator of an operator overload: unary, binary, or conversion form.-data OperatorDeclarator =- OperatorDeclaratorUnary UnaryOperatorDeclarator |- OperatorDeclaratorBinary BinaryOperatorDeclarator |- OperatorDeclaratorConversion ConversionOperatorDeclarator- deriving (Eq, Ord, Read, Show)--_OperatorDeclarator = Core.Name "hydra.csharp.syntax.OperatorDeclarator"--_OperatorDeclarator_unary = Core.Name "unary"--_OperatorDeclarator_binary = Core.Name "binary"--_OperatorDeclarator_conversion = Core.Name "conversion"---- | A modifier keyword on an operator declaration: public, static, extern, or unsafe.-data OperatorModifier =- OperatorModifierPublic |- OperatorModifierStatic |- OperatorModifierExtern |- OperatorModifierUnsafe- deriving (Eq, Ord, Read, Show)--_OperatorModifier = Core.Name "hydra.csharp.syntax.OperatorModifier"--_OperatorModifier_public = Core.Name "public"--_OperatorModifier_static = Core.Name "static"--_OperatorModifier_extern = Core.Name "extern"--_OperatorModifier_unsafe = Core.Name "unsafe"---- | A single ordering key expression, with an optional ascending/descending direction, in an orderby clause.-data Ordering =- Ordering {- orderingExpression :: Expression,- orderingDirection :: (Maybe OrderingDirection)}- deriving (Eq, Ord, Read, Show)--_Ordering = Core.Name "hydra.csharp.syntax.Ordering"--_Ordering_expression = Core.Name "expression"--_Ordering_direction = Core.Name "direction"---- | The ascending or descending direction of an ordering key in an orderby clause.-data OrderingDirection =- OrderingDirectionAscending |- OrderingDirectionDescending- deriving (Eq, Ord, Read, Show)--_OrderingDirection = Core.Name "hydra.csharp.syntax.OrderingDirection"--_OrderingDirection_ascending = Core.Name "ascending"--_OrderingDirection_descending = Core.Name "descending"---- | A binary operator symbol that may be overloaded via a user-defined operator declaration.-data OverloadableBinaryOperator =- OverloadableBinaryOperatorAdd |- OverloadableBinaryOperatorSubtract |- OverloadableBinaryOperatorMultiply |- OverloadableBinaryOperatorDivide |- OverloadableBinaryOperatorModulus |- OverloadableBinaryOperatorAnd |- OverloadableBinaryOperatorOr |- OverloadableBinaryOperatorXor |- OverloadableBinaryOperatorLeftShift |- OverloadableBinaryOperatorRightShift |- OverloadableBinaryOperatorEqual |- OverloadableBinaryOperatorNotEqual |- OverloadableBinaryOperatorGreaterThan |- OverloadableBinaryOperatorLessThan |- OverloadableBinaryOperatorGreaterThanOrEqual |- OverloadableBinaryOperatorLessThanOrEqual- deriving (Eq, Ord, Read, Show)--_OverloadableBinaryOperator = Core.Name "hydra.csharp.syntax.OverloadableBinaryOperator"--_OverloadableBinaryOperator_add = Core.Name "add"--_OverloadableBinaryOperator_subtract = Core.Name "subtract"--_OverloadableBinaryOperator_multiply = Core.Name "multiply"--_OverloadableBinaryOperator_divide = Core.Name "divide"--_OverloadableBinaryOperator_modulus = Core.Name "modulus"--_OverloadableBinaryOperator_and = Core.Name "and"--_OverloadableBinaryOperator_or = Core.Name "or"--_OverloadableBinaryOperator_xor = Core.Name "xor"--_OverloadableBinaryOperator_leftShift = Core.Name "leftShift"--_OverloadableBinaryOperator_rightShift = Core.Name "rightShift"--_OverloadableBinaryOperator_equal = Core.Name "equal"--_OverloadableBinaryOperator_notEqual = Core.Name "notEqual"--_OverloadableBinaryOperator_greaterThan = Core.Name "greaterThan"--_OverloadableBinaryOperator_lessThan = Core.Name "lessThan"--_OverloadableBinaryOperator_greaterThanOrEqual = Core.Name "greaterThanOrEqual"--_OverloadableBinaryOperator_lessThanOrEqual = Core.Name "lessThanOrEqual"---- | A unary operator symbol that may be overloaded via a user-defined operator declaration.-data OverloadableUnaryOperator =- OverloadableUnaryOperatorPlus |- OverloadableUnaryOperatorMinus |- OverloadableUnaryOperatorNot |- OverloadableUnaryOperatorComplement |- OverloadableUnaryOperatorIncrement |- OverloadableUnaryOperatorDecrement |- OverloadableUnaryOperatorTrue |- OverloadableUnaryOperatorFalse- deriving (Eq, Ord, Read, Show)--_OverloadableUnaryOperator = Core.Name "hydra.csharp.syntax.OverloadableUnaryOperator"--_OverloadableUnaryOperator_plus = Core.Name "plus"--_OverloadableUnaryOperator_minus = Core.Name "minus"--_OverloadableUnaryOperator_not = Core.Name "not"--_OverloadableUnaryOperator_complement = Core.Name "complement"--_OverloadableUnaryOperator_increment = Core.Name "increment"--_OverloadableUnaryOperator_decrement = Core.Name "decrement"--_OverloadableUnaryOperator_true = Core.Name "true"--_OverloadableUnaryOperator_false = Core.Name "false"---- | A trailing 'params' array parameter of a formal parameter list.-data ParameterArray =- ParameterArray {- parameterArrayAttributes :: (Maybe Attributes),- parameterArrayType :: ArrayType,- parameterArrayIdentifier :: Identifier}- deriving (Eq, Ord, Read, Show)--_ParameterArray = Core.Name "hydra.csharp.syntax.ParameterArray"--_ParameterArray_attributes = Core.Name "attributes"--_ParameterArray_type = Core.Name "type"--_ParameterArray_identifier = Core.Name "identifier"---- | The ref, out, or in passing-mode modifier on a fixed parameter.-data ParameterModeModifier =- ParameterModeModifierRef |- ParameterModeModifierOut |- ParameterModeModifierIn- deriving (Eq, Ord, Read, Show)--_ParameterModeModifier = Core.Name "hydra.csharp.syntax.ParameterModeModifier"--_ParameterModeModifier_ref = Core.Name "ref"--_ParameterModeModifier_out = Core.Name "out"--_ParameterModeModifier_in = Core.Name "in"---- | A modifier on a fixed parameter: a passing-mode modifier, or 'this' for extension methods.-data ParameterModifier =- ParameterModifierMode ParameterModeModifier |- ParameterModifierThis- deriving (Eq, Ord, Read, Show)--_ParameterModifier = Core.Name "hydra.csharp.syntax.ParameterModifier"--_ParameterModifier_mode = Core.Name "mode"--_ParameterModifier_this = Core.Name "this"---- | A pattern used in pattern matching: a declaration, constant, or var pattern.-data Pattern =- PatternDeclaration DeclarationPattern |- PatternConstant Expression |- PatternVar Designation- deriving (Eq, Ord, Read, Show)--_Pattern = Core.Name "hydra.csharp.syntax.Pattern"--_Pattern_declaration = Core.Name "declaration"--_Pattern_constant = Core.Name "constant"--_Pattern_var = Core.Name "var"---- | An unsafe pointer indexing expression (pointer[index]).-data PointerElementAccess =- PointerElementAccess {- pointerElementAccessPointer :: PrimaryNoArrayCreationExpression,- pointerElementAccessIndex :: Expression}- deriving (Eq, Ord, Read, Show)--_PointerElementAccess = Core.Name "hydra.csharp.syntax.PointerElementAccess"--_PointerElementAccess_pointer = Core.Name "pointer"--_PointerElementAccess_index = Core.Name "index"---- | An unsafe pointer member access expression (pointer->member).-data PointerMemberAccess =- PointerMemberAccess {- pointerMemberAccessPointer :: PrimaryExpression,- pointerMemberAccessMember :: Identifier,- pointerMemberAccessTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_PointerMemberAccess = Core.Name "hydra.csharp.syntax.PointerMemberAccess"--_PointerMemberAccess_pointer = Core.Name "pointer"--_PointerMemberAccess_member = Core.Name "member"--_PointerMemberAccess_typeArguments = Core.Name "typeArguments"---- | An unsafe pointer type, formed from a pointee value type and a pointer depth.-data PointerType =- PointerTypeValueType (Maybe ValueType) |- PointerTypePointerDepth Int- deriving (Eq, Ord, Read, Show)--_PointerType = Core.Name "hydra.csharp.syntax.PointerType"--_PointerType_valueType = Core.Name "valueType"--_PointerType_pointerDepth = Core.Name "pointerDepth"---- | A single positional (or optionally named) argument in an attribute's argument list.-data PositionalArgument =- PositionalArgument {- positionalArgumentName :: (Maybe Identifier),- positionalArgumentValue :: AttributeArgumentExpression}- deriving (Eq, Ord, Read, Show)--_PositionalArgument = Core.Name "hydra.csharp.syntax.PositionalArgument"--_PositionalArgument_name = Core.Name "name"--_PositionalArgument_value = Core.Name "value"---- | A non-empty, comma-separated list of positional arguments passed to an attribute.-newtype PositionalArgumentList =- PositionalArgumentList {- unPositionalArgumentList :: [PositionalArgument]}- deriving (Eq, Ord, Read, Show)--_PositionalArgumentList = Core.Name "hydra.csharp.syntax.PositionalArgumentList"---- | One of the built-in predefined type keywords, such as int, string, or bool.-data PredefinedType =- PredefinedTypeBool |- PredefinedTypeByte |- PredefinedTypeChar |- PredefinedTypeDecimal |- PredefinedTypeDouble |- PredefinedTypeFloat |- PredefinedTypeInt |- PredefinedTypeLong |- PredefinedTypeObject |- PredefinedTypeSbyte |- PredefinedTypeShort |- PredefinedTypeString |- PredefinedTypeUint |- PredefinedTypeUlong |- PredefinedTypeUshort- deriving (Eq, Ord, Read, Show)--_PredefinedType = Core.Name "hydra.csharp.syntax.PredefinedType"--_PredefinedType_bool = Core.Name "bool"--_PredefinedType_byte = Core.Name "byte"--_PredefinedType_char = Core.Name "char"--_PredefinedType_decimal = Core.Name "decimal"--_PredefinedType_double = Core.Name "double"--_PredefinedType_float = Core.Name "float"--_PredefinedType_int = Core.Name "int"--_PredefinedType_long = Core.Name "long"--_PredefinedType_object = Core.Name "object"--_PredefinedType_sbyte = Core.Name "sbyte"--_PredefinedType_short = Core.Name "short"--_PredefinedType_string = Core.Name "string"--_PredefinedType_uint = Core.Name "uint"--_PredefinedType_ulong = Core.Name "ulong"--_PredefinedType_ushort = Core.Name "ushort"---- | The primary type-parameter constraint: a class type, or the class/struct/unmanaged constraint.-data PrimaryConstraint =- PrimaryConstraintClassType ClassType |- PrimaryConstraintClass |- PrimaryConstraintStruct |- PrimaryConstraintUnmanaged- deriving (Eq, Ord, Read, Show)--_PrimaryConstraint = Core.Name "hydra.csharp.syntax.PrimaryConstraint"--_PrimaryConstraint_classType = Core.Name "classType"--_PrimaryConstraint_class = Core.Name "class"--_PrimaryConstraint_struct = Core.Name "struct"--_PrimaryConstraint_unmanaged = Core.Name "unmanaged"---- | An expression without an array creation, or an array creation expression.-data PrimaryExpression =- PrimaryExpressionNoArray PrimaryNoArrayCreationExpression |- PrimaryExpressionArray ArrayCreationExpression- deriving (Eq, Ord, Read, Show)--_PrimaryExpression = Core.Name "hydra.csharp.syntax.PrimaryExpression"--_PrimaryExpression_noArray = Core.Name "noArray"--_PrimaryExpression_array = Core.Name "array"---- | A primary expression other than array creation: literal, invocation, access, and so on.-data PrimaryNoArrayCreationExpression =- PrimaryNoArrayCreationExpressionLiteral Literal |- PrimaryNoArrayCreationExpressionInterpolatedString InterpolatedStringExpression |- PrimaryNoArrayCreationExpressionSimpleName SimpleName |- PrimaryNoArrayCreationExpressionParenthesized Expression |- PrimaryNoArrayCreationExpressionTuple TupleExpression |- PrimaryNoArrayCreationExpressionMemberAccess MemberAccess |- PrimaryNoArrayCreationExpressionNullConditionalMemberAccess NullConditionalMemberAccess |- PrimaryNoArrayCreationExpressionInvocation InvocationExpression |- PrimaryNoArrayCreationExpressionElementAccess ElementAccess |- PrimaryNoArrayCreationExpressionNullConditionalElementAccess NullConditionalElementAccess |- PrimaryNoArrayCreationExpressionThisAccess |- PrimaryNoArrayCreationExpressionBaseAccess BaseAccess |- PrimaryNoArrayCreationExpressionPostIncrement PrimaryExpression |- PrimaryNoArrayCreationExpressionPostDecrement PrimaryExpression |- PrimaryNoArrayCreationExpressionObjectCreation ObjectCreationExpression |- PrimaryNoArrayCreationExpressionDelegateCreation DelegateCreationExpression |- PrimaryNoArrayCreationExpressionAnonymousObjectCreation (Maybe MemberDeclaratorList) |- PrimaryNoArrayCreationExpressionTypeof TypeofExpression |- PrimaryNoArrayCreationExpressionSizeof UnmanagedType |- PrimaryNoArrayCreationExpressionChecked Expression |- PrimaryNoArrayCreationExpressionUnchecked Expression |- PrimaryNoArrayCreationExpressionDefaultValue DefaultValueExpression |- PrimaryNoArrayCreationExpressionNameof NamedEntity |- PrimaryNoArrayCreationExpressionAnonymousMethod AnonymousMethodExpression |- PrimaryNoArrayCreationExpressionPointerMemberAccess PointerMemberAccess |- PrimaryNoArrayCreationExpressionPointerElementAccess PointerElementAccess |- PrimaryNoArrayCreationExpressionStackalloc StackallocExpression- deriving (Eq, Ord, Read, Show)--_PrimaryNoArrayCreationExpression = Core.Name "hydra.csharp.syntax.PrimaryNoArrayCreationExpression"--_PrimaryNoArrayCreationExpression_literal = Core.Name "literal"--_PrimaryNoArrayCreationExpression_interpolatedString = Core.Name "interpolatedString"--_PrimaryNoArrayCreationExpression_simpleName = Core.Name "simpleName"--_PrimaryNoArrayCreationExpression_parenthesized = Core.Name "parenthesized"--_PrimaryNoArrayCreationExpression_tuple = Core.Name "tuple"--_PrimaryNoArrayCreationExpression_memberAccess = Core.Name "memberAccess"--_PrimaryNoArrayCreationExpression_nullConditionalMemberAccess = Core.Name "nullConditionalMemberAccess"--_PrimaryNoArrayCreationExpression_invocation = Core.Name "invocation"--_PrimaryNoArrayCreationExpression_elementAccess = Core.Name "elementAccess"--_PrimaryNoArrayCreationExpression_nullConditionalElementAccess = Core.Name "nullConditionalElementAccess"--_PrimaryNoArrayCreationExpression_thisAccess = Core.Name "thisAccess"--_PrimaryNoArrayCreationExpression_baseAccess = Core.Name "baseAccess"--_PrimaryNoArrayCreationExpression_postIncrement = Core.Name "postIncrement"--_PrimaryNoArrayCreationExpression_postDecrement = Core.Name "postDecrement"--_PrimaryNoArrayCreationExpression_objectCreation = Core.Name "objectCreation"--_PrimaryNoArrayCreationExpression_delegateCreation = Core.Name "delegateCreation"--_PrimaryNoArrayCreationExpression_anonymousObjectCreation = Core.Name "anonymousObjectCreation"--_PrimaryNoArrayCreationExpression_typeof = Core.Name "typeof"--_PrimaryNoArrayCreationExpression_sizeof = Core.Name "sizeof"--_PrimaryNoArrayCreationExpression_checked = Core.Name "checked"--_PrimaryNoArrayCreationExpression_unchecked = Core.Name "unchecked"--_PrimaryNoArrayCreationExpression_defaultValue = Core.Name "defaultValue"--_PrimaryNoArrayCreationExpression_nameof = Core.Name "nameof"--_PrimaryNoArrayCreationExpression_anonymousMethod = Core.Name "anonymousMethod"--_PrimaryNoArrayCreationExpression_pointerMemberAccess = Core.Name "pointerMemberAccess"--_PrimaryNoArrayCreationExpression_pointerElementAccess = Core.Name "pointerElementAccess"--_PrimaryNoArrayCreationExpression_stackalloc = Core.Name "stackalloc"---- | The body of a standard property: block accessors or a single expression body.-data PropertyBody =- PropertyBodyBlock BlockPropertyBody |- PropertyBodyExpression Expression- deriving (Eq, Ord, Read, Show)--_PropertyBody = Core.Name "hydra.csharp.syntax.PropertyBody"--_PropertyBody_block = Core.Name "block"--_PropertyBody_expression = Core.Name "expression"---- | A property member declaration, in its standard or ref-returning form.-data PropertyDeclaration =- PropertyDeclarationStandard StandardPropertyDeclaration |- PropertyDeclarationRefReturn RefReturnPropertyDeclaration- deriving (Eq, Ord, Read, Show)--_PropertyDeclaration = Core.Name "hydra.csharp.syntax.PropertyDeclaration"--_PropertyDeclaration_standard = Core.Name "standard"--_PropertyDeclaration_refReturn = Core.Name "refReturn"---- | A modifier keyword on a property declaration, such as virtual, override, or abstract.-data PropertyModifier =- PropertyModifierNew |- PropertyModifierPublic |- PropertyModifierProtected |- PropertyModifierInternal |- PropertyModifierPrivate |- PropertyModifierStatic |- PropertyModifierVirtual |- PropertyModifierSealed |- PropertyModifierOverride |- PropertyModifierAbstract |- PropertyModifierExtern |- PropertyModifierUnsafe- deriving (Eq, Ord, Read, Show)--_PropertyModifier = Core.Name "hydra.csharp.syntax.PropertyModifier"--_PropertyModifier_new = Core.Name "new"--_PropertyModifier_public = Core.Name "public"--_PropertyModifier_protected = Core.Name "protected"--_PropertyModifier_internal = Core.Name "internal"--_PropertyModifier_private = Core.Name "private"--_PropertyModifier_static = Core.Name "static"--_PropertyModifier_virtual = Core.Name "virtual"--_PropertyModifier_sealed = Core.Name "sealed"--_PropertyModifier_override = Core.Name "override"--_PropertyModifier_abstract = Core.Name "abstract"--_PropertyModifier_extern = Core.Name "extern"--_PropertyModifier_unsafe = Core.Name "unsafe"---- | An 'alias::member' reference, with optional type arguments, using an extern or global alias.-data QualifiedAliasMember =- QualifiedAliasMember {- qualifiedAliasMemberAlias :: Identifier,- qualifiedAliasMemberMember :: Identifier,- qualifiedAliasMemberArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_QualifiedAliasMember = Core.Name "hydra.csharp.syntax.QualifiedAliasMember"--_QualifiedAliasMember_alias = Core.Name "alias"--_QualifiedAliasMember_member = Core.Name "member"--_QualifiedAliasMember_arguments = Core.Name "arguments"---- | A non-empty, dot-separated sequence of identifiers, as used in a namespace declaration.-newtype QualifiedIdentifier =- QualifiedIdentifier {- unQualifiedIdentifier :: [Identifier]}- deriving (Eq, Ord, Read, Show)--_QualifiedIdentifier = Core.Name "hydra.csharp.syntax.QualifiedIdentifier"---- | A namespace-or-type name qualified with a preceding namespace-or-type and identifier.-data QualifiedNamespaceOrTypeName =- QualifiedNamespaceOrTypeName {- qualifiedNamespaceOrTypeNameNamespaceOrType :: NamespaceOrTypeName,- qualifiedNamespaceOrTypeNameIdentifier :: Identifier,- qualifiedNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_QualifiedNamespaceOrTypeName = Core.Name "hydra.csharp.syntax.QualifiedNamespaceOrTypeName"--_QualifiedNamespaceOrTypeName_namespaceOrType = Core.Name "namespaceOrType"--_QualifiedNamespaceOrTypeName_identifier = Core.Name "identifier"--_QualifiedNamespaceOrTypeName_arguments = Core.Name "arguments"---- | The clauses, select/group clause, and optional continuation of a query expression.-data QueryBody =- QueryBody {- queryBodyClauses :: [QueryBodyClause],- queryBodySelectOrGroup :: SelectOrGroupClause,- queryBodyContinuation :: (Maybe QueryContinuation)}- deriving (Eq, Ord, Read, Show)--_QueryBody = Core.Name "hydra.csharp.syntax.QueryBody"--_QueryBody_clauses = Core.Name "clauses"--_QueryBody_selectOrGroup = Core.Name "selectOrGroup"--_QueryBody_continuation = Core.Name "continuation"---- | A clause in a query expression body: from, let, where, join, or orderby.-data QueryBodyClause =- QueryBodyClauseFrom FromClause |- QueryBodyClauseLet LetClause |- QueryBodyClauseWhere BooleanExpression |- QueryBodyClauseJoin JoinClause |- QueryBodyClauseOrderby [Ordering]- deriving (Eq, Ord, Read, Show)--_QueryBodyClause = Core.Name "hydra.csharp.syntax.QueryBodyClause"--_QueryBodyClause_from = Core.Name "from"--_QueryBodyClause_let = Core.Name "let"--_QueryBodyClause_where = Core.Name "where"--_QueryBodyClause_join = Core.Name "join"--_QueryBodyClause_orderby = Core.Name "orderby"---- | An 'into' continuation that feeds a query's results into a further query body.-data QueryContinuation =- QueryContinuation {- queryContinuationInto :: Identifier,- queryContinuationBody :: QueryBody}- deriving (Eq, Ord, Read, Show)--_QueryContinuation = Core.Name "hydra.csharp.syntax.QueryContinuation"--_QueryContinuation_into = Core.Name "into"--_QueryContinuation_body = Core.Name "body"---- | A LINQ query expression, starting with a from clause and continuing with a query body.-data QueryExpression =- QueryExpression {- queryExpressionFrom :: FromClause,- queryExpressionBody :: QueryBody}- deriving (Eq, Ord, Read, Show)--_QueryExpression = Core.Name "hydra.csharp.syntax.QueryExpression"--_QueryExpression_from = Core.Name "from"--_QueryExpression_body = Core.Name "body"---- | The rank (number of dimensions) of an array type or array creation expression.-newtype RankSpecifier =- RankSpecifier {- unRankSpecifier :: Int}- deriving (Eq, Ord, Read, Show)--_RankSpecifier = Core.Name "hydra.csharp.syntax.RankSpecifier"---- | Array creation using a rank specifier together with an array initializer, with inferred element type.-data RankSpecifierArrayCreationExpression =- RankSpecifierArrayCreationExpression {- rankSpecifierArrayCreationExpressionRankSpecifier :: RankSpecifier,- rankSpecifierArrayCreationExpressionInitializer :: ArrayInitializer}- deriving (Eq, Ord, Read, Show)--_RankSpecifierArrayCreationExpression = Core.Name "hydra.csharp.syntax.RankSpecifierArrayCreationExpression"--_RankSpecifierArrayCreationExpression_rankSpecifier = Core.Name "rankSpecifier"--_RankSpecifierArrayCreationExpression_initializer = Core.Name "initializer"---- | The body of a ref-returning get accessor: a block, ref expression, or empty (abstract) body.-data RefAccessorBody =- RefAccessorBodyBlock Block |- RefAccessorBodyRef VariableReference |- RefAccessorBodyEmpty- deriving (Eq, Ord, Read, Show)--_RefAccessorBody = Core.Name "hydra.csharp.syntax.RefAccessorBody"--_RefAccessorBody_block = Core.Name "block"--_RefAccessorBody_ref = Core.Name "ref"--_RefAccessorBody_empty = Core.Name "empty"---- | A ref-returning conditional expression, selecting between two variable references.-data RefConditionalExpression =- RefConditionalExpression {- refConditionalExpressionCondition :: NullCoalescingExpression,- refConditionalExpressionTrue :: VariableReference,- refConditionalExpressionFalse :: VariableReference}- deriving (Eq, Ord, Read, Show)--_RefConditionalExpression = Core.Name "hydra.csharp.syntax.RefConditionalExpression"--_RefConditionalExpression_condition = Core.Name "condition"--_RefConditionalExpression_true = Core.Name "true"--_RefConditionalExpression_false = Core.Name "false"---- | A ref-returning property or indexer get accessor declaration.-data RefGetAccessorDeclaration =- RefGetAccessorDeclaration {- refGetAccessorDeclarationAttributes :: (Maybe Attributes),- refGetAccessorDeclarationModifier :: (Maybe AccessorModifier),- refGetAccessorDeclarationBody :: RefAccessorBody}- deriving (Eq, Ord, Read, Show)--_RefGetAccessorDeclaration = Core.Name "hydra.csharp.syntax.RefGetAccessorDeclaration"--_RefGetAccessorDeclaration_attributes = Core.Name "attributes"--_RefGetAccessorDeclaration_modifier = Core.Name "modifier"--_RefGetAccessorDeclaration_body = Core.Name "body"---- | The body of a ref-returning indexer: a ref get accessor, or a single ref expression.-data RefIndexerBody =- RefIndexerBodyBlock RefGetAccessorDeclaration |- RefIndexerBodyRef VariableReference- deriving (Eq, Ord, Read, Show)--_RefIndexerBody = Core.Name "hydra.csharp.syntax.RefIndexerBody"--_RefIndexerBody_block = Core.Name "block"--_RefIndexerBody_ref = Core.Name "ref"---- | A ref-returning indexer member declaration.-data RefIndexerDeclaration =- RefIndexerDeclaration {- refIndexerDeclarationAttributes :: (Maybe Attributes),- refIndexerDeclarationModifiers :: [IndexerModifier],- refIndexerDeclarationRefKind :: RefKind,- refIndexerDeclarationDeclarator :: IndexerDeclarator,- refIndexerDeclarationBody :: RefIndexerBody}- deriving (Eq, Ord, Read, Show)--_RefIndexerDeclaration = Core.Name "hydra.csharp.syntax.RefIndexerDeclaration"--_RefIndexerDeclaration_attributes = Core.Name "attributes"--_RefIndexerDeclaration_modifiers = Core.Name "modifiers"--_RefIndexerDeclaration_refKind = Core.Name "refKind"--_RefIndexerDeclaration_declarator = Core.Name "declarator"--_RefIndexerDeclaration_body = Core.Name "body"---- | Whether a ref-returning member returns by plain ref or by ref readonly.-data RefKind =- RefKindRef |- RefKindRefReadonly- deriving (Eq, Ord, Read, Show)--_RefKind = Core.Name "hydra.csharp.syntax.RefKind"--_RefKind_ref = Core.Name "ref"--_RefKind_refReadonly = Core.Name "refReadonly"---- | The body of a ref-returning local function: a block, or a single ref expression.-data RefLocalFunctionBody =- RefLocalFunctionBodyBlock Block |- RefLocalFunctionBodyRef VariableReference- deriving (Eq, Ord, Read, Show)--_RefLocalFunctionBody = Core.Name "hydra.csharp.syntax.RefLocalFunctionBody"--_RefLocalFunctionBody_block = Core.Name "block"--_RefLocalFunctionBody_ref = Core.Name "ref"---- | A ref-returning local function declaration.-data RefLocalFunctionDeclaration =- RefLocalFunctionDeclaration {- refLocalFunctionDeclarationModifiers :: [RefLocalFunctionModifier],- refLocalFunctionDeclarationRefKind :: RefKind,- refLocalFunctionDeclarationReturnType :: Type,- refLocalFunctionDeclarationHeader :: LocalFunctionHeader,- refLocalFunctionDeclarationBody :: RefLocalFunctionBody}- deriving (Eq, Ord, Read, Show)--_RefLocalFunctionDeclaration = Core.Name "hydra.csharp.syntax.RefLocalFunctionDeclaration"--_RefLocalFunctionDeclaration_modifiers = Core.Name "modifiers"--_RefLocalFunctionDeclaration_refKind = Core.Name "refKind"--_RefLocalFunctionDeclaration_returnType = Core.Name "returnType"--_RefLocalFunctionDeclaration_header = Core.Name "header"--_RefLocalFunctionDeclaration_body = Core.Name "body"---- | A modifier on a ref-returning local function declaration: static or unsafe.-data RefLocalFunctionModifier =- RefLocalFunctionModifierStatic |- RefLocalFunctionModifierUnsafe- deriving (Eq, Ord, Read, Show)--_RefLocalFunctionModifier = Core.Name "hydra.csharp.syntax.RefLocalFunctionModifier"--_RefLocalFunctionModifier_static = Core.Name "static"--_RefLocalFunctionModifier_unsafe = Core.Name "unsafe"---- | A local variable declaration that binds a variable by reference.-data RefLocalVariableDeclaration =- RefLocalVariableDeclaration {- refLocalVariableDeclarationRefKind :: RefKind,- refLocalVariableDeclarationType :: Type,- refLocalVariableDeclarationDeclarators :: [RefLocalVariableDeclarator]}- deriving (Eq, Ord, Read, Show)--_RefLocalVariableDeclaration = Core.Name "hydra.csharp.syntax.RefLocalVariableDeclaration"--_RefLocalVariableDeclaration_refKind = Core.Name "refKind"--_RefLocalVariableDeclaration_type = Core.Name "type"--_RefLocalVariableDeclaration_declarators = Core.Name "declarators"---- | The identifier and referenced variable in a single ref local variable declarator.-data RefLocalVariableDeclarator =- RefLocalVariableDeclarator {- refLocalVariableDeclaratorLeft :: Identifier,- refLocalVariableDeclaratorRight :: VariableReference}- deriving (Eq, Ord, Read, Show)--_RefLocalVariableDeclarator = Core.Name "hydra.csharp.syntax.RefLocalVariableDeclarator"--_RefLocalVariableDeclarator_left = Core.Name "left"--_RefLocalVariableDeclarator_right = Core.Name "right"---- | The body of a ref-returning method: a block, ref expression, or empty (extern) body.-data RefMethodBody =- RefMethodBodyBlock Block |- RefMethodBodyRef VariableReference |- RefMethodBodyEmpty- deriving (Eq, Ord, Read, Show)--_RefMethodBody = Core.Name "hydra.csharp.syntax.RefMethodBody"--_RefMethodBody_block = Core.Name "block"--_RefMethodBody_ref = Core.Name "ref"--_RefMethodBody_empty = Core.Name "empty"---- | A modifier keyword on a ref-returning method declaration.-data RefMethodModifier =- RefMethodModifierNew |- RefMethodModifierPublic |- RefMethodModifierProtected |- RefMethodModifierInternal |- RefMethodModifierPrivate |- RefMethodModifierStatic |- RefMethodModifierVirtual |- RefMethodModifierSealed |- RefMethodModifierOverride |- RefMethodModifierAbstract |- RefMethodModifierExtern |- RefMethodModifierUnsafe- deriving (Eq, Ord, Read, Show)--_RefMethodModifier = Core.Name "hydra.csharp.syntax.RefMethodModifier"--_RefMethodModifier_new = Core.Name "new"--_RefMethodModifier_public = Core.Name "public"--_RefMethodModifier_protected = Core.Name "protected"--_RefMethodModifier_internal = Core.Name "internal"--_RefMethodModifier_private = Core.Name "private"--_RefMethodModifier_static = Core.Name "static"--_RefMethodModifier_virtual = Core.Name "virtual"--_RefMethodModifier_sealed = Core.Name "sealed"--_RefMethodModifier_override = Core.Name "override"--_RefMethodModifier_abstract = Core.Name "abstract"--_RefMethodModifier_extern = Core.Name "extern"--_RefMethodModifier_unsafe = Core.Name "unsafe"---- | The body of a ref-returning property: a ref get accessor, or a single ref expression.-data RefPropertyBody =- RefPropertyBodyBlock RefGetAccessorDeclaration |- RefPropertyBodyRef VariableReference- deriving (Eq, Ord, Read, Show)--_RefPropertyBody = Core.Name "hydra.csharp.syntax.RefPropertyBody"--_RefPropertyBody_block = Core.Name "block"--_RefPropertyBody_ref = Core.Name "ref"---- | A ref-returning method declaration, including its ref kind, header, and body.-data RefReturnMethodDeclaration =- RefReturnMethodDeclaration {- refReturnMethodDeclarationAttributes :: (Maybe Attributes),- refReturnMethodDeclarationModifiers :: [RefMethodModifier],- refReturnMethodDeclarationKind :: RefKind,- refReturnMethodDeclarationReturnType :: ReturnType,- refReturnMethodDeclarationHeader :: MethodHeader,- refReturnMethodDeclarationBody :: RefMethodBody}- deriving (Eq, Ord, Read, Show)--_RefReturnMethodDeclaration = Core.Name "hydra.csharp.syntax.RefReturnMethodDeclaration"--_RefReturnMethodDeclaration_attributes = Core.Name "attributes"--_RefReturnMethodDeclaration_modifiers = Core.Name "modifiers"--_RefReturnMethodDeclaration_kind = Core.Name "kind"--_RefReturnMethodDeclaration_returnType = Core.Name "returnType"--_RefReturnMethodDeclaration_header = Core.Name "header"--_RefReturnMethodDeclaration_body = Core.Name "body"---- | A ref-returning property declaration, including its ref kind and body.-data RefReturnPropertyDeclaration =- RefReturnPropertyDeclaration {- refReturnPropertyDeclarationAttributes :: (Maybe Attributes),- refReturnPropertyDeclarationModifiers :: [PropertyModifier],- refReturnPropertyDeclarationRefKind :: RefKind,- refReturnPropertyDeclarationType :: Type,- refReturnPropertyDeclarationName :: MemberName,- refReturnPropertyDeclarationBody :: RefPropertyBody}- deriving (Eq, Ord, Read, Show)--_RefReturnPropertyDeclaration = Core.Name "hydra.csharp.syntax.RefReturnPropertyDeclaration"--_RefReturnPropertyDeclaration_attributes = Core.Name "attributes"--_RefReturnPropertyDeclaration_modifiers = Core.Name "modifiers"--_RefReturnPropertyDeclaration_refKind = Core.Name "refKind"--_RefReturnPropertyDeclaration_type = Core.Name "type"--_RefReturnPropertyDeclaration_name = Core.Name "name"--_RefReturnPropertyDeclaration_body = Core.Name "body"---- | An implicitly typed local variable declared by reference using 'ref var'.-data RefVarImplicitlyTypedLocalVariableDeclaration =- RefVarImplicitlyTypedLocalVariableDeclaration {- refVarImplicitlyTypedLocalVariableDeclarationRefKind :: RefKind,- refVarImplicitlyTypedLocalVariableDeclarationDeclarator :: RefLocalVariableDeclarator}- deriving (Eq, Ord, Read, Show)--_RefVarImplicitlyTypedLocalVariableDeclaration =- Core.Name "hydra.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"--_RefVarImplicitlyTypedLocalVariableDeclaration_refKind = Core.Name "refKind"--_RefVarImplicitlyTypedLocalVariableDeclaration_declarator = Core.Name "declarator"---- | A reference type: class, interface, array, delegate, or the dynamic type.-data ReferenceType =- ReferenceTypeClass ClassType |- ReferenceTypeInterface InterfaceType |- ReferenceTypeArray ArrayType |- ReferenceTypeDelegate DelegateType |- ReferenceTypeDynamic- deriving (Eq, Ord, Read, Show)--_ReferenceType = Core.Name "hydra.csharp.syntax.ReferenceType"--_ReferenceType_class = Core.Name "class"--_ReferenceType_interface = Core.Name "interface"--_ReferenceType_array = Core.Name "array"--_ReferenceType_delegate = Core.Name "delegate"--_ReferenceType_dynamic = Core.Name "dynamic"---- | A single '{expression[,width][:format]}' hole within a regular interpolated string.-data RegularInterpolation =- RegularInterpolation {- regularInterpolationExpression :: Expression,- regularInterpolationWidth :: (Maybe Expression),- regularInterpolationFormat :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_RegularInterpolation = Core.Name "hydra.csharp.syntax.RegularInterpolation"--_RegularInterpolation_expression = Core.Name "expression"--_RegularInterpolation_width = Core.Name "width"--_RegularInterpolation_format = Core.Name "format"---- | A simple, binary, is-type, is-pattern, or as-type relational expression.-data RelationalExpression =- RelationalExpressionSimple ShiftExpression |- RelationalExpressionBinary BinaryRelationalExpression |- RelationalExpressionIsType IsTypeExpression |- RelationalExpressionIsPattern IsPatternExpression |- RelationalExpressionAsType AsTypeExpression- deriving (Eq, Ord, Read, Show)--_RelationalExpression = Core.Name "hydra.csharp.syntax.RelationalExpression"--_RelationalExpression_simple = Core.Name "simple"--_RelationalExpression_binary = Core.Name "binary"--_RelationalExpression_isType = Core.Name "isType"--_RelationalExpression_isPattern = Core.Name "isPattern"--_RelationalExpression_asType = Core.Name "asType"---- | A relational comparison operator: less than, greater than, or their or-equal variants.-data RelationalOperator =- RelationalOperatorLessThan |- RelationalOperatorGreaterThan |- RelationalOperatorLessThanOrEqual |- RelationalOperatorGreaterThanOrEqual- deriving (Eq, Ord, Read, Show)--_RelationalOperator = Core.Name "hydra.csharp.syntax.RelationalOperator"--_RelationalOperator_lessThan = Core.Name "lessThan"--_RelationalOperator_greaterThan = Core.Name "greaterThan"--_RelationalOperator_lessThanOrEqual = Core.Name "lessThanOrEqual"--_RelationalOperator_greaterThanOrEqual = Core.Name "greaterThanOrEqual"---- | The resource acquired by a using statement: a local variable declaration or an expression.-data ResourceAcquisition =- ResourceAcquisitionLocal LocalVariableDeclaration |- ResourceAcquisitionExpression Expression- deriving (Eq, Ord, Read, Show)--_ResourceAcquisition = Core.Name "hydra.csharp.syntax.ResourceAcquisition"--_ResourceAcquisition_local = Core.Name "local"--_ResourceAcquisition_expression = Core.Name "expression"---- | A return statement, in its value-less, value-returning, or ref-returning form.-data ReturnStatement =- ReturnStatementSimple |- ReturnStatementValue Expression |- ReturnStatementRef VariableReference- deriving (Eq, Ord, Read, Show)--_ReturnStatement = Core.Name "hydra.csharp.syntax.ReturnStatement"--_ReturnStatement_simple = Core.Name "simple"--_ReturnStatement_value = Core.Name "value"--_ReturnStatement_ref = Core.Name "ref"---- | The declared return type of a member: a ref-qualified type, or void.-data ReturnType =- ReturnTypeRef Type |- ReturnTypeVoid- deriving (Eq, Ord, Read, Show)--_ReturnType = Core.Name "hydra.csharp.syntax.ReturnType"--_ReturnType_ref = Core.Name "ref"--_ReturnType_void = Core.Name "void"---- | A secondary type-parameter constraint: an interface type or another type parameter.-data SecondaryConstraint =- SecondaryConstraintInterface InterfaceType |- SecondaryConstraintParameter TypeParameter- deriving (Eq, Ord, Read, Show)--_SecondaryConstraint = Core.Name "hydra.csharp.syntax.SecondaryConstraint"--_SecondaryConstraint_interface = Core.Name "interface"--_SecondaryConstraint_parameter = Core.Name "parameter"---- | A non-empty list of secondary constraints on a type parameter.-newtype SecondaryConstraints =- SecondaryConstraints {- unSecondaryConstraints :: [SecondaryConstraint]}- deriving (Eq, Ord, Read, Show)--_SecondaryConstraints = Core.Name "hydra.csharp.syntax.SecondaryConstraints"---- | The final clause of a query body: a 'select' projection or a 'group by' clause.-data SelectOrGroupClause =- SelectOrGroupClauseSelect Expression |- SelectOrGroupClauseGroup GroupClause- deriving (Eq, Ord, Read, Show)--_SelectOrGroupClause = Core.Name "hydra.csharp.syntax.SelectOrGroupClause"--_SelectOrGroupClause_select = Core.Name "select"--_SelectOrGroupClause_group = Core.Name "group"---- | An if or switch statement.-data SelectionStatement =- SelectionStatementIf IfStatement |- SelectionStatementSwitch SwitchStatement- deriving (Eq, Ord, Read, Show)--_SelectionStatement = Core.Name "hydra.csharp.syntax.SelectionStatement"--_SelectionStatement_if = Core.Name "if"--_SelectionStatement_switch = Core.Name "switch"---- | A simple additive expression or a binary left/right-shift expression.-data ShiftExpression =- ShiftExpressionSimple AdditiveExpression |- ShiftExpressionBinary BinaryShiftExpression- deriving (Eq, Ord, Read, Show)--_ShiftExpression = Core.Name "hydra.csharp.syntax.ShiftExpression"--_ShiftExpression_simple = Core.Name "simple"--_ShiftExpression_binary = Core.Name "binary"---- | The left-shift (<<) or right-shift (>>) operator.-data ShiftOperator =- ShiftOperatorLeft |- ShiftOperatorRight- deriving (Eq, Ord, Read, Show)--_ShiftOperator = Core.Name "hydra.csharp.syntax.ShiftOperator"--_ShiftOperator_left = Core.Name "left"--_ShiftOperator_right = Core.Name "right"---- | The ordinary ternary conditional expression: 'condition ? true : false'.-data SimpleConditionalExpression =- SimpleConditionalExpression {- simpleConditionalExpressionCondition :: NullCoalescingExpression,- simpleConditionalExpressionTrue :: Expression,- simpleConditionalExpressionFalse :: Expression}- deriving (Eq, Ord, Read, Show)--_SimpleConditionalExpression = Core.Name "hydra.csharp.syntax.SimpleConditionalExpression"--_SimpleConditionalExpression_condition = Core.Name "condition"--_SimpleConditionalExpression_true = Core.Name "true"--_SimpleConditionalExpression_false = Core.Name "false"---- | A simple identifier reference, with an optional list of explicit type arguments.-data SimpleName =- SimpleName {- simpleNameIdentifier :: Identifier,- simpleNameTypeArguments :: (Maybe TypeArgumentList)}- deriving (Eq, Ord, Read, Show)--_SimpleName = Core.Name "hydra.csharp.syntax.SimpleName"--_SimpleName_identifier = Core.Name "identifier"--_SimpleName_typeArguments = Core.Name "typeArguments"---- | A numeric type or the bool type.-data SimpleType =- SimpleTypeNumeric NumericType |- SimpleTypeBool- deriving (Eq, Ord, Read, Show)--_SimpleType = Core.Name "hydra.csharp.syntax.SimpleType"--_SimpleType_numeric = Core.Name "numeric"--_SimpleType_bool = Core.Name "bool"---- | A catch clause naming an exception type and/or filter, with a handler block.-data SpecificCatchClause =- SpecificCatchClause {- specificCatchClauseSpecifier :: (Maybe ExceptionSpecifier),- specificCatchClauseFilter :: (Maybe BooleanExpression),- specificCatchClauseBody :: Block}- deriving (Eq, Ord, Read, Show)--_SpecificCatchClause = Core.Name "hydra.csharp.syntax.SpecificCatchClause"--_SpecificCatchClause_specifier = Core.Name "specifier"--_SpecificCatchClause_filter = Core.Name "filter"--_SpecificCatchClause_body = Core.Name "body"---- | A 'stackalloc' expression that allocates a block of memory on the stack.-data StackallocExpression =- StackallocExpression {- stackallocExpressionType :: (Maybe UnmanagedType),- stackallocExpressionExpression :: (Maybe ConstantExpression),- stackallocExpressionInitializer :: [Expression]}- deriving (Eq, Ord, Read, Show)--_StackallocExpression = Core.Name "hydra.csharp.syntax.StackallocExpression"--_StackallocExpression_type = Core.Name "type"--_StackallocExpression_expression = Core.Name "expression"--_StackallocExpression_initializer = Core.Name "initializer"---- | A field-like event declaration, with its type and one or more declarators.-data StandardEventDeclaration =- StandardEventDeclaration {- standardEventDeclarationAttributes :: (Maybe Attributes),- standardEventDeclarationModifiers :: [EventModifier],- standardEventDeclarationType :: Type,- standardEventDeclarationDeclarators :: VariableDeclarators}- deriving (Eq, Ord, Read, Show)--_StandardEventDeclaration = Core.Name "hydra.csharp.syntax.StandardEventDeclaration"--_StandardEventDeclaration_attributes = Core.Name "attributes"--_StandardEventDeclaration_modifiers = Core.Name "modifiers"--_StandardEventDeclaration_type = Core.Name "type"--_StandardEventDeclaration_declarators = Core.Name "declarators"---- | A standard (non-ref-returning) indexer declaration.-data StandardIndexerDeclaration =- StandardIndexerDeclaration {- standardIndexerDeclarationAttributes :: (Maybe Attributes),- standardIndexerDeclarationModifiers :: [IndexerModifier],- standardIndexerDeclarationDeclarator :: IndexerDeclarator,- standardIndexerDeclarationBody :: IndexerBody}- deriving (Eq, Ord, Read, Show)--_StandardIndexerDeclaration = Core.Name "hydra.csharp.syntax.StandardIndexerDeclaration"--_StandardIndexerDeclaration_attributes = Core.Name "attributes"--_StandardIndexerDeclaration_modifiers = Core.Name "modifiers"--_StandardIndexerDeclaration_declarator = Core.Name "declarator"--_StandardIndexerDeclaration_body = Core.Name "body"---- | A standard (non-ref-returning) local function declaration.-data StandardLocalFunctionDeclaration =- StandardLocalFunctionDeclaration {- standardLocalFunctionDeclarationModifiers :: [LocalFunctionModifier],- standardLocalFunctionDeclarationReturnType :: ReturnType,- standardLocalFunctionDeclarationHeader :: LocalFunctionHeader,- standardLocalFunctionDeclarationBody :: LocalFunctionBody}- deriving (Eq, Ord, Read, Show)--_StandardLocalFunctionDeclaration = Core.Name "hydra.csharp.syntax.StandardLocalFunctionDeclaration"--_StandardLocalFunctionDeclaration_modifiers = Core.Name "modifiers"--_StandardLocalFunctionDeclaration_returnType = Core.Name "returnType"--_StandardLocalFunctionDeclaration_header = Core.Name "header"--_StandardLocalFunctionDeclaration_body = Core.Name "body"---- | A standard (non-ref-returning) method declaration.-data StandardMethodDeclaration =- StandardMethodDeclaration {- standardMethodDeclarationAttributes :: (Maybe Attributes),- standardMethodDeclarationModifiers :: [MethodModifier],- standardMethodDeclarationReturnType :: ReturnType,- standardMethodDeclarationHeader :: MethodHeader,- standardMethodDeclarationBody :: MethodBody}- deriving (Eq, Ord, Read, Show)--_StandardMethodDeclaration = Core.Name "hydra.csharp.syntax.StandardMethodDeclaration"--_StandardMethodDeclaration_attributes = Core.Name "attributes"--_StandardMethodDeclaration_modifiers = Core.Name "modifiers"--_StandardMethodDeclaration_returnType = Core.Name "returnType"--_StandardMethodDeclaration_header = Core.Name "header"--_StandardMethodDeclaration_body = Core.Name "body"---- | A standard (non-ref-returning) property declaration.-data StandardPropertyDeclaration =- StandardPropertyDeclaration {- standardPropertyDeclarationAttributes :: (Maybe Attributes),- standardPropertyDeclarationModifiers :: [PropertyModifier],- standardPropertyDeclarationType :: Type,- standardPropertyDeclarationName :: MemberName,- standardPropertyDeclarationBody :: PropertyBody}- deriving (Eq, Ord, Read, Show)--_StandardPropertyDeclaration = Core.Name "hydra.csharp.syntax.StandardPropertyDeclaration"--_StandardPropertyDeclaration_attributes = Core.Name "attributes"--_StandardPropertyDeclaration_modifiers = Core.Name "modifiers"--_StandardPropertyDeclaration_type = Core.Name "type"--_StandardPropertyDeclaration_name = Core.Name "name"--_StandardPropertyDeclaration_body = Core.Name "body"---- | A labeled statement, a declaration statement, or an embedded statement.-data Statement =- StatementLabeled LabeledStatement |- StatementDeclaration DeclarationStatement |- StatementEmbedded EmbeddedStatement- deriving (Eq, Ord, Read, Show)--_Statement = Core.Name "hydra.csharp.syntax.Statement"--_Statement_labeled = Core.Name "labeled"--_Statement_declaration = Core.Name "declaration"--_Statement_embedded = Core.Name "embedded"---- | An expression usable as a statement on its own, such as an invocation or assignment.-data StatementExpression =- StatementExpressionNullConditionalInvocation NullConditionalInvocationExpression |- StatementExpressionInvocation InvocationExpression |- StatementExpressionObjectCreation ObjectCreationExpression |- StatementExpressionAssignment Assignment |- StatementExpressionPostIncrement PrimaryExpression |- StatementExpressionPostDecrement PrimaryExpression |- StatementExpressionPreIncrement UnaryExpression |- StatementExpressionPreDecrement UnaryExpression |- StatementExpressionAwait UnaryExpression- deriving (Eq, Ord, Read, Show)--_StatementExpression = Core.Name "hydra.csharp.syntax.StatementExpression"--_StatementExpression_nullConditionalInvocation = Core.Name "nullConditionalInvocation"--_StatementExpression_invocation = Core.Name "invocation"--_StatementExpression_objectCreation = Core.Name "objectCreation"--_StatementExpression_assignment = Core.Name "assignment"--_StatementExpression_postIncrement = Core.Name "postIncrement"--_StatementExpression_postDecrement = Core.Name "postDecrement"--_StatementExpression_preIncrement = Core.Name "preIncrement"--_StatementExpression_preDecrement = Core.Name "preDecrement"--_StatementExpression_await = Core.Name "await"---- | A non-empty, comma-separated list of statement expressions, as used in a for statement.-newtype StatementExpressionList =- StatementExpressionList {- unStatementExpressionList :: [StatementExpression]}- deriving (Eq, Ord, Read, Show)--_StatementExpressionList = Core.Name "hydra.csharp.syntax.StatementExpressionList"---- | The body of a static constructor: a block, expression body, or empty (extern) body.-data StaticConstructorBody =- StaticConstructorBodyBlock Block |- StaticConstructorBodyExpression Expression |- StaticConstructorBodyEmpty- deriving (Eq, Ord, Read, Show)--_StaticConstructorBody = Core.Name "hydra.csharp.syntax.StaticConstructorBody"--_StaticConstructorBody_block = Core.Name "block"--_StaticConstructorBody_expression = Core.Name "expression"--_StaticConstructorBody_empty = Core.Name "empty"---- | A static constructor declaration for a type.-data StaticConstructorDeclaration =- StaticConstructorDeclaration {- staticConstructorDeclarationAttributes :: (Maybe Attributes),- staticConstructorDeclarationModifiers :: StaticConstructorModifiers,- staticConstructorDeclarationName :: Identifier,- staticConstructorDeclarationBody :: StaticConstructorBody}- deriving (Eq, Ord, Read, Show)--_StaticConstructorDeclaration = Core.Name "hydra.csharp.syntax.StaticConstructorDeclaration"--_StaticConstructorDeclaration_attributes = Core.Name "attributes"--_StaticConstructorDeclaration_modifiers = Core.Name "modifiers"--_StaticConstructorDeclaration_name = Core.Name "name"--_StaticConstructorDeclaration_body = Core.Name "body"---- | The extern and unsafe flags of a static constructor declaration.-data StaticConstructorModifiers =- StaticConstructorModifiers {- staticConstructorModifiersExtern :: Bool,- staticConstructorModifiersUnsafe :: Bool}- deriving (Eq, Ord, Read, Show)--_StaticConstructorModifiers = Core.Name "hydra.csharp.syntax.StaticConstructorModifiers"--_StaticConstructorModifiers_extern = Core.Name "extern"--_StaticConstructorModifiers_unsafe = Core.Name "unsafe"---- | A struct type declaration, with its modifiers, type parameters, interfaces, and body.-data StructDeclaration =- StructDeclaration {- structDeclarationAttributes :: (Maybe Attributes),- structDeclarationModifiers :: [StructModifier],- structDeclarationRef :: Bool,- structDeclarationPartial :: Bool,- structDeclarationName :: Identifier,- structDeclarationParameters :: (Maybe TypeParameterList),- structDeclarationInterfaces :: [InterfaceType],- structDeclarationConstraints :: [TypeParameterConstraintsClause],- structDeclarationBody :: [StructMemberDeclaration]}- deriving (Eq, Ord, Read, Show)--_StructDeclaration = Core.Name "hydra.csharp.syntax.StructDeclaration"--_StructDeclaration_attributes = Core.Name "attributes"--_StructDeclaration_modifiers = Core.Name "modifiers"--_StructDeclaration_ref = Core.Name "ref"--_StructDeclaration_partial = Core.Name "partial"--_StructDeclaration_name = Core.Name "name"--_StructDeclaration_parameters = Core.Name "parameters"--_StructDeclaration_interfaces = Core.Name "interfaces"--_StructDeclaration_constraints = Core.Name "constraints"--_StructDeclaration_body = Core.Name "body"---- | Any member that can appear in a struct body, including fixed-size buffer declarations.-data StructMemberDeclaration =- StructMemberDeclarationConstant ConstantDeclaration |- StructMemberDeclarationField FieldDeclaration |- StructMemberDeclarationMethod MethodDeclaration |- StructMemberDeclarationProperty PropertyDeclaration |- StructMemberDeclarationEvent EventDeclaration |- StructMemberDeclarationIndexer IndexerDeclaration |- StructMemberDeclarationOperator OperatorDeclaration |- StructMemberDeclarationConstructor ConstructorDeclaration |- StructMemberDeclarationStaticConstructor StaticConstructorDeclaration |- StructMemberDeclarationType TypeDeclaration |- StructMemberDeclarationFixedSizeBuffer FixedSizeBufferDeclaration- deriving (Eq, Ord, Read, Show)--_StructMemberDeclaration = Core.Name "hydra.csharp.syntax.StructMemberDeclaration"--_StructMemberDeclaration_constant = Core.Name "constant"--_StructMemberDeclaration_field = Core.Name "field"--_StructMemberDeclaration_method = Core.Name "method"--_StructMemberDeclaration_property = Core.Name "property"--_StructMemberDeclaration_event = Core.Name "event"--_StructMemberDeclaration_indexer = Core.Name "indexer"--_StructMemberDeclaration_operator = Core.Name "operator"--_StructMemberDeclaration_constructor = Core.Name "constructor"--_StructMemberDeclaration_staticConstructor = Core.Name "staticConstructor"--_StructMemberDeclaration_type = Core.Name "type"--_StructMemberDeclaration_fixedSizeBuffer = Core.Name "fixedSizeBuffer"---- | A modifier keyword on a struct declaration, such as readonly or unsafe.-data StructModifier =- StructModifierNew |- StructModifierPublic |- StructModifierProtected |- StructModifierInternal |- StructModifierPrivate |- StructModifierReadonly |- StructModifierUnsafe- deriving (Eq, Ord, Read, Show)--_StructModifier = Core.Name "hydra.csharp.syntax.StructModifier"--_StructModifier_new = Core.Name "new"--_StructModifier_public = Core.Name "public"--_StructModifier_protected = Core.Name "protected"--_StructModifier_internal = Core.Name "internal"--_StructModifier_private = Core.Name "private"--_StructModifier_readonly = Core.Name "readonly"--_StructModifier_unsafe = Core.Name "unsafe"---- | A struct type or an enum type, as used in the definition of value types.-data StructOrEnumType =- StructOrEnumTypeStruct StructType |- StructOrEnumTypeEnum EnumType- deriving (Eq, Ord, Read, Show)--_StructOrEnumType = Core.Name "hydra.csharp.syntax.StructOrEnumType"--_StructOrEnumType_struct = Core.Name "struct"--_StructOrEnumType_enum = Core.Name "enum"---- | A reference to a struct type: a named type, a simple type, or a tuple type.-data StructType =- StructTypeTypeName TypeName |- StructTypeSimple SimpleType |- StructTypeTuple TupleType- deriving (Eq, Ord, Read, Show)--_StructType = Core.Name "hydra.csharp.syntax.StructType"--_StructType_typeName = Core.Name "typeName"--_StructType_simple = Core.Name "simple"--_StructType_tuple = Core.Name "tuple"---- | A pattern and optional guard expression used in a pattern-matching switch section.-data SwitchBranch =- SwitchBranch {- switchBranchPattern :: Pattern,- switchBranchGuard :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_SwitchBranch = Core.Name "hydra.csharp.syntax.SwitchBranch"--_SwitchBranch_pattern = Core.Name "pattern"--_SwitchBranch_guard = Core.Name "guard"---- | A single label of a switch section: a pattern branch, or the default label.-data SwitchLabel =- SwitchLabelBranch SwitchBranch |- SwitchLabelDefault- deriving (Eq, Ord, Read, Show)--_SwitchLabel = Core.Name "hydra.csharp.syntax.SwitchLabel"--_SwitchLabel_branch = Core.Name "branch"--_SwitchLabel_default = Core.Name "default"---- | A group of switch labels sharing a common statement list within a switch statement.-data SwitchSection =- SwitchSection {- switchSectionLabels :: [SwitchLabel],- switchSectionStatements :: [Statement]}- deriving (Eq, Ord, Read, Show)--_SwitchSection = Core.Name "hydra.csharp.syntax.SwitchSection"--_SwitchSection_labels = Core.Name "labels"--_SwitchSection_statements = Core.Name "statements"---- | A switch statement, dispatching on an expression across its switch sections.-data SwitchStatement =- SwitchStatement {- switchStatementExpression :: Expression,- switchStatementBranches :: [SwitchSection]}- deriving (Eq, Ord, Read, Show)--_SwitchStatement = Core.Name "hydra.csharp.syntax.SwitchStatement"--_SwitchStatement_expression = Core.Name "expression"--_SwitchStatement_branches = Core.Name "branches"---- | A try statement with its protected block, catch clauses, and optional finally block.-data TryStatement =- TryStatement {- tryStatementBody :: Block,- tryStatementCatches :: CatchClauses,- tryStatementFinally :: (Maybe Block)}- deriving (Eq, Ord, Read, Show)--_TryStatement = Core.Name "hydra.csharp.syntax.TryStatement"--_TryStatement_body = Core.Name "body"--_TryStatement_catches = Core.Name "catches"--_TryStatement_finally = Core.Name "finally"---- | A single element of a tuple expression, with an optional name.-data TupleElement =- TupleElement {- tupleElementName :: (Maybe Identifier),- tupleElementExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_TupleElement = Core.Name "hydra.csharp.syntax.TupleElement"--_TupleElement_name = Core.Name "name"--_TupleElement_expression = Core.Name "expression"---- | A tuple literal expression, either a list of named elements or a deconstruction tuple.-data TupleExpression =- TupleExpressionElements [TupleElement] |- TupleExpressionDeconstruction DeconstructionTuple- deriving (Eq, Ord, Read, Show)--_TupleExpression = Core.Name "hydra.csharp.syntax.TupleExpression"--_TupleExpression_elements = Core.Name "elements"--_TupleExpression_deconstruction = Core.Name "deconstruction"---- | A tuple type formed from a non-empty list of named or unnamed element types.-newtype TupleType =- TupleType {- unTupleType :: [TupleTypeElement]}- deriving (Eq, Ord, Read, Show)--_TupleType = Core.Name "hydra.csharp.syntax.TupleType"---- | A single element type of a tuple type, with an optional element name.-data TupleTypeElement =- TupleTypeElement {- tupleTypeElementType :: Type,- tupleTypeElementIdentifier :: (Maybe Identifier)}- deriving (Eq, Ord, Read, Show)--_TupleTypeElement = Core.Name "hydra.csharp.syntax.TupleTypeElement"--_TupleTypeElement_type = Core.Name "type"--_TupleTypeElement_identifier = Core.Name "identifier"---- | A C# type: a reference type, value type, type parameter, or pointer type.-data Type =- TypeReference ReferenceType |- TypeValue ValueType |- TypeParam TypeParameter |- TypePointer PointerType- deriving (Eq, Ord, Read, Show)--_Type = Core.Name "hydra.csharp.syntax.Type"--_Type_reference = Core.Name "reference"--_Type_value = Core.Name "value"--_Type_param = Core.Name "param"--_Type_pointer = Core.Name "pointer"---- | A list of type arguments supplied to a generic type or method.-newtype TypeArgumentList =- TypeArgumentList {- unTypeArgumentList :: [Type]}- deriving (Eq, Ord, Read, Show)--_TypeArgumentList = Core.Name "hydra.csharp.syntax.TypeArgumentList"---- | A top-level or nested type declaration: class, struct, interface, enum, or delegate.-data TypeDeclaration =- TypeDeclarationClass ClassDeclaration |- TypeDeclarationStruct StructDeclaration |- TypeDeclarationInterface InterfaceDeclaration |- TypeDeclarationEnum EnumDeclaration |- TypeDeclarationDelegate DelegateDeclaration- deriving (Eq, Ord, Read, Show)--_TypeDeclaration = Core.Name "hydra.csharp.syntax.TypeDeclaration"--_TypeDeclaration_class = Core.Name "class"--_TypeDeclaration_struct = Core.Name "struct"--_TypeDeclaration_interface = Core.Name "interface"--_TypeDeclaration_enum = Core.Name "enum"--_TypeDeclaration_delegate = Core.Name "delegate"---- | A name that is known to refer to a type, expressed as a namespace-or-type name.-newtype TypeName =- TypeName {- unTypeName :: NamespaceOrTypeName}- deriving (Eq, Ord, Read, Show)--_TypeName = Core.Name "hydra.csharp.syntax.TypeName"---- | A single generic type parameter, identified by its name.-newtype TypeParameter =- TypeParameter {- unTypeParameter :: Identifier}- deriving (Eq, Ord, Read, Show)--_TypeParameter = Core.Name "hydra.csharp.syntax.TypeParameter"---- | The primary, secondary, and constructor constraints on a single type parameter.-data TypeParameterConstraints =- TypeParameterConstraints {- typeParameterConstraintsPrimary :: (Maybe PrimaryConstraint),- typeParameterConstraintsSecondary :: (Maybe SecondaryConstraints),- typeParameterConstraintsConstructor :: Bool}- deriving (Eq, Ord, Read, Show)--_TypeParameterConstraints = Core.Name "hydra.csharp.syntax.TypeParameterConstraints"--_TypeParameterConstraints_primary = Core.Name "primary"--_TypeParameterConstraints_secondary = Core.Name "secondary"--_TypeParameterConstraints_constructor = Core.Name "constructor"---- | A 'where T : ...' clause constraining one type parameter of a generic declaration.-data TypeParameterConstraintsClause =- TypeParameterConstraintsClause {- typeParameterConstraintsClauseParameter :: TypeParameter,- typeParameterConstraintsClauseConstraints :: [TypeParameterConstraints]}- deriving (Eq, Ord, Read, Show)--_TypeParameterConstraintsClause = Core.Name "hydra.csharp.syntax.TypeParameterConstraintsClause"--_TypeParameterConstraintsClause_parameter = Core.Name "parameter"--_TypeParameterConstraintsClause_constraints = Core.Name "constraints"---- | A non-empty, comma-separated list of type parameters in a generic declaration.-newtype TypeParameterList =- TypeParameterList {- unTypeParameterList :: [TypeParameterPart]}- deriving (Eq, Ord, Read, Show)--_TypeParameterList = Core.Name "hydra.csharp.syntax.TypeParameterList"---- | A single type parameter within a type parameter list, with its optional attributes.-data TypeParameterPart =- TypeParameterPart {- typeParameterPartAttributes :: (Maybe Attributes),- typeParameterPartName :: TypeParameter}- deriving (Eq, Ord, Read, Show)--_TypeParameterPart = Core.Name "hydra.csharp.syntax.TypeParameterPart"--_TypeParameterPart_attributes = Core.Name "attributes"--_TypeParameterPart_name = Core.Name "name"---- | A 'typeof' expression yielding the System.Type of a type, unbound generic type, or void.-data TypeofExpression =- TypeofExpressionType Type |- TypeofExpressionUnboundTypeName UnboundTypeName |- TypeofExpressionVoid- deriving (Eq, Ord, Read, Show)--_TypeofExpression = Core.Name "hydra.csharp.syntax.TypeofExpression"--_TypeofExpression_type = Core.Name "type"--_TypeofExpression_unboundTypeName = Core.Name "unboundTypeName"--_TypeofExpression_void = Core.Name "void"---- | A unary expression: a primary expression, or a prefixed unary/cast/await operation.-data UnaryExpression =- UnaryExpressionPrimary PrimaryExpression |- UnaryExpressionPlus UnaryExpression |- UnaryExpressionMinus UnaryExpression |- UnaryExpressionNot UnaryExpression |- UnaryExpressionBitwiseComplement UnaryExpression |- UnaryExpressionPreIncrement UnaryExpression |- UnaryExpressionPreDecrement UnaryExpression |- UnaryExpressionCast CastExpression |- UnaryExpressionAwait UnaryExpression |- UnaryExpressionPointerIndirection UnaryExpression |- UnaryExpressionAddressOf UnaryExpression- deriving (Eq, Ord, Read, Show)--_UnaryExpression = Core.Name "hydra.csharp.syntax.UnaryExpression"--_UnaryExpression_primary = Core.Name "primary"--_UnaryExpression_plus = Core.Name "plus"--_UnaryExpression_minus = Core.Name "minus"--_UnaryExpression_not = Core.Name "not"--_UnaryExpression_bitwiseComplement = Core.Name "bitwiseComplement"--_UnaryExpression_preIncrement = Core.Name "preIncrement"--_UnaryExpression_preDecrement = Core.Name "preDecrement"--_UnaryExpression_cast = Core.Name "cast"--_UnaryExpression_await = Core.Name "await"--_UnaryExpression_pointerIndirection = Core.Name "pointerIndirection"--_UnaryExpression_addressOf = Core.Name "addressOf"---- | The declarator for a user-defined unary operator overload, naming its single parameter.-data UnaryOperatorDeclarator =- UnaryOperatorDeclarator {- unaryOperatorDeclaratorType :: Type,- unaryOperatorDeclaratorOperator :: OverloadableUnaryOperator,- unaryOperatorDeclaratorParameter :: FixedParameter}- deriving (Eq, Ord, Read, Show)--_UnaryOperatorDeclarator = Core.Name "hydra.csharp.syntax.UnaryOperatorDeclarator"--_UnaryOperatorDeclarator_type = Core.Name "type"--_UnaryOperatorDeclarator_operator = Core.Name "operator"--_UnaryOperatorDeclarator_parameter = Core.Name "parameter"---- | An unbound generic type name, as used in a typeof expression (e.g. Dictionary<,>).-newtype UnboundTypeName =- UnboundTypeName {- unUnboundTypeName :: [UnboundTypeNamePart]}- deriving (Eq, Ord, Read, Show)--_UnboundTypeName = Core.Name "hydra.csharp.syntax.UnboundTypeName"---- | A single segment of an unbound type name, with its aliasing flag and generic dimension.-data UnboundTypeNamePart =- UnboundTypeNamePart {- unboundTypeNamePartIdentifier :: Identifier,- unboundTypeNamePartAliased :: Bool,- unboundTypeNamePartDimension :: (Maybe Int)}- deriving (Eq, Ord, Read, Show)--_UnboundTypeNamePart = Core.Name "hydra.csharp.syntax.UnboundTypeNamePart"--_UnboundTypeNamePart_identifier = Core.Name "identifier"--_UnboundTypeNamePart_aliased = Core.Name "aliased"--_UnboundTypeNamePart_dimension = Core.Name "dimension"---- | A type usable with the unsafe 'sizeof' operator: a value type or pointer type.-data UnmanagedType =- UnmanagedTypeValue ValueType |- UnmanagedTypePointer PointerType- deriving (Eq, Ord, Read, Show)--_UnmanagedType = Core.Name "hydra.csharp.syntax.UnmanagedType"--_UnmanagedType_value = Core.Name "value"--_UnmanagedType_pointer = Core.Name "pointer"---- | A 'using alias = namespace-or-type;' directive introducing a using alias.-data UsingAliasDirective =- UsingAliasDirective {- usingAliasDirectiveAlias :: Identifier,- usingAliasDirectiveName :: NamespaceOrTypeName}- deriving (Eq, Ord, Read, Show)--_UsingAliasDirective = Core.Name "hydra.csharp.syntax.UsingAliasDirective"--_UsingAliasDirective_alias = Core.Name "alias"--_UsingAliasDirective_name = Core.Name "name"---- | A using directive: an alias directive, a namespace import, or a using-static directive.-data UsingDirective =- UsingDirectiveAlias UsingAliasDirective |- UsingDirectiveNamespace NamespaceName |- UsingDirectiveStatic TypeName- deriving (Eq, Ord, Read, Show)--_UsingDirective = Core.Name "hydra.csharp.syntax.UsingDirective"--_UsingDirective_alias = Core.Name "alias"--_UsingDirective_namespace = Core.Name "namespace"--_UsingDirective_static = Core.Name "static"---- | A 'using' statement that deterministically disposes an acquired resource after its body.-data UsingStatement =- UsingStatement {- usingStatementAcquisition :: ResourceAcquisition,- usingStatementBody :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_UsingStatement = Core.Name "hydra.csharp.syntax.UsingStatement"--_UsingStatement_acquisition = Core.Name "acquisition"--_UsingStatement_body = Core.Name "body"---- | A struct or enum type, in its non-nullable or nullable ('?') form.-data ValueType =- ValueTypeNonNullable StructOrEnumType |- ValueTypeNullable StructOrEnumType- deriving (Eq, Ord, Read, Show)--_ValueType = Core.Name "hydra.csharp.syntax.ValueType"--_ValueType_nonNullable = Core.Name "nonNullable"--_ValueType_nullable = Core.Name "nullable"---- | An identifier and optional initializer within a field or local variable declaration.-data VariableDeclarator =- VariableDeclarator {- variableDeclaratorIdentifier :: Identifier,- variableDeclaratorInitializer :: (Maybe VariableInitializer)}- deriving (Eq, Ord, Read, Show)--_VariableDeclarator = Core.Name "hydra.csharp.syntax.VariableDeclarator"--_VariableDeclarator_identifier = Core.Name "identifier"--_VariableDeclarator_initializer = Core.Name "initializer"---- | A non-empty, comma-separated list of variable declarators, as used in an event declaration.-newtype VariableDeclarators =- VariableDeclarators {- unVariableDeclarators :: [VariableDeclarator]}- deriving (Eq, Ord, Read, Show)--_VariableDeclarators = Core.Name "hydra.csharp.syntax.VariableDeclarators"---- | The initializer of a variable: an expression or a nested array initializer.-data VariableInitializer =- VariableInitializerExpression Expression |- VariableInitializerArray ArrayInitializer- deriving (Eq, Ord, Read, Show)--_VariableInitializer = Core.Name "hydra.csharp.syntax.VariableInitializer"--_VariableInitializer_expression = Core.Name "expression"--_VariableInitializer_array = Core.Name "array"---- | A reference to a variable, expressed as an expression.-newtype VariableReference =- VariableReference {- unVariableReference :: Expression}- deriving (Eq, Ord, Read, Show)--_VariableReference = Core.Name "hydra.csharp.syntax.VariableReference"---- | The in (contravariant) or out (covariant) variance annotation on a generic type parameter.-data VarianceAnnotation =- VarianceAnnotationIn |- VarianceAnnotationOut- deriving (Eq, Ord, Read, Show)--_VarianceAnnotation = Core.Name "hydra.csharp.syntax.VarianceAnnotation"--_VarianceAnnotation_in = Core.Name "in"--_VarianceAnnotation_out = Core.Name "out"---- | A single type parameter of an interface or delegate, with optional variance annotation.-data VariantTypeParameter =- VariantTypeParameter {- variantTypeParameterAttributes :: (Maybe Attributes),- variantTypeParameterVariance :: (Maybe VarianceAnnotation),- variantTypeParameterParameter :: TypeParameter}- deriving (Eq, Ord, Read, Show)--_VariantTypeParameter = Core.Name "hydra.csharp.syntax.VariantTypeParameter"--_VariantTypeParameter_attributes = Core.Name "attributes"--_VariantTypeParameter_variance = Core.Name "variance"--_VariantTypeParameter_parameter = Core.Name "parameter"---- | The list of variant type parameters declared by a generic interface or delegate.-newtype VariantTypeParameters =- VariantTypeParameters {- unVariantTypeParameters :: [VariantTypeParameter]}- deriving (Eq, Ord, Read, Show)--_VariantTypeParameters = Core.Name "hydra.csharp.syntax.VariantTypeParameters"---- | A single '{expression[,width][:format]}' hole within a verbatim interpolated string.-data VerbatimInterpolation =- VerbatimInterpolation {- verbatimInterpolationExpression :: Expression,- verbatimInterpolationWidth :: (Maybe ConstantExpression),- verbatimInterpolationFormat :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_VerbatimInterpolation = Core.Name "hydra.csharp.syntax.VerbatimInterpolation"--_VerbatimInterpolation_expression = Core.Name "expression"--_VerbatimInterpolation_width = Core.Name "width"--_VerbatimInterpolation_format = Core.Name "format"---- | A while iteration statement that tests its condition before each execution of the body.-data WhileStatement =- WhileStatement {- whileStatementCondition :: BooleanExpression,- whileStatementBody :: EmbeddedStatement}- deriving (Eq, Ord, Read, Show)--_WhileStatement = Core.Name "hydra.csharp.syntax.WhileStatement"--_WhileStatement_condition = Core.Name "condition"--_WhileStatement_body = Core.Name "body"---- | A 'yield return' or 'yield break' statement used within an iterator.-data YieldStatement =- YieldStatementReturn Expression |- YieldStatementBreak- deriving (Eq, Ord, Read, Show)--_YieldStatement = Core.Name "hydra.csharp.syntax.YieldStatement"--_YieldStatement_return = Core.Name "return"--_YieldStatement_break = Core.Name "break"
− src/main/haskell/Hydra/Datalog/Syntax.hs
@@ -1,180 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A basic Datalog model--module Hydra.Datalog.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---- | A relation applied to a list of terms-data Atom =- Atom {- atomRelation :: Relation,- atomTermList :: TermList}- deriving (Eq, Ord, Read, Show)--_Atom = Core.Name "hydra.datalog.syntax.Atom"--_Atom_Relation = Core.Name "Relation"--_Atom_TermList = Core.Name "TermList"---- | A nonempty, comma-separated list of atoms-data AtomList =- AtomListSingle Atom |- AtomListMany AtomListMultiple- deriving (Eq, Ord, Read, Show)--_AtomList = Core.Name "hydra.datalog.syntax.AtomList"--_AtomList_single = Core.Name "single"--_AtomList_many = Core.Name "many"---- | An atom followed by the remainder of a comma-separated atom list-data AtomListMultiple =- AtomListMultiple {- atomListMultipleAtom :: Atom,- atomListMultipleAtomList :: AtomList}- deriving (Eq, Ord, Read, Show)--_AtomListMultiple = Core.Name "hydra.datalog.syntax.AtomListMultiple"--_AtomListMultiple_Atom = Core.Name "Atom"--_AtomListMultiple_AtomList = Core.Name "AtomList"---- | A constant term, e.g. an atomic value such as a symbol or number-newtype Constant =- Constant {- unConstant :: String}- deriving (Eq, Ord, Read, Show)--_Constant = Core.Name "hydra.datalog.syntax.Constant"---- | A nonempty, comma-separated list of constants-data ConstantList =- ConstantListSingle Constant |- ConstantListMany ConstantListMultiple- deriving (Eq, Ord, Read, Show)--_ConstantList = Core.Name "hydra.datalog.syntax.ConstantList"--_ConstantList_single = Core.Name "single"--_ConstantList_many = Core.Name "many"---- | A constant followed by the remainder of a comma-separated constant list-data ConstantListMultiple =- ConstantListMultiple {- constantListMultipleConstant :: Constant,- constantListMultipleConstantList :: ConstantList}- deriving (Eq, Ord, Read, Show)--_ConstantListMultiple = Core.Name "hydra.datalog.syntax.ConstantListMultiple"--_ConstantListMultiple_Constant = Core.Name "Constant"--_ConstantListMultiple_ConstantList = Core.Name "ConstantList"---- | An unconditional assertion of a relation applied to a list of constants-data Fact =- Fact {- factRelation :: Relation,- factConstantList :: ConstantList}- deriving (Eq, Ord, Read, Show)--_Fact = Core.Name "hydra.datalog.syntax.Fact"--_Fact_Relation = Core.Name "Relation"--_Fact_ConstantList = Core.Name "ConstantList"---- | A Datalog program: a list of facts and rules-newtype Program =- Program {- unProgram :: [ProgramElmt]}- deriving (Eq, Ord, Read, Show)--_Program = Core.Name "hydra.datalog.syntax.Program"---- | A single element of a Datalog program: either a fact or a rule-data ProgramElmt =- ProgramElmtFact Fact |- ProgramElmtRule Rule- deriving (Eq, Ord, Read, Show)--_ProgramElmt = Core.Name "hydra.datalog.syntax.ProgramElmt"--_ProgramElmt_Fact = Core.Name "Fact"--_ProgramElmt_Rule = Core.Name "Rule"---- | The name of a predicate (relation) used in facts, rules, and queries-newtype Relation =- Relation {- unRelation :: String}- deriving (Eq, Ord, Read, Show)--_Relation = Core.Name "hydra.datalog.syntax.Relation"---- | A conditional assertion: a head atom implied by a conjunction of body atoms-data Rule =- Rule {- ruleAtom :: Atom,- ruleAtomList :: AtomList}- deriving (Eq, Ord, Read, Show)--_Rule = Core.Name "hydra.datalog.syntax.Rule"--_Rule_Atom = Core.Name "Atom"--_Rule_AtomList = Core.Name "AtomList"---- | An argument to an atom: either a constant or a variable-data Term =- TermConstant Constant |- TermVariable Variable- deriving (Eq, Ord, Read, Show)--_Term = Core.Name "hydra.datalog.syntax.Term"--_Term_Constant = Core.Name "Constant"--_Term_Variable = Core.Name "Variable"---- | A nonempty, comma-separated list of terms-data TermList =- TermListSingle Term |- TermListMany TermListMultiple- deriving (Eq, Ord, Read, Show)--_TermList = Core.Name "hydra.datalog.syntax.TermList"--_TermList_single = Core.Name "single"--_TermList_many = Core.Name "many"---- | A term followed by the remainder of a comma-separated term list-data TermListMultiple =- TermListMultiple {- termListMultipleTerm :: Term,- termListMultipleTermList :: TermList}- deriving (Eq, Ord, Read, Show)--_TermListMultiple = Core.Name "hydra.datalog.syntax.TermListMultiple"--_TermListMultiple_Term = Core.Name "Term"--_TermListMultiple_TermList = Core.Name "TermList"---- | A logic variable, which may be bound to different constants across a query-newtype Variable =- Variable {- unVariable :: String}- deriving (Eq, Ord, Read, Show)--_Variable = Core.Name "hydra.datalog.syntax.Variable"
− src/main/haskell/Hydra/Delta/Parquet.hs
@@ -1,154 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A partial Delta Parquet model, based on DataType and its subclasses as specified in the 3.0.0 Java API: https://docs.delta.io/3.0.0/api/java/kernel/io/delta/kernel/types/DataType.html--module Hydra.Delta.Parquet 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---- | Represent array data type.-data ArrayType =- ArrayType {- arrayTypeElementType :: DataType,- arrayTypeContainsNull :: Bool}- deriving (Eq, Ord, Read, Show)--_ArrayType = Core.Name "hydra.delta.parquet.ArrayType"--_ArrayType_elementType = Core.Name "elementType"--_ArrayType_containsNull = Core.Name "containsNull"---- | Base class for all primitive types DataType.-data BasePrimitiveType =- -- | The data type representing byte[] values.- BasePrimitiveTypeBinary |- -- | Data type representing boolean type values.- BasePrimitiveTypeBoolean |- -- | The data type representing byte type values.- BasePrimitiveTypeByte |- -- | A date type, supporting "0001-01-01" through "9999-12-31". Internally, this is represented as the number of days from 1970-01-01.- BasePrimitiveTypeDate |- -- | The data type representing double type values.- BasePrimitiveTypeDouble |- -- | The data type representing float type values.- BasePrimitiveTypeFloat |- -- | The data type representing integer type values.- BasePrimitiveTypeInteger |- -- | The data type representing long type values.- BasePrimitiveTypeLong |- -- | The data type representing short type values.- BasePrimitiveTypeShort |- -- | The data type representing string type values.- BasePrimitiveTypeString |- -- | A timestamp type, supporting [0001-01-01T00:00:00.000000Z, 9999-12-31T23:59:59.999999Z] where the left/right-bound is a date and time of the proleptic Gregorian calendar in UTC+00:00. Internally, this is represented as the number of microseconds since the Unix epoch, 1970-01-01 00:00:00 UTC.- BasePrimitiveTypeTimestamp- deriving (Eq, Ord, Read, Show)--_BasePrimitiveType = Core.Name "hydra.delta.parquet.BasePrimitiveType"--_BasePrimitiveType_binary = Core.Name "binary"--_BasePrimitiveType_boolean = Core.Name "boolean"--_BasePrimitiveType_byte = Core.Name "byte"--_BasePrimitiveType_date = Core.Name "date"--_BasePrimitiveType_double = Core.Name "double"--_BasePrimitiveType_float = Core.Name "float"--_BasePrimitiveType_integer = Core.Name "integer"--_BasePrimitiveType_long = Core.Name "long"--_BasePrimitiveType_short = Core.Name "short"--_BasePrimitiveType_string = Core.Name "string"--_BasePrimitiveType_timestamp = Core.Name "timestamp"---- | A Delta Parquet data type, either array, primitive, decimal, map, or struct.-data DataType =- -- | Represent array data type.- DataTypeArray ArrayType |- -- | Base class for all primitive types DataType.- DataTypeBase BasePrimitiveType |- -- | A decimal data type.- DataTypeDecimal DecimalType |- -- | Data type representing a map type.- DataTypeMap MapType |- -- | Struct type which contains one or more columns.- DataTypeStruct StructType- deriving (Eq, Ord, Read, Show)--_DataType = Core.Name "hydra.delta.parquet.DataType"--_DataType_array = Core.Name "array"--_DataType_base = Core.Name "base"--_DataType_decimal = Core.Name "decimal"--_DataType_map = Core.Name "map"--_DataType_struct = Core.Name "struct"---- | A decimal data type with fixed precision (the maximum number of digits) and scale (the number of digits on right side of dot). The precision can be up to 38, scale can also be up to 38 (less or equal to precision).-data DecimalType =- DecimalType {- decimalTypePrecision :: Int,- decimalTypeScale :: Int}- deriving (Eq, Ord, Read, Show)--_DecimalType = Core.Name "hydra.delta.parquet.DecimalType"--_DecimalType_precision = Core.Name "precision"--_DecimalType_scale = Core.Name "scale"---- | Data type representing a map type.-data MapType =- MapType {- mapTypeKeyType :: DataType,- mapTypeValueType :: DataType,- mapTypeValueContainsNull :: Bool}- deriving (Eq, Ord, Read, Show)--_MapType = Core.Name "hydra.delta.parquet.MapType"--_MapType_keyType = Core.Name "keyType"--_MapType_valueType = Core.Name "valueType"--_MapType_valueContainsNull = Core.Name "valueContainsNull"---- | Represents a subfield of StructType with additional properties and metadata.-data StructField =- StructField {- structFieldName :: String,- structFieldDataType :: DataType,- structFieldNullable :: Bool}- deriving (Eq, Ord, Read, Show)--_StructField = Core.Name "hydra.delta.parquet.StructField"--_StructField_name = Core.Name "name"--_StructField_dataType = Core.Name "dataType"--_StructField_nullable = Core.Name "nullable"---- | Struct type which contains one or more columns.-data StructType =- StructType {- structTypeFields :: [StructField]}- deriving (Eq, Ord, Read, Show)--_StructType = Core.Name "hydra.delta.parquet.StructType"--_StructType_fields = Core.Name "fields"
+ src/main/haskell/Hydra/Ext/Atlas.hs view
@@ -0,0 +1,244 @@+-- Note: this is an automatically generated file. Do not edit.++-- | The Apache Atlas meta-model+-- | Based on the the org.apache.atlas.model package in the master branch as of 2022-06-01+-- | https://github.com/apache/atlas/tree/master/intg/src/main/java/org/apache/atlas/model++module Hydra.Ext.Atlas where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Rdf.Xml.Schema as Schema+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.Int as I+import qualified Data.Map as M+import qualified Data.Set as S++-- | class that captures details of a struct-attribute.+data AtlasAttributeDef =+ AtlasAttributeDef {+ atlasAttributeDefName :: (Maybe String),+ atlasAttributeDefTypeName :: (Maybe String),+ atlasAttributeDefIsOptional :: Bool,+ atlasAttributeDefCardinality :: (Maybe AtlasAttributeDefCardinality),+ atlasAttributeDefValuesMinCount :: Int,+ atlasAttributeDefValuesMaxCount :: Int,+ atlasAttributeDefIsUnique :: Bool,+ atlasAttributeDefIsIndexable :: Bool,+ atlasAttributeDefIncludeInNotification :: Bool,+ atlasAttributeDefDefaultValue :: (Maybe String),+ atlasAttributeDefDescription :: (Maybe String),+ atlasAttributeDefSearchWeight :: Int,+ atlasAttributeDefIndexType :: (Maybe AtlasAttributeDefIndexType),+ atlasAttributeDefConstraints :: [AtlasConstraintDef],+ atlasAttributeDefOptions :: (M.Map String String),+ atlasAttributeDefDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_AtlasAttributeDef = Model.Name "hydra.ext.atlas.AtlasAttributeDef"++_AtlasAttributeDef_name = Model.Name "name"++_AtlasAttributeDef_typeName = Model.Name "typeName"++_AtlasAttributeDef_isOptional = Model.Name "isOptional"++_AtlasAttributeDef_cardinality = Model.Name "cardinality"++_AtlasAttributeDef_valuesMinCount = Model.Name "valuesMinCount"++_AtlasAttributeDef_valuesMaxCount = Model.Name "valuesMaxCount"++_AtlasAttributeDef_isUnique = Model.Name "isUnique"++_AtlasAttributeDef_isIndexable = Model.Name "isIndexable"++_AtlasAttributeDef_includeInNotification = Model.Name "includeInNotification"++_AtlasAttributeDef_defaultValue = Model.Name "defaultValue"++_AtlasAttributeDef_description = Model.Name "description"++_AtlasAttributeDef_searchWeight = Model.Name "searchWeight"++_AtlasAttributeDef_indexType = Model.Name "indexType"++_AtlasAttributeDef_constraints = Model.Name "constraints"++_AtlasAttributeDef_options = Model.Name "options"++_AtlasAttributeDef_displayName = Model.Name "displayName"++-- | The cardinality of an Atlas attribute: single-valued, a list, or a set+data AtlasAttributeDefCardinality =+ AtlasAttributeDefCardinalitySingle |+ AtlasAttributeDefCardinalityList |+ AtlasAttributeDefCardinalitySet+ deriving (Eq, Ord, Read, Show)++_AtlasAttributeDefCardinality = Model.Name "hydra.ext.atlas.AtlasAttributeDefCardinality"++_AtlasAttributeDefCardinality_single = Model.Name "single"++_AtlasAttributeDefCardinality_list = Model.Name "list"++_AtlasAttributeDefCardinality_set = Model.Name "set"++-- | The index type of an Atlas attribute+data AtlasAttributeDefIndexType =+ AtlasAttributeDefIndexTypeDefault |+ AtlasAttributeDefIndexTypeString+ deriving (Eq, Ord, Read, Show)++_AtlasAttributeDefIndexType = Model.Name "hydra.ext.atlas.AtlasAttributeDefIndexType"++_AtlasAttributeDefIndexType_default = Model.Name "default"++_AtlasAttributeDefIndexType_string = Model.Name "string"++-- | Base class that captures common-attributes for all Atlas types.+data AtlasBaseTypeDef =+ AtlasBaseTypeDef {+ atlasBaseTypeDefCategory :: (Maybe TypeCategory),+ atlasBaseTypeDefGuid :: (Maybe String),+ atlasBaseTypeDefCreatedBy :: (Maybe String),+ atlasBaseTypeDefUpdatedBy :: (Maybe String),+ atlasBaseTypeDefCreateTime :: (Maybe Schema.DateTime),+ atlasBaseTypeDefUpdateTime :: (Maybe Schema.DateTime),+ atlasBaseTypeDefVersion :: (Maybe I.Int64),+ atlasBaseTypeDefName :: (Maybe String),+ atlasBaseTypeDefDescription :: (Maybe String),+ atlasBaseTypeDefTypeVersion :: (Maybe String),+ atlasBaseTypeDefServiceType :: (Maybe String),+ atlasBaseTypeDefOptions :: (M.Map String String)}+ deriving (Eq, Ord, Read, Show)++_AtlasBaseTypeDef = Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"++_AtlasBaseTypeDef_category = Model.Name "category"++_AtlasBaseTypeDef_guid = Model.Name "guid"++_AtlasBaseTypeDef_createdBy = Model.Name "createdBy"++_AtlasBaseTypeDef_updatedBy = Model.Name "updatedBy"++_AtlasBaseTypeDef_createTime = Model.Name "createTime"++_AtlasBaseTypeDef_updateTime = Model.Name "updateTime"++_AtlasBaseTypeDef_version = Model.Name "version"++_AtlasBaseTypeDef_name = Model.Name "name"++_AtlasBaseTypeDef_description = Model.Name "description"++_AtlasBaseTypeDef_typeVersion = Model.Name "typeVersion"++_AtlasBaseTypeDef_serviceType = Model.Name "serviceType"++_AtlasBaseTypeDef_options = Model.Name "options"++-- | class that captures details of a constraint.+data AtlasConstraintDef =+ AtlasConstraintDef {+ atlasConstraintDefType :: (Maybe String),+ atlasConstraintDefParams :: (M.Map String String)}+ deriving (Eq, Ord, Read, Show)++_AtlasConstraintDef = Model.Name "hydra.ext.atlas.AtlasConstraintDef"++_AtlasConstraintDef_type = Model.Name "type"++_AtlasConstraintDef_params = Model.Name "params"++-- | class that captures details of a entity-type.+data AtlasEntityDef =+ AtlasEntityDef {+ atlasEntityDefAsAtlasStruct :: AtlasStructDef,+ atlasEntityDefSuperTypes :: (S.Set String),+ -- | the value of this field is derived from 'superTypes' specified in all AtlasEntityDef+ atlasEntityDefSubTypes :: (S.Set String),+ -- | the value of this field is derived from all the relationshipDefs this entityType is referenced in+ atlasEntityDefRelationshipAttributeDefs :: [AtlasRelationshipAttributeDef],+ -- | the value of this field is derived from all the businessMetadataDefs this entityType is referenced in+ atlasEntityDefBusinessAttributeDefs :: (M.Map String [AtlasAttributeDef])}+ deriving (Eq, Ord, Read, Show)++_AtlasEntityDef = Model.Name "hydra.ext.atlas.AtlasEntityDef"++_AtlasEntityDef_asAtlasStruct = Model.Name "asAtlasStruct"++_AtlasEntityDef_superTypes = Model.Name "superTypes"++_AtlasEntityDef_subTypes = Model.Name "subTypes"++_AtlasEntityDef_relationshipAttributeDefs = Model.Name "relationshipAttributeDefs"++_AtlasEntityDef_businessAttributeDefs = Model.Name "businessAttributeDefs"++-- | class that captures details of a struct-attribute.+data AtlasRelationshipAttributeDef =+ AtlasRelationshipAttributeDef {+ atlasRelationshipAttributeDefAsAtlasAttribute :: AtlasAttributeDef,+ atlasRelationshipAttributeDefRelationshipTypeName :: (Maybe String),+ atlasRelationshipAttributeDefIsLegacyAttribute :: Bool}+ deriving (Eq, Ord, Read, Show)++_AtlasRelationshipAttributeDef = Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"++_AtlasRelationshipAttributeDef_asAtlasAttribute = Model.Name "asAtlasAttribute"++_AtlasRelationshipAttributeDef_relationshipTypeName = Model.Name "relationshipTypeName"++_AtlasRelationshipAttributeDef_isLegacyAttribute = Model.Name "isLegacyAttribute"++-- | class that captures details of a struct-type.+data AtlasStructDef =+ AtlasStructDef {+ atlasStructDefAsAtlasBaseType :: AtlasBaseTypeDef,+ atlasStructDefAttributeDefs :: [AtlasAttributeDef]}+ deriving (Eq, Ord, Read, Show)++_AtlasStructDef = Model.Name "hydra.ext.atlas.AtlasStructDef"++_AtlasStructDef_asAtlasBaseType = Model.Name "asAtlasBaseType"++_AtlasStructDef_attributeDefs = Model.Name "attributeDefs"++-- | The category of an Atlas type definition+data TypeCategory =+ TypeCategoryPrimitive |+ TypeCategoryObjectIdType |+ TypeCategoryEnum |+ TypeCategoryStruct |+ TypeCategoryClassification |+ TypeCategoryEntity |+ TypeCategoryArray |+ TypeCategoryMap |+ TypeCategoryRelationship |+ TypeCategoryBusinessMetadata+ deriving (Eq, Ord, Read, Show)++_TypeCategory = Model.Name "hydra.ext.atlas.TypeCategory"++_TypeCategory_primitive = Model.Name "primitive"++_TypeCategory_objectIdType = Model.Name "objectIdType"++_TypeCategory_enum = Model.Name "enum"++_TypeCategory_struct = Model.Name "struct"++_TypeCategory_classification = Model.Name "classification"++_TypeCategory_entity = Model.Name "entity"++_TypeCategory_array = Model.Name "array"++_TypeCategory_map = Model.Name "map"++_TypeCategory_relationship = Model.Name "relationship"++_TypeCategory_businessMetadata = Model.Name "businessMetadata"
+ src/main/haskell/Hydra/Ext/Avro/Coder.hs view
@@ -0,0 +1,663 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Avro-to-Hydra adapter for converting Avro schemas and data to Hydra types and terms++module Hydra.Ext.Avro.Coder where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Extract.Model as ExtractModel+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.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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Avro.Environment as Environment+import qualified Hydra.Ext.Avro.Schema as Schema+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++-- | Annotate an adapter's target type with optional annotations+annotateAdapter :: Maybe (M.Map Model.Name Model.Term) -> Coders.Adapter t0 Model.Type t1 t2 t3 -> Coders.Adapter t0 Model.Type t1 t2 t3+annotateAdapter ann ad =+ Optionals.match ann ad (\n -> Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad),+ Coders.adapterSource = (Coders.adapterSource ad),+ Coders.adapterTarget = (Model.TypeAnnotated (Model.AnnotatedType {+ Model.annotatedTypeBody = (Coders.adapterTarget ad),+ Model.annotatedTypeAnnotation = (Model.TermMap (Maps.mapKeys (\n2 -> Model.TermVariable n2) n))})),+ Coders.adapterCoder = (Coders.adapterCoder ad)})++-- | The annotation key for foreign key metadata on an Avro field+avroForeignKey :: String+avroForeignKey = "@foreignKey"++-- | Create an adapter between Avro schemas and Hydra types/terms+avroHydraAdapter :: t0 -> Schema.Schema -> Environment.AvroEnvironment -> Either Errors.Error (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error, Environment.AvroEnvironment)+avroHydraAdapter cx schema env0 =++ let simpleAdapter =+ \env -> \typ -> \encode -> \decode -> Right (+ Coders.Adapter {+ Coders.adapterIsLossy = False,+ Coders.adapterSource = schema,+ Coders.adapterTarget = typ,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encode,+ Coders.coderDecode = decode}},+ env)+ doubleToInt = \d -> Literals.bigintToInt32 (Literals.decimalToBigint d)+ doubleToLong = \d -> Literals.bigintToInt64 (Literals.decimalToBigint d)+ in case schema of+ Schema.SchemaArray v0 -> Eithers.bind (avroHydraAdapter cx (Schema.arrayItems v0) env0) (\adEnv ->+ let ad = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad),+ Coders.adapterSource = schema,+ Coders.adapterTarget = (Model.TypeList (Coders.adapterTarget ad)),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\v -> case v of+ JsonModel.ValueArray v1 -> Eithers.map (\ts -> Model.TermList ts) (Eithers.mapList (\jv -> Coders.coderEncode (Coders.adapterCoder ad) jv) v1)),+ Coders.coderDecode = (\t -> case t of+ Model.TermList v1 -> Eithers.map (\jvs -> JsonModel.ValueArray jvs) (Eithers.mapList (\tv -> Coders.coderDecode (Coders.adapterCoder ad) tv) v1))}},+ env1)))+ Schema.SchemaMap v0 -> Eithers.bind (avroHydraAdapter cx (Schema.mapValues v0) env0) (\adEnv ->+ let ad = Pairs.first adEnv+ env1 = Pairs.second adEnv+ pairToHydra =+ \entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Eithers.map (\v_ -> (Model.TermLiteral (Model.LiteralString k), v_)) (Coders.coderEncode (Coders.adapterCoder ad) v))+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad),+ Coders.adapterSource = schema,+ Coders.adapterTarget = (Model.TypeMap (Model.MapType {+ Model.mapTypeKeys = (Model.TypeLiteral Model.LiteralTypeString),+ Model.mapTypeValues = (Coders.adapterTarget ad)})),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\v -> case v of+ JsonModel.ValueObject v1 -> Eithers.map (\pairs -> Model.TermMap (Maps.fromList pairs)) (Eithers.mapList (\e -> pairToHydra e) v1)),+ Coders.coderDecode = (\m -> Eithers.map (\mp_ -> JsonModel.ValueObject (Maps.toList mp_)) (ExtractModel.map (\t -> ExtractModel.string (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t) (\t -> Coders.coderDecode (Coders.adapterCoder ad) t) (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) m))}},+ env1)))+ Schema.SchemaNamed v0 ->+ let ns = Schema.namedNamespace v0+ manns = namedAnnotationsToCore v0+ ann = Logic.ifElse (Maps.isEmpty manns) Nothing (Just manns)+ lastNs = Environment.avroEnvironmentNamespace env0+ nextNs = Optionals.match ns lastNs (\s -> Just s)+ env1 =+ Environment.AvroEnvironment {+ Environment.avroEnvironmentNamedAdapters = (Environment.avroEnvironmentNamedAdapters env0),+ Environment.avroEnvironmentNamespace = nextNs,+ Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env0)}+ qname =+ Environment.AvroQualifiedName {+ Environment.avroQualifiedNameNamespace = nextNs,+ Environment.avroQualifiedNameName = (Schema.namedName v0)}+ hydraName = avroNameToHydraName qname+ in (Optionals.match (getAvroHydraAdapter qname env1) (Eithers.bind (case (Schema.namedType v0) of+ Schema.NamedTypeEnum v1 ->+ let syms = Schema.enumSymbols v1+ typ =+ Model.TypeUnion (Lists.map (\s -> Model.FieldType {+ Model.fieldTypeName = (Model.Name s),+ Model.fieldTypeType = Model.TypeUnit}) syms)+ in (simpleAdapter env1 typ (\jv -> case jv of+ JsonModel.ValueString v2 -> Right (Model.TermInject (Model.Injection {+ Model.injectionTypeName = hydraName,+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name v2),+ Model.fieldTerm = Model.TermUnit}}))) (\t -> case t of+ Model.TermInject v2 ->+ let fld = Model.injectionField v2+ fn = Model.fieldName fld+ in (Right (JsonModel.ValueString (Model.unName fn)))))+ Schema.NamedTypeFixed _ -> simpleAdapter env1 (Model.TypeLiteral Model.LiteralTypeBinary) (\jv -> case jv of+ JsonModel.ValueString v2 -> Right (Model.TermLiteral (Model.LiteralBinary (Literals.base64ToBinary v2)))) (\t -> Eithers.map (\b -> JsonModel.ValueString (Literals.binaryToBase64 b)) (ExtractModel.binary (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.NamedTypeRecord v1 ->+ let avroFields = Schema.recordFields v1+ in (Eithers.bind (prepareFields cx env1 avroFields) (\prepResult ->+ let adaptersByFieldName = Pairs.first prepResult+ env2 = Pairs.second prepResult+ in (Eithers.bind (findAvroPrimaryKeyField cx qname avroFields) (\pk ->+ let encodePair =+ \entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Optionals.match (Maps.lookup k adaptersByFieldName) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "unrecognized field for ",+ (showQname qname),+ ": ",+ k])))) (\fad -> Eithers.map (\v_ -> Model.Field {+ Model.fieldName = (Model.Name k),+ Model.fieldTerm = v_}) (Coders.coderEncode (Coders.adapterCoder (Pairs.second fad)) v)))+ decodeField =+ \fld ->+ let k = Model.unName (Model.fieldName fld)+ v = Model.fieldTerm fld+ in (Optionals.match (Maps.lookup k adaptersByFieldName) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "unrecognized field for ",+ (showQname qname),+ ": ",+ k])))) (\fad -> Eithers.map (\v_ -> (k, v_)) (Coders.coderDecode (Coders.adapterCoder (Pairs.second fad)) v)))+ lossy =+ Lists.foldl (\b -> \fad -> Logic.or b (Coders.adapterIsLossy (Pairs.second fad))) False (Maps.elems adaptersByFieldName)+ hfields =+ Lists.map (\fad -> Model.FieldType {+ Model.fieldTypeName = (Model.Name (Schema.fieldName (Pairs.first fad))),+ Model.fieldTypeType = (Coders.adapterTarget (Pairs.second fad))}) (Maps.elems adaptersByFieldName)+ target = Model.TypeRecord hfields+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = schema,+ Coders.adapterTarget = target,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\jv -> case jv of+ JsonModel.ValueObject v2 -> Eithers.map (\fields -> Model.TermRecord (Model.Record {+ Model.recordTypeName = hydraName,+ Model.recordFields = fields})) (Eithers.mapList (\e -> encodePair e) v2)),+ Coders.coderDecode = (\t -> case t of+ Model.TermRecord v2 -> Eithers.map (\kvs -> JsonModel.ValueObject kvs) (Eithers.mapList (\fld -> decodeField fld) (Model.recordFields v2)))}},+ env2))))))) (\adEnv2 ->+ let ad = Pairs.first adEnv2+ env2 = Pairs.second adEnv2+ env3 = putAvroHydraAdapter qname ad env2+ env4 =+ Environment.AvroEnvironment {+ Environment.avroEnvironmentNamedAdapters = (Environment.avroEnvironmentNamedAdapters env3),+ Environment.avroEnvironmentNamespace = lastNs,+ Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env3)}+ in (Right (annotateAdapter ann ad, env4)))) (\_ad -> err cx (Strings.concat2 "Avro named type defined more than once: " (showQname qname))))+ Schema.SchemaPrimitive v0 -> case v0 of+ Schema.PrimitiveNull -> simpleAdapter env0 Model.TypeUnit (\jv -> case jv of+ JsonModel.ValueString v2 -> Right (Model.TermLiteral (Model.LiteralString v2))) (\t -> Eithers.map (\s -> JsonModel.ValueString s) (ExtractModel.string (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveBoolean -> simpleAdapter env0 (Model.TypeLiteral Model.LiteralTypeBoolean) (\jv -> case jv of+ JsonModel.ValueBoolean v2 -> Right (Model.TermLiteral (Model.LiteralBoolean v2))) (\t -> Eithers.map (\b -> JsonModel.ValueBoolean b) (ExtractModel.boolean (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveInt -> simpleAdapter env0 (Model.TypeLiteral (Model.LiteralTypeInteger Model.IntegerTypeInt32)) (\jv -> case jv of+ JsonModel.ValueNumber v2 -> Right (Model.TermLiteral (Model.LiteralInteger (Model.IntegerValueInt32 (doubleToInt v2))))) (\t -> Eithers.map (\i -> JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint i))) (ExtractModel.int32 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveLong -> simpleAdapter env0 (Model.TypeLiteral (Model.LiteralTypeInteger Model.IntegerTypeInt64)) (\jv -> case jv of+ JsonModel.ValueNumber v2 -> Right (Model.TermLiteral (Model.LiteralInteger (Model.IntegerValueInt64 (doubleToLong v2))))) (\t -> Eithers.map (\i -> JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int64ToBigint i))) (ExtractModel.int64 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveFloat -> simpleAdapter env0 (Model.TypeLiteral (Model.LiteralTypeFloat Model.FloatTypeFloat32)) (\jv -> case jv of+ JsonModel.ValueNumber v2 -> Right (Model.TermLiteral (Model.LiteralFloat (Model.FloatValueFloat32 (Literals.decimalToFloat32 v2))))) (\t -> Eithers.map (\f -> JsonModel.ValueNumber (Literals.float32ToDecimal f)) (ExtractModel.float32 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveDouble -> simpleAdapter env0 (Model.TypeLiteral (Model.LiteralTypeFloat Model.FloatTypeFloat64)) (\jv -> case jv of+ JsonModel.ValueNumber v2 -> Right (Model.TermLiteral (Model.LiteralFloat (Model.FloatValueFloat64 (Literals.decimalToFloat64 v2))))) (\t -> Eithers.map (\d -> JsonModel.ValueNumber (Literals.float64ToDecimal d)) (ExtractModel.float64 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveBytes -> simpleAdapter env0 (Model.TypeLiteral Model.LiteralTypeBinary) (\jv -> case jv of+ JsonModel.ValueString v2 -> Right (Model.TermLiteral (Model.LiteralBinary (Literals.base64ToBinary v2)))) (\t -> Eithers.map (\b -> JsonModel.ValueString (Literals.binaryToBase64 b)) (ExtractModel.binary (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.PrimitiveString -> simpleAdapter env0 (Model.TypeLiteral Model.LiteralTypeString) (\jv -> case jv of+ JsonModel.ValueString v2 -> Right (Model.TermLiteral (Model.LiteralString v2))) (\t -> Eithers.map (\s -> JsonModel.ValueString s) (ExtractModel.string (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t))+ Schema.SchemaReference v0 ->+ let qname = parseAvroName (Environment.avroEnvironmentNamespace env0) v0+ in (Optionals.match (getAvroHydraAdapter qname env0) (err cx (Strings.concat2 "Referenced Avro type has not been defined: " (showQname qname))) (\ad -> Right (ad, env0)))+ Schema.SchemaUnion v0 ->+ let schemas = Schema.unUnion v0+ isNull =+ \s -> case s of+ Schema.SchemaPrimitive v1 -> case v1 of+ Schema.PrimitiveNull -> True+ _ -> False+ _ -> False+ hasNull = Logic.not (Lists.isEmpty (Lists.filter isNull schemas))+ nonNulls = Lists.filter (\s -> Logic.not (isNull s)) schemas+ forOptional =+ \s -> Eithers.bind (avroHydraAdapter cx s env0) (\adEnv ->+ let ad = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad),+ Coders.adapterSource = schema,+ Coders.adapterTarget = (Model.TypeOptional (Coders.adapterTarget ad)),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\v -> case v of+ JsonModel.ValueNull -> Right (Model.TermOptional Nothing)+ _ -> Eithers.map (\t -> Model.TermOptional (Just t)) (Coders.coderEncode (Coders.adapterCoder ad) v)),+ Coders.coderDecode = (\t -> case t of+ Model.TermOptional v1 -> Optionals.match v1 (Right JsonModel.ValueNull) (\term_ -> Coders.coderDecode (Coders.adapterCoder ad) term_))}},+ env1)))+ in (Logic.ifElse (Ordering.gt (Lists.length nonNulls) 1) (err cx "general-purpose unions are not yet supported") (Optionals.match (Lists.head nonNulls) (err cx "cannot generate the empty type") (\nonNullHead -> Logic.ifElse hasNull (forOptional nonNullHead) (Eithers.bind (avroHydraAdapter cx nonNullHead env0) (\adEnv ->+ let ad = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad),+ Coders.adapterSource = schema,+ Coders.adapterTarget = (Coders.adapterTarget ad),+ Coders.adapterCoder = (Coders.adapterCoder ad)},+ env1)))))))++-- | Convert an Avro qualified name to a Hydra name+avroNameToHydraName :: Environment.AvroQualifiedName -> Model.Name+avroNameToHydraName qname =++ let mns = Environment.avroQualifiedNameNamespace qname+ local = Environment.avroQualifiedNameName qname+ in (Names.unqualifyName (Util.QualifiedName {+ Util.qualifiedNameModuleName = (Optionals.map (\s -> Packaging.ModuleName s) mns),+ Util.qualifiedNameLocal = local}))++-- | The annotation key for primary key metadata on an Avro field+avroPrimaryKey :: String+avroPrimaryKey = "@primaryKey"++-- | An empty Avro environment with no named adapters, no namespace, and no elements+emptyAvroEnvironment :: Environment.AvroEnvironment+emptyAvroEnvironment =+ Environment.AvroEnvironment {+ Environment.avroEnvironmentNamedAdapters = Maps.empty,+ Environment.avroEnvironmentNamespace = Nothing,+ Environment.avroEnvironmentElements = Maps.empty}++-- | Encode a JSON value as a Hydra term for annotation purposes+encodeAnnotationValue :: JsonModel.Value -> Model.Term+encodeAnnotationValue v =+ case v of+ JsonModel.ValueArray v0 -> Model.TermList (Lists.map encodeAnnotationValue v0)+ JsonModel.ValueBoolean v0 -> Model.TermLiteral (Model.LiteralBoolean v0)+ JsonModel.ValueNull -> Model.TermUnit+ JsonModel.ValueNumber v0 -> Model.TermLiteral (Model.LiteralDecimal v0)+ JsonModel.ValueObject v0 -> Model.TermMap (Maps.fromList (Lists.map (\entry ->+ let k = Pairs.first entry+ v_ = Pairs.second entry+ in (Model.TermLiteral (Model.LiteralString k), (encodeAnnotationValue v_))) v0))+ JsonModel.ValueString v0 -> Model.TermLiteral (Model.LiteralString v0)++-- | Construct an error result with a message in context+err :: t0 -> String -> Either Errors.Error t1+err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))++-- | Extract a JSON array or return an error+expectArrayE :: t0 -> JsonModel.Value -> Either t1 [JsonModel.Value]+expectArrayE cx value =+ case value of+ JsonModel.ValueArray v0 -> Right v0++-- | Extract a JSON object or return an error+expectObjectE :: t0 -> JsonModel.Value -> Either t1 (M.Map String JsonModel.Value)+expectObjectE cx value =+ case value of+ JsonModel.ValueObject v0 -> Right (Maps.fromList v0)++-- | Extract a JSON string or return an error+expectStringE :: t0 -> JsonModel.Value -> Either t1 String+expectStringE cx value =+ case value of+ JsonModel.ValueString v0 -> Right v0++-- | Extract field annotations and convert them to core Name/Term pairs+fieldAnnotationsToCore :: Schema.Field -> M.Map Model.Name Model.Term+fieldAnnotationsToCore f =+ Maps.fromList (Lists.map (\entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Model.Name k, (encodeAnnotationValue v))) (Maps.toList (Schema.fieldAnnotations f)))++-- | Find the primary key field among a list of Avro fields+findAvroPrimaryKeyField :: t0 -> Environment.AvroQualifiedName -> [Schema.Field] -> Either Errors.Error (Maybe Environment.AvroPrimaryKey)+findAvroPrimaryKeyField cx qname avroFields =++ let keys = Optionals.givens (Lists.map (\f -> primaryKeyE cx f) avroFields)+ in (Logic.ifElse (Lists.isEmpty keys) (Right Nothing) (Logic.ifElse (Equality.equal (Lists.length keys) 1) (Right (Lists.head keys)) (err cx (Strings.concat2 "multiple primary key fields for " (showQname qname)))))++-- | Extract a foreign key annotation from a field, if present+foreignKeyE :: t0 -> Schema.Field -> Either Errors.Error (Maybe Environment.AvroForeignKey)+foreignKeyE cx f =+ Optionals.match (Maps.lookup avroForeignKey (Schema.fieldAnnotations f)) (Right Nothing) (\v -> Eithers.bind (expectObjectE cx v) (\m -> Eithers.bind (Eithers.map (\s -> Model.Name s) (requireStringE cx "type" m)) (\tname -> Eithers.bind (optStringE cx "pattern" m) (\pattern_ ->+ let constr = Optionals.match pattern_ (\s -> Model.Name s) (\pat -> patternToNameConstructor pat)+ in (Right (Just (Environment.AvroForeignKey {+ Environment.avroForeignKeyTypeName = tname,+ Environment.avroForeignKeyConstructor = constr})))))))++-- | Look up an adapter by qualified name in the environment+getAvroHydraAdapter :: Environment.AvroQualifiedName -> Environment.AvroEnvironment -> Maybe (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error)+getAvroHydraAdapter qname env = Maps.lookup qname (Environment.avroEnvironmentNamedAdapters env)++-- | Convert a JSON value to a string, supporting booleans, strings, and numbers+jsonToStringE :: t0 -> JsonModel.Value -> Either Errors.Error String+jsonToStringE cx v =+ case v of+ JsonModel.ValueBoolean v0 -> Right (Logic.ifElse v0 "true" "false")+ JsonModel.ValueString v0 -> Right v0+ JsonModel.ValueNumber v0 -> Right (Literals.printDecimal v0)+ _ -> unexpectedE cx "string, number, or boolean" "other"++-- | Extract named type annotations and convert them to core Name/Term pairs+namedAnnotationsToCore :: Schema.Named -> M.Map Model.Name Model.Term+namedAnnotationsToCore n =+ Maps.fromList (Lists.map (\entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Model.Name k, (encodeAnnotationValue v))) (Maps.toList (Schema.namedAnnotations n)))++-- | Look up an optional string attribute in a JSON object map+optStringE :: Ord t1 => (t0 -> t1 -> M.Map t1 JsonModel.Value -> Either t2 (Maybe String))+optStringE cx fname m =+ Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\s -> Optionals.given s) (expectStringE cx v))++-- | Parse a dotted Avro name into a qualified name+parseAvroName :: Maybe String -> String -> Environment.AvroQualifiedName+parseAvroName mns name_ =++ let parts = Strings.splitOn "." name_+ local = Optionals.withDefault name_ (Lists.last parts)+ in (Logic.ifElse (Equality.equal (Lists.length parts) 1) (Environment.AvroQualifiedName {+ Environment.avroQualifiedNameNamespace = mns,+ Environment.avroQualifiedNameName = local}) (Environment.AvroQualifiedName {+ Environment.avroQualifiedNameNamespace = (Optionals.map (\ps -> Strings.join "." ps) (Lists.init parts)),+ Environment.avroQualifiedNameName = local}))++-- | Create a name constructor from a pattern string+patternToNameConstructor :: String -> String -> Model.Name+patternToNameConstructor pat s = Model.Name (Strings.join s (Strings.splitOn "${}" pat))++-- | Prepare a single field, producing an adapter and updated environment+prepareField :: t0 -> Environment.AvroEnvironment -> Schema.Field -> Either Errors.Error (+ (String, (Schema.Field, (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error))),+ Environment.AvroEnvironment)+prepareField cx env f =++ let manns = fieldAnnotationsToCore f+ ann = Logic.ifElse (Maps.isEmpty manns) Nothing (Just manns)+ in (Eithers.bind (foreignKeyE cx f) (\fk -> Eithers.bind (Optionals.match fk (avroHydraAdapter cx (Schema.fieldType f) env) (\fkVal ->+ let fkName = Environment.avroForeignKeyTypeName fkVal+ fkConstr = Environment.avroForeignKeyConstructor fkVal+ in (Eithers.bind (avroHydraAdapter cx (Schema.fieldType f) env) (\adEnvPair ->+ let ad0 = Pairs.first adEnvPair+ env1 = Pairs.second adEnvPair+ elTyp = Model.TypeVariable fkName+ encodeValue =+ \v -> Eithers.bind (Coders.coderEncode (Coders.adapterCoder ad0) v) (\encoded -> Eithers.bind (termToStringE cx encoded) (\s -> Right (Model.TermVariable (fkConstr s))))+ decodeTerm =+ \t -> case t of+ Model.TermVariable v0 -> Eithers.bind (stringToTermE cx (Coders.adapterTarget ad0) (Model.unName v0)) (\term_ -> Coders.coderDecode (Coders.adapterCoder ad0) term_)+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected variable"))+ forTypeAndCoder =+ \env2 -> \ad1 -> \typ -> \cdr -> Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy ad1),+ Coders.adapterSource = (Schema.fieldType f),+ Coders.adapterTarget = typ,+ Coders.adapterCoder = cdr},+ env2)+ in case (Strip.deannotateType (Coders.adapterTarget ad0)) of+ Model.TypeOptional v0 -> case v0 of+ Model.TypeLiteral _ -> forTypeAndCoder env1 ad0 (Model.TypeOptional elTyp) (Coders.Coder {+ Coders.coderEncode = (\json -> Eithers.map (\v_ -> Model.TermOptional (Just v_)) (encodeValue json)),+ Coders.coderDecode = decodeTerm})+ _ -> err cx "expected literal type inside optional foreign key"+ Model.TypeList v0 -> case v0 of+ Model.TypeLiteral _ -> forTypeAndCoder env1 ad0 (Model.TypeList elTyp) (Coders.Coder {+ Coders.coderEncode = (\json -> case json of+ JsonModel.ValueArray v2 -> Eithers.map (\terms -> Model.TermList terms) (Eithers.mapList (\jv -> encodeValue jv) v2)+ _ -> Left (Errors.ErrorOther (Errors.OtherError "Expected JSON array"))),+ Coders.coderDecode = decodeTerm})+ _ -> err cx "expected literal type inside list foreign key"+ Model.TypeLiteral _ -> forTypeAndCoder env1 ad0 elTyp (Coders.Coder {+ Coders.coderEncode = encodeValue,+ Coders.coderDecode = decodeTerm})+ _ -> err cx (Strings.concat2 "unsupported type annotated as foreign key: " "unknown"))))) (\adEnv ->+ let ad = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right ((Schema.fieldName f, (f, (annotateAdapter ann ad))), env1)))))++-- | Thread AvroEnvironment through preparing multiple fields+prepareFields :: t0 -> Environment.AvroEnvironment -> [Schema.Field] -> Either Errors.Error (+ M.Map String (Schema.Field, (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error)),+ Environment.AvroEnvironment)+prepareFields cx env fields =+ Lists.foldl (\acc -> \f -> Eithers.bind acc (\accPair ->+ let m = Pairs.first accPair+ env1 = Pairs.second accPair+ in (Eithers.bind (prepareField cx env1 f) (\result ->+ let kv = Pairs.first result+ env2 = Pairs.second result+ k = Pairs.first kv+ v = Pairs.second kv+ in (Right (Maps.insert k v m, env2)))))) (Right (Maps.empty, env)) fields++-- | Extract a primary key annotation from a field, if present+primaryKeyE :: t0 -> Schema.Field -> Maybe Environment.AvroPrimaryKey+primaryKeyE cx f =+ Optionals.match (Maps.lookup avroPrimaryKey (Schema.fieldAnnotations f)) Nothing (\v -> Eithers.either (\_ -> Nothing) (\s -> Just (Environment.AvroPrimaryKey {+ Environment.avroPrimaryKeyFieldName = (Model.Name (Schema.fieldName f)),+ Environment.avroPrimaryKeyConstructor = (patternToNameConstructor s)})) (expectStringE cx v))++-- | Store an adapter in the environment by qualified name+putAvroHydraAdapter :: Environment.AvroQualifiedName -> Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error -> Environment.AvroEnvironment -> Environment.AvroEnvironment+putAvroHydraAdapter qname ad env =+ Environment.AvroEnvironment {+ Environment.avroEnvironmentNamedAdapters = (Maps.insert qname ad (Environment.avroEnvironmentNamedAdapters env)),+ Environment.avroEnvironmentNamespace = (Environment.avroEnvironmentNamespace env),+ Environment.avroEnvironmentElements = (Environment.avroEnvironmentElements env)}++-- | Look up a required string attribute in a JSON object map+requireStringE :: t0 -> String -> M.Map String JsonModel.Value -> Either Errors.Error String+requireStringE cx fname m =+ Optionals.match (Maps.lookup fname m) (err cx (Strings.concat [+ "required attribute ",+ (Literals.printString fname),+ " not found"])) (\v -> expectStringE cx v)++-- | Recursively rewrite an Avro schema using a monadic transformation function+rewriteAvroSchemaM :: ((Schema.Schema -> Either t0 Schema.Schema) -> Schema.Schema -> Either t0 Schema.Schema) -> Schema.Schema -> Either t0 Schema.Schema+rewriteAvroSchemaM f schema =++ let recurse = rewriteAvroSchemaM f+ fsub =+ \s -> case s of+ Schema.SchemaArray v0 -> Eithers.map (\els_ -> Schema.SchemaArray (Schema.Array {+ Schema.arrayItems = els_})) (recurse (Schema.arrayItems v0))+ Schema.SchemaMap v0 -> Eithers.map (\vs_ -> Schema.SchemaMap (Schema.Map {+ Schema.mapValues = vs_})) (recurse (Schema.mapValues v0))+ Schema.SchemaNamed v0 -> Eithers.map (\nt_ -> Schema.SchemaNamed (Schema.Named {+ Schema.namedName = (Schema.namedName v0),+ Schema.namedNamespace = (Schema.namedNamespace v0),+ Schema.namedAliases = (Schema.namedAliases v0),+ Schema.namedDoc = (Schema.namedDoc v0),+ Schema.namedType = nt_,+ Schema.namedAnnotations = (Schema.namedAnnotations v0)})) (case (Schema.namedType v0) of+ Schema.NamedTypeRecord v1 -> Eithers.map (\fields_ -> Schema.NamedTypeRecord (Schema.Record {+ Schema.recordFields = fields_})) (Eithers.mapList (\fld -> Eithers.map (\t_ -> Schema.Field {+ Schema.fieldName = (Schema.fieldName fld),+ Schema.fieldDoc = (Schema.fieldDoc fld),+ Schema.fieldType = t_,+ Schema.fieldDefault = (Schema.fieldDefault fld),+ Schema.fieldOrder = (Schema.fieldOrder fld),+ Schema.fieldAliases = (Schema.fieldAliases fld),+ Schema.fieldAnnotations = (Schema.fieldAnnotations fld)}) (recurse (Schema.fieldType fld))) (Schema.recordFields v1))+ _ -> Right (Schema.namedType v0))+ Schema.SchemaUnion v0 -> Eithers.map (\schemas_ -> Schema.SchemaUnion (Schema.Union schemas_)) (Eithers.mapList (\us -> recurse us) (Schema.unUnion v0))+ _ -> Right s+ in (f fsub schema)++-- | Convert an Avro qualified name to a display string+showQname :: Environment.AvroQualifiedName -> String+showQname qname =++ let mns = Environment.avroQualifiedNameNamespace qname+ local = Environment.avroQualifiedNameName qname+ in (Strings.concat2 (Optionals.match mns "" (\ns -> Strings.concat2 ns ".")) local)++-- | Parse a string into a term of the expected type+stringToTermE :: t0 -> Model.Type -> String -> Either Errors.Error Model.Term+stringToTermE cx typ s =++ let readErr = err cx "failed to read value"+ readAndWrap = \reader -> \wrapper -> Optionals.match (reader s) readErr (\v -> Right (Model.TermLiteral (wrapper v)))+ in case (Strip.deannotateType typ) of+ Model.TypeLiteral v0 -> case v0 of+ Model.LiteralTypeBoolean -> readAndWrap (\x -> Literals.parseBoolean x) (\b -> Model.LiteralBoolean b)+ Model.LiteralTypeInteger v1 -> case v1 of+ Model.IntegerTypeBigint -> readAndWrap (\x -> Literals.parseBigint x) (\i -> Model.LiteralInteger (Model.IntegerValueBigint i))+ Model.IntegerTypeInt8 -> readAndWrap (\x -> Literals.parseInt8 x) (\i -> Model.LiteralInteger (Model.IntegerValueInt8 i))+ Model.IntegerTypeInt16 -> readAndWrap (\x -> Literals.parseInt16 x) (\i -> Model.LiteralInteger (Model.IntegerValueInt16 i))+ Model.IntegerTypeInt32 -> readAndWrap (\x -> Literals.parseInt32 x) (\i -> Model.LiteralInteger (Model.IntegerValueInt32 i))+ Model.IntegerTypeInt64 -> readAndWrap (\x -> Literals.parseInt64 x) (\i -> Model.LiteralInteger (Model.IntegerValueInt64 i))+ Model.IntegerTypeUint8 -> readAndWrap (\x -> Literals.parseUint8 x) (\i -> Model.LiteralInteger (Model.IntegerValueUint8 i))+ Model.IntegerTypeUint16 -> readAndWrap (\x -> Literals.parseUint16 x) (\i -> Model.LiteralInteger (Model.IntegerValueUint16 i))+ Model.IntegerTypeUint32 -> readAndWrap (\x -> Literals.parseUint32 x) (\i -> Model.LiteralInteger (Model.IntegerValueUint32 i))+ Model.IntegerTypeUint64 -> readAndWrap (\x -> Literals.parseUint64 x) (\i -> Model.LiteralInteger (Model.IntegerValueUint64 i))+ Model.LiteralTypeString -> Right (Model.TermLiteral (Model.LiteralString s))+ _ -> unexpectedE cx "literal type" "other literal type"+ _ -> unexpectedE cx "literal type" "other"++-- | Convert a literal term to its string representation+termToStringE :: t0 -> Model.Term -> Either Errors.Error String+termToStringE cx term =+ case (Strip.deannotateTerm term) of+ Model.TermLiteral v0 -> case v0 of+ Model.LiteralBoolean v1 -> Right (Literals.printBoolean v1)+ Model.LiteralInteger v1 -> Right (case v1 of+ Model.IntegerValueBigint v2 -> Literals.printBigint v2+ Model.IntegerValueInt8 v2 -> Literals.printInt8 v2+ Model.IntegerValueInt16 v2 -> Literals.printInt16 v2+ Model.IntegerValueInt32 v2 -> Literals.printInt32 v2+ Model.IntegerValueInt64 v2 -> Literals.printInt64 v2+ Model.IntegerValueUint8 v2 -> Literals.printUint8 v2+ Model.IntegerValueUint16 v2 -> Literals.printUint16 v2+ Model.IntegerValueUint32 v2 -> Literals.printUint32 v2+ Model.IntegerValueUint64 v2 -> Literals.printUint64 v2)+ Model.LiteralString v1 -> Right v1+ _ -> unexpectedE cx "boolean, integer, or string" "other literal"+ Model.TermOptional v0 -> Optionals.match v0 (unexpectedE cx "literal value" "Nothing") (\term_ -> termToStringE cx term_)+ _ -> unexpectedE cx "literal value" "other"++-- | Construct an error for unexpected values+unexpectedE :: t0 -> String -> String -> Either Errors.Error t1+unexpectedE cx expected found =+ err cx (Strings.concat [+ "Expected ",+ expected,+ ", found: ",+ found])
+ src/main/haskell/Hydra/Ext/Avro/Encoder.hs view
@@ -0,0 +1,607 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Hydra-to-Avro encoder: converts Hydra types and terms to Avro schemas and JSON values++module Hydra.Ext.Avro.Encoder where++import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Extract.Model as ExtractModel+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.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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Avro.Environment as Environment+import qualified Hydra.Ext.Avro.Schema as Schema+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++-- | Build an Avro field from a name-adapter pair+buildAvroField :: (Model.Name, (Coders.Adapter t0 Schema.Schema t1 t2 t3)) -> Schema.Field+buildAvroField nameAd =++ let name_ = Pairs.first nameAd+ ad = Pairs.second nameAd+ in Schema.Field {+ Schema.fieldName = (localName name_),+ Schema.fieldDoc = Nothing,+ Schema.fieldType = (Coders.adapterTarget ad),+ Schema.fieldDefault = Nothing,+ Schema.fieldOrder = Nothing,+ Schema.fieldAliases = Nothing,+ Schema.fieldAnnotations = Maps.empty}++-- | Create an empty encode environment with the given type map+emptyEncodeEnvironment :: M.Map Model.Name Model.Type -> Environment.EncodeEnvironment+emptyEncodeEnvironment typeMap =+ Environment.EncodeEnvironment {+ Environment.encodeEnvironmentTypeMap = typeMap,+ Environment.encodeEnvironmentEmitted = Maps.empty}++-- | Encode a Hydra type to an Avro schema adapter, given the type map and a root name+encodeType :: t0 -> M.Map Model.Name Model.Type -> Model.Name -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error)+encodeType cx typeMap name_ =+ Eithers.map (\adEnv -> Pairs.first adEnv) (encodeTypeWithEnv cx name_ (emptyEncodeEnvironment typeMap))++-- | Core encoding logic: recursively encode a Hydra type to an Avro schema+encodeTypeInner :: t0 -> Maybe Model.Name -> Model.Type -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error, Environment.EncodeEnvironment)+encodeTypeInner cx mName typ env =++ let annResult = extractAnnotations typ+ annotations = Pairs.first annResult+ bareType = Pairs.second annResult+ simpleAdapter =+ \target -> \lossy -> \encode -> \decode -> Right (+ Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = typ,+ Coders.adapterTarget = target,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encode,+ Coders.coderDecode = decode}},+ env)+ in case bareType of+ Model.TypeUnit -> simpleAdapter (Schema.SchemaPrimitive Schema.PrimitiveNull) False (\_t -> Right JsonModel.ValueNull) (\_j -> Right Model.TermUnit)+ Model.TypeLiteral v0 -> Eithers.map (\ad -> (ad, env)) (literalAdapter cx typ v0)+ Model.TypeList v0 -> Eithers.bind (encodeTypeInner cx Nothing v0 env) (\adEnv ->+ let innerAd = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy innerAd),+ Coders.adapterSource = typ,+ Coders.adapterTarget = (Schema.SchemaArray (Schema.Array {+ Schema.arrayItems = (Coders.adapterTarget innerAd)})),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\t -> case t of+ Model.TermList v1 -> Eithers.map (\jvs -> JsonModel.ValueArray jvs) (Eithers.mapList (\el -> Coders.coderEncode (Coders.adapterCoder innerAd) el) v1)),+ Coders.coderDecode = (\j -> case j of+ JsonModel.ValueArray v1 -> Eithers.map (\ts -> Model.TermList ts) (Eithers.mapList (\el -> Coders.coderDecode (Coders.adapterCoder innerAd) el) v1))}},+ env1)))+ Model.TypeMap v0 ->+ let keyType = Model.mapTypeKeys v0+ valType = Model.mapTypeValues v0+ in case (Strip.deannotateType keyType) of+ Model.TypeLiteral v1 -> case v1 of+ Model.LiteralTypeString -> Eithers.bind (encodeTypeInner cx Nothing valType env) (\adEnv ->+ let valAd = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy valAd),+ Coders.adapterSource = typ,+ Coders.adapterTarget = (Schema.SchemaMap (Schema.Map {+ Schema.mapValues = (Coders.adapterTarget valAd)})),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\t -> case t of+ Model.TermMap v3 ->+ let encodeEntry =+ \entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Eithers.bind (ExtractModel.string (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) k) (\kStr -> Eithers.map (\vJson -> (kStr, vJson)) (Coders.coderEncode (Coders.adapterCoder valAd) v)))+ in (Eithers.map (\pairs -> JsonModel.ValueObject pairs) (Eithers.mapList encodeEntry (Maps.toList v3)))),+ Coders.coderDecode = (\j -> case j of+ JsonModel.ValueObject v3 ->+ let decodeEntry =+ \entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Eithers.map (\vTerm -> (Model.TermLiteral (Model.LiteralString k), vTerm)) (Coders.coderDecode (Coders.adapterCoder valAd) v))+ in (Eithers.map (\pairs -> Model.TermMap (Maps.fromList pairs)) (Eithers.mapList decodeEntry v3)))}},+ env1)))+ _ -> err cx "Avro maps require string keys"+ _ -> err cx "Avro maps require string keys"+ Model.TypeRecord v0 -> namedTypeAdapter cx typ mName annotations v0 env (\avroFields -> Schema.NamedTypeRecord (Schema.Record {+ Schema.recordFields = avroFields})) recordTermCoder+ Model.TypeUnion v0 ->+ let allUnit =+ Lists.foldl (\b -> \ft -> Logic.and b (case (Model.fieldTypeType ft) of+ Model.TypeUnit -> True+ _ -> False)) True v0+ in (Logic.ifElse allUnit (enumAdapter cx typ mName annotations v0 env) (unionAsRecordAdapter cx typ mName annotations v0 env))+ Model.TypeOptional v0 -> Eithers.bind (encodeTypeInner cx Nothing v0 env) (\adEnv ->+ let innerAd = Pairs.first adEnv+ env1 = Pairs.second adEnv+ in (Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy innerAd),+ Coders.adapterSource = typ,+ Coders.adapterTarget = (Schema.SchemaUnion (Schema.Union [+ Schema.SchemaPrimitive Schema.PrimitiveNull,+ (Coders.adapterTarget innerAd)])),+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\t -> case t of+ Model.TermOptional v1 -> Optionals.match v1 (Right JsonModel.ValueNull) (\inner -> Coders.coderEncode (Coders.adapterCoder innerAd) inner)),+ Coders.coderDecode = (\j -> case j of+ JsonModel.ValueNull -> Right (Model.TermOptional Nothing)+ _ -> Eithers.map (\t -> Model.TermOptional (Just t)) (Coders.coderDecode (Coders.adapterCoder innerAd) j))}},+ env1)))+ Model.TypeWrap v0 -> encodeTypeInner cx mName v0 env+ Model.TypeVariable v0 -> Optionals.match (Maps.lookup v0 (Environment.encodeEnvironmentEmitted env)) (Optionals.match (Maps.lookup v0 (Environment.encodeEnvironmentTypeMap env)) (err cx (Strings.concat2 "referenced type not found: " (Model.unName v0))) (\refType -> encodeTypeInner cx (Just v0) refType env)) (\existingAd -> Right (+ Coders.Adapter {+ Coders.adapterIsLossy = (Coders.adapterIsLossy existingAd),+ Coders.adapterSource = (Coders.adapterSource existingAd),+ Coders.adapterTarget = (Schema.SchemaReference (localName v0)),+ Coders.adapterCoder = (Coders.adapterCoder existingAd)},+ env))+ _ -> err cx "unsupported Hydra type for Avro encoding"++-- | Encode with full environment threading. Returns the adapter and updated environment+encodeTypeWithEnv :: t0 -> Model.Name -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error, Environment.EncodeEnvironment)+encodeTypeWithEnv cx name_ env =+ Optionals.match (Maps.lookup name_ (Environment.encodeEnvironmentTypeMap env)) (err cx (Strings.concat2 "type not found in type map: " (Literals.printString (Model.unName name_)))) (\typ -> encodeTypeInner cx (Just name_) typ env)++-- | Adapter for all-unit union types (enums)+enumAdapter :: t0 -> Model.Type -> Maybe Model.Name -> M.Map Model.Name Model.Term -> [Model.FieldType] -> Environment.EncodeEnvironment -> Either t1 (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error, Environment.EncodeEnvironment)+enumAdapter cx typ mName annotations fieldTypes env0 =++ let symbols = Lists.map (\ft -> localName (Model.fieldTypeName ft)) fieldTypes+ typeName = Optionals.withDefault (typeToName typ) mName+ avroAnnotations = hydraAnnotationsToAvro annotations+ avroSchema =+ Schema.SchemaNamed (Schema.Named {+ Schema.namedName = (localName typeName),+ Schema.namedNamespace = (nameNamespace typeName),+ Schema.namedAliases = Nothing,+ Schema.namedDoc = Nothing,+ Schema.namedType = (Schema.NamedTypeEnum (Schema.Enum {+ Schema.enumSymbols = symbols,+ Schema.enumDefault = Nothing})),+ Schema.namedAnnotations = avroAnnotations})+ adapter_ =+ Coders.Adapter {+ Coders.adapterIsLossy = False,+ Coders.adapterSource = typ,+ Coders.adapterTarget = avroSchema,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\t -> case t of+ Model.TermInject v0 ->+ let fname = Model.injectionField v0+ in (Right (JsonModel.ValueString (localName (Model.fieldName fname))))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected union term for enum"))),+ Coders.coderDecode = (\j -> case j of+ JsonModel.ValueString v0 -> Right (Model.TermInject (Model.Injection {+ Model.injectionTypeName = typeName,+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name v0),+ Model.fieldTerm = Model.TermUnit}})))}}+ env1 =+ Environment.EncodeEnvironment {+ Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env0),+ Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env0))}+ in (Right (adapter_, env1))++-- | Construct an error result with a message in context+err :: t0 -> String -> Either Errors.Error t1+err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))++-- | Extract annotations from a potentially annotated type+extractAnnotations :: Model.Type -> (M.Map Model.Name Model.Term, Model.Type)+extractAnnotations typ =+ case typ of+ Model.TypeAnnotated v0 ->+ let inner = Model.annotatedTypeBody v0+ anns = Annotations.getAnnotationMap (Model.annotatedTypeAnnotation v0)+ innerResult = extractAnnotations inner+ innerAnns = Pairs.first innerResult+ bareType = Pairs.second innerResult+ in (Maps.union anns innerAnns, bareType)+ _ -> (Maps.empty, typ)++-- | Create an adapter for float types+floatAdapter :: t0 -> t1 -> Model.FloatType -> Either t2 (Coders.Adapter t1 Schema.Schema Model.Term JsonModel.Value Errors.Error)+floatAdapter cx typ ft =++ let simple =+ \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = typ,+ Coders.adapterTarget = target,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encode,+ Coders.coderDecode = decode}})+ in case ft of+ Model.FloatTypeFloat32 -> simple (Schema.SchemaPrimitive Schema.PrimitiveFloat) False (\t -> Eithers.map (\f -> JsonModel.ValueNumber (Literals.float32ToDecimal f)) (ExtractModel.float32 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of+ JsonModel.ValueNumber v1 -> Right (Model.TermLiteral (Model.LiteralFloat (Model.FloatValueFloat32 (Literals.decimalToFloat32 v1)))))+ Model.FloatTypeFloat64 -> simple (Schema.SchemaPrimitive Schema.PrimitiveDouble) False (\t -> Eithers.map (\d -> JsonModel.ValueNumber (Literals.float64ToDecimal d)) (ExtractModel.float64 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of+ JsonModel.ValueNumber v1 -> Right (Model.TermLiteral (Model.LiteralFloat (Model.FloatValueFloat64 (Literals.decimalToFloat64 v1)))))+ _ -> simple (Schema.SchemaPrimitive Schema.PrimitiveDouble) True (\t -> case t of+ Model.TermLiteral v0 -> case v0 of+ Model.LiteralFloat v1 -> Right (JsonModel.ValueNumber (floatValueToDouble v1))) (\j -> case j of+ JsonModel.ValueNumber v0 -> Right (Model.TermLiteral (Model.LiteralFloat (Model.FloatValueFloat64 (Literals.decimalToFloat64 v0)))))++-- | Convert any float value to a JSON decimal number+floatValueToDouble :: Model.FloatValue -> Sci.Scientific+floatValueToDouble fv =+ case fv of+ Model.FloatValueFloat32 v0 -> Literals.float32ToDecimal v0+ Model.FloatValueFloat64 v0 -> Literals.float64ToDecimal v0++-- | Fold over field types, building adapters and threading the environment+foldFieldAdapters :: t0 -> [Model.FieldType] -> Environment.EncodeEnvironment -> Either Errors.Error (+ [(Model.Name, (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error))],+ Environment.EncodeEnvironment)+foldFieldAdapters cx fieldTypes env0 =+ Lists.foldl (\acc -> \ft -> Eithers.bind acc (\accPair ->+ let soFar = Pairs.first accPair+ env1 = Pairs.second accPair+ fname = Model.fieldTypeName ft+ ftype = Model.fieldTypeType ft+ in (Eithers.bind (encodeTypeInner cx Nothing ftype env1) (\adEnv ->+ let ad = Pairs.first adEnv+ env2 = Pairs.second adEnv+ in (Right (Lists.concat2 soFar [+ (fname, ad)], env2)))))) (Right ([], env0)) fieldTypes++-- | Convert Hydra annotations to Avro annotation map+hydraAnnotationsToAvro :: M.Map Model.Name Model.Term -> M.Map String JsonModel.Value+hydraAnnotationsToAvro anns =+ Maps.fromList (Lists.map (\entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Model.unName k, (termToJsonValue v))) (Maps.toList anns))++-- | Encode a single type without a type map (for simple/anonymous types)+hydraAvroAdapter :: t0 -> M.Map Model.Name Model.Type -> Model.Type -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error)+hydraAvroAdapter cx typeMap typ =+ Eithers.map (\adEnv -> Pairs.first adEnv) (encodeTypeInner cx Nothing typ (emptyEncodeEnvironment typeMap))++-- | Convert a Hydra Name to an Avro qualified name (local name, optional namespace)+hydraNameToAvroName :: Model.Name -> (String, (Maybe String))+hydraNameToAvroName name_ = (localName name_, (nameNamespace name_))++-- | Create an adapter for integer types+integerAdapter :: t0 -> t1 -> Model.IntegerType -> Either t2 (Coders.Adapter t1 Schema.Schema Model.Term JsonModel.Value Errors.Error)+integerAdapter cx typ it =++ let simple =+ \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = typ,+ Coders.adapterTarget = target,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encode,+ Coders.coderDecode = decode}})+ in case it of+ Model.IntegerTypeInt32 -> simple (Schema.SchemaPrimitive Schema.PrimitiveInt) False (\t -> Eithers.map (\i -> JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint i))) (ExtractModel.int32 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of+ JsonModel.ValueNumber v1 -> Right (Model.TermLiteral (Model.LiteralInteger (Model.IntegerValueInt32 (Literals.bigintToInt32 (Literals.decimalToBigint v1))))))+ Model.IntegerTypeInt64 -> simple (Schema.SchemaPrimitive Schema.PrimitiveLong) False (\t -> Eithers.map (\i -> JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int64ToBigint i))) (ExtractModel.int64 (Graph.Graph {+ Graph.graphBoundTerms = Maps.empty,+ Graph.graphBoundTypes = Maps.empty,+ Graph.graphClassConstraints = Maps.empty,+ Graph.graphLambdaVariables = Sets.empty,+ Graph.graphMetadata = Maps.empty,+ Graph.graphPrimitives = Maps.empty,+ Graph.graphSchemaTypes = Maps.empty,+ Graph.graphTypeVariables = Sets.empty}) t)) (\j -> case j of+ JsonModel.ValueNumber v1 -> Right (Model.TermLiteral (Model.LiteralInteger (Model.IntegerValueInt64 (Literals.bigintToInt64 (Literals.decimalToBigint v1))))))+ _ -> simple (Schema.SchemaPrimitive Schema.PrimitiveLong) True (\t -> case t of+ Model.TermLiteral v0 -> case v0 of+ Model.LiteralInteger v1 -> Right (JsonModel.ValueNumber (integerValueToDouble v1))) (\j -> case j of+ JsonModel.ValueNumber v0 -> Right (Model.TermLiteral (Model.LiteralInteger (Model.IntegerValueInt64 (Literals.bigintToInt64 (Literals.decimalToBigint v0))))))++-- | Convert any integer value to a JSON decimal number+integerValueToDouble :: Model.IntegerValue -> Sci.Scientific+integerValueToDouble iv =+ case iv of+ Model.IntegerValueBigint v0 -> Literals.bigintToDecimal v0+ Model.IntegerValueInt8 v0 -> Literals.bigintToDecimal (Literals.int8ToBigint v0)+ Model.IntegerValueInt16 v0 -> Literals.bigintToDecimal (Literals.int16ToBigint v0)+ Model.IntegerValueInt32 v0 -> Literals.bigintToDecimal (Literals.int32ToBigint v0)+ Model.IntegerValueInt64 v0 -> Literals.bigintToDecimal (Literals.int64ToBigint v0)+ Model.IntegerValueUint8 v0 -> Literals.bigintToDecimal (Literals.uint8ToBigint v0)+ Model.IntegerValueUint16 v0 -> Literals.bigintToDecimal (Literals.uint16ToBigint v0)+ Model.IntegerValueUint32 v0 -> Literals.bigintToDecimal (Literals.uint32ToBigint v0)+ Model.IntegerValueUint64 v0 -> Literals.bigintToDecimal (Literals.uint64ToBigint v0)++-- | Create an adapter for literal types+literalAdapter :: t0 -> t1 -> Model.LiteralType -> Either t2 (Coders.Adapter t1 Schema.Schema Model.Term JsonModel.Value Errors.Error)+literalAdapter cx typ lt =++ let simple =+ \target -> \lossy -> \encode -> \decode -> Right (Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = typ,+ Coders.adapterTarget = target,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encode,+ Coders.coderDecode = decode}})+ in case lt of+ Model.LiteralTypeBoolean -> simple (Schema.SchemaPrimitive Schema.PrimitiveBoolean) False (\t -> case t of+ Model.TermLiteral v1 -> case v1 of+ Model.LiteralBoolean v2 -> Right (JsonModel.ValueBoolean v2)) (\j -> case j of+ JsonModel.ValueBoolean v1 -> Right (Model.TermLiteral (Model.LiteralBoolean v1)))+ Model.LiteralTypeString -> simple (Schema.SchemaPrimitive Schema.PrimitiveString) False (\t -> case t of+ Model.TermLiteral v1 -> case v1 of+ Model.LiteralString v2 -> Right (JsonModel.ValueString v2)) (\j -> case j of+ JsonModel.ValueString v1 -> Right (Model.TermLiteral (Model.LiteralString v1)))+ Model.LiteralTypeBinary -> simple (Schema.SchemaPrimitive Schema.PrimitiveBytes) False (\t -> case t of+ Model.TermLiteral v1 -> case v1 of+ Model.LiteralBinary v2 -> Right (JsonModel.ValueString (Literals.binaryToBase64 v2))) (\j -> case j of+ JsonModel.ValueString v1 -> Right (Model.TermLiteral (Model.LiteralBinary (Literals.base64ToBinary v1))))+ Model.LiteralTypeInteger v0 -> integerAdapter cx typ v0+ Model.LiteralTypeFloat v0 -> floatAdapter cx typ v0++-- | Extract the local part of a qualified name+localName :: Model.Name -> String+localName name_ =++ let s = Model.unName name_+ parts = Strings.splitOn "." s+ in (Optionals.withDefault s (Lists.last parts))++-- | Extract the namespace from a qualified name, if any+nameNamespace :: Model.Name -> Maybe String+nameNamespace name_ =++ let s = Model.unName name_+ parts = Strings.splitOn "." s+ in (Logic.ifElse (Equality.equal (Lists.length parts) 1) Nothing (Optionals.map (\ps -> Strings.join "." ps) (Lists.init parts)))++-- | Build a named type adapter (shared between record and union-as-record)+namedTypeAdapter :: t0 -> Model.Type -> Maybe Model.Name -> M.Map Model.Name Model.Term -> [Model.FieldType] -> Environment.EncodeEnvironment -> ([Schema.Field] -> Schema.NamedType) -> (t0 -> Model.Name -> [(Model.Name, (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error))] -> ((Model.Term -> Either Errors.Error JsonModel.Value), (JsonModel.Value -> Either Errors.Error Model.Term))) -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error, Environment.EncodeEnvironment)+namedTypeAdapter cx typ mName annotations fieldTypes env0 mkNamedType mkCoder =++ let typeName = Optionals.withDefault (typeToName typ) mName+ in (Optionals.match (Maps.lookup typeName (Environment.encodeEnvironmentEmitted env0)) (Eithers.bind (foldFieldAdapters cx fieldTypes env0) (\faResult ->+ let fieldAdapters = Pairs.first faResult+ env1 = Pairs.second faResult+ avroFields = Lists.map buildAvroField fieldAdapters+ avroAnnotations = hydraAnnotationsToAvro annotations+ avroSchema =+ Schema.SchemaNamed (Schema.Named {+ Schema.namedName = (localName typeName),+ Schema.namedNamespace = (nameNamespace typeName),+ Schema.namedAliases = Nothing,+ Schema.namedDoc = Nothing,+ Schema.namedType = (mkNamedType avroFields),+ Schema.namedAnnotations = avroAnnotations})+ lossy = Lists.foldl (\b -> \fa -> Logic.or b (Coders.adapterIsLossy (Pairs.second fa))) False fieldAdapters+ coderPair = mkCoder cx typeName fieldAdapters+ encodeFn = Pairs.first coderPair+ decodeFn = Pairs.second coderPair+ adapter_ =+ Coders.Adapter {+ Coders.adapterIsLossy = lossy,+ Coders.adapterSource = typ,+ Coders.adapterTarget = avroSchema,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = encodeFn,+ Coders.coderDecode = decodeFn}}+ env2 =+ Environment.EncodeEnvironment {+ Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env1),+ Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env1))}+ in (Right (adapter_, env2)))) (\existingAd -> Right (existingAd, env0)))++-- | Build a record term coder from field adapters+recordTermCoder :: t0 -> Model.Name -> [(Model.Name, (Coders.Adapter t1 t2 Model.Term JsonModel.Value Errors.Error))] -> ((Model.Term -> Either Errors.Error JsonModel.Value), (JsonModel.Value -> Either Errors.Error Model.Term))+recordTermCoder cx typeName fieldAdapters =++ let encode =+ \term -> case term of+ Model.TermRecord v0 ->+ let fields = Model.recordFields v0+ fieldMap = Maps.fromList (Lists.map (\f -> (Model.fieldName f, (Model.fieldTerm f))) fields)+ encodeField =+ \nameAd ->+ let fname = Pairs.first nameAd+ ad = Pairs.second nameAd+ fTerm = Optionals.withDefault Model.TermUnit (Maps.lookup fname fieldMap)+ in (Eithers.map (\jv -> (localName fname, jv)) (Coders.coderEncode (Coders.adapterCoder ad) fTerm))+ in (Eithers.map (\pairs -> JsonModel.ValueObject pairs) (Eithers.mapList encodeField fieldAdapters))+ _ -> err cx "expected record term"+ decode =+ \json -> case json of+ JsonModel.ValueObject v0 ->+ let mm = Maps.fromList v0+ decodeField =+ \nameAd ->+ let fname = Pairs.first nameAd+ ad = Pairs.second nameAd+ jv = Optionals.withDefault JsonModel.ValueNull (Maps.lookup (localName fname) mm)+ in (Eithers.map (\t -> Model.Field {+ Model.fieldName = fname,+ Model.fieldTerm = t}) (Coders.coderDecode (Coders.adapterCoder ad) jv))+ in (Eithers.map (\fields -> Model.TermRecord (Model.Record {+ Model.recordTypeName = typeName,+ Model.recordFields = fields})) (Eithers.mapList decodeField fieldAdapters))+ _ -> err cx "expected JSON object"+ in (encode, decode)++-- | Convert a Hydra term to a JSON value (for annotation values)+termToJsonValue :: Model.Term -> JsonModel.Value+termToJsonValue term =+ case term of+ Model.TermLiteral v0 -> case v0 of+ Model.LiteralString v1 -> JsonModel.ValueString v1+ Model.LiteralBoolean v1 -> JsonModel.ValueBoolean v1+ Model.LiteralInteger v1 -> JsonModel.ValueNumber (integerValueToDouble v1)+ Model.LiteralFloat v1 -> JsonModel.ValueNumber (floatValueToDouble v1)+ Model.LiteralBinary v1 -> JsonModel.ValueString (Literals.binaryToBase64 v1)+ Model.TermList v0 -> JsonModel.ValueArray (Lists.map termToJsonValue v0)+ Model.TermMap v0 -> JsonModel.ValueObject (Lists.map (\entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (+ case k of+ Model.TermLiteral v1 -> case v1 of+ Model.LiteralString v2 -> v2+ _ -> "<key>"+ _ -> "<key>",+ (termToJsonValue v))) (Maps.toList v0))+ Model.TermRecord v0 -> Logic.ifElse (Lists.isEmpty (Model.recordFields v0)) JsonModel.ValueNull (JsonModel.ValueString "<record>")+ _ -> JsonModel.ValueString "<term>"++-- | Generate a default name for an anonymous type+typeToName :: Model.Type -> Model.Name+typeToName t =+ case (Strip.deannotateType t) of+ Model.TypeRecord _ -> Model.Name "Record"+ Model.TypeUnion _ -> Model.Name "Union"+ _ -> Model.Name "Unknown"++-- | Adapter for general unions (encoded as records with optional fields)+unionAsRecordAdapter :: t0 -> Model.Type -> Maybe Model.Name -> M.Map Model.Name Model.Term -> [Model.FieldType] -> Environment.EncodeEnvironment -> Either Errors.Error (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error, Environment.EncodeEnvironment)+unionAsRecordAdapter cx typ mName annotations fieldTypes env0 =+ Eithers.bind (foldFieldAdapters cx fieldTypes env0) (\faResult ->+ let fieldAdapters = Pairs.first faResult+ env1 = Pairs.second faResult+ avroFields =+ Lists.map (\nameAd ->+ let fname = Pairs.first nameAd+ ad = Pairs.second nameAd+ in Schema.Field {+ Schema.fieldName = (localName fname),+ Schema.fieldDoc = Nothing,+ Schema.fieldType = (Schema.SchemaUnion (Schema.Union [+ Schema.SchemaPrimitive Schema.PrimitiveNull,+ (Coders.adapterTarget ad)])),+ Schema.fieldDefault = (Just JsonModel.ValueNull),+ Schema.fieldOrder = Nothing,+ Schema.fieldAliases = Nothing,+ Schema.fieldAnnotations = Maps.empty}) fieldAdapters+ typeName = Optionals.withDefault (typeToName typ) mName+ avroAnnotations = hydraAnnotationsToAvro annotations+ avroSchema =+ Schema.SchemaNamed (Schema.Named {+ Schema.namedName = (localName typeName),+ Schema.namedNamespace = (nameNamespace typeName),+ Schema.namedAliases = Nothing,+ Schema.namedDoc = Nothing,+ Schema.namedType = (Schema.NamedTypeRecord (Schema.Record {+ Schema.recordFields = avroFields})),+ Schema.namedAnnotations = avroAnnotations})+ adapter_ =+ Coders.Adapter {+ Coders.adapterIsLossy = True,+ Coders.adapterSource = typ,+ Coders.adapterTarget = avroSchema,+ Coders.adapterCoder = Coders.Coder {+ Coders.coderEncode = (\t -> case t of+ Model.TermInject v0 ->+ let activeName = Model.fieldName (Model.injectionField v0)+ activeValue = Model.fieldTerm (Model.injectionField v0)+ encodePair =+ \nameAd ->+ let fname = Pairs.first nameAd+ ad = Pairs.second nameAd+ in (Logic.ifElse (Equality.equal (Model.unName fname) (Model.unName activeName)) (Eithers.map (\jv -> (localName fname, jv)) (Coders.coderEncode (Coders.adapterCoder ad) activeValue)) (Right (localName fname, JsonModel.ValueNull)))+ in (Eithers.map (\pairs -> JsonModel.ValueObject pairs) (Eithers.mapList encodePair fieldAdapters))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected union term"))),+ Coders.coderDecode = (\j -> case j of+ JsonModel.ValueObject v0 ->+ let mm = Maps.fromList v0+ findActive =+ \remaining -> Optionals.match (Lists.uncons remaining) (Left (Errors.ErrorOther (Errors.OtherError "no non-null field in union record"))) (\p ->+ let head_ = Pairs.first p+ rest_ = Pairs.second p+ fname = Pairs.first head_+ ad = Pairs.second head_+ mjv = Maps.lookup (localName fname) mm+ in (Optionals.match mjv (findActive rest_) (\jv -> case jv of+ JsonModel.ValueNull -> findActive rest_+ _ -> Eithers.map (\t -> Model.TermInject (Model.Injection {+ Model.injectionTypeName = typeName,+ Model.injectionField = Model.Field {+ Model.fieldName = fname,+ Model.fieldTerm = t}})) (Coders.coderDecode (Coders.adapterCoder ad) jv))))+ in (findActive fieldAdapters)+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected JSON object for union-as-record")))}}+ env2 =+ Environment.EncodeEnvironment {+ Environment.encodeEnvironmentTypeMap = (Environment.encodeEnvironmentTypeMap env1),+ Environment.encodeEnvironmentEmitted = (Maps.insert typeName adapter_ (Environment.encodeEnvironmentEmitted env1))}+ in (Right (adapter_, env2)))
+ src/main/haskell/Hydra/Ext/Avro/Environment.hs view
@@ -0,0 +1,90 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Type definitions for the Avro code generation environment++module Hydra.Ext.Avro.Environment where++import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Ext.Avro.Schema as Schema+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++-- | Environment for Avro-to-Hydra code generation+data AvroEnvironment =+ AvroEnvironment {+ -- | Named adapters for previously processed schemas+ avroEnvironmentNamedAdapters :: (M.Map AvroQualifiedName (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error)),+ -- | The current Avro namespace+ avroEnvironmentNamespace :: (Maybe String),+ -- | Generated Hydra elements+ avroEnvironmentElements :: (M.Map Model.Name Model.Binding)}++_AvroEnvironment = Model.Name "hydra.ext.avro.environment.AvroEnvironment"++_AvroEnvironment_namedAdapters = Model.Name "namedAdapters"++_AvroEnvironment_namespace = Model.Name "namespace"++_AvroEnvironment_elements = Model.Name "elements"++-- | An Avro foreign key annotation linking a field to another type+data AvroForeignKey =+ AvroForeignKey {+ -- | The Hydra type name referenced by this foreign key+ avroForeignKeyTypeName :: Model.Name,+ -- | A function which constructs element names from string values+ avroForeignKeyConstructor :: (String -> Model.Name)}++_AvroForeignKey = Model.Name "hydra.ext.avro.environment.AvroForeignKey"++_AvroForeignKey_typeName = Model.Name "typeName"++_AvroForeignKey_constructor = Model.Name "constructor"++-- | An Avro primary key annotation identifying the element name field+data AvroPrimaryKey =+ AvroPrimaryKey {+ -- | The name of the primary key field+ avroPrimaryKeyFieldName :: Model.Name,+ -- | A function which constructs element names from string values+ avroPrimaryKeyConstructor :: (String -> Model.Name)}++_AvroPrimaryKey = Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"++_AvroPrimaryKey_fieldName = Model.Name "fieldName"++_AvroPrimaryKey_constructor = Model.Name "constructor"++-- | An Avro qualified name with optional namespace+data AvroQualifiedName =+ AvroQualifiedName {+ -- | The optional namespace+ avroQualifiedNameNamespace :: (Maybe String),+ -- | The local name+ avroQualifiedNameName :: String}+ deriving (Eq, Ord, Read, Show)++_AvroQualifiedName = Model.Name "hydra.ext.avro.environment.AvroQualifiedName"++_AvroQualifiedName_namespace = Model.Name "namespace"++_AvroQualifiedName_name = Model.Name "name"++-- | Environment for Hydra-to-Avro encoding, tracking which named types have been emitted+data EncodeEnvironment =+ EncodeEnvironment {+ -- | All named types available for reference+ encodeEnvironmentTypeMap :: (M.Map Model.Name Model.Type),+ -- | Adapters for types that have already been fully emitted (emit references for these)+ encodeEnvironmentEmitted :: (M.Map Model.Name (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error))}++_EncodeEnvironment = Model.Name "hydra.ext.avro.environment.EncodeEnvironment"++_EncodeEnvironment_typeMap = Model.Name "typeMap"++_EncodeEnvironment_emitted = Model.Name "emitted"
+ src/main/haskell/Hydra/Ext/Avro/Language.hs view
@@ -0,0 +1,110 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints for Apache Avro++module Hydra.Ext.Avro.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Sets as Sets+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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++-- | Language constraints for Apache Avro+avroLanguage :: Coders.Language+avroLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.avro"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "avsc")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBinary,+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes =+ Sets.fromList [+ Model.FloatTypeFloat32,+ Model.FloatTypeFloat64]+ integerTypes =+ Sets.fromList [+ Model.IntegerTypeInt32,+ Model.IntegerTypeInt64]+ termVariants =+ Sets.fromList [+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantMap,+ Variants.TermVariantOptional,+ Variants.TermVariantRecord]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantAnnotated,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantWrap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantRecord]+ typePredicate =+ \typ -> case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> case (Strip.deannotateType v0) of+ Model.TypeOptional _ -> False+ _ -> True+ _ -> True
+ src/main/haskell/Hydra/Ext/Avro/Schema.hs view
@@ -0,0 +1,236 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for Avro schemas. Based on the Avro 1.11.1 specification:+-- | https://avro.apache.org/docs/1.11.1/specification++module Hydra.Ext.Avro.Schema where++import qualified Hydra.Core.Json.Model as JsonModel+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+import qualified Data.Map as M++-- | An Avro array schema+data Array =+ Array {+ arrayItems :: Schema}+ deriving (Eq, Ord, Read, Show)++_Array = Model.Name "hydra.ext.avro.schema.Array"++_Array_items = Model.Name "items"++-- | An Avro enum schema+data Enum =+ Enum {+ -- | a JSON array, listing symbols, as JSON strings. All symbols in an enum must be unique; duplicates are prohibited. Every symbol must match the regular expression [A-Za-z_][A-Za-z0-9_]* (the same requirement as for names)+ enumSymbols :: [String],+ -- | A default value for this enumeration, used during resolution when the reader encounters a symbol from the writer that isn't defined in the reader's schema. The value provided here must be a JSON string that's a member of the symbols array+ enumDefault :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_Enum = Model.Name "hydra.ext.avro.schema.Enum"++_Enum_symbols = Model.Name "symbols"++_Enum_default = Model.Name "default"++-- | An Avro record field+data Field =+ Field {+ -- | a JSON string providing the name of the field+ fieldName :: String,+ -- | a JSON string describing this field for users+ fieldDoc :: (Maybe String),+ -- | a schema+ fieldType :: Schema,+ -- | default value for this field, only used when reading instances that lack the field for schema evolution purposes+ fieldDefault :: (Maybe JsonModel.Value),+ -- | specifies how this field impacts sort ordering of this record+ fieldOrder :: (Maybe Order),+ -- | a JSON array of strings, providing alternate names for this field+ fieldAliases :: (Maybe [String]),+ -- | Any additional key/value pairs attached to the field+ fieldAnnotations :: (M.Map String JsonModel.Value)}+ deriving (Eq, Ord, Read, Show)++_Field = Model.Name "hydra.ext.avro.schema.Field"++_Field_name = Model.Name "name"++_Field_doc = Model.Name "doc"++_Field_type = Model.Name "type"++_Field_default = Model.Name "default"++_Field_order = Model.Name "order"++_Field_aliases = Model.Name "aliases"++_Field_annotations = Model.Name "annotations"++-- | An Avro fixed-size binary schema+data Fixed =+ Fixed {+ -- | an integer, specifying the number of bytes per value+ fixedSize :: Int}+ deriving (Eq, Ord, Read, Show)++_Fixed = Model.Name "hydra.ext.avro.schema.Fixed"++_Fixed_size = Model.Name "size"++-- | An Avro map schema+data Map =+ Map {+ mapValues :: Schema}+ deriving (Eq, Ord, Read, Show)++_Map = Model.Name "hydra.ext.avro.schema.Map"++_Map_values = Model.Name "values"++-- | An Avro named schema: enum, fixed, or record+data Named =+ Named {+ -- | a string naming this schema+ namedName :: String,+ -- | a string that qualifies the name+ namedNamespace :: (Maybe String),+ -- | a JSON array of strings, providing alternate names for this schema+ namedAliases :: (Maybe [String]),+ -- | a JSON string providing documentation to the user of this schema+ namedDoc :: (Maybe String),+ namedType :: NamedType,+ -- | Any additional key/value pairs attached to the type+ namedAnnotations :: (M.Map String JsonModel.Value)}+ deriving (Eq, Ord, Read, Show)++_Named = Model.Name "hydra.ext.avro.schema.Named"++_Named_name = Model.Name "name"++_Named_namespace = Model.Name "namespace"++_Named_aliases = Model.Name "aliases"++_Named_doc = Model.Name "doc"++_Named_type = Model.Name "type"++_Named_annotations = Model.Name "annotations"++-- | The type-specific content of an Avro named schema+data NamedType =+ NamedTypeEnum Enum |+ NamedTypeFixed Fixed |+ NamedTypeRecord Record+ deriving (Eq, Ord, Read, Show)++_NamedType = Model.Name "hydra.ext.avro.schema.NamedType"++_NamedType_enum = Model.Name "enum"++_NamedType_fixed = Model.Name "fixed"++_NamedType_record = Model.Name "record"++-- | Specifies how a field impacts sort ordering of its enclosing record+data Order =+ OrderAscending |+ OrderDescending |+ OrderIgnore+ deriving (Eq, Ord, Read, Show)++_Order = Model.Name "hydra.ext.avro.schema.Order"++_Order_ascending = Model.Name "ascending"++_Order_descending = Model.Name "descending"++_Order_ignore = Model.Name "ignore"++-- | An Avro primitive type+data Primitive =+ -- | no value+ PrimitiveNull |+ -- | A binary value+ PrimitiveBoolean |+ -- | 32-bit signed integer+ PrimitiveInt |+ -- | 64-bit signed integer+ PrimitiveLong |+ -- | single precision (32-bit) IEEE 754 floating-point number+ PrimitiveFloat |+ -- | double precision (64-bit) IEEE 754 floating-point number+ PrimitiveDouble |+ -- | sequence of 8-bit unsigned bytes+ PrimitiveBytes |+ -- | unicode character sequence+ PrimitiveString+ deriving (Eq, Ord, Read, Show)++_Primitive = Model.Name "hydra.ext.avro.schema.Primitive"++_Primitive_null = Model.Name "null"++_Primitive_boolean = Model.Name "boolean"++_Primitive_int = Model.Name "int"++_Primitive_long = Model.Name "long"++_Primitive_float = Model.Name "float"++_Primitive_double = Model.Name "double"++_Primitive_bytes = Model.Name "bytes"++_Primitive_string = Model.Name "string"++-- | An Avro record schema+data Record =+ Record {+ -- | a JSON array, listing fields+ recordFields :: [Field]}+ deriving (Eq, Ord, Read, Show)++_Record = Model.Name "hydra.ext.avro.schema.Record"++_Record_fields = Model.Name "fields"++-- | An Avro schema, in any of its forms+data Schema =+ SchemaArray Array |+ SchemaMap Map |+ SchemaNamed Named |+ SchemaPrimitive Primitive |+ -- | A reference by name to a previously defined type+ SchemaReference String |+ SchemaUnion Union+ deriving (Eq, Ord, Read, Show)++_Schema = Model.Name "hydra.ext.avro.schema.Schema"++_Schema_array = Model.Name "array"++_Schema_map = Model.Name "map"++_Schema_named = Model.Name "named"++_Schema_primitive = Model.Name "primitive"++_Schema_reference = Model.Name "reference"++_Schema_union = Model.Name "union"++-- | An Avro union schema: a list of alternative schemas+newtype Union =+ Union {+ unUnion :: [Schema]}+ deriving (Eq, Ord, Read, Show)++_Union = Model.Name "hydra.ext.avro.schema.Union"
+ src/main/haskell/Hydra/Ext/Avro/SchemaJson.hs view
@@ -0,0 +1,484 @@+-- Note: this is an automatically generated file. Do not edit.++-- | JSON serialization and deserialization for Avro schemas++module Hydra.Ext.Avro.SchemaJson where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Parser as Parser+import qualified Hydra.Core.Json.Writer as Writer+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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Avro.Schema as Schema+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++-- | The JSON attribute name for the list of alternate names of a named type or field+avroAliases :: String+avroAliases = "aliases"++-- | The JSON type-name value identifying an Avro array schema+avroArray :: String+avroArray = "array"++-- | The JSON value identifying ascending field order+avroAscending :: String+avroAscending = "ascending"++-- | The JSON type-name value identifying the Avro boolean primitive+avroBoolean :: String+avroBoolean = "boolean"++-- | The JSON type-name value identifying the Avro bytes primitive+avroBytes :: String+avroBytes = "bytes"++-- | The JSON attribute name for a field's or enum's default value+avroDefault :: String+avroDefault = "default"++-- | The JSON value identifying descending field order+avroDescending :: String+avroDescending = "descending"++-- | The JSON attribute name for a named type's or field's documentation string+avroDoc :: String+avroDoc = "doc"++-- | The JSON type-name value identifying the Avro double primitive+avroDouble :: String+avroDouble = "double"++-- | The JSON type-name value identifying an Avro enum schema+avroEnum :: String+avroEnum = "enum"++-- | The JSON attribute name for a record's list of fields+avroFields :: String+avroFields = "fields"++-- | The JSON type-name value identifying an Avro fixed schema+avroFixed :: String+avroFixed = "fixed"++-- | The JSON type-name value identifying the Avro float primitive+avroFloat :: String+avroFloat = "float"++-- | The JSON value identifying ignored field order+avroIgnore :: String+avroIgnore = "ignore"++-- | The JSON type-name value identifying the Avro int primitive+avroInt :: String+avroInt = "int"++-- | The JSON attribute name for an array schema's item type+avroItems :: String+avroItems = "items"++-- | The JSON type-name value identifying the Avro long primitive+avroLong :: String+avroLong = "long"++-- | The JSON type-name value identifying an Avro map schema+avroMap :: String+avroMap = "map"++-- | The JSON attribute name for a named type's or field's name+avroName :: String+avroName = "name"++-- | The JSON attribute name for a named type's namespace+avroNamespace :: String+avroNamespace = "namespace"++-- | The JSON type-name value identifying the Avro null primitive+avroNull :: String+avroNull = "null"++-- | The JSON attribute name for a field's sort order+avroOrder :: String+avroOrder = "order"++-- | The JSON type-name value identifying an Avro record schema+avroRecord :: String+avroRecord = "record"++-- | Create a coder between Avro schemas and JSON values+avroSchemaJsonCoder :: t0 -> Coders.Coder Schema.Schema JsonModel.Value Errors.Error+avroSchemaJsonCoder cx =+ Coders.Coder {+ Coders.coderEncode = (\schema -> Right (encodeSchema schema)),+ Coders.coderDecode = (\json -> decodeSchema cx json)}++-- | Create a coder between Avro schemas and JSON strings+avroSchemaStringCoder :: t0 -> Coders.Coder Schema.Schema String Errors.Error+avroSchemaStringCoder cx =+ Coders.Coder {+ Coders.coderEncode = (\schema -> Right (showJsonValue (encodeSchema schema))),+ Coders.coderDecode = (\s -> Eithers.bind (Eithers.either (\e -> err cx e) (\v -> Right v) (stringToJsonValue s)) (\json -> decodeSchema cx json))}++-- | The JSON attribute name for a fixed schema's byte size+avroSize :: String+avroSize = "size"++-- | The JSON type-name value identifying the Avro string primitive+avroString :: String+avroString = "string"++-- | The JSON attribute name for an enum schema's list of symbols+avroSymbols :: String+avroSymbols = "symbols"++-- | The JSON attribute name for a schema's type name+avroType :: String+avroType = "type"++-- | The JSON attribute name for a map schema's value type+avroValues :: String+avroValues = "values"++-- | Decode aliases from a JSON object map+decodeAliases :: t0 -> M.Map String JsonModel.Value -> Either t1 (Maybe [String])+decodeAliases cx m =+ Eithers.bind (optArrayE cx avroAliases m) (\mArr -> Optionals.match mArr (Right Nothing) (\arr -> Eithers.map (\strs -> Optionals.given strs) (Eithers.mapList (expectStringE cx) arr)))++-- | Decode an Avro array schema from a JSON object map+decodeArraySchema :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.Schema+decodeArraySchema cx m =+ Eithers.bind (requireE cx avroItems m) (\items -> Eithers.map (\s -> Schema.SchemaArray (Schema.Array {+ Schema.arrayItems = s})) (decodeSchema cx items))++-- | Decode an Avro enum type from a JSON object map+decodeEnum :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.NamedType+decodeEnum cx m =+ Eithers.bind (requireArrayE cx avroSymbols m) (\syms -> Eithers.bind (Eithers.mapList (expectStringE cx) syms) (\symbols -> Eithers.bind (optStringE cx avroDefault m) (\defVal -> Right (Schema.NamedTypeEnum (Schema.Enum {+ Schema.enumSymbols = symbols,+ Schema.enumDefault = defVal})))))++-- | Decode an Avro field from a JSON object map+decodeField :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.Field+decodeField cx m =+ Eithers.bind (requireStringE cx avroName m) (\name -> Eithers.bind (optStringE cx avroDoc m) (\fdoc -> Eithers.bind (requireE cx avroType m) (\typeJson -> Eithers.bind (decodeSchema cx typeJson) (\fieldType -> Eithers.bind (Eithers.bind (optStringE cx avroOrder m) (\mOrd -> Eithers.mapOptional (decodeOrder cx) mOrd)) (\order -> Eithers.bind (decodeAliases cx m) (\aliases -> Right (Schema.Field {+ Schema.fieldName = name,+ Schema.fieldDoc = fdoc,+ Schema.fieldType = fieldType,+ Schema.fieldDefault = (optE avroDefault m),+ Schema.fieldOrder = order,+ Schema.fieldAliases = aliases,+ Schema.fieldAnnotations = (getAnnotations m)})))))))++-- | Decode an Avro fixed type from a JSON object map+decodeFixed :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.NamedType+decodeFixed cx m =+ Eithers.bind (requireNumberE cx avroSize m) (\n ->+ let size = Literals.bigintToInt32 (Literals.decimalToBigint n)+ in (Right (Schema.NamedTypeFixed (Schema.Fixed {+ Schema.fixedSize = size}))))++-- | Decode an Avro map schema from a JSON object map+decodeMapSchema :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.Schema+decodeMapSchema cx m =+ Eithers.bind (requireE cx avroValues m) (\values -> Eithers.map (\s -> Schema.SchemaMap (Schema.Map {+ Schema.mapValues = s})) (decodeSchema cx values))++-- | Decode a named Avro schema from a JSON object map and a decoded named type result+decodeNamedSchema :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.NamedType -> Either Errors.Error Schema.Schema+decodeNamedSchema cx m namedTypeResult =+ Eithers.bind (requireStringE cx avroName m) (\name -> Eithers.bind (optStringE cx avroNamespace m) (\ns -> Eithers.bind (optStringE cx avroDoc m) (\sdoc -> Eithers.bind (decodeAliases cx m) (\aliases -> Eithers.bind namedTypeResult (\namedType -> Right (Schema.SchemaNamed (Schema.Named {+ Schema.namedName = name,+ Schema.namedNamespace = ns,+ Schema.namedAliases = aliases,+ Schema.namedDoc = sdoc,+ Schema.namedType = namedType,+ Schema.namedAnnotations = (getAnnotations m)})))))))++-- | Decode an Avro schema from a JSON object given the type name+decodeObjectSchema :: t0 -> M.Map String JsonModel.Value -> String -> Either Errors.Error Schema.Schema+decodeObjectSchema cx m typeName =+ Logic.ifElse (Equality.equal typeName "array") (decodeArraySchema cx m) (Logic.ifElse (Equality.equal typeName "map") (decodeMapSchema cx m) (Logic.ifElse (Equality.equal typeName "record") (decodeNamedSchema cx m (decodeRecord cx m)) (Logic.ifElse (Equality.equal typeName "enum") (decodeNamedSchema cx m (decodeEnum cx m)) (Logic.ifElse (Equality.equal typeName "fixed") (decodeNamedSchema cx m (decodeFixed cx m)) (Optionals.match (decodePrimitiveName typeName) (err cx (Strings.concat [+ "unknown type: ",+ typeName])) (\p -> Right (Schema.SchemaPrimitive p)))))))++-- | Decode an Avro field ordering from a string+decodeOrder :: t0 -> String -> Either Errors.Error Schema.Order+decodeOrder cx o =+ Logic.ifElse (Equality.equal o "ascending") (Right Schema.OrderAscending) (Logic.ifElse (Equality.equal o "descending") (Right Schema.OrderDescending) (Logic.ifElse (Equality.equal o "ignore") (Right Schema.OrderIgnore) (err cx (Strings.concat [+ "unknown order: ",+ o]))))++-- | Decode a primitive type name string to a Primitive, or Nothing if not a primitive+decodePrimitiveName :: String -> Maybe Schema.Primitive+decodePrimitiveName s =+ Logic.ifElse (Equality.equal s "null") (Just Schema.PrimitiveNull) (Logic.ifElse (Equality.equal s "boolean") (Just Schema.PrimitiveBoolean) (Logic.ifElse (Equality.equal s "int") (Just Schema.PrimitiveInt) (Logic.ifElse (Equality.equal s "long") (Just Schema.PrimitiveLong) (Logic.ifElse (Equality.equal s "float") (Just Schema.PrimitiveFloat) (Logic.ifElse (Equality.equal s "double") (Just Schema.PrimitiveDouble) (Logic.ifElse (Equality.equal s "bytes") (Just Schema.PrimitiveBytes) (Logic.ifElse (Equality.equal s "string") (Just Schema.PrimitiveString) Nothing)))))))++-- | Decode an Avro record type from a JSON object map+decodeRecord :: t0 -> M.Map String JsonModel.Value -> Either Errors.Error Schema.NamedType+decodeRecord cx m =+ Eithers.bind (requireArrayE cx avroFields m) (\fieldJsons -> Eithers.bind (Eithers.mapList (\fj -> Eithers.bind (expectObjectE cx fj) (\fm -> decodeField cx fm)) fieldJsons) (\fields -> Right (Schema.NamedTypeRecord (Schema.Record {+ Schema.recordFields = fields}))))++-- | Decode an Avro schema from a JSON value+decodeSchema :: t0 -> JsonModel.Value -> Either Errors.Error Schema.Schema+decodeSchema cx v =+ case v of+ JsonModel.ValueString v0 -> Optionals.match (decodePrimitiveName v0) (Right (Schema.SchemaReference v0)) (\p -> Right (Schema.SchemaPrimitive p))+ JsonModel.ValueArray v0 -> Eithers.map (\decoded -> Schema.SchemaUnion (Schema.Union decoded)) (Eithers.mapList (decodeSchema cx) v0)+ JsonModel.ValueObject v0 ->+ let m = Maps.fromList v0+ in (Eithers.bind (requireStringE cx avroType m) (\typeName -> decodeObjectSchema cx m typeName))+ _ -> err cx (Strings.concat [+ "unexpected JSON value for schema: ",+ (showJsonValue v)])++-- | Encode annotations as key-value pairs with @ prefix on keys+encodeAnnotations :: M.Map String t0 -> [(String, t0)]+encodeAnnotations m = Lists.map (\entry -> (Strings.concat2 "@" (Pairs.first entry), (Pairs.second entry))) (Maps.toList m)++-- | Encode an Avro array schema to a JSON object+encodeArray :: Schema.Array -> JsonModel.Value+encodeArray arr =+ JsonModel.ValueObject [+ ("type", (JsonModel.ValueString "array")),+ ("items", (encodeSchema (Schema.arrayItems arr)))]++-- | Encode an Avro enum type as key-value pairs+encodeEnum :: Schema.Enum -> [(String, JsonModel.Value)]+encodeEnum e =+ Lists.concat [+ [+ ("type", (JsonModel.ValueString "enum"))],+ [+ ("symbols", (JsonModel.ValueArray (Lists.map (\s -> JsonModel.ValueString s) (Schema.enumSymbols e))))],+ (Optionals.match (Schema.enumDefault e) [] (\d -> [+ ("default", (JsonModel.ValueString d))]))]++-- | Encode an Avro field to a JSON object+encodeField :: Schema.Field -> JsonModel.Value+encodeField f =+ JsonModel.ValueObject (Lists.concat [+ [+ ("name", (JsonModel.ValueString (Schema.fieldName f)))],+ [+ ("type", (encodeSchema (Schema.fieldType f)))],+ (Optionals.match (Schema.fieldDoc f) [] (\d -> [+ ("doc", (JsonModel.ValueString d))])),+ (Optionals.match (Schema.fieldDefault f) [] (\d -> [+ ("default", d)])),+ (Optionals.match (Schema.fieldOrder f) [] (\o -> [+ encodeOrder o])),+ (Optionals.match (Schema.fieldAliases f) [] (\als -> [+ ("aliases", (JsonModel.ValueArray (Lists.map (\a -> JsonModel.ValueString a) als)))])),+ (encodeAnnotations (Schema.fieldAnnotations f))])++-- | Encode an Avro fixed type as key-value pairs+encodeFixed :: Schema.Fixed -> [(String, JsonModel.Value)]+encodeFixed f =+ [+ ("type", (JsonModel.ValueString "fixed")),+ ("size", (JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint (Schema.fixedSize f)))))]++-- | Encode an Avro map schema to a JSON object+encodeMap :: Schema.Map -> JsonModel.Value+encodeMap mp =+ JsonModel.ValueObject [+ ("type", (JsonModel.ValueString "map")),+ ("values", (encodeSchema (Schema.mapValues mp)))]++-- | Encode an Avro named type to a JSON object+encodeNamed :: Schema.Named -> JsonModel.Value+encodeNamed n =+ JsonModel.ValueObject (Lists.concat [+ [+ ("name", (JsonModel.ValueString (Schema.namedName n)))],+ (Optionals.match (Schema.namedNamespace n) [] (\ns -> [+ ("namespace", (JsonModel.ValueString ns))])),+ (Optionals.match (Schema.namedDoc n) [] (\d -> [+ ("doc", (JsonModel.ValueString d))])),+ (Optionals.match (Schema.namedAliases n) [] (\als -> [+ ("aliases", (JsonModel.ValueArray (Lists.map (\a -> JsonModel.ValueString a) als)))])),+ (encodeNamedType (Schema.namedType n)),+ (encodeAnnotations (Schema.namedAnnotations n))])++-- | Encode the specific variant of a named Avro type+encodeNamedType :: Schema.NamedType -> [(String, JsonModel.Value)]+encodeNamedType nt =+ case nt of+ Schema.NamedTypeEnum v0 -> encodeEnum v0+ Schema.NamedTypeFixed v0 -> encodeFixed v0+ Schema.NamedTypeRecord v0 -> encodeRecord v0++-- | Encode an Avro field ordering as a key-value pair+encodeOrder :: Schema.Order -> (String, JsonModel.Value)+encodeOrder o =+ (+ "order",+ (JsonModel.ValueString (case o of+ Schema.OrderAscending -> "ascending"+ Schema.OrderDescending -> "descending"+ Schema.OrderIgnore -> "ignore")))++-- | Encode an Avro primitive type as a JSON string+encodePrimitive :: Schema.Primitive -> JsonModel.Value+encodePrimitive p =+ JsonModel.ValueString (case p of+ Schema.PrimitiveNull -> "null"+ Schema.PrimitiveBoolean -> "boolean"+ Schema.PrimitiveInt -> "int"+ Schema.PrimitiveLong -> "long"+ Schema.PrimitiveFloat -> "float"+ Schema.PrimitiveDouble -> "double"+ Schema.PrimitiveBytes -> "bytes"+ Schema.PrimitiveString -> "string")++-- | Encode an Avro record type as key-value pairs+encodeRecord :: Schema.Record -> [(String, JsonModel.Value)]+encodeRecord r =+ [+ ("type", (JsonModel.ValueString "record")),+ ("fields", (JsonModel.ValueArray (Lists.map encodeField (Schema.recordFields r))))]++-- | Encode an Avro schema to a JSON value+encodeSchema :: Schema.Schema -> JsonModel.Value+encodeSchema schema =+ case schema of+ Schema.SchemaPrimitive v0 -> encodePrimitive v0+ Schema.SchemaArray v0 -> encodeArray v0+ Schema.SchemaMap v0 -> encodeMap v0+ Schema.SchemaNamed v0 -> encodeNamed v0+ Schema.SchemaReference v0 -> JsonModel.ValueString v0+ Schema.SchemaUnion v0 -> encodeUnion v0++-- | Encode an Avro union as a JSON array of schemas+encodeUnion :: Schema.Union -> JsonModel.Value+encodeUnion u = JsonModel.ValueArray (Lists.map encodeSchema (Schema.unUnion u))++-- | Construct an error result with a message in context+err :: t0 -> String -> Either Errors.Error t1+err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))++-- | Extract a JSON array or return an error+expectArrayE :: t0 -> JsonModel.Value -> Either t1 [JsonModel.Value]+expectArrayE cx value =+ case value of+ JsonModel.ValueArray v0 -> Right v0++-- | Extract a JSON number or return an error+expectNumberE :: t0 -> JsonModel.Value -> Either t1 Sci.Scientific+expectNumberE cx value =+ case value of+ JsonModel.ValueNumber v0 -> Right v0++-- | Extract a JSON object as a name-keyed map or return an error (field order is dropped)+expectObjectE :: t0 -> JsonModel.Value -> Either t1 (M.Map String JsonModel.Value)+expectObjectE cx value =+ case value of+ JsonModel.ValueObject v0 -> Right (Maps.fromList v0)++-- | Extract a JSON string or return an error+expectStringE :: t0 -> JsonModel.Value -> Either t1 String+expectStringE cx value =+ case value of+ JsonModel.ValueString v0 -> Right v0++-- | Extract annotation entries (keys starting with @) from a JSON object map+getAnnotations :: M.Map String t0 -> M.Map String t0+getAnnotations m =+ Maps.fromList (Optionals.givens (Lists.map (\entry ->+ let k = Pairs.first entry+ v = Pairs.second entry+ in (Logic.ifElse (Equality.equal (Optionals.withDefault 0 (Strings.charAt 0 k)) 64) (Optionals.given (Strings.fromList (Lists.drop 1 (Strings.toList k)), v)) Nothing)) (Maps.toList m)))++-- | Look up an optional array attribute in a JSON object map+optArrayE :: Ord t1 => (t0 -> t1 -> M.Map t1 JsonModel.Value -> Either t2 (Maybe [JsonModel.Value]))+optArrayE cx fname m =+ Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\a -> Optionals.given a) (expectArrayE cx v))++-- | Look up an optional attribute in a JSON object map+optE :: Ord t0 => (t0 -> M.Map t0 t1 -> Maybe t1)+optE k m = Maps.lookup k m++-- | Look up an optional string attribute in a JSON object map+optStringE :: Ord t1 => (t0 -> t1 -> M.Map t1 JsonModel.Value -> Either t2 (Maybe String))+optStringE cx fname m =+ Optionals.match (Maps.lookup fname m) (Right Nothing) (\v -> Eithers.map (\s -> Optionals.given s) (expectStringE cx v))++-- | Look up a required array attribute in a JSON object map+requireArrayE :: t0 -> String -> M.Map String JsonModel.Value -> Either Errors.Error [JsonModel.Value]+requireArrayE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectArrayE cx v)++-- | Look up a required attribute in a JSON object map+requireE :: t0 -> String -> M.Map String t1 -> Either Errors.Error t1+requireE cx fname m =+ Optionals.match (Maps.lookup fname m) (err cx (Strings.concat [+ "required attribute ",+ (Literals.printString fname),+ " not found"])) (\v -> Right v)++-- | Look up a required number attribute in a JSON object map+requireNumberE :: t0 -> String -> M.Map String JsonModel.Value -> Either Errors.Error Sci.Scientific+requireNumberE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectNumberE cx v)++-- | Look up a required string attribute in a JSON object map+requireStringE :: t0 -> String -> M.Map String JsonModel.Value -> Either Errors.Error String+requireStringE cx fname m = Eithers.bind (requireE cx fname m) (\v -> expectStringE cx v)++-- | Convert a JSON value to its string representation+showJsonValue :: JsonModel.Value -> String+showJsonValue v = Writer.printJson v++-- | Parse a JSON string, returning Either for compatibility+stringToJsonValue :: String -> Either String JsonModel.Value+stringToJsonValue s =+ (\x -> case x of+ Parsing.ParseResultSuccess v0 -> Right (Parsing.parseSuccessValue v0)+ Parsing.ParseResultFailure v0 -> Left (Parsing.parseErrorMessage v0)) (Parser.parseJson s)++-- | Construct an error for unexpected values+unexpectedE :: t0 -> String -> String -> Either Errors.Error t1+unexpectedE cx expected found =+ err cx (Strings.concat [+ "Expected ",+ expected,+ ", found: ",+ found])
+ src/main/haskell/Hydra/Ext/Avro/Testing.hs view
@@ -0,0 +1,326 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Test case types for the bidirectional Avro coder++module Hydra.Ext.Avro.Testing where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Ext.Avro.Schema as Schema+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | A test case for the bidirectional Avro coder+data AvroTestCase =+ -- | Type-level forward mapping (Avro Schema -> Hydra Type)+ AvroTestCaseTypeLevelForward TypeLevelForwardTestCase |+ -- | Type-level reverse mapping (Hydra Type -> Avro Schema)+ AvroTestCaseTypeLevelReverse TypeLevelReverseTestCase |+ -- | Type-level round-trip starting from Avro (Avro -> Hydra -> Avro)+ AvroTestCaseTypeLevelRoundTripAvro TypeLevelRoundTripAvroTestCase |+ -- | Type-level round-trip starting from Hydra (Hydra -> Avro -> Hydra)+ AvroTestCaseTypeLevelRoundTripHydra TypeLevelRoundTripHydraTestCase |+ -- | Term-level forward mapping (JSON -> Hydra Term)+ AvroTestCaseTermLevelForward TermLevelForwardTestCase |+ -- | Term-level reverse mapping (Hydra Term -> JSON)+ AvroTestCaseTermLevelReverse TermLevelReverseTestCase |+ -- | Term-level round-trip starting from JSON (JSON -> Term -> JSON)+ AvroTestCaseTermLevelRoundTripJson TermLevelRoundTripJsonTestCase |+ -- | Term-level round-trip starting from a term (Term -> JSON -> Term)+ AvroTestCaseTermLevelRoundTripTerm TermLevelRoundTripTermTestCase |+ -- | Union-specific encoding and decoding+ AvroTestCaseUnion UnionTestCase |+ -- | Name mapping between Hydra and Avro+ AvroTestCaseNameMapping NameMappingTestCase |+ -- | Lossy conversion with annotation stashing+ AvroTestCaseLossiness LossinessTestCase |+ -- | Schema serialization to and from JSON+ AvroTestCaseSchemaSerialization SchemaSerializationTestCase+ deriving (Eq, Ord, Read, Show)++_AvroTestCase = Model.Name "hydra.ext.avro.testing.AvroTestCase"++_AvroTestCase_typeLevelForward = Model.Name "typeLevelForward"++_AvroTestCase_typeLevelReverse = Model.Name "typeLevelReverse"++_AvroTestCase_typeLevelRoundTripAvro = Model.Name "typeLevelRoundTripAvro"++_AvroTestCase_typeLevelRoundTripHydra = Model.Name "typeLevelRoundTripHydra"++_AvroTestCase_termLevelForward = Model.Name "termLevelForward"++_AvroTestCase_termLevelReverse = Model.Name "termLevelReverse"++_AvroTestCase_termLevelRoundTripJson = Model.Name "termLevelRoundTripJson"++_AvroTestCase_termLevelRoundTripTerm = Model.Name "termLevelRoundTripTerm"++_AvroTestCase_union = Model.Name "union"++_AvroTestCase_nameMapping = Model.Name "nameMapping"++_AvroTestCase_lossiness = Model.Name "lossiness"++_AvroTestCase_schemaSerialization = Model.Name "schemaSerialization"++-- | A test case which verifies that lossy conversions stash original information in annotations+data LossinessTestCase =+ LossinessTestCase {+ -- | A human-readable description of what this test case covers+ lossinessTestCaseDescription :: String,+ -- | The original Avro schema containing information that may be lost+ lossinessTestCaseOriginalSchema :: Schema.Schema,+ -- | The resulting Hydra type, which should carry annotations for any lost information+ lossinessTestCaseHydraType :: Model.Type,+ -- | The Avro schema recovered from the annotated Hydra type+ lossinessTestCaseRecoveredSchema :: Schema.Schema,+ -- | Whether the adapter reports this conversion as lossy+ lossinessTestCaseIsLossy :: Bool}+ deriving (Eq, Ord, Read, Show)++_LossinessTestCase = Model.Name "hydra.ext.avro.testing.LossinessTestCase"++_LossinessTestCase_description = Model.Name "description"++_LossinessTestCase_originalSchema = Model.Name "originalSchema"++_LossinessTestCase_hydraType = Model.Name "hydraType"++_LossinessTestCase_recoveredSchema = Model.Name "recoveredSchema"++_LossinessTestCase_isLossy = Model.Name "isLossy"++-- | A test case for bidirectional name mapping between Hydra and Avro+data NameMappingTestCase =+ NameMappingTestCase {+ -- | A human-readable description of what this test case covers+ nameMappingTestCaseDescription :: String,+ -- | The Hydra name+ nameMappingTestCaseHydraName :: Model.Name,+ -- | The expected Avro qualified name (dotted string)+ nameMappingTestCaseAvroName :: String,+ -- | The expected Avro namespace, if any+ nameMappingTestCaseAvroNamespace :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_NameMappingTestCase = Model.Name "hydra.ext.avro.testing.NameMappingTestCase"++_NameMappingTestCase_description = Model.Name "description"++_NameMappingTestCase_hydraName = Model.Name "hydraName"++_NameMappingTestCase_avroName = Model.Name "avroName"++_NameMappingTestCase_avroNamespace = Model.Name "avroNamespace"++-- | A test case for Avro schema serialization to and from JSON+data SchemaSerializationTestCase =+ SchemaSerializationTestCase {+ -- | A human-readable description of what this test case covers+ schemaSerializationTestCaseDescription :: String,+ -- | The Avro schema+ schemaSerializationTestCaseSchema :: Schema.Schema,+ -- | The expected JSON representation of the schema+ schemaSerializationTestCaseJson :: JsonModel.Value}+ deriving (Eq, Ord, Read, Show)++_SchemaSerializationTestCase = Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"++_SchemaSerializationTestCase_description = Model.Name "description"++_SchemaSerializationTestCase_schema = Model.Name "schema"++_SchemaSerializationTestCase_json = Model.Name "json"++-- | A test case which encodes a JSON value as a Hydra term using an Avro schema+data TermLevelForwardTestCase =+ TermLevelForwardTestCase {+ -- | A human-readable description of what this test case covers+ termLevelForwardTestCaseDescription :: String,+ -- | The Avro schema describing the JSON value+ termLevelForwardTestCaseSchema :: Schema.Schema,+ -- | The input JSON value+ termLevelForwardTestCaseJson :: JsonModel.Value,+ -- | The expected Hydra term+ termLevelForwardTestCaseTerm :: Model.Term}+ deriving (Eq, Ord, Read, Show)++_TermLevelForwardTestCase = Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"++_TermLevelForwardTestCase_description = Model.Name "description"++_TermLevelForwardTestCase_schema = Model.Name "schema"++_TermLevelForwardTestCase_json = Model.Name "json"++_TermLevelForwardTestCase_term = Model.Name "term"++-- | A test case which decodes a Hydra term to a JSON value using an Avro schema+data TermLevelReverseTestCase =+ TermLevelReverseTestCase {+ -- | A human-readable description of what this test case covers+ termLevelReverseTestCaseDescription :: String,+ -- | The Avro schema describing the expected JSON value+ termLevelReverseTestCaseSchema :: Schema.Schema,+ -- | The input Hydra term+ termLevelReverseTestCaseTerm :: Model.Term,+ -- | The expected JSON value+ termLevelReverseTestCaseJson :: JsonModel.Value}+ deriving (Eq, Ord, Read, Show)++_TermLevelReverseTestCase = Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"++_TermLevelReverseTestCase_description = Model.Name "description"++_TermLevelReverseTestCase_schema = Model.Name "schema"++_TermLevelReverseTestCase_term = Model.Name "term"++_TermLevelReverseTestCase_json = Model.Name "json"++-- | A test case which encodes a JSON value as a Hydra term and decodes it back, verifying the result+data TermLevelRoundTripJsonTestCase =+ TermLevelRoundTripJsonTestCase {+ -- | A human-readable description of what this test case covers+ termLevelRoundTripJsonTestCaseDescription :: String,+ -- | The Avro schema describing the JSON value+ termLevelRoundTripJsonTestCaseSchema :: Schema.Schema,+ -- | The original JSON value+ termLevelRoundTripJsonTestCaseJson :: JsonModel.Value,+ -- | The expected JSON value after the round-trip, which may differ from the original due to normalization+ termLevelRoundTripJsonTestCaseExpectedJson :: JsonModel.Value}+ deriving (Eq, Ord, Read, Show)++_TermLevelRoundTripJsonTestCase = Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"++_TermLevelRoundTripJsonTestCase_description = Model.Name "description"++_TermLevelRoundTripJsonTestCase_schema = Model.Name "schema"++_TermLevelRoundTripJsonTestCase_json = Model.Name "json"++_TermLevelRoundTripJsonTestCase_expectedJson = Model.Name "expectedJson"++-- | A test case which decodes a Hydra term to JSON and encodes it back, verifying the result+data TermLevelRoundTripTermTestCase =+ TermLevelRoundTripTermTestCase {+ -- | A human-readable description of what this test case covers+ termLevelRoundTripTermTestCaseDescription :: String,+ -- | The Hydra type of the term+ termLevelRoundTripTermTestCaseType :: Model.Type,+ -- | The original Hydra term+ termLevelRoundTripTermTestCaseTerm :: Model.Term,+ -- | The expected Hydra term after the round-trip, which may differ from the original due to normalization+ termLevelRoundTripTermTestCaseExpectedTerm :: Model.Term}+ deriving (Eq, Ord, Read, Show)++_TermLevelRoundTripTermTestCase = Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"++_TermLevelRoundTripTermTestCase_description = Model.Name "description"++_TermLevelRoundTripTermTestCase_type = Model.Name "type"++_TermLevelRoundTripTermTestCase_term = Model.Name "term"++_TermLevelRoundTripTermTestCase_expectedTerm = Model.Name "expectedTerm"++-- | A test case which maps an Avro schema to a Hydra type and compares the result+data TypeLevelForwardTestCase =+ TypeLevelForwardTestCase {+ -- | A human-readable description of what this test case covers+ typeLevelForwardTestCaseDescription :: String,+ -- | The input Avro schema+ typeLevelForwardTestCaseSchema :: Schema.Schema,+ -- | The expected Hydra type+ typeLevelForwardTestCaseType :: Model.Type}+ deriving (Eq, Ord, Read, Show)++_TypeLevelForwardTestCase = Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"++_TypeLevelForwardTestCase_description = Model.Name "description"++_TypeLevelForwardTestCase_schema = Model.Name "schema"++_TypeLevelForwardTestCase_type = Model.Name "type"++-- | A test case which maps a Hydra type to an Avro schema and compares the result+data TypeLevelReverseTestCase =+ TypeLevelReverseTestCase {+ -- | A human-readable description of what this test case covers+ typeLevelReverseTestCaseDescription :: String,+ -- | The input Hydra type+ typeLevelReverseTestCaseType :: Model.Type,+ -- | The expected Avro schema+ typeLevelReverseTestCaseSchema :: Schema.Schema}+ deriving (Eq, Ord, Read, Show)++_TypeLevelReverseTestCase = Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"++_TypeLevelReverseTestCase_description = Model.Name "description"++_TypeLevelReverseTestCase_type = Model.Name "type"++_TypeLevelReverseTestCase_schema = Model.Name "schema"++-- | A test case which maps an Avro schema to a Hydra type and back, verifying the result+data TypeLevelRoundTripAvroTestCase =+ TypeLevelRoundTripAvroTestCase {+ -- | A human-readable description of what this test case covers+ typeLevelRoundTripAvroTestCaseDescription :: String,+ -- | The original Avro schema+ typeLevelRoundTripAvroTestCaseSchema :: Schema.Schema,+ -- | The expected Avro schema after the round-trip, which may differ from the original due to normalization or information loss+ typeLevelRoundTripAvroTestCaseExpectedSchema :: Schema.Schema}+ deriving (Eq, Ord, Read, Show)++_TypeLevelRoundTripAvroTestCase = Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"++_TypeLevelRoundTripAvroTestCase_description = Model.Name "description"++_TypeLevelRoundTripAvroTestCase_schema = Model.Name "schema"++_TypeLevelRoundTripAvroTestCase_expectedSchema = Model.Name "expectedSchema"++-- | A test case which maps a Hydra type to an Avro schema and back, verifying the result+data TypeLevelRoundTripHydraTestCase =+ TypeLevelRoundTripHydraTestCase {+ -- | A human-readable description of what this test case covers+ typeLevelRoundTripHydraTestCaseDescription :: String,+ -- | The original Hydra type+ typeLevelRoundTripHydraTestCaseType :: Model.Type,+ -- | The expected Hydra type after the round-trip, which may differ from the original due to normalization or information loss+ typeLevelRoundTripHydraTestCaseExpectedType :: Model.Type}+ deriving (Eq, Ord, Read, Show)++_TypeLevelRoundTripHydraTestCase = Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"++_TypeLevelRoundTripHydraTestCase_description = Model.Name "description"++_TypeLevelRoundTripHydraTestCase_type = Model.Name "type"++_TypeLevelRoundTripHydraTestCase_expectedType = Model.Name "expectedType"++-- | A test case for union type encoding and decoding, covering the various strategies for representing unions in Avro+data UnionTestCase =+ UnionTestCase {+ -- | A human-readable description of what this test case covers+ unionTestCaseDescription :: String,+ -- | The Hydra union type+ unionTestCaseHydraType :: Model.Type,+ -- | The expected Avro schema (enum for all-unit unions, record with optional fields for general unions)+ unionTestCaseAvroSchema :: Schema.Schema,+ -- | Pairs of corresponding Hydra terms and JSON values for this union+ unionTestCaseTermPairs :: [(Model.Term, JsonModel.Value)]}+ deriving (Eq, Ord, Read, Show)++_UnionTestCase = Model.Name "hydra.ext.avro.testing.UnionTestCase"++_UnionTestCase_description = Model.Name "description"++_UnionTestCase_hydraType = Model.Name "hydraType"++_UnionTestCase_avroSchema = Model.Name "avroSchema"++_UnionTestCase_termPairs = Model.Name "termPairs"
+ src/main/haskell/Hydra/Ext/Azure/Dtld.hs view
@@ -0,0 +1,747 @@+-- Note: this is an automatically generated file. Do not edit.++-- | An Azure Digital Twin Definition Language (DTLD) model. Based on:+-- | https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#digital-twins-definition-language+-- | DTLD features which are not currently included in this model:+-- | * geospatial schemas (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#geospatial-schemas)+-- | * semantic types and units (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#semantic-types)+-- | * model versioning (https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md#model-versioning)++module Hydra.Ext.Azure.Dtld where++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+import qualified Data.Set as S++-- | A Command describes a function or operation that can be performed on any digital twin.+data Command =+ Command {+ -- | This must be 'Command'+ commandType :: Iri,+ -- | The 'programming' name of the command. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ commandName :: String,+ -- | The ID of the command. If no @id is provided, the digital twin interface processor will assign one.+ commandId :: (Maybe Dtmi),+ -- | A comment for model authors+ commandComment :: (Maybe String),+ -- | A localizable description for display+ commandDescription :: (Maybe String),+ -- | A localizable name for display+ commandDisplayName :: (Maybe String),+ -- | This property is deprecated. Either value, synchronous or asynchronous, has the same meaning: a command that starts execution within a configurable time and that completes execution within a configurable time.+ commandCommandType :: (Maybe CommandType),+ -- | A description of the input to the Command+ commandRequest :: (Maybe CommandPayload),+ -- | A description of the output of the Command+ commandResponse :: (Maybe CommandPayload)}+ deriving (Eq, Ord, Read, Show)++_Command = Model.Name "hydra.ext.azure.dtld.Command"++_Command_type = Model.Name "type"++_Command_name = Model.Name "name"++_Command_id = Model.Name "id"++_Command_comment = Model.Name "comment"++_Command_description = Model.Name "description"++_Command_displayName = Model.Name "displayName"++_Command_commandType = Model.Name "commandType"++_Command_request = Model.Name "request"++_Command_response = Model.Name "response"++-- | A CommandPayload describes the inputs to or the outputs from a Command.+data CommandPayload =+ CommandPayload {+ -- | The 'programming' name of the payload. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ commandPayloadName :: String,+ -- | The data type of the payload+ commandPayloadSchema :: Schema,+ -- | The ID of the payload. If no @id is provided, the digital twin interface processor will assign one.+ commandPayloadId :: (Maybe Dtmi),+ -- | A comment for model authors+ commandPayloadComment :: (Maybe String),+ -- | A localizable description for display+ commandPayloadDescription :: (Maybe String),+ -- | A localizable name for display+ commandPayloadDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_CommandPayload = Model.Name "hydra.ext.azure.dtld.CommandPayload"++_CommandPayload_name = Model.Name "name"++_CommandPayload_schema = Model.Name "schema"++_CommandPayload_id = Model.Name "id"++_CommandPayload_comment = Model.Name "comment"++_CommandPayload_description = Model.Name "description"++_CommandPayload_displayName = Model.Name "displayName"++-- | CommandType is deprecated. Either value, synchronous or asynchronous, has the same meaning: a command that starts execution within a configurable time and that completes execution within a configurable time.+data CommandType =+ CommandTypeSynchronous |+ CommandTypeAsynchronous+ deriving (Eq, Ord, Read, Show)++_CommandType = Model.Name "hydra.ext.azure.dtld.CommandType"++_CommandType_synchronous = Model.Name "synchronous"++_CommandType_asynchronous = Model.Name "asynchronous"++-- | Components enable interfaces to be composed of other interfaces. Components are different from relationships because they describe contents that are directly part of the interface. (A relationship describes a link between two interfaces.)+data Component =+ Component {+ -- | This must be 'Component'+ componentType :: Iri,+ -- | The 'programming' name of the component. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ componentName :: String,+ -- | The data type of the component+ componentSchema :: Interface,+ -- | The ID of the component. If no @id is provided, the digital twin interface processor will assign one.+ componentId :: (Maybe Dtmi),+ -- | A comment for model authors+ componentComment :: (Maybe String),+ -- | A localizable description for display+ componentDescription :: (Maybe String),+ -- | A localizable name for display+ componentDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_Component = Model.Name "hydra.ext.azure.dtld.Component"++_Component_type = Model.Name "type"++_Component_name = Model.Name "name"++_Component_schema = Model.Name "schema"++_Component_id = Model.Name "id"++_Component_comment = Model.Name "comment"++_Component_description = Model.Name "description"++_Component_displayName = Model.Name "displayName"++-- | A digital twin model identifier+newtype Dtmi =+ Dtmi {+ unDtmi :: String}+ deriving (Eq, Ord, Read, Show)++_Dtmi = Model.Name "hydra.ext.azure.dtld.Dtmi"++-- | An EnumValue describes an element of an Enum.+data EnumValue =+ EnumValue {+ -- | The 'programming' name of the enum value. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ enumValueName :: String,+ -- | The on-the-wire value that maps to the EnumValue. EnumValue may be either an integer or a string and must be unique for all enum values in this enum.+ enumValueEnumValue :: IntegerOrString,+ -- | The ID of the enum value. If no @id is provided, the digital twin interface processor will assign one.+ enumValueId :: (Maybe Dtmi),+ -- | A comment for model authors+ enumValueComment :: (Maybe String),+ -- | A localizable description for display+ enumValueDescription :: (Maybe String),+ -- | A localizable name for display+ enumValueDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_EnumValue = Model.Name "hydra.ext.azure.dtld.EnumValue"++_EnumValue_name = Model.Name "name"++_EnumValue_enumValue = Model.Name "enumValue"++_EnumValue_id = Model.Name "id"++_EnumValue_comment = Model.Name "comment"++_EnumValue_description = Model.Name "description"++_EnumValue_displayName = Model.Name "displayName"++-- | A Field describes a field in an Object.+data Field =+ Field {+ -- | The 'programming' name of the field. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ fieldName :: String,+ -- | The data type of the field+ fieldSchema :: Schema,+ -- | The ID of the field. If no @id is provided, the digital twin interface processor will assign one.+ fieldId :: (Maybe Dtmi),+ -- | A comment for model authors+ fieldComment :: (Maybe String),+ -- | A localizable description for display+ fieldDescription :: (Maybe String),+ -- | A localizable name for display+ fieldDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_Field = Model.Name "hydra.ext.azure.dtld.Field"++_Field_name = Model.Name "name"++_Field_schema = Model.Name "schema"++_Field_id = Model.Name "id"++_Field_comment = Model.Name "comment"++_Field_description = Model.Name "description"++_Field_displayName = Model.Name "displayName"++-- | A value which may be either an integer or a string+data IntegerOrString =+ IntegerOrStringInteger Int |+ IntegerOrStringString String+ deriving (Eq, Ord, Read, Show)++_IntegerOrString = Model.Name "hydra.ext.azure.dtld.IntegerOrString"++_IntegerOrString_integer = Model.Name "integer"++_IntegerOrString_string = Model.Name "string"++-- | An Interface describes the contents (Telemetry, Properties, Commands, Relationships, and Components) of any digital twin.+data Interface =+ Interface {+ -- | A digital twin model identifier for the interface+ interfaceId :: Dtmi,+ -- | This must be 'Interface'+ interfaceType :: Iri,+ -- | The context to use when processing this interface. For this version, it must be set to 'dtmi:dtdl:context;2'+ interfaceContext :: Iri,+ -- | A comment for model authors+ interfaceComment :: (Maybe String),+ -- | A set of objects that define the contents (Telemetry, Properties, Commands, Relationships, and/or Components) of this interface+ interfaceContents :: (Maybe (S.Set InterfaceContents)),+ -- | A localizable description for display+ interfaceDescription :: (Maybe String),+ -- | A localizable name for display+ interfaceDisplayName :: (Maybe String),+ -- | A set of DTMIs that refer to interfaces this interface inherits from. Interfaces can inherit from multiple interfaces.+ interfaceExtends :: (Maybe (S.Set Interface)),+ -- | A set of IRIs or objects that refer to the reusable schemas within this interface.+ interfaceSchemas :: (Maybe (S.Set SchemaInterface))}+ deriving (Eq, Ord, Read, Show)++_Interface = Model.Name "hydra.ext.azure.dtld.Interface"++_Interface_id = Model.Name "id"++_Interface_type = Model.Name "type"++_Interface_context = Model.Name "context"++_Interface_comment = Model.Name "comment"++_Interface_contents = Model.Name "contents"++_Interface_description = Model.Name "description"++_Interface_displayName = Model.Name "displayName"++_Interface_extends = Model.Name "extends"++_Interface_schemas = Model.Name "schemas"++-- | One of the kinds of content an Interface may contain: a Command, Component, Property, Relationship, or Telemetry+data InterfaceContents =+ InterfaceContentsCommand Command |+ InterfaceContentsComponent Component |+ InterfaceContentsProperty Property |+ InterfaceContentsRelationship Relationship |+ InterfaceContentsTelemetry Telemetry+ deriving (Eq, Ord, Read, Show)++_InterfaceContents = Model.Name "hydra.ext.azure.dtld.InterfaceContents"++_InterfaceContents_command = Model.Name "command"++_InterfaceContents_component = Model.Name "component"++_InterfaceContents_property = Model.Name "property"++_InterfaceContents_relationship = Model.Name "relationship"++_InterfaceContents_telemetry = Model.Name "telemetry"++-- | An Internationalized Resource Identifier+newtype Iri =+ Iri {+ unIri :: String}+ deriving (Eq, Ord, Read, Show)++_Iri = Model.Name "hydra.ext.azure.dtld.Iri"++-- | A MapKey describes the key in a Map. The schema of a MapKey must be string.+data MapKey =+ MapKey {+ -- | The 'programming' name of the map's key. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ mapKeyName :: String,+ -- | The data type of the map's key+ mapKeySchema :: Schema,+ -- | The ID of the map key. If no @id is provided, the digital twin interface processor will assign one.+ mapKeyId :: (Maybe Dtmi),+ -- | A comment for model authors+ mapKeyComment :: (Maybe String),+ -- | A localizable description for display+ mapKeyDescription :: (Maybe String),+ -- | A localizable name for display+ mapKeyDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_MapKey = Model.Name "hydra.ext.azure.dtld.MapKey"++_MapKey_name = Model.Name "name"++_MapKey_schema = Model.Name "schema"++_MapKey_id = Model.Name "id"++_MapKey_comment = Model.Name "comment"++_MapKey_description = Model.Name "description"++_MapKey_displayName = Model.Name "displayName"++-- | A MapValue describes the values in a Map.+data MapValue =+ MapValue {+ -- | The 'programming' name of the map's value. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ mapValueName :: String,+ -- | The data type of the map's values+ mapValueSchema :: Schema,+ -- | The ID of the map value. If no @id is provided, the digital twin interface processor will assign one.+ mapValueId :: (Maybe Dtmi),+ -- | A comment for model authors+ mapValueComment :: (Maybe String),+ -- | A localizable description for display+ mapValueDescription :: (Maybe String),+ -- | A localizable name for display+ mapValueDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_MapValue = Model.Name "hydra.ext.azure.dtld.MapValue"++_MapValue_name = Model.Name "name"++_MapValue_schema = Model.Name "schema"++_MapValue_id = Model.Name "id"++_MapValue_comment = Model.Name "comment"++_MapValue_description = Model.Name "description"++_MapValue_displayName = Model.Name "displayName"++-- | A Property describes the read-only and read/write state of any digital twin. For example, a device serial number may be a read-only property, the desired temperature on a thermostat may be a read-write property; and the name of a room may be a read-write property.+data Property =+ Property {+ -- | This must at least be 'Property'. It can also include a semantic type.+ propertyType :: Iri,+ -- | The 'programming' name of the property. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$..+ propertyName :: String,+ -- | The data type of the Property+ propertySchema :: Schema,+ -- | The ID of the property. If no @id is provided, the digital twin interface processor will assign one.+ propertyId :: (Maybe Dtmi),+ -- | A comment for model authors+ propertyComment :: (Maybe String),+ -- | A localizable description for display+ propertyDescription :: (Maybe String),+ -- | A localizable name for display+ propertyDisplayName :: (Maybe String),+ -- | The unit type of the property. A semantic type is required for the unit property to be available.+ propertyUnit :: (Maybe Unit),+ -- | A boolean value that indicates whether the property is writable by an external source, such as an application, or not. The default value is false (read-only).+ propertyWritable :: (Maybe Bool)}+ deriving (Eq, Ord, Read, Show)++_Property = Model.Name "hydra.ext.azure.dtld.Property"++_Property_type = Model.Name "type"++_Property_name = Model.Name "name"++_Property_schema = Model.Name "schema"++_Property_id = Model.Name "id"++_Property_comment = Model.Name "comment"++_Property_description = Model.Name "description"++_Property_displayName = Model.Name "displayName"++_Property_unit = Model.Name "unit"++_Property_writable = Model.Name "writable"++-- | A Relationship describes a link to another digital twin and enables graphs of digital twins to be created. Relationships are different from Components because they describe a link to a separate digital twin.+data Relationship =+ Relationship {+ -- | This must be 'Relationship'+ relationshipType :: Iri,+ -- | The 'programming' name of the relationship. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$.+ relationshipName :: String,+ -- | The ID of the relationship description. If no @id is provided, the digital twin interface processor will assign one.+ relationshipId :: (Maybe Dtmi),+ -- | A comment for model authors+ relationshipComment :: (Maybe String),+ -- | A localizable description for display+ relationshipDescription :: (Maybe String),+ -- | A localizable name for display+ relationshipDisplayName :: (Maybe String),+ -- | The maximum multiplicity for the target of the relationship. The default value is infinite (there may be an unlimited number of relationship instances for this relationship).+ relationshipMaxMultiplicity :: (Maybe Int),+ -- | The minimum multiplicity for the target of the relationship. The default value is 0 (this relationship is permitted to have no instances). In DTDL v2, minMultiplicity must always be 0.+ relationshipMinMultiplicity :: (Maybe Int),+ -- | A set of Properties that define relationship-specific state+ relationshipProperties :: (Maybe (S.Set Property)),+ -- | An interface ID. The default value (when target is not specified) is that the target may be any interface.+ relationshipTarget :: (Maybe Interface),+ -- | A boolean value that indicates whether the relationship is writable by an external source, such as an application, or not. The default value is false (read-only).+ relationshipWritable :: (Maybe Bool)}+ deriving (Eq, Ord, Read, Show)++_Relationship = Model.Name "hydra.ext.azure.dtld.Relationship"++_Relationship_type = Model.Name "type"++_Relationship_name = Model.Name "name"++_Relationship_id = Model.Name "id"++_Relationship_comment = Model.Name "comment"++_Relationship_description = Model.Name "description"++_Relationship_displayName = Model.Name "displayName"++_Relationship_maxMultiplicity = Model.Name "maxMultiplicity"++_Relationship_minMultiplicity = Model.Name "minMultiplicity"++_Relationship_properties = Model.Name "properties"++_Relationship_target = Model.Name "target"++_Relationship_writable = Model.Name "writable"++-- | Schemas are used to describe the on-the-wire or serialized format of the data in a digital twin interface. A full set of primitive data types are provided, along with support for a variety of complex schemas in the forms of Arrays, Enums, Maps, and Objects. Schemas described through digital twin's schema definition language are compatible with popular serialization formats, including JSON, Avro, and Protobuf.+data Schema =+ SchemaPrimitive_ SchemaPrimitive |+ SchemaComplex_ SchemaComplex+ deriving (Eq, Ord, Read, Show)++_Schema = Model.Name "hydra.ext.azure.dtld.Schema"++_Schema_primitive = Model.Name "primitive"++_Schema_complex = Model.Name "complex"++-- | An Array describes an indexable data type where each element is of the same schema. An Array elements' schema can itself be a primitive or complex schema.+data SchemaArray =+ SchemaArray {+ -- | This must be 'Array'+ schemaArrayType :: Iri,+ -- | The data type of the array elements+ schemaArrayElementSchema :: Schema,+ -- | The ID of the array. If no @id is provided, the digital twin interface processor will assign one.+ schemaArrayId :: (Maybe Dtmi),+ -- | A comment for model authors+ schemaArrayComment :: (Maybe String),+ -- | A localizable description for display+ schemaArrayDescription :: (Maybe String),+ -- | A localizable name for display+ schemaArrayDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_SchemaArray = Model.Name "hydra.ext.azure.dtld.SchemaArray"++_SchemaArray_type = Model.Name "type"++_SchemaArray_elementSchema = Model.Name "elementSchema"++_SchemaArray_id = Model.Name "id"++_SchemaArray_comment = Model.Name "comment"++_SchemaArray_description = Model.Name "description"++_SchemaArray_displayName = Model.Name "displayName"++-- | Complex schemas are designed for supporting complex data types made up of primitive data types. Currently the following complex schemas are provided: Array, Enum, Map, and Object. A complex schema can be specified directly as the value in a schema statement or described in the interface schemas set and referenced in the schema statement.+data SchemaComplex =+ SchemaComplexArray SchemaArray |+ SchemaComplexEnum SchemaEnum |+ SchemaComplexMap SchemaMap |+ SchemaComplexObject SchemaObject+ deriving (Eq, Ord, Read, Show)++_SchemaComplex = Model.Name "hydra.ext.azure.dtld.SchemaComplex"++_SchemaComplex_array = Model.Name "array"++_SchemaComplex_enum = Model.Name "enum"++_SchemaComplex_map = Model.Name "map"++_SchemaComplex_object = Model.Name "object"++-- | An Enum describes a data type with a set of named labels that map to values. The values in an Enum can be either integers or strings, but the labels are always strings.+data SchemaEnum =+ SchemaEnum {+ -- | Enum+ schemaEnumType :: Iri,+ -- | A set of enum value and label mappings+ schemaEnumEnumValues :: [EnumValue],+ -- | The data type for the enum values. All enum values must be of the same type.+ schemaEnumValueSchema :: IntegerOrString,+ -- | The ID of the enum. If no @id is provided, the digital twin interface processor will assign one.+ schemaEnumId :: (Maybe Dtmi),+ -- | A comment for model authors+ schemaEnumComment :: (Maybe String),+ -- | A localizable description for display+ schemaEnumDescription :: (Maybe String),+ -- | A localizable name for display+ schemaEnumDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_SchemaEnum = Model.Name "hydra.ext.azure.dtld.SchemaEnum"++_SchemaEnum_type = Model.Name "type"++_SchemaEnum_enumValues = Model.Name "enumValues"++_SchemaEnum_valueSchema = Model.Name "valueSchema"++_SchemaEnum_id = Model.Name "id"++_SchemaEnum_comment = Model.Name "comment"++_SchemaEnum_description = Model.Name "description"++_SchemaEnum_displayName = Model.Name "displayName"++-- | Within an interface definition, complex schemas may be defined for reusability across Telemetry, Properties, and Commands. This is designed to promote readability and improved maintenance because schemas that are reused can be defined once (per interface). Interface schemas are defined in the schemas property of an interface.+data SchemaInterface =+ SchemaInterface {+ -- | The globally unique identifier for the schema+ schemaInterfaceId :: Dtmi,+ -- | The type of complex schema. This must refer to one of the complex schema classes (Array, Enum, Map, or Object).+ schemaInterfaceType :: SchemaInterfaceType,+ -- | A comment for model authors+ schemaInterfaceComment :: (Maybe String),+ -- | A localizable description for display+ schemaInterfaceDescription :: (Maybe String),+ -- | A localizable name for display+ schemaInterfaceDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_SchemaInterface = Model.Name "hydra.ext.azure.dtld.SchemaInterface"++_SchemaInterface_id = Model.Name "id"++_SchemaInterface_type = Model.Name "type"++_SchemaInterface_comment = Model.Name "comment"++_SchemaInterface_description = Model.Name "description"++_SchemaInterface_displayName = Model.Name "displayName"++-- | The type of a reusable interface schema: Array, Enum, Map, or Object+data SchemaInterfaceType =+ SchemaInterfaceTypeArray SchemaArray |+ SchemaInterfaceTypeEnum SchemaEnum |+ SchemaInterfaceTypeMap SchemaMap |+ SchemaInterfaceTypeObject SchemaObject+ deriving (Eq, Ord, Read, Show)++_SchemaInterfaceType = Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType"++_SchemaInterfaceType_array = Model.Name "array"++_SchemaInterfaceType_enum = Model.Name "enum"++_SchemaInterfaceType_map = Model.Name "map"++_SchemaInterfaceType_object = Model.Name "object"++-- | A Map describes a data type of key-value pairs where the values share the same schema. The key in a Map must be a string. The values in a Map can be any schema.+data SchemaMap =+ SchemaMap {+ -- | Map+ schemaMapType :: Iri,+ -- | A description of the keys in the map+ schemaMapMapKey :: MapKey,+ -- | A description of the values in the map+ schemaMapMapValue :: MapValue,+ -- | The ID of the map. If no @id is provided, the digital twin interface processor will assign one.+ schemaMapId :: (Maybe Dtmi),+ -- | A comment for model authors+ schemaMapComment :: (Maybe String),+ -- | A localizable description for display+ schemaMapDescription :: (Maybe String),+ -- | A localizable name for display+ schemaMapDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_SchemaMap = Model.Name "hydra.ext.azure.dtld.SchemaMap"++_SchemaMap_type = Model.Name "type"++_SchemaMap_mapKey = Model.Name "mapKey"++_SchemaMap_mapValue = Model.Name "mapValue"++_SchemaMap_id = Model.Name "id"++_SchemaMap_comment = Model.Name "comment"++_SchemaMap_description = Model.Name "description"++_SchemaMap_displayName = Model.Name "displayName"++-- | An Object describes a data type made up of named fields (like a struct in C). The fields in an Object map can be primitive or complex schemas.+data SchemaObject =+ SchemaObject {+ -- | Object+ schemaObjectType :: Iri,+ -- | A set of field descriptions, one for each field in the Object+ schemaObjectFields :: (S.Set Field),+ -- | The ID of the object. If no @id is provided, the digital twin interface processor will assign one.+ schemaObjectId :: (Maybe Dtmi),+ -- | A comment for model authors+ schemaObjectComment :: (Maybe String),+ -- | A localizable description for display+ schemaObjectDescription :: (Maybe String),+ -- | A localizable name for display+ schemaObjectDisplayName :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_SchemaObject = Model.Name "hydra.ext.azure.dtld.SchemaObject"++_SchemaObject_type = Model.Name "type"++_SchemaObject_fields = Model.Name "fields"++_SchemaObject_id = Model.Name "id"++_SchemaObject_comment = Model.Name "comment"++_SchemaObject_description = Model.Name "description"++_SchemaObject_displayName = Model.Name "displayName"++-- | A full set of primitive data types are provided and can be specified directly as the value in a schema statement in a digital twin interface.+data SchemaPrimitive =+ -- | A boolean value+ SchemaPrimitiveBoolean |+ -- | A full-date as defined in section 5.6 of RFC 3339+ SchemaPrimitiveDate |+ -- | A date-time as defined in RFC 3339+ SchemaPrimitiveDateTime |+ -- | An IEEE 8-byte floating point+ SchemaPrimitiveDouble |+ -- | A duration in ISO 8601 format+ SchemaPrimitiveDuration |+ -- | An IEEE 4-byte floating point+ SchemaPrimitiveFloat |+ -- | A signed 4-byte integer+ SchemaPrimitiveInteger |+ -- | A signed 8-byte integer+ SchemaPrimitiveLong |+ -- | A UTF8 string+ SchemaPrimitiveString |+ -- | A full-time as defined in section 5.6 of RFC 3339+ SchemaPrimitiveTime+ deriving (Eq, Ord, Read, Show)++_SchemaPrimitive = Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"++_SchemaPrimitive_boolean = Model.Name "boolean"++_SchemaPrimitive_date = Model.Name "date"++_SchemaPrimitive_dateTime = Model.Name "dateTime"++_SchemaPrimitive_double = Model.Name "double"++_SchemaPrimitive_duration = Model.Name "duration"++_SchemaPrimitive_float = Model.Name "float"++_SchemaPrimitive_integer = Model.Name "integer"++_SchemaPrimitive_long = Model.Name "long"++_SchemaPrimitive_string = Model.Name "string"++_SchemaPrimitive_time = Model.Name "time"++-- | Telemetry describes the data emitted by any digital twin, whether the data is a regular stream of sensor readings or a computed stream of data, such as occupancy, or an occasional error or information message.+data Telemetry =+ Telemetry {+ -- | This must be at least 'Telemetry'. It can also include a semantic type+ telemetryType :: Iri,+ -- | The 'programming' name of the telemetry. The name may only contain the characters a-z, A-Z, 0-9, and underscore, and must match this regular expression ^[a-zA-Z](?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$..+ telemetryName :: String,+ -- | The data type of the Telemetry+ telemetrySchema :: Schema,+ -- | The ID of the telemetry. If no @id is provided, the digital twin interface processor will assign one.+ telemetryId :: (Maybe Dtmi),+ -- | A comment for model authors+ telemetryComment :: (Maybe String),+ -- | A localizable description for display+ telemetryDescription :: (Maybe String),+ -- | A localizable name for display+ telemetryDisplayName :: (Maybe String),+ -- | The unit type of the Telemetry. A semantic type is required for the unit property to be available.+ telemetryUnit :: (Maybe Unit)}+ deriving (Eq, Ord, Read, Show)++_Telemetry = Model.Name "hydra.ext.azure.dtld.Telemetry"++_Telemetry_type = Model.Name "type"++_Telemetry_name = Model.Name "name"++_Telemetry_schema = Model.Name "schema"++_Telemetry_id = Model.Name "id"++_Telemetry_comment = Model.Name "comment"++_Telemetry_description = Model.Name "description"++_Telemetry_displayName = Model.Name "displayName"++_Telemetry_unit = Model.Name "unit"++-- | The unit type of a Property or Telemetry value, available when a semantic type is present+newtype Unit =+ Unit {+ unUnit :: ()}+ deriving (Eq, Ord, Read, Show)++_Unit = Model.Name "hydra.ext.azure.dtld.Unit"
+ src/main/haskell/Hydra/Ext/Cpp/Coder.hs view
@@ -0,0 +1,748 @@+-- Note: this is an automatically generated file. Do not edit.++-- | C++ code generator: converts Hydra modules to C++ header files++module Hydra.Ext.Cpp.Coder where++import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Decode.Model as DecodeModel+import qualified Hydra.Core.Dependencies as Dependencies+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Encode.Model as EncodeModel+import qualified Hydra.Core.Environment as Environment+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.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.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.Markdown as Markdown+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.Predicates as Predicates+import qualified Hydra.Core.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Resolution as Resolution+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.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Cpp.Language as Language+import qualified Hydra.Ext.Cpp.Serde as Serde+import qualified Hydra.Ext.Cpp.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++-- | Convert a binding name to a file path+bindingNameToFilePath :: Model.Name -> String+bindingNameToFilePath name =+ Names.nameToFilePath Util.CaseConventionLowerSnake Util.CaseConventionLowerSnake (File.FileExtension "h") name++-- | Get the class name from a fully qualified Name+className :: Model.Name -> String+className name = sanitizeCppName (Names.localNameOf name)++-- | Create a const reference parameter+constParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter+constParameter name typ =+ Syntax.Parameter {+ Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = typ,+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),+ Syntax.parameterName = name,+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}++-- | Create a class declaration+cppClassDeclaration :: String -> [Syntax.BaseSpecifier] -> Maybe Syntax.ClassBody -> Syntax.Declaration+cppClassDeclaration name baseSpecs mbody =+ Syntax.DeclarationClass (Syntax.ClassDeclaration {+ Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {+ Syntax.classSpecifierKey = Syntax.ClassKeyClass,+ Syntax.classSpecifierName = name,+ Syntax.classSpecifierInheritance = baseSpecs},+ Syntax.classDeclarationBody = mbody})++-- | Create an enum class declaration+cppEnumDeclaration :: String -> Maybe Syntax.ClassBody -> Syntax.Declaration+cppEnumDeclaration name mbody =+ Syntax.DeclarationClass (Syntax.ClassDeclaration {+ Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {+ Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,+ Syntax.classSpecifierName = name,+ Syntax.classSpecifierInheritance = []},+ Syntax.classDeclarationBody = mbody})++-- | Create an enum forward declaration (no body)+cppEnumForwardDeclaration :: String -> Syntax.Declaration+cppEnumForwardDeclaration name = cppEnumDeclaration name Nothing++-- | Convert a PostfixExpression to a full Expression+cppPostfixExpressionToCppExpression :: Syntax.PostfixExpression -> Syntax.Expression+cppPostfixExpressionToCppExpression pe = cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionPostfix pe)++-- | Convert a PrimaryExpression to a full Expression+cppPrimaryExpressionToCppExpression :: Syntax.PrimaryExpression -> Syntax.Expression+cppPrimaryExpressionToCppExpression prim = cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary prim)++-- | Convert a UnaryExpression to a full Expression+cppUnaryExpressionToCppExpression :: Syntax.UnaryExpression -> Syntax.Expression+cppUnaryExpressionToCppExpression ue =+ Syntax.ExpressionAssignment (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression ue)))++-- | Convert a UnaryExpression to a LogicalOrExpression+cppUnaryExpressionToCppLogicalOrExpression :: Syntax.UnaryExpression -> Syntax.LogicalOrExpression+cppUnaryExpressionToCppLogicalOrExpression ue =+ Syntax.LogicalOrExpressionLogicalAnd (Syntax.LogicalAndExpressionInclusiveOr (Syntax.InclusiveOrExpressionExclusiveOr (Syntax.ExclusiveOrExpressionAnd (Syntax.AndExpressionEquality (Syntax.EqualityExpressionRelational (Syntax.RelationalExpressionShift (Syntax.ShiftExpressionAdditive (Syntax.AdditiveExpressionMultiplicative (Syntax.MultiplicativeExpressionUnary ue)))))))))++-- | Create the accept() method implementation using a dynamic_cast chain+createAcceptImplementation :: Model.Name -> [Model.FieldType] -> Syntax.Declaration+createAcceptImplementation tname variants =+ Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {+ Syntax.templateDeclarationInline = False,+ Syntax.templateDeclarationParameters = [+ "typename R"],+ Syntax.templateDeclarationDeclaration = (Syntax.DeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),+ Syntax.functionDeclarationName = (Strings.concat2 (className tname) "::accept"),+ Syntax.functionDeclarationParameters = [+ Syntax.Parameter {+ Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (Strings.concat2 (visitorName tname) "<R>"))),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),+ Syntax.parameterName = "visitor",+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}],+ Syntax.functionDeclarationSuffixSpecifiers = [+ Syntax.FunctionSpecifierSuffixConst],+ Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement (Lists.map (\ft ->+ let fname = Model.fieldTypeName ft+ in (Syntax.StatementSelection (Syntax.SelectionStatement {+ Syntax.selectionStatementCondition = (Syntax.ExpressionAssignment (Syntax.AssignmentExpressionAssignment (Syntax.ExplicitAssignment {+ Syntax.explicitAssignmentLeft = (cppUnaryExpressionToCppLogicalOrExpression (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "auto ptr")))),+ Syntax.explicitAssignmentOp = Syntax.AssignmentOperatorAssign,+ Syntax.explicitAssignmentRight = (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier (Strings.concat2 (Strings.concat2 "dynamic_cast<const " (variantName tname fname)) "*>"))),+ Syntax.functionCallOperationArguments = [+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier "this")]}))))))}))),+ Syntax.selectionStatementThenBranch = (Syntax.StatementCompound (Syntax.CompoundStatement [+ Syntax.StatementJump (Syntax.JumpStatementReturnValue (cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {+ Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "visitor")),+ Syntax.memberAccessOperationMember = "visit"})),+ Syntax.functionCallOperationArguments = [+ cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionUnaryOp (Syntax.UnaryOperation {+ Syntax.unaryOperationOperator = Syntax.UnaryOperatorDereference,+ Syntax.unaryOperationOperand = (Syntax.UnaryExpressionPostfix (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "ptr")))}))]}))))])),+ Syntax.selectionStatementElseBranch = (Just (createThrowStmt "std::runtime_error" createTypeIdNameCall))}))) variants)))}))})++-- | Create a constructor function body: default if no params, empty compound otherwise+createConstructorBody :: [t0] -> Syntax.FunctionBody+createConstructorBody params =+ Logic.ifElse (Lists.isEmpty params) Syntax.FunctionBodyDefault (Syntax.FunctionBodyCompound (Syntax.CompoundStatement []))++-- | Create a function call expression+createFunctionCallExpr :: String -> [Syntax.Expression] -> Syntax.Expression+createFunctionCallExpr funcName args =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier funcName)),+ Syntax.functionCallOperationArguments = args}))++-- | Create a header file with pragma once, includes, and declarations+createHeaderFile :: [Syntax.IncludeDirective] -> [Syntax.Declaration] -> Syntax.Program+createHeaderFile includes decls =+ Syntax.Program {+ Syntax.programPreprocessorDirectives = [+ Syntax.PreprocessorDirectivePragma (Syntax.PragmaDirective {+ Syntax.pragmaDirectiveContent = "once"})],+ Syntax.programIncludes = includes,+ Syntax.programDeclarations = decls}++-- | Create an identifier expression+createIdentifierExpr :: String -> Syntax.Expression+createIdentifierExpr name = cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier name)++-- | Create a less-than operator for a record type (trivial/placeholder implementation)+createLessThanOperator :: Model.Name -> t0 -> Syntax.Declaration+createLessThanOperator typeName fields =+ Syntax.DeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [+ Syntax.FunctionSpecifierPrefixInline],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic Syntax.BasicTypeBool),+ Syntax.functionDeclarationName = "operator<",+ Syntax.functionDeclarationParameters = [+ unnamedParameter "lhs" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className typeName))),+ (unnamedParameter "rhs" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className typeName))))],+ Syntax.functionDeclarationSuffixSpecifiers = [],+ Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement [+ Syntax.StatementJump (Syntax.JumpStatementReturnValue (createLiteralBoolExpr False))]))})++-- | Create a boolean literal expression+createLiteralBoolExpr :: Bool -> Syntax.Expression+createLiteralBoolExpr val =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralBoolean (Syntax.BooleanLiteral val)))++-- | Create an integer literal expression+createLiteralIntExpr :: Integer -> Syntax.Expression+createLiteralIntExpr val =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteralDecimal val)))++-- | Create a partial visitor interface with default visit methods that delegate to otherwise()+createPartialVisitorInterface :: Model.Name -> [Model.FieldType] -> Syntax.Declaration+createPartialVisitorInterface tname variants =+ Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {+ Syntax.templateDeclarationInline = False,+ Syntax.templateDeclarationParameters = [+ "typename R"],+ Syntax.templateDeclarationDeclaration = (cppClassDeclaration (partialVisitorName tname) [+ Syntax.BaseSpecifier {+ Syntax.baseSpecifierAccess = Syntax.AccessSpecifierPublic,+ Syntax.baseSpecifierName = (Strings.concat2 (visitorName tname) "<R>")}] (Just (Syntax.ClassBody (Lists.concat [+ [+ memberSpecificationPublic],+ [+ Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [+ Syntax.FunctionSpecifierPrefixVirtual],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),+ Syntax.functionDeclarationName = "otherwise",+ Syntax.functionDeclarationParameters = [+ constParameter "value" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (className tname)))],+ Syntax.functionDeclarationSuffixSpecifiers = [+ Syntax.FunctionSpecifierSuffixConst],+ Syntax.functionDeclarationBody = Syntax.FunctionBodyPure}))],+ (Lists.map (\ft ->+ let fname = Model.fieldTypeName ft+ in (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),+ Syntax.functionDeclarationName = "visit",+ Syntax.functionDeclarationParameters = [+ constParameter "value" (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (variantName tname fname)))],+ Syntax.functionDeclarationSuffixSpecifiers = [+ Syntax.FunctionSpecifierSuffixOverride],+ Syntax.functionDeclarationBody = (Syntax.FunctionBodyCompound (Syntax.CompoundStatement [+ Syntax.StatementJump (Syntax.JumpStatementReturnValue (createFunctionCallExpr "otherwise" [+ createIdentifierExpr "value"]))]))})))) variants)]))))})++-- | Create a template type (e.g. std::vector<T>)+createTemplateType :: String -> [Syntax.TypeExpression] -> Syntax.TypeExpression+createTemplateType name args =+ Syntax.TypeExpressionTemplate (Syntax.TemplateType {+ Syntax.templateTypeName = name,+ Syntax.templateTypeArguments = (Lists.map (\a -> Syntax.TemplateArgumentType a) args)})++-- | Create a throw statement+createThrowStmt :: String -> Syntax.Expression -> Syntax.Statement+createThrowStmt exceptionType arg =+ Syntax.StatementJump (Syntax.JumpStatementThrow (createFunctionCallExpr exceptionType [+ arg]))++-- | Create a typeid(*this).name() call expression+createTypeIdNameCall :: Syntax.Expression+createTypeIdNameCall =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {+ Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "typeid")),+ Syntax.functionCallOperationArguments = [+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized (cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "*this"))))]})),+ Syntax.memberAccessOperationMember = "name"})),+ Syntax.functionCallOperationArguments = []}))++-- | Create a type reference, optionally as a shared_ptr for struct types+createTypeReference :: Bool -> Model.Name -> Syntax.TypeExpression+createTypeReference isPointer name =+ Logic.ifElse isPointer (createTemplateType "std::shared_ptr" [+ toConstType (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Names.localNameOf name))))]) (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Names.localNameOf name))))++-- | Create the union base class with protected constructor, virtual destructor, and accept method+createUnionBaseClass :: Model.Name -> t0 -> Syntax.Declaration+createUnionBaseClass name variants =+ cppClassDeclaration (className name) [] (Just (Syntax.ClassBody [+ memberSpecificationProtected,+ (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {+ Syntax.constructorDeclarationName = (className name),+ Syntax.constructorDeclarationParameters = [],+ Syntax.constructorDeclarationInitializers = [],+ Syntax.constructorDeclarationBody = Syntax.FunctionBodyDefault}))),+ memberSpecificationPublic,+ (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationDestructor (Syntax.DestructorDeclaration {+ Syntax.destructorDeclarationPrefixSpecifiers = [+ Syntax.FunctionSpecifierPrefixVirtual],+ Syntax.destructorDeclarationName = (className name),+ Syntax.destructorDeclarationSuffixSpecifiers = [],+ Syntax.destructorDeclarationBody = Syntax.FunctionBodyDefault}))),+ (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationTemplate (Syntax.TemplateDeclaration {+ Syntax.templateDeclarationInline = False,+ Syntax.templateDeclarationParameters = [+ "typename R"],+ Syntax.templateDeclarationDeclaration = (Syntax.DeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),+ Syntax.functionDeclarationName = "accept",+ Syntax.functionDeclarationParameters = [+ Syntax.Parameter {+ Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (Strings.concat2 (visitorName name) "<R>"))),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),+ Syntax.parameterName = "visitor",+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}],+ Syntax.functionDeclarationSuffixSpecifiers = [+ Syntax.FunctionSpecifierSuffixConst],+ Syntax.functionDeclarationBody = Syntax.FunctionBodyDeclaration}))})))]))++-- | Create a variant subclass (one branch of a union type)+createVariantClass :: t0 -> t1 -> Model.Name -> Model.Name -> Model.FieldType -> Either Errors.Error Syntax.Declaration+createVariantClass cx g tname parentClass ft =++ let fname = Model.fieldTypeName ft+ variantType = Model.fieldTypeType ft+ hasValue = Logic.not (Predicates.isUnitType variantType)+ valueField =+ Logic.ifElse hasValue (Eithers.map (\cppType -> [+ Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable (Syntax.VariableDeclaration {+ Syntax.variableDeclarationType = (Just cppType),+ Syntax.variableDeclarationName = "value",+ Syntax.variableDeclarationInitializer = Nothing,+ Syntax.variableDeclarationIsAuto = False}))]) (encodeType cx g (Strip.deannotateType variantType))) (Right [])+ constructorParams =+ Logic.ifElse hasValue (Eithers.map (\paramType -> [+ Syntax.Parameter {+ Syntax.parameterType = paramType,+ Syntax.parameterName = "value",+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}]) (encodeType cx g (Strip.deannotateType variantType))) (Right [])+ in (Eithers.bind valueField (\vFields -> Eithers.bind constructorParams (\vParams ->+ let initList =+ Logic.ifElse hasValue [+ Syntax.MemInitializer {+ Syntax.memInitializerName = "value",+ Syntax.memInitializerArguments = [+ createIdentifierExpr "value"]}] []+ in (Right (cppClassDeclaration (variantName tname fname) [+ Syntax.BaseSpecifier {+ Syntax.baseSpecifierAccess = Syntax.AccessSpecifierPublic,+ Syntax.baseSpecifierName = (className parentClass)}] (Just (Syntax.ClassBody (Lists.concat [+ [+ memberSpecificationPublic],+ vFields,+ [+ Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {+ Syntax.constructorDeclarationName = (variantName tname fname),+ Syntax.constructorDeclarationParameters = vParams,+ Syntax.constructorDeclarationInitializers = initList,+ Syntax.constructorDeclarationBody = (createConstructorBody vParams)}))]]))))))))++-- | Create a visitor interface with pure virtual visit methods+createVisitorInterface :: Model.Name -> [Model.FieldType] -> Syntax.Declaration+createVisitorInterface tname variants =+ Syntax.DeclarationTemplate (Syntax.TemplateDeclaration {+ Syntax.templateDeclarationInline = False,+ Syntax.templateDeclarationParameters = [+ "typename R"],+ Syntax.templateDeclarationDeclaration = (cppClassDeclaration (visitorName tname) [] (Just (Syntax.ClassBody (Lists.concat [+ [+ memberSpecificationPublic],+ (Lists.map (\ft ->+ let fname = Model.fieldTypeName ft+ in (Syntax.MemberSpecificationMember (Syntax.MemberDeclarationFunction (Syntax.FunctionDeclaration {+ Syntax.functionDeclarationPrefixSpecifiers = [+ Syntax.FunctionSpecifierPrefixVirtual],+ Syntax.functionDeclarationReturnType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed "R")),+ Syntax.functionDeclarationName = "visit",+ Syntax.functionDeclarationParameters = [+ Syntax.Parameter {+ Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (variantName tname fname))),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),+ Syntax.parameterName = "value",+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}],+ Syntax.functionDeclarationSuffixSpecifiers = [],+ Syntax.functionDeclarationBody = Syntax.FunctionBodyPure})))) variants),+ [+ Syntax.MemberSpecificationMember (Syntax.MemberDeclarationDestructor (Syntax.DestructorDeclaration {+ Syntax.destructorDeclarationPrefixSpecifiers = [+ Syntax.FunctionSpecifierPrefixVirtual],+ Syntax.destructorDeclarationName = (visitorName tname),+ Syntax.destructorDeclarationSuffixSpecifiers = [],+ Syntax.destructorDeclarationBody = Syntax.FunctionBodyDefault}))]]))))})++-- | Encode a type application (template instantiation)+encodeApplicationType :: t0 -> t1 -> Model.ApplicationType -> Either Errors.Error Syntax.TypeExpression+encodeApplicationType cx g at =+ Eithers.bind (encodeType cx g (Model.applicationTypeFunction at)) (\body -> Eithers.bind (encodeType cx g (Model.applicationTypeArgument at)) (\arg -> Right (createTemplateType "TODO_template" [+ body,+ arg])))++-- | Encode an enum type as a C++ enum class+encodeEnumType :: t0 -> t1 -> Model.Name -> [Model.FieldType] -> t2 -> Either t3 [Syntax.Declaration]+encodeEnumType cx g name tfields comment =+ Right [+ cppEnumDeclaration (className name) (Just (Syntax.ClassBody (Lists.map (\ft -> Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable (Syntax.VariableDeclaration {+ Syntax.variableDeclarationType = Nothing,+ Syntax.variableDeclarationName = (encodeEnumValue (Model.fieldTypeName ft)),+ Syntax.variableDeclarationInitializer = Nothing,+ Syntax.variableDeclarationIsAuto = False}))) tfields)))]++-- | Encode an enum value in UPPER_SNAKE_CASE+encodeEnumValue :: Model.Name -> String+encodeEnumValue fname = sanitizeCppName (Formatting.convertCaseCamelToUpperSnake (Model.unName fname))++-- | Encode a field name in lower_snake_case+encodeFieldName :: Model.Name -> String+encodeFieldName fname = sanitizeCppName (Formatting.convertCaseCamelToLowerSnake (Model.unName fname))++-- | Encode a field type as a VariableDeclaration+encodeFieldType :: t0 -> Model.FieldType -> t1 -> t2 -> Either Errors.Error Syntax.VariableDeclaration+encodeFieldType isParameter ft cx g =++ let fname = Model.fieldTypeName ft+ ftype = Model.fieldTypeType ft+ in (Eithers.bind (encodeType cx g ftype) (\cppType -> Right (Syntax.VariableDeclaration {+ Syntax.variableDeclarationType = (Just cppType),+ Syntax.variableDeclarationName = (encodeFieldName fname),+ Syntax.variableDeclarationInitializer = Nothing,+ Syntax.variableDeclarationIsAuto = False})))++-- | Encode a forall type (strip the quantifier)+encodeForallType :: t0 -> t1 -> Model.ForallType -> Either Errors.Error Syntax.TypeExpression+encodeForallType cx g lt = encodeType cx g (Model.forallTypeBody lt)++-- | Encode a function type as std::function<R(Args...)>+encodeFunctionType :: t0 -> t1 -> Model.FunctionType -> Either Errors.Error Syntax.TypeExpression+encodeFunctionType cx g ft =+ Eithers.bind (encodeType cx g (Model.functionTypeDomain ft)) (\dom -> Eithers.bind (encodeType cx g (Model.functionTypeCodomain ft)) (\cod -> Right (Syntax.TypeExpressionFunction (Syntax.FunctionType {+ Syntax.functionTypeReturnType = cod,+ Syntax.functionTypeParameters = [+ Syntax.Parameter {+ Syntax.parameterType = dom,+ Syntax.parameterName = "",+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}]}))))++-- | Encode a literal type as a C++ type expression+encodeLiteralType :: Model.LiteralType -> Syntax.TypeExpression+encodeLiteralType lt =+ Syntax.TypeExpressionBasic (case lt of+ Model.LiteralTypeBinary -> Syntax.BasicTypeChar+ Model.LiteralTypeBoolean -> Syntax.BasicTypeBool+ Model.LiteralTypeFloat v0 -> case v0 of+ Model.FloatTypeFloat32 -> Syntax.BasicTypeFloat+ Model.FloatTypeFloat64 -> Syntax.BasicTypeDouble+ _ -> Syntax.BasicTypeDouble+ Model.LiteralTypeInteger v0 -> case v0 of+ Model.IntegerTypeBigint -> Syntax.BasicTypeInt+ Model.IntegerTypeInt8 -> Syntax.BasicTypeChar+ Model.IntegerTypeInt16 -> Syntax.BasicTypeNamed "int16_t"+ Model.IntegerTypeInt32 -> Syntax.BasicTypeInt+ Model.IntegerTypeInt64 -> Syntax.BasicTypeNamed "int64_t"+ _ -> Syntax.BasicTypeInt+ Model.LiteralTypeString -> Syntax.BasicTypeString)++-- | Encode a name with a specified case convention, optionally qualified+encodeName :: t0 -> t1 -> t2 -> Model.Name -> String+encodeName isQualified conv env name = sanitizeCppName (Names.localNameOf name)++-- | Encode a namespace as a C++ namespace string (e.g. "hydra.cpp" -> "hydra::cpp")+encodeNamespace :: Packaging.ModuleName -> String+encodeNamespace ns =+ Strings.join "::" (Lists.map (\seg -> Formatting.convertCaseCamelToLowerSnake seg) (Strings.splitOn "." (Packaging.unModuleName ns)))++-- | Encode a record type as a C++ class with fields and constructor+encodeRecordType :: t0 -> t1 -> Model.Name -> [Model.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]+encodeRecordType cx g name rt comment =+ Eithers.bind (Eithers.mapList (\f -> encodeFieldType False f cx g) rt) (\cppFields -> Eithers.bind (Eithers.mapList (\f -> encodeFieldType True f cx g) rt) (\constructorParams -> Right [+ cppClassDeclaration (className name) [] (Just (Syntax.ClassBody (Lists.concat [+ [+ memberSpecificationPublic],+ (Lists.map (\field -> Syntax.MemberSpecificationMember (Syntax.MemberDeclarationVariable field)) cppFields),+ [+ Syntax.MemberSpecificationMember (Syntax.MemberDeclarationConstructor (Syntax.ConstructorDeclaration {+ Syntax.constructorDeclarationName = (className name),+ Syntax.constructorDeclarationParameters = (Lists.map (\p -> Syntax.Parameter {+ Syntax.parameterType = (Optionals.withDefault (Syntax.TypeExpressionBasic Syntax.BasicTypeInt) (Syntax.variableDeclarationType p)),+ Syntax.parameterName = (Syntax.variableDeclarationName p),+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}) constructorParams),+ Syntax.constructorDeclarationInitializers = (Lists.map (\field -> Syntax.MemInitializer {+ Syntax.memInitializerName = (Syntax.variableDeclarationName field),+ Syntax.memInitializerArguments = [+ createIdentifierExpr (Syntax.variableDeclarationName field)]}) cppFields),+ Syntax.constructorDeclarationBody = (createConstructorBody constructorParams)}))]]))),+ (createLessThanOperator name rt)]))++-- | Encode a Hydra type as a C++ type expression+encodeType :: t0 -> t1 -> Model.Type -> Either Errors.Error Syntax.TypeExpression+encodeType cx g typ =++ let t = Strip.deannotateType typ+ in case t of+ Model.TypeApplication v0 -> encodeApplicationType cx g v0+ Model.TypeEither v0 -> Eithers.bind (encodeType cx g (Model.eitherTypeLeft v0)) (\lt -> Eithers.bind (encodeType cx g (Model.eitherTypeRight v0)) (\rt -> Right (toConstType (createTemplateType "std::variant" [+ lt,+ rt]))))+ Model.TypeFunction v0 -> encodeFunctionType cx g v0+ Model.TypeForall v0 -> encodeForallType cx g v0+ Model.TypeList v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::vector" [+ enc])) (encodeType cx g v0)+ Model.TypeMap v0 -> Eithers.bind (encodeType cx g (Model.mapTypeKeys v0)) (\kt -> Eithers.bind (encodeType cx g (Model.mapTypeValues v0)) (\vt -> Right (toConstType (createTemplateType "std::map" [+ kt,+ vt]))))+ Model.TypeLiteral v0 -> Right (encodeLiteralType v0)+ Model.TypeOptional v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::optional" [+ enc])) (encodeType cx g v0)+ Model.TypePair v0 -> Eithers.bind (encodeType cx g (Model.pairTypeFirst v0)) (\ft -> Eithers.bind (encodeType cx g (Model.pairTypeSecond v0)) (\st -> Right (toConstType (createTemplateType "std::pair" [+ ft,+ st]))))+ Model.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))+ Model.TypeSet v0 -> Eithers.map (\enc -> toConstType (createTemplateType "std::set" [+ enc])) (encodeType cx g v0)+ Model.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))+ Model.TypeVariable v0 -> Right (Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (sanitizeCppName (Model.unName v0))))+ Model.TypeWrap _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous wrapped type"))+ Model.TypeUnit -> Right (createTemplateType "std::tuple" [])+ _ -> Left (Errors.ErrorOther (Errors.OtherError "Unsupported type"))++-- | Encode a type as a typedef / using declaration+encodeTypeAlias :: t0 -> t1 -> Model.Name -> Model.Type -> t2 -> Either Errors.Error Syntax.Declaration+encodeTypeAlias cx g name typ comment =+ Eithers.bind (encodeType cx g typ) (\cppType -> Right (Syntax.DeclarationTypedef (Syntax.TypedefDeclaration {+ Syntax.typedefDeclarationName = (className name),+ Syntax.typedefDeclarationType = cppType,+ Syntax.typedefDeclarationIsUsing = True})))++-- | Encode a top-level type definition (dispatches to record/union/wrap)+encodeTypeDefinition :: t0 -> t1 -> Model.Name -> Model.Type -> Either Errors.Error [Syntax.Declaration]+encodeTypeDefinition cx g name typ =++ let t = Strip.deannotateType typ+ in case t of+ Model.TypeForall v0 -> encodeTypeDefinition cx g name (Model.forallTypeBody v0)+ Model.TypeRecord v0 -> encodeRecordType cx g name v0 Nothing+ Model.TypeUnion v0 -> encodeUnionType cx g name v0 Nothing+ Model.TypeWrap v0 -> encodeWrappedType cx g name v0 Nothing+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "unexpected type in definition: " (PrintModel.type_ typ))))++-- | Encode a union type (dispatches to enum or variant based on content)+encodeUnionType :: t0 -> t1 -> Model.Name -> [Model.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]+encodeUnionType cx g name rt comment =+ Logic.ifElse (Predicates.isEnumRowType rt) (encodeEnumType cx g name rt comment) (encodeVariantType cx g name rt comment)++-- | Encode a variant (tagged union) type as a class hierarchy with visitor pattern+encodeVariantType :: t0 -> t1 -> Model.Name -> [Model.FieldType] -> t2 -> Either Errors.Error [Syntax.Declaration]+encodeVariantType cx g name variants comment =+ Eithers.bind (Eithers.mapList (\v -> createVariantClass cx g name name v) variants) (\variantClasses -> Right (Lists.concat [+ generateForwardDeclarations name variants,+ [+ createVisitorInterface name variants],+ [+ createUnionBaseClass name variants],+ variantClasses,+ [+ createPartialVisitorInterface name variants],+ [+ createAcceptImplementation name variants]]))++-- | Encode a wrapped type as a single-field record+encodeWrappedType :: t0 -> t1 -> Model.Name -> Model.Type -> t2 -> Either Errors.Error [Syntax.Declaration]+encodeWrappedType cx g name typ comment =+ encodeRecordType cx g name [+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "value"),+ Model.fieldTypeType = typ}] comment++-- | Find includes for a set of type definitions+findIncludes :: Bool -> Packaging.ModuleName -> [Packaging.TypeDefinition] -> [Syntax.IncludeDirective]+findIncludes withFwd ns defs =+ Lists.concat [+ [+ Syntax.IncludeDirective {+ Syntax.includeDirectiveName = "memory",+ Syntax.includeDirectiveIsSystem = True},+ Syntax.IncludeDirective {+ Syntax.includeDirectiveName = "stdexcept",+ Syntax.includeDirectiveIsSystem = True}],+ (Lists.map (\depName -> Syntax.IncludeDirective {+ Syntax.includeDirectiveName = (bindingNameToFilePath depName),+ Syntax.includeDirectiveIsSystem = False}) (findTypeDependencies ns defs)),+ (Logic.ifElse withFwd [+ Syntax.IncludeDirective {+ Syntax.includeDirectiveName = (bindingNameToFilePath (fwdHeaderName ns)),+ Syntax.includeDirectiveIsSystem = False}] [])]++-- | Find type dependencies that are in other namespaces+findTypeDependencies :: Packaging.ModuleName -> [Packaging.TypeDefinition] -> [Model.Name]+findTypeDependencies ns defs =+ Lists.filter (\n -> Logic.not (Equality.equal (Optionals.map Packaging.unModuleName (Names.moduleNameOf n)) (Just (Packaging.unModuleName ns)))) (Sets.toList (Lists.foldl (\acc -> \d -> Sets.union acc (Dependencies.typeDependencyNames True (Model.typeSchemeBody (Packaging.typeDefinitionBody d)))) Sets.empty defs))++-- | Construct the forward-declaration header name for a namespace+fwdHeaderName :: Packaging.ModuleName -> Model.Name+fwdHeaderName ns =+ Names.unqualifyName (Util.QualifiedName {+ Util.qualifiedNameModuleName = (Just ns),+ Util.qualifiedNameLocal = "Fwd"})++-- | Gather metadata from definitions (simplified: always include common headers)+gatherMetadata :: t0 -> Bool+gatherMetadata defs = True++-- | Generate forward declarations for all variant subclasses+generateForwardDeclarations :: Model.Name -> [Model.FieldType] -> [Syntax.Declaration]+generateForwardDeclarations tname fields =+ Lists.map (\ft -> cppClassDeclaration (variantName tname (Model.fieldTypeName ft)) [] Nothing) fields++-- | Generate a single type header file+generateTypeFile :: Packaging.ModuleName -> Packaging.TypeDefinition -> t0 -> t1 -> Either Errors.Error (String, String)+generateTypeFile ns def_ cx g =++ let name = Packaging.typeDefinitionName def_+ typ = Model.typeSchemeBody (Packaging.typeDefinitionBody def_)+ in (Eithers.bind (encodeTypeDefinition cx g name typ) (\decls ->+ let includes = findIncludes True ns [+ def_]+ in (Right (serializeHeaderFile name includes [+ namespaceDecl ns decls]))))++-- | Generate all type header files for a module (fwd file + individual class files)+generateTypeFiles :: Packaging.ModuleName -> [Packaging.TypeDefinition] -> t0 -> t1 -> Either Errors.Error [(String, String)]+generateTypeFiles ns defs cx g =+ Eithers.bind (Eithers.mapList (\d -> generateTypeFile ns d cx g) defs) (\classFiles -> Right classFiles)++-- | Check whether a type maps to an STL container type+isStdContainerType :: Model.Type -> Bool+isStdContainerType typ =++ let t = Strip.deannotateType typ+ in case t of+ Model.TypeApplication v0 -> isStdContainerType (Model.applicationTypeFunction v0)+ Model.TypeList _ -> True+ Model.TypeMap _ -> True+ Model.TypeOptional _ -> True+ Model.TypeSet _ -> True+ _ -> False++-- | Check whether a type is a struct type (not a literal and not an enum)+isStructType :: Model.Type -> Bool+isStructType rawType =++ let t = Resolution.fullyStripType rawType+ isLiteral =+ case t of+ Model.TypeLiteral _ -> True+ _ -> False+ in (Logic.and (Logic.not isLiteral) (Logic.not (Predicates.isEnumType rawType)))++-- | Check whether a type maps to a C++ template type (string or STL container)+isTemplateType :: Model.Type -> Bool+isTemplateType typ =++ let t = Strip.deannotateType typ+ in (Logic.or (case t of+ Model.TypeLiteral v0 -> case v0 of+ Model.LiteralTypeString -> True+ _ -> False+ _ -> False) (isStdContainerType typ))++-- | A protected access label+memberSpecificationProtected :: Syntax.MemberSpecification+memberSpecificationProtected = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierProtected++-- | A public access label+memberSpecificationPublic :: Syntax.MemberSpecification+memberSpecificationPublic = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierPublic++-- | Convert a module to C++ code files (entry point)+moduleToCpp :: Packaging.Module -> [Packaging.Definition] -> t0 -> t1 -> Either Errors.Error (M.Map String String)+moduleToCpp mod defs cx g =++ let ns = Packaging.moduleName mod+ typeDefs = Pairs.first (Environment.partitionDefinitions defs)+ in (Eithers.bind (generateTypeFiles ns typeDefs cx g) (\typeFiles -> Right (Maps.fromList typeFiles)))++-- | Create a namespace declaration wrapping declarations+namespaceDecl :: Packaging.ModuleName -> [Syntax.Declaration] -> Syntax.Declaration+namespaceDecl ns decls =+ Syntax.DeclarationNamespace (Syntax.NamespaceDeclaration {+ Syntax.namespaceDeclarationName = (encodeNamespace ns),+ Syntax.namespaceDeclarationDeclarations = decls})++-- | Construct a partial visitor interface name+partialVisitorName :: Model.Name -> String+partialVisitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "PartialVisitor")++-- | Sanitize a name to be valid in C+++sanitizeCppName :: String -> String+sanitizeCppName name = Formatting.sanitizeWithUnderscores Language.cppReservedWords name++-- | Serialize a header file from name, includes, and declarations+serializeHeaderFile :: Model.Name -> [Syntax.IncludeDirective] -> [Syntax.Declaration] -> (String, String)+serializeHeaderFile name includes decls =+ (+ bindingNameToFilePath name,+ (Serialization.printExpr (Serialization.parenthesize (Serde.programToExpr (createHeaderFile includes decls)))))++-- | Wrap a type expression with a const qualifier+toConstType :: Syntax.TypeExpression -> Syntax.TypeExpression+toConstType baseType =+ Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = baseType,+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})++-- | Create an unnamed parameter (for operator overloads, etc.)+unnamedParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter+unnamedParameter name typ =+ Syntax.Parameter {+ Syntax.parameterType = typ,+ Syntax.parameterName = name,+ Syntax.parameterUnnamed = True,+ Syntax.parameterDefaultValue = Nothing}++-- | Construct a variant class name (e.g. "MyType" + "field" -> "MyTypeField")+variantName :: Model.Name -> Model.Name -> String+variantName tname fname =+ sanitizeCppName (Strings.concat2 (Names.localNameOf tname) (Formatting.capitalize (Model.unName fname)))++-- | Construct a visitor interface name+visitorName :: Model.Name -> String+visitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "Visitor")
+ src/main/haskell/Hydra/Ext/Cpp/Environment.hs view
@@ -0,0 +1,28 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Type definitions for C++ code generation environment++module Hydra.Ext.Cpp.Environment where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.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++-- | Environment for C++ code generation+data CppEnvironment =+ CppEnvironment {+ -- | ModuleName mapping for code generation+ cppEnvironmentNamespaces :: (Util.ModuleNames String),+ -- | Type variables in scope, with their C++ names+ cppEnvironmentBoundTypeVariables :: ([Model.Name], (M.Map Model.Name String))}+ deriving (Eq, Ord, Read, Show)++_CppEnvironment = Model.Name "hydra.ext.cpp.environment.CppEnvironment"++_CppEnvironment_namespaces = Model.Name "namespaces"++_CppEnvironment_boundTypeVariables = Model.Name "boundTypeVariables"
+ src/main/haskell/Hydra/Ext/Cpp/Language.hs view
@@ -0,0 +1,277 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints and reserved words for C++++module Hydra.Ext.Cpp.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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+import qualified Data.Set as S++-- | Language constraints for C+++cppLanguage :: Coders.Language+cppLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.cpp"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "cpp")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBinary,+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes =+ Sets.fromList [+ Model.FloatTypeFloat32,+ Model.FloatTypeFloat64]+ integerTypes =+ Sets.fromList [+ Model.IntegerTypeInt8,+ Model.IntegerTypeInt16,+ Model.IntegerTypeInt32,+ Model.IntegerTypeInt64,+ Model.IntegerTypeBigint]+ termVariants =+ Sets.fromList [+ Variants.TermVariantApplication,+ Variants.TermVariantEither,+ Variants.TermVariantCases,+ Variants.TermVariantLambda,+ Variants.TermVariantProject,+ Variants.TermVariantUnwrap,+ Variants.TermVariantTypeApplication,+ Variants.TermVariantTypeLambda,+ Variants.TermVariantLet,+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantMap,+ Variants.TermVariantOptional,+ Variants.TermVariantPair,+ Variants.TermVariantRecord,+ Variants.TermVariantSet,+ Variants.TermVariantInject,+ Variants.TermVariantVariable,+ Variants.TermVariantWrap]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantApplication,+ Variants.TypeVariantEither,+ Variants.TypeVariantFunction,+ Variants.TypeVariantForall,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantPair,+ Variants.TypeVariantRecord,+ Variants.TypeVariantSet,+ Variants.TypeVariantUnion,+ Variants.TypeVariantVariable,+ Variants.TypeVariantWrap]+ typePredicate = \_ -> True++-- | A set of reserved words in C+++cppReservedWords :: S.Set String+cppReservedWords =+ Sets.fromList (Lists.concat [+ cppKeywords,+ cppPreprocessor,+ cppStlTypes,+ hydraCppKeywords])+ where+ cppKeywords =+ [+ "alignas",+ "alignof",+ "and",+ "and_eq",+ "asm",+ "auto",+ "bitand",+ "bitor",+ "bool",+ "break",+ "case",+ "catch",+ "char",+ "char8_t",+ "char16_t",+ "char32_t",+ "class",+ "compl",+ "concept",+ "const",+ "consteval",+ "constexpr",+ "constinit",+ "const_cast",+ "continue",+ "co_await",+ "co_return",+ "co_yield",+ "decltype",+ "default",+ "delete",+ "do",+ "double",+ "dynamic_cast",+ "else",+ "enum",+ "explicit",+ "export",+ "extern",+ "false",+ "float",+ "for",+ "friend",+ "goto",+ "if",+ "inline",+ "int",+ "long",+ "mutable",+ "namespace",+ "new",+ "noexcept",+ "not",+ "not_eq",+ "nullptr",+ "operator",+ "or",+ "or_eq",+ "private",+ "protected",+ "public",+ "register",+ "reinterpret_cast",+ "requires",+ "return",+ "short",+ "signed",+ "sizeof",+ "static",+ "static_assert",+ "static_cast",+ "struct",+ "switch",+ "template",+ "this",+ "thread_local",+ "throw",+ "true",+ "try",+ "typedef",+ "typeid",+ "typename",+ "union",+ "unsigned",+ "using",+ "virtual",+ "void",+ "volatile",+ "wchar_t",+ "while",+ "xor",+ "xor_eq"]+ cppPreprocessor =+ [+ "#define",+ "#elif",+ "#else",+ "#endif",+ "#error",+ "#if",+ "#ifdef",+ "#ifndef",+ "#include",+ "#line",+ "#pragma",+ "#undef"]+ cppStlTypes =+ [+ "std",+ "string",+ "vector",+ "map",+ "set",+ "optional",+ "variant",+ "pair",+ "tuple",+ "function",+ "array",+ "deque",+ "forward_list",+ "list",+ "multimap",+ "multiset",+ "unordered_map",+ "unordered_set",+ "unordered_multimap",+ "unordered_multiset",+ "stack",+ "queue",+ "priority_queue",+ "shared_ptr",+ "unique_ptr",+ "weak_ptr"]+ hydraCppKeywords = []
+ src/main/haskell/Hydra/Ext/Cpp/Names.hs view
@@ -0,0 +1,150 @@+-- Note: this is an automatically generated file. Do not edit.++-- | C++ naming utilities: encoding Hydra names as C++ names++module Hydra.Ext.Cpp.Names where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Cpp.Environment as Environment+import qualified Hydra.Ext.Cpp.Language as Language+import qualified Hydra.Ext.Cpp.Syntax as Syntax+import qualified Hydra.Ext.Cpp.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++-- | Get the C++ class name from a Hydra Name+className :: Model.Name -> String+className name = sanitizeCppName (Names.localNameOf name)++-- | Create a type reference, optionally wrapped in shared_ptr+createTypeReference :: Bool -> Environment.CppEnvironment -> Model.Name -> Syntax.TypeExpression+createTypeReference isPointer env name =++ let baseType = Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (encodeName True Util.CaseConventionPascal env name))+ in (Logic.ifElse isPointer (Utils.toConstType baseType) baseType)++-- | Encode an enum value with appropriate naming convention+encodeEnumValue :: Environment.CppEnvironment -> Model.Name -> String+encodeEnumValue = encodeName False Util.CaseConventionUpperSnake++-- | Encode a field name with appropriate naming convention+encodeFieldName :: Environment.CppEnvironment -> Model.Name -> String+encodeFieldName env fname = encodeName False Util.CaseConventionLowerSnake env fname++-- | Encode a name with specified convention+encodeName :: Bool -> Util.CaseConvention -> Environment.CppEnvironment -> Model.Name -> String+encodeName isQualified conv env name =++ let focusNs = Pairs.first (Util.moduleNamesFocus (Environment.cppEnvironmentNamespaces env))+ boundVars = Pairs.second (Environment.cppEnvironmentBoundTypeVariables env)+ qualName = Names.qualifyName name+ mns = Util.qualifiedNameModuleName qualName+ local = Util.qualifiedNameLocal qualName+ cppLocal = sanitizeCppName (Formatting.convertCase Util.CaseConventionCamel conv local)+ cppNs =+ \nsVal -> Strings.join "::" (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))+ in (Logic.ifElse isQualified (Optionals.match (Maps.lookup name boundVars) (Optionals.match mns cppLocal (\nsVal -> Strings.concat2 (cppNs nsVal) (Strings.concat2 "::" cppLocal))) (\n -> n)) cppLocal)++-- | Encode a qualified name with namespace+encodeNameQualified :: Environment.CppEnvironment -> Model.Name -> String+encodeNameQualified env name =++ let boundVars = Pairs.second (Environment.cppEnvironmentBoundTypeVariables env)+ focusNs = Pairs.first (Util.moduleNamesFocus (Environment.cppEnvironmentNamespaces env))+ qualName = Names.qualifyName name+ mns = Util.qualifiedNameModuleName qualName+ local = Util.qualifiedNameLocal qualName+ in (Optionals.match (Maps.lookup name boundVars) (Logic.ifElse (Equality.equal mns (Just focusNs)) (sanitizeCppName local) (Strings.join "::" (Lists.map sanitizeCppName (Strings.splitOn "." (Model.unName name))))) (\n -> n))++-- | Encode a namespace as a C++ namespace string+encodeNamespace :: Packaging.ModuleName -> String+encodeNamespace nsVal =+ Strings.join "::" (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))++-- | Encode a type variable name+encodeTypeVariable :: Model.Name -> String+encodeTypeVariable name = Formatting.capitalize (Model.unName name)++-- | Get the forward header name for a namespace+fwdHeaderName :: Packaging.ModuleName -> Model.Name+fwdHeaderName nsVal =+ Names.unqualifyName (Util.QualifiedName {+ Util.qualifiedNameModuleName = (Just nsVal),+ Util.qualifiedNameLocal = "Fwd"})++-- | Create a namespace declaration wrapping inner declarations+namespaceDecl :: Packaging.ModuleName -> [Syntax.Declaration] -> Syntax.Declaration+namespaceDecl nsVal decls =+ Syntax.DeclarationNamespace (Syntax.NamespaceDeclaration {+ Syntax.namespaceDeclarationName = (encodeNamespace nsVal),+ Syntax.namespaceDeclarationDeclarations = decls})++-- | Get the partial visitor name for a type+partialVisitorName :: Model.Name -> String+partialVisitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "PartialVisitor")++-- | Sanitize a name to be valid in C+++sanitizeCppName :: String -> String+sanitizeCppName = Formatting.sanitizeWithUnderscores Language.cppReservedWords++-- | Create a reference to a term variable+termVariableReference :: Environment.CppEnvironment -> Model.Name -> Syntax.Expression+termVariableReference = variableReference Util.CaseConventionLowerSnake++-- | Create a reference to a type variable+typeVariableReference :: Environment.CppEnvironment -> Model.Name -> Syntax.TypeExpression+typeVariableReference env name =+ Syntax.TypeExpressionBasic (Syntax.BasicTypeNamed (encodeName True Util.CaseConventionPascal env name))++-- | Create a variable reference expression+variableReference :: Util.CaseConvention -> Environment.CppEnvironment -> Model.Name -> Syntax.Expression+variableReference conv env name = Utils.createIdentifierExpr (encodeName True conv env name)++-- | Get the variant name by combining type name and field name+variantName :: Model.Name -> Model.Name -> String+variantName tname fname =+ sanitizeCppName (Strings.concat2 (Names.localNameOf tname) (Formatting.capitalize (Model.unName fname)))++-- | Get the visitor name for a type+visitorName :: Model.Name -> String+visitorName name = sanitizeCppName (Strings.concat2 (Names.localNameOf name) "Visitor")
+ src/main/haskell/Hydra/Ext/Cpp/Serde.hs view
@@ -0,0 +1,1356 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Serialization functions for converting C++ AST to abstract expressions++module Hydra.Ext.Cpp.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Cpp.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++-- | Convert an access specifier to an expression+accessSpecifierToExpr :: Syntax.AccessSpecifier -> Ast.Expr+accessSpecifierToExpr a =+ case a of+ Syntax.AccessSpecifierPublic -> Serialization.cst "public"+ Syntax.AccessSpecifierProtected -> Serialization.cst "protected"+ Syntax.AccessSpecifierPrivate -> Serialization.cst "private"+ Syntax.AccessSpecifierNone -> Serialization.cst ""++-- | Convert an add operation to an expression+addOperationToExpr :: Syntax.AddOperation -> Ast.Expr+addOperationToExpr op =++ let left = Syntax.addOperationLeft op+ right = Syntax.addOperationRight op+ in (Serialization.spaceSep [+ additiveExpressionToExpr left,+ (Serialization.cst "+"),+ (multiplicativeExpressionToExpr right)])++-- | Convert an additive expression to an expression+additiveExpressionToExpr :: Syntax.AdditiveExpression -> Ast.Expr+additiveExpressionToExpr e =+ case e of+ Syntax.AdditiveExpressionMultiplicative v0 -> multiplicativeExpressionToExpr v0+ Syntax.AdditiveExpressionAdd v0 -> addOperationToExpr v0+ Syntax.AdditiveExpressionSubtract v0 -> subtractOperationToExpr v0++-- | Convert an and expression to an expression+andExpressionToExpr :: Syntax.AndExpression -> Ast.Expr+andExpressionToExpr e =+ case e of+ Syntax.AndExpressionEquality v0 -> equalityExpressionToExpr v0+ Syntax.AndExpressionBitwiseAnd v0 -> bitwiseAndOperationToExpr v0++-- | Convert an assignment expression to an expression+assignmentExpressionToExpr :: Syntax.AssignmentExpression -> Ast.Expr+assignmentExpressionToExpr a =+ case a of+ Syntax.AssignmentExpressionConditional v0 -> conditionalExpressionToExpr v0+ Syntax.AssignmentExpressionAssignment v0 -> explicitAssignmentToExpr v0++-- | Convert an assignment operator to an expression+assignmentOperatorToExpr :: Syntax.AssignmentOperator -> Ast.Expr+assignmentOperatorToExpr op =+ case op of+ Syntax.AssignmentOperatorAssign -> Serialization.cst "="+ Syntax.AssignmentOperatorPlusAssign -> Serialization.cst "+="+ Syntax.AssignmentOperatorMinusAssign -> Serialization.cst "-="+ Syntax.AssignmentOperatorMultiplyAssign -> Serialization.cst "*="+ Syntax.AssignmentOperatorDivideAssign -> Serialization.cst "/="+ Syntax.AssignmentOperatorModuloAssign -> Serialization.cst "%="+ Syntax.AssignmentOperatorLeftShiftAssign -> Serialization.cst "<<="+ Syntax.AssignmentOperatorRightShiftAssign -> Serialization.cst ">>="+ Syntax.AssignmentOperatorBitwiseAndAssign -> Serialization.cst "&="+ Syntax.AssignmentOperatorBitwiseXorAssign -> Serialization.cst "^="+ Syntax.AssignmentOperatorBitwiseOrAssign -> Serialization.cst "|="++-- | Convert a base specifier to an expression+baseSpecifierToExpr :: Syntax.BaseSpecifier -> Ast.Expr+baseSpecifierToExpr bs =++ let access = Syntax.baseSpecifierAccess bs+ name = Syntax.baseSpecifierName bs+ in (Serialization.spaceSep [+ accessSpecifierToExpr access,+ (Serialization.cst name)])++-- | Convert a basic type to an expression+basicTypeToExpr :: Syntax.BasicType -> Ast.Expr+basicTypeToExpr t =+ case t of+ Syntax.BasicTypeVoid -> Serialization.cst "void"+ Syntax.BasicTypeBool -> Serialization.cst "bool"+ Syntax.BasicTypeChar -> Serialization.cst "char"+ Syntax.BasicTypeInt -> Serialization.cst "int"+ Syntax.BasicTypeFloat -> Serialization.cst "float"+ Syntax.BasicTypeDouble -> Serialization.cst "double"+ Syntax.BasicTypeString -> Serialization.cst "std::string"+ Syntax.BasicTypeAuto -> Serialization.cst "auto"+ Syntax.BasicTypeNamed v0 -> Serialization.cst v0++-- | Convert a bitwise and operation to an expression+bitwiseAndOperationToExpr :: Syntax.BitwiseAndOperation -> Ast.Expr+bitwiseAndOperationToExpr op =++ let left = Syntax.bitwiseAndOperationLeft op+ right = Syntax.bitwiseAndOperationRight op+ in (Serialization.spaceSep [+ andExpressionToExpr left,+ (Serialization.cst "&"),+ (equalityExpressionToExpr right)])++-- | Convert a bitwise or operation to an expression+bitwiseOrOperationToExpr :: Syntax.BitwiseOrOperation -> Ast.Expr+bitwiseOrOperationToExpr op =++ let left = Syntax.bitwiseOrOperationLeft op+ right = Syntax.bitwiseOrOperationRight op+ in (Serialization.spaceSep [+ inclusiveOrExpressionToExpr left,+ (Serialization.cst "|"),+ (exclusiveOrExpressionToExpr right)])++-- | Convert a bitwise xor operation to an expression+bitwiseXorOperationToExpr :: Syntax.BitwiseXorOperation -> Ast.Expr+bitwiseXorOperationToExpr op =++ let left = Syntax.bitwiseXorOperationLeft op+ right = Syntax.bitwiseXorOperationRight op+ in (Serialization.spaceSep [+ exclusiveOrExpressionToExpr left,+ (Serialization.cst "^"),+ (andExpressionToExpr right)])++-- | Convert a boolean literal to an expression+booleanLiteralToExpr :: Syntax.BooleanLiteral -> Ast.Expr+booleanLiteralToExpr bl = Logic.ifElse (Syntax.unBooleanLiteral bl) (Serialization.cst "true") (Serialization.cst "false")++-- | Convert a capture list to an expression+captureListToExpr :: Syntax.CaptureList -> Ast.Expr+captureListToExpr cl =+ case cl of+ Syntax.CaptureListCaptureByValue -> Serialization.cst "[=]"+ Syntax.CaptureListCaptures v0 -> Serialization.bracketList Serialization.inlineStyle (Lists.map captureToExpr v0)++-- | Convert a capture to an expression+captureToExpr :: Syntax.Capture -> Ast.Expr+captureToExpr cap =++ let name = Syntax.captureName cap+ byRef = Syntax.captureByReference cap+ in (Logic.ifElse byRef (Serialization.cst (Strings.concat2 "&" name)) (Serialization.cst name))++-- | Convert a case statement to an expression+caseStatementToExpr :: Syntax.CaseStatement -> Ast.Expr+caseStatementToExpr stmt =+ case stmt of+ Syntax.CaseStatementCase v0 -> caseValueToExpr v0+ Syntax.CaseStatementDefault v0 -> Serialization.spaceSep [+ Serialization.cst "default:",+ (statementToExpr v0)]++-- | Convert a case value to an expression+caseValueToExpr :: Syntax.CaseValue -> Ast.Expr+caseValueToExpr cv =++ let value = Syntax.caseValueValue cv+ statement = Syntax.caseValueStatement cv+ in (Serialization.spaceSep [+ Serialization.cst "case",+ (Serialization.noSep [+ expressionToExpr value,+ (Serialization.cst ":")]),+ (statementToExpr statement)])++-- | Convert a class body to an expression+classBodyToExpr :: Bool -> Syntax.ClassBody -> Ast.Expr+classBodyToExpr commas cb =+ Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.doubleNewlineSep (Lists.map (memberSpecificationToExpr commas) (Syntax.unClassBody cb)))++-- | Convert a class declaration to an expression+classDeclarationToExpr :: Syntax.ClassDeclaration -> Ast.Expr+classDeclarationToExpr cd =++ let spec = Syntax.classDeclarationSpecifier cd+ mbody = Syntax.classDeclarationBody cd+ key = Syntax.classSpecifierKey spec+ isEnum = Logic.or (Equality.equal key Syntax.ClassKeyEnum) (Equality.equal key Syntax.ClassKeyEnumClass)+ in (Serialization.withSemi (Serialization.spaceSep (Optionals.givens [+ Just (classSpecifierToExpr spec),+ (Optionals.map (\body -> classBodyToExpr isEnum body) mbody)])))++-- | Convert a class key to an expression+classKeyToExpr :: Syntax.ClassKey -> Ast.Expr+classKeyToExpr k =+ case k of+ Syntax.ClassKeyClass -> Serialization.cst "class"+ Syntax.ClassKeyEnum -> Serialization.cst "enum"+ Syntax.ClassKeyEnumClass -> Serialization.cst "enum class"+ Syntax.ClassKeyStruct -> Serialization.cst "struct"++-- | Convert a class specifier to an expression+classSpecifierToExpr :: Syntax.ClassSpecifier -> Ast.Expr+classSpecifierToExpr cs =++ let key = Syntax.classSpecifierKey cs+ name = Syntax.classSpecifierName cs+ inheritance = Syntax.classSpecifierInheritance cs+ in (Serialization.spaceSep (Lists.concat [+ [+ classKeyToExpr key,+ (Serialization.cst name)],+ (Logic.ifElse (Lists.isEmpty inheritance) [] [+ Serialization.cst ":",+ (Serialization.commaSep Serialization.inlineStyle (Lists.map baseSpecifierToExpr inheritance))])]))++-- | Convert a comma expression to an expression+commaExpressionToExpr :: Syntax.CommaExpression -> Ast.Expr+commaExpressionToExpr ce =++ let left = Syntax.commaExpressionLeft ce+ right = Syntax.commaExpressionRight ce+ in (Serialization.spaceSep [+ expressionToExpr left,+ (Serialization.cst ","),+ (assignmentExpressionToExpr right)])++-- | Convert a comment to an expression+commentToExpr :: Syntax.Comment -> Ast.Expr+commentToExpr c =++ let text = Syntax.commentText c+ isMultiline = Syntax.commentIsMultiline c+ in (Serialization.cst (toCppComments text isMultiline))++-- | Convert a compound statement to an expression+compoundStatementToExpr :: Syntax.CompoundStatement -> Ast.Expr+compoundStatementToExpr cs =+ Serialization.curlyBracesList (Just "") Serialization.fullBlockStyle (Lists.map statementToExpr (Syntax.unCompoundStatement cs))++-- | Convert a conditional expression to an expression+conditionalExpressionToExpr :: Syntax.ConditionalExpression -> Ast.Expr+conditionalExpressionToExpr c =+ case c of+ Syntax.ConditionalExpressionLogicalOr v0 -> logicalOrExpressionToExpr v0+ Syntax.ConditionalExpressionTernary v0 -> ternaryExpressionToExpr v0++-- | Convert a constructor declaration to an expression+constructorDeclarationToExpr :: Syntax.ConstructorDeclaration -> Ast.Expr+constructorDeclarationToExpr cd =++ let name = Syntax.constructorDeclarationName cd+ params = Syntax.constructorDeclarationParameters cd+ inits = Syntax.constructorDeclarationInitializers cd+ body = Syntax.constructorDeclarationBody cd+ in (Serialization.spaceSep (Optionals.givens [+ Just (Serialization.noSep [+ Serialization.cst name,+ (Serialization.parenListAdaptive (Lists.map parameterToExpr params))]),+ (Logic.ifElse (Lists.isEmpty inits) Nothing (Just (Serialization.spaceSep [+ Serialization.cst ":",+ (Serialization.commaSep Serialization.inlineStyle (Lists.map memInitializerToExpr inits))]))),+ (Just (functionBodyToExpr body))]))++-- | Convert a declaration to an expression+declarationToExpr :: Syntax.Declaration -> Ast.Expr+declarationToExpr d =+ case d of+ Syntax.DeclarationPreprocessor v0 -> preprocessorDirectiveToExpr v0+ Syntax.DeclarationClass v0 -> classDeclarationToExpr v0+ Syntax.DeclarationFunction v0 -> functionDeclarationToExpr v0+ Syntax.DeclarationVariable v0 -> variableDeclarationToExpr False v0+ Syntax.DeclarationTypedef v0 -> typedefDeclarationToExpr v0+ Syntax.DeclarationNamespace v0 -> namespaceDeclarationToExpr v0+ Syntax.DeclarationTemplate v0 -> templateDeclarationToExpr v0++-- | Convert a define directive to an expression+defineDirectiveToExpr :: Syntax.DefineDirective -> Ast.Expr+defineDirectiveToExpr dd =++ let name = Syntax.defineDirectiveName dd+ params = Syntax.defineDirectiveParameters dd+ replacement = Syntax.defineDirectiveReplacement dd+ in (Serialization.spaceSep (Lists.concat [+ [+ Serialization.cst "#define",+ (Serialization.cst name)],+ (Optionals.match params [] (\ps -> [+ Serialization.parenListAdaptive (Lists.map (\p -> Serialization.cst p) ps)])),+ (Optionals.match replacement [] (\r -> [+ Serialization.cst r]))]))++-- | Convert a destructor declaration to an expression+destructorDeclarationToExpr :: Syntax.DestructorDeclaration -> Ast.Expr+destructorDeclarationToExpr dd =++ let prefixSpecs = Syntax.destructorDeclarationPrefixSpecifiers dd+ name = Syntax.destructorDeclarationName dd+ suffixSpecs = Syntax.destructorDeclarationSuffixSpecifiers dd+ body = Syntax.destructorDeclarationBody dd+ in (Serialization.spaceSep (Lists.concat [+ Lists.map functionSpecifierPrefixToExpr prefixSpecs,+ [+ Serialization.noSep [+ Serialization.cst (Strings.concat2 "~" name),+ (Serialization.parens (Serialization.cst ""))]],+ (Lists.map functionSpecifierSuffixToExpr suffixSpecs),+ [+ functionBodyToExpr body]]))++-- | Convert a divide operation to an expression+divideOperationToExpr :: Syntax.DivideOperation -> Ast.Expr+divideOperationToExpr op =++ let left = Syntax.divideOperationLeft op+ right = Syntax.divideOperationRight op+ in (Serialization.spaceSep [+ multiplicativeExpressionToExpr left,+ (Serialization.cst "/"),+ (unaryExpressionToExpr right)])++-- | Convert a do statement to an expression+doStatementToExpr :: Syntax.DoStatement -> Ast.Expr+doStatementToExpr ds =++ let body = Syntax.doStatementBody ds+ cond = Syntax.doStatementCondition ds+ in (Serialization.newlineSep [+ Serialization.cst "do",+ (statementToExpr body),+ (Serialization.withSemi (Serialization.spaceSep [+ Serialization.cst "while",+ (Serialization.parens (expressionToExpr cond))]))])++-- | Convert an elif directive to an expression+elifDirectiveToExpr :: Syntax.ElifDirective -> Ast.Expr+elifDirectiveToExpr ed =+ Serialization.spaceSep [+ Serialization.cst "#elif",+ (Serialization.cst (Syntax.elifDirectiveCondition ed))]++-- | Convert an else directive to an expression+elseDirectiveToExpr :: t0 -> Ast.Expr+elseDirectiveToExpr ed = Serialization.cst "#else"++-- | Convert an endif directive to an expression+endifDirectiveToExpr :: t0 -> Ast.Expr+endifDirectiveToExpr ed = Serialization.cst "#endif"++-- | Convert an equal operation to an expression+equalOperationToExpr :: Syntax.EqualOperation -> Ast.Expr+equalOperationToExpr op =++ let left = Syntax.equalOperationLeft op+ right = Syntax.equalOperationRight op+ in (Serialization.spaceSep [+ equalityExpressionToExpr left,+ (Serialization.cst "=="),+ (relationalExpressionToExpr right)])++-- | Convert an equality expression to an expression+equalityExpressionToExpr :: Syntax.EqualityExpression -> Ast.Expr+equalityExpressionToExpr e =+ case e of+ Syntax.EqualityExpressionRelational v0 -> relationalExpressionToExpr v0+ Syntax.EqualityExpressionEqual v0 -> equalOperationToExpr v0+ Syntax.EqualityExpressionNotEqual v0 -> notEqualOperationToExpr v0++-- | Convert an error directive to an expression+errorDirectiveToExpr :: Syntax.ErrorDirective -> Ast.Expr+errorDirectiveToExpr ed =+ Serialization.spaceSep [+ Serialization.cst "#error",+ (Serialization.cst (Syntax.errorDirectiveMessage ed))]++-- | Convert an exclusive or expression to an expression+exclusiveOrExpressionToExpr :: Syntax.ExclusiveOrExpression -> Ast.Expr+exclusiveOrExpressionToExpr e =+ case e of+ Syntax.ExclusiveOrExpressionAnd v0 -> andExpressionToExpr v0+ Syntax.ExclusiveOrExpressionBitwiseXor v0 -> bitwiseXorOperationToExpr v0++-- | Convert an explicit assignment to an expression+explicitAssignmentToExpr :: Syntax.ExplicitAssignment -> Ast.Expr+explicitAssignmentToExpr ea =++ let left = Syntax.explicitAssignmentLeft ea+ op = Syntax.explicitAssignmentOp ea+ right = Syntax.explicitAssignmentRight ea+ in (Serialization.spaceSep [+ logicalOrExpressionToExpr left,+ (assignmentOperatorToExpr op),+ (assignmentExpressionToExpr right)])++-- | Convert an expression to an expression+expressionToExpr :: Syntax.Expression -> Ast.Expr+expressionToExpr e =+ case e of+ Syntax.ExpressionAssignment v0 -> assignmentExpressionToExpr v0+ Syntax.ExpressionComma v0 -> commaExpressionToExpr v0++-- | Convert a for-init to an expression+forInitToExpr :: Syntax.ForInit -> Ast.Expr+forInitToExpr i =+ case i of+ Syntax.ForInitExpression v0 -> expressionToExpr v0+ Syntax.ForInitDeclaration v0 -> variableDeclarationToExpr False v0+ Syntax.ForInitEmpty -> Serialization.cst ""++-- | Convert a for statement to an expression+forStatementToExpr :: Syntax.ForStatement -> Ast.Expr+forStatementToExpr fs =++ let init = Syntax.forStatementInit fs+ cond = Syntax.forStatementCondition fs+ inc = Syntax.forStatementIncrement fs+ body = Syntax.forStatementBody fs+ in (Serialization.newlineSep [+ Serialization.spaceSep [+ Serialization.cst "for",+ (Serialization.parens (Serialization.noSep [+ forInitToExpr init,+ (Serialization.cst ";"),+ (expressionToExpr cond),+ (Serialization.cst ";"),+ (expressionToExpr inc)]))],+ (statementToExpr body)])++-- | Convert a function application to an expression+functionApplicationToExpr :: Syntax.FunctionApplication -> Ast.Expr+functionApplicationToExpr fa =++ let func = Syntax.functionApplicationFunction fa+ args = Syntax.functionApplicationArguments fa+ in (Serialization.spaceSep [+ functionIdentifierToExpr func,+ (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])++-- | Convert a function body to an expression+functionBodyToExpr :: Syntax.FunctionBody -> Ast.Expr+functionBodyToExpr b =+ case b of+ Syntax.FunctionBodyCompound v0 -> compoundStatementToExpr v0+ Syntax.FunctionBodyDeclaration -> Serialization.cst ";"+ Syntax.FunctionBodyPure -> Serialization.withSemi (Serialization.cst "= 0")+ Syntax.FunctionBodyDefault -> Serialization.withSemi (Serialization.cst "= default")++-- | Convert a function call operation to an expression+functionCallOperationToExpr :: Syntax.FunctionCallOperation -> Ast.Expr+functionCallOperationToExpr fco =++ let func = Syntax.functionCallOperationFunction fco+ args = Syntax.functionCallOperationArguments fco+ in (Serialization.noSep [+ postfixExpressionToExpr func,+ (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])++-- | Convert a function declaration to an expression+functionDeclarationToExpr :: Syntax.FunctionDeclaration -> Ast.Expr+functionDeclarationToExpr fd =++ let prefixSpecs = Syntax.functionDeclarationPrefixSpecifiers fd+ retType = Syntax.functionDeclarationReturnType fd+ name = Syntax.functionDeclarationName fd+ params = Syntax.functionDeclarationParameters fd+ suffixSpecs = Syntax.functionDeclarationSuffixSpecifiers fd+ body = Syntax.functionDeclarationBody fd+ in (Serialization.spaceSep (Lists.concat [+ Lists.map functionSpecifierPrefixToExpr prefixSpecs,+ [+ typeExpressionToExpr retType,+ (Serialization.noSep [+ Serialization.cst name,+ (Serialization.parenListAdaptive (Lists.map parameterToExpr params))])],+ (Lists.map functionSpecifierSuffixToExpr suffixSpecs),+ [+ functionBodyToExpr body]]))++-- | Convert a function identifier to an expression+functionIdentifierToExpr :: Syntax.FunctionIdentifier -> Ast.Expr+functionIdentifierToExpr f =+ case f of+ Syntax.FunctionIdentifierSimple v0 -> Serialization.cst v0+ Syntax.FunctionIdentifierQualified v0 -> qualifiedIdentifierToExpr v0++-- | Convert a function specifier prefix to an expression+functionSpecifierPrefixToExpr :: Syntax.FunctionSpecifierPrefix -> Ast.Expr+functionSpecifierPrefixToExpr s =+ case s of+ Syntax.FunctionSpecifierPrefixInline -> Serialization.cst "inline"+ Syntax.FunctionSpecifierPrefixVirtual -> Serialization.cst "virtual"+ Syntax.FunctionSpecifierPrefixStatic -> Serialization.cst "static"+ Syntax.FunctionSpecifierPrefixExplicit -> Serialization.cst "explicit"++-- | Convert a function specifier suffix to an expression+functionSpecifierSuffixToExpr :: Syntax.FunctionSpecifierSuffix -> Ast.Expr+functionSpecifierSuffixToExpr s =+ case s of+ Syntax.FunctionSpecifierSuffixConst -> Serialization.cst "const"+ Syntax.FunctionSpecifierSuffixNoexcept -> Serialization.cst "noexcept"+ Syntax.FunctionSpecifierSuffixOverride -> Serialization.cst "override"+ Syntax.FunctionSpecifierSuffixFinal -> Serialization.cst "final"++-- | Convert a function type to an expression+functionTypeToExpr :: Syntax.FunctionType -> Ast.Expr+functionTypeToExpr ft =++ let retType = Syntax.functionTypeReturnType ft+ params = Syntax.functionTypeParameters ft+ in (Serialization.spaceSep [+ typeExpressionToExpr retType,+ (Serialization.parenListAdaptive (Lists.map parameterToExpr params))])++-- | Convert a greater-than-or-equal operation to an expression+greaterEqualOperationToExpr :: Syntax.GreaterEqualOperation -> Ast.Expr+greaterEqualOperationToExpr op =++ let left = Syntax.greaterEqualOperationLeft op+ right = Syntax.greaterEqualOperationRight op+ in (Serialization.spaceSep [+ relationalExpressionToExpr left,+ (Serialization.cst ">="),+ (shiftExpressionToExpr right)])++-- | Convert a greater-than operation to an expression+greaterOperationToExpr :: Syntax.GreaterOperation -> Ast.Expr+greaterOperationToExpr op =++ let left = Syntax.greaterOperationLeft op+ right = Syntax.greaterOperationRight op+ in (Serialization.spaceSep [+ relationalExpressionToExpr left,+ (Serialization.cst ">"),+ (shiftExpressionToExpr right)])++-- | Convert an if directive to an expression+ifDirectiveToExpr :: Syntax.IfDirective -> Ast.Expr+ifDirectiveToExpr ifd =+ Serialization.spaceSep [+ Serialization.cst "#if",+ (Serialization.cst (Syntax.ifDirectiveCondition ifd))]++-- | Convert an ifdef directive to an expression+ifdefDirectiveToExpr :: Syntax.IfdefDirective -> Ast.Expr+ifdefDirectiveToExpr id =+ Serialization.spaceSep [+ Serialization.cst "#ifdef",+ (Serialization.cst (Syntax.ifdefDirectiveIdentifier id))]++-- | Convert an ifndef directive to an expression+ifndefDirectiveToExpr :: Syntax.IfndefDirective -> Ast.Expr+ifndefDirectiveToExpr ind =+ Serialization.spaceSep [+ Serialization.cst "#ifndef",+ (Serialization.cst (Syntax.ifndefDirectiveIdentifier ind))]++-- | Convert an include directive to an expression+includeDirectiveToExpr :: Syntax.IncludeDirective -> Ast.Expr+includeDirectiveToExpr incl =++ let name = Syntax.includeDirectiveName incl+ isSystem = Syntax.includeDirectiveIsSystem incl+ in (Logic.ifElse isSystem (Serialization.cst (Strings.concat [+ "#include <",+ name,+ ">"])) (Serialization.cst (Strings.concat [+ "#include \"",+ name,+ "\""])))++-- | Convert an inclusive or expression to an expression+inclusiveOrExpressionToExpr :: Syntax.InclusiveOrExpression -> Ast.Expr+inclusiveOrExpressionToExpr e =+ case e of+ Syntax.InclusiveOrExpressionExclusiveOr v0 -> exclusiveOrExpressionToExpr v0+ Syntax.InclusiveOrExpressionBitwiseOr v0 -> bitwiseOrOperationToExpr v0++-- | Convert an integer literal to an expression+integerLiteralToExpr :: Syntax.IntegerLiteral -> Ast.Expr+integerLiteralToExpr i =+ case i of+ Syntax.IntegerLiteralDecimal v0 -> Serialization.cst (Literals.printBigint v0)+ Syntax.IntegerLiteralHexadecimal v0 -> Serialization.cst (Strings.concat2 "0x" v0)+ Syntax.IntegerLiteralOctal v0 -> Serialization.cst (Strings.concat2 "0" v0)+ Syntax.IntegerLiteralBinary v0 -> Serialization.cst (Strings.concat2 "0b" v0)++-- | Convert an iteration statement to an expression+iterationStatementToExpr :: Syntax.IterationStatement -> Ast.Expr+iterationStatementToExpr i =+ case i of+ Syntax.IterationStatementWhile v0 -> whileStatementToExpr v0+ Syntax.IterationStatementDo v0 -> doStatementToExpr v0+ Syntax.IterationStatementFor v0 -> forStatementToExpr v0+ Syntax.IterationStatementRangeFor v0 -> rangeForStatementToExpr v0++-- | Convert a jump statement to an expression+jumpStatementToExpr :: Syntax.JumpStatement -> Ast.Expr+jumpStatementToExpr j =+ case j of+ Syntax.JumpStatementBreak -> Serialization.withSemi (Serialization.cst "break")+ Syntax.JumpStatementContinue -> Serialization.withSemi (Serialization.cst "continue")+ Syntax.JumpStatementReturnValue v0 -> Serialization.withSemi (Serialization.spaceSep [+ Serialization.cst "return",+ (expressionToExpr v0)])+ Syntax.JumpStatementReturnVoid -> Serialization.withSemi (Serialization.cst "return")+ Syntax.JumpStatementThrow v0 -> Serialization.withSemi (Serialization.spaceSep [+ Serialization.cst "throw",+ (expressionToExpr v0)])++-- | Convert a labeled statement to an expression+labeledStatementToExpr :: Syntax.LabeledStatement -> Ast.Expr+labeledStatementToExpr ls =++ let label = Syntax.labeledStatementLabel ls+ stmt = Syntax.labeledStatementStatement ls+ in (Serialization.newlineSep [+ Serialization.cst (Strings.concat2 label ":"),+ (statementToExpr stmt)])++-- | Convert a lambda expression to an expression+lambdaExpressionToExpr :: Syntax.LambdaExpression -> Ast.Expr+lambdaExpressionToExpr le =++ let captures = Syntax.lambdaExpressionCaptures le+ params = Syntax.lambdaExpressionParameters le+ retType = Syntax.lambdaExpressionReturnType le+ body = Syntax.lambdaExpressionBody le+ in (Serialization.spaceSep [+ captureListToExpr captures,+ (Logic.ifElse (Lists.isEmpty params) (Serialization.parens (Serialization.cst "")) (Serialization.parenListAdaptive (Lists.map parameterToExpr params))),+ (Optionals.match retType (Serialization.cst "") (\t -> Serialization.spaceSep [+ Serialization.cst "->",+ (typeExpressionToExpr t)])),+ (compoundStatementToExpr body)])++-- | Convert a left shift operation to an expression+leftShiftOperationToExpr :: Syntax.LeftShiftOperation -> Ast.Expr+leftShiftOperationToExpr op =++ let left = Syntax.leftShiftOperationLeft op+ right = Syntax.leftShiftOperationRight op+ in (Serialization.spaceSep [+ shiftExpressionToExpr left,+ (Serialization.cst "<<"),+ (additiveExpressionToExpr right)])++-- | Convert a less-than-or-equal operation to an expression+lessEqualOperationToExpr :: Syntax.LessEqualOperation -> Ast.Expr+lessEqualOperationToExpr op =++ let left = Syntax.lessEqualOperationLeft op+ right = Syntax.lessEqualOperationRight op+ in (Serialization.spaceSep [+ relationalExpressionToExpr left,+ (Serialization.cst "<="),+ (shiftExpressionToExpr right)])++-- | Convert a less-than operation to an expression+lessOperationToExpr :: Syntax.LessOperation -> Ast.Expr+lessOperationToExpr op =++ let left = Syntax.lessOperationLeft op+ right = Syntax.lessOperationRight op+ in (Serialization.spaceSep [+ relationalExpressionToExpr left,+ (Serialization.cst "<"),+ (shiftExpressionToExpr right)])++-- | Convert a line directive to an expression+lineDirectiveToExpr :: Syntax.LineDirective -> Ast.Expr+lineDirectiveToExpr ld =++ let lineNumber = Syntax.lineDirectiveLineNumber ld+ filename = Syntax.lineDirectiveFilename ld+ in (Serialization.spaceSep (Lists.concat [+ [+ Serialization.cst "#line",+ (Serialization.cst (Literals.printInt32 lineNumber))],+ (Optionals.match filename [] (\f -> [+ Serialization.cst (Strings.concat [+ "\"",+ f,+ "\""])]))]))++-- | Convert a literal to an expression+literalToExpr :: Syntax.Literal -> Ast.Expr+literalToExpr l =+ case l of+ Syntax.LiteralInteger v0 -> integerLiteralToExpr v0+ Syntax.LiteralFloating v0 -> Serialization.cst (Literals.printFloat64 (Syntax.unFloatingLiteral v0))+ Syntax.LiteralCharacter v0 -> Serialization.cst (Strings.concat [+ "'",+ (Syntax.unCharacterLiteral v0),+ "'"])+ Syntax.LiteralString v0 -> Serialization.cst (Strings.concat [+ "\"",+ (Syntax.unStringLiteral v0),+ "\""])+ Syntax.LiteralBoolean v0 -> booleanLiteralToExpr v0+ Syntax.LiteralNull -> Serialization.cst "nullptr"++-- | Convert a logical and expression to an expression+logicalAndExpressionToExpr :: Syntax.LogicalAndExpression -> Ast.Expr+logicalAndExpressionToExpr e =+ case e of+ Syntax.LogicalAndExpressionInclusiveOr v0 -> inclusiveOrExpressionToExpr v0+ Syntax.LogicalAndExpressionLogicalAnd v0 -> logicalAndOperationToExpr v0++-- | Convert a logical and operation to an expression+logicalAndOperationToExpr :: Syntax.LogicalAndOperation -> Ast.Expr+logicalAndOperationToExpr op =++ let left = Syntax.logicalAndOperationLeft op+ right = Syntax.logicalAndOperationRight op+ in (Serialization.spaceSep [+ logicalAndExpressionToExpr left,+ (Serialization.cst "&&"),+ (inclusiveOrExpressionToExpr right)])++-- | Convert a logical or expression to an expression+logicalOrExpressionToExpr :: Syntax.LogicalOrExpression -> Ast.Expr+logicalOrExpressionToExpr e =+ case e of+ Syntax.LogicalOrExpressionLogicalAnd v0 -> logicalAndExpressionToExpr v0+ Syntax.LogicalOrExpressionLogicalOr v0 -> logicalOrOperationToExpr v0++-- | Convert a logical or operation to an expression+logicalOrOperationToExpr :: Syntax.LogicalOrOperation -> Ast.Expr+logicalOrOperationToExpr op =++ let left = Syntax.logicalOrOperationLeft op+ right = Syntax.logicalOrOperationRight op+ in (Serialization.spaceSep [+ logicalOrExpressionToExpr left,+ (Serialization.cst "||"),+ (logicalAndExpressionToExpr right)])++-- | Convert a map entry to an expression+mapEntryToExpr :: Syntax.MapEntry -> Ast.Expr+mapEntryToExpr me =++ let key = Syntax.mapEntryKey me+ val = Syntax.mapEntryValue me+ in (Serialization.spaceSep [+ Serialization.curlyBracesList Nothing Serialization.inlineStyle [+ expressionToExpr key],+ (Serialization.cst "->"),+ (expressionToExpr val)])++-- | Convert a map to an expression+mapToExpr :: Syntax.Map -> Ast.Expr+mapToExpr m =++ let keyType = Syntax.mapKeyType m+ valType = Syntax.mapValueType m+ entries = Syntax.mapEntries m+ in (Serialization.spaceSep [+ Serialization.cst "std::map<",+ (Serialization.commaSep Serialization.inlineStyle [+ typeExpressionToExpr keyType,+ (typeExpressionToExpr valType)]),+ (Serialization.cst ">"),+ (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map mapEntryToExpr entries))])++-- | Convert a member initializer to an expression+memInitializerToExpr :: Syntax.MemInitializer -> Ast.Expr+memInitializerToExpr mi =++ let name = Syntax.memInitializerName mi+ args = Syntax.memInitializerArguments mi+ in (Serialization.noSep [+ Serialization.cst name,+ (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])++-- | Convert a member access operation to an expression+memberAccessOperationToExpr :: Syntax.MemberAccessOperation -> Ast.Expr+memberAccessOperationToExpr mao =++ let obj = Syntax.memberAccessOperationObject mao+ member = Syntax.memberAccessOperationMember mao+ in (Serialization.noSep [+ postfixExpressionToExpr obj,+ (Serialization.cst "."),+ (Serialization.cst member)])++-- | Convert a member declaration to an expression+memberDeclarationToExpr :: Bool -> Syntax.MemberDeclaration -> Ast.Expr+memberDeclarationToExpr commas m =+ case m of+ Syntax.MemberDeclarationFunction v0 -> functionDeclarationToExpr v0+ Syntax.MemberDeclarationVariable v0 -> variableDeclarationToExpr commas v0+ Syntax.MemberDeclarationConstructor v0 -> constructorDeclarationToExpr v0+ Syntax.MemberDeclarationDestructor v0 -> destructorDeclarationToExpr v0+ Syntax.MemberDeclarationNestedClass v0 -> classDeclarationToExpr v0+ Syntax.MemberDeclarationTemplate v0 -> templateDeclarationToExpr v0++-- | Convert a member specification to an expression+memberSpecificationToExpr :: Bool -> Syntax.MemberSpecification -> Ast.Expr+memberSpecificationToExpr commas m =+ case m of+ Syntax.MemberSpecificationAccessLabel v0 -> Serialization.noSep [+ accessSpecifierToExpr v0,+ (Serialization.cst ":")]+ Syntax.MemberSpecificationMember v0 -> memberDeclarationToExpr commas v0++-- | Convert a modulo operation to an expression+moduloOperationToExpr :: Syntax.ModuloOperation -> Ast.Expr+moduloOperationToExpr op =++ let left = Syntax.moduloOperationLeft op+ right = Syntax.moduloOperationRight op+ in (Serialization.spaceSep [+ multiplicativeExpressionToExpr left,+ (Serialization.cst "%"),+ (unaryExpressionToExpr right)])++-- | Convert a multiplicative expression to an expression+multiplicativeExpressionToExpr :: Syntax.MultiplicativeExpression -> Ast.Expr+multiplicativeExpressionToExpr e =+ case e of+ Syntax.MultiplicativeExpressionUnary v0 -> unaryExpressionToExpr v0+ Syntax.MultiplicativeExpressionMultiply v0 -> multiplyOperationToExpr v0+ Syntax.MultiplicativeExpressionDivide v0 -> divideOperationToExpr v0+ Syntax.MultiplicativeExpressionModulo v0 -> moduloOperationToExpr v0++-- | Convert a multiply operation to an expression+multiplyOperationToExpr :: Syntax.MultiplyOperation -> Ast.Expr+multiplyOperationToExpr op =++ let left = Syntax.multiplyOperationLeft op+ right = Syntax.multiplyOperationRight op+ in (Serialization.spaceSep [+ multiplicativeExpressionToExpr left,+ (Serialization.cst "*"),+ (unaryExpressionToExpr right)])++-- | Convert a namespace declaration to an expression+namespaceDeclarationToExpr :: Syntax.NamespaceDeclaration -> Ast.Expr+namespaceDeclarationToExpr nd =++ let name = Syntax.namespaceDeclarationName nd+ decls = Syntax.namespaceDeclarationDeclarations nd+ in (Serialization.spaceSep [+ Serialization.cst (Strings.concat2 "namespace " name),+ (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.doubleNewlineSep (Lists.map declarationToExpr decls)))])++-- | Convert a not-equal operation to an expression+notEqualOperationToExpr :: Syntax.NotEqualOperation -> Ast.Expr+notEqualOperationToExpr op =++ let left = Syntax.notEqualOperationLeft op+ right = Syntax.notEqualOperationRight op+ in (Serialization.spaceSep [+ equalityExpressionToExpr left,+ (Serialization.cst "!="),+ (relationalExpressionToExpr right)])++-- | Convert an optional to an expression+optionalToExpr :: Syntax.Optional -> Ast.Expr+optionalToExpr opt =++ let valType = Syntax.optionalValueType opt+ val = Syntax.optionalValue opt+ in (Serialization.spaceSep [+ Serialization.cst "std::optional<",+ (typeExpressionToExpr valType),+ (Serialization.cst ">"),+ (Optionals.match val (Serialization.cst "{}") (\v -> Serialization.curlyBracesList Nothing Serialization.inlineStyle [+ expressionToExpr v]))])++-- | Convert overloaded lambdas to an expression+overloadedLambdasToExpr :: Syntax.OverloadedLambdas -> Ast.Expr+overloadedLambdasToExpr ol =+ Serialization.spaceSep [+ Serialization.cst "overloaded",+ (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.newlineSep (Lists.map lambdaExpressionToExpr (Syntax.unOverloadedLambdas ol))))]++-- | Convert a parameter to an expression+parameterToExpr :: Syntax.Parameter -> Ast.Expr+parameterToExpr p =++ let typ = Syntax.parameterType p+ name = Syntax.parameterName p+ unnamed = Syntax.parameterUnnamed p+ defaultVal = Syntax.parameterDefaultValue p+ nameExpr =+ Serialization.cst (Logic.ifElse unnamed (Strings.concat [+ "/*",+ name,+ "*/"]) name)+ in (Serialization.spaceSep (Lists.concat [+ [+ typeExpressionToExpr typ,+ nameExpr],+ (Optionals.match defaultVal [] (\expr -> [+ Serialization.cst "=",+ (expressionToExpr expr)]))]))++-- | Convert a pattern match to an expression+patternMatchToExpr :: Syntax.PatternMatch -> Ast.Expr+patternMatchToExpr pm =++ let visitor = Syntax.patternMatchVisitor pm+ variant = Syntax.patternMatchVariant pm+ in (Serialization.spaceSep [+ Serialization.cst "std::visit",+ (Serialization.parenListAdaptive [+ visitorToExpr visitor,+ (expressionToExpr variant)])])++-- | Convert a pointer member access operation to an expression+pointerMemberAccessOperationToExpr :: Syntax.PointerMemberAccessOperation -> Ast.Expr+pointerMemberAccessOperationToExpr pmao =++ let ptr = Syntax.pointerMemberAccessOperationPointer pmao+ member = Syntax.pointerMemberAccessOperationMember pmao+ in (Serialization.noSep [+ postfixExpressionToExpr ptr,+ (Serialization.cst "->"),+ (Serialization.cst member)])++-- | Convert a postfix expression to an expression+postfixExpressionToExpr :: Syntax.PostfixExpression -> Ast.Expr+postfixExpressionToExpr e =+ case e of+ Syntax.PostfixExpressionPrimary v0 -> primaryExpressionToExpr v0+ Syntax.PostfixExpressionSubscript v0 -> subscriptOperationToExpr v0+ Syntax.PostfixExpressionFunctionCall v0 -> functionCallOperationToExpr v0+ Syntax.PostfixExpressionTemplateFunctionCall v0 -> templateFunctionCallOperationToExpr v0+ Syntax.PostfixExpressionMemberAccess v0 -> memberAccessOperationToExpr v0+ Syntax.PostfixExpressionPointerMemberAccess v0 -> pointerMemberAccessOperationToExpr v0+ Syntax.PostfixExpressionPostIncrement v0 -> Serialization.noSep [+ postfixExpressionToExpr v0,+ (Serialization.cst "++")]+ Syntax.PostfixExpressionPostDecrement v0 -> Serialization.noSep [+ postfixExpressionToExpr v0,+ (Serialization.cst "--")]++-- | Convert a pragma directive to an expression+pragmaDirectiveToExpr :: Syntax.PragmaDirective -> Ast.Expr+pragmaDirectiveToExpr pd = Serialization.cst (Strings.concat2 "#pragma " (Syntax.pragmaDirectiveContent pd))++-- | Convert a preprocessor directive to an expression+preprocessorDirectiveToExpr :: Syntax.PreprocessorDirective -> Ast.Expr+preprocessorDirectiveToExpr d =+ case d of+ Syntax.PreprocessorDirectiveInclude v0 -> includeDirectiveToExpr v0+ Syntax.PreprocessorDirectivePragma v0 -> pragmaDirectiveToExpr v0+ Syntax.PreprocessorDirectiveDefine v0 -> defineDirectiveToExpr v0+ Syntax.PreprocessorDirectiveUndef v0 -> undefDirectiveToExpr v0+ Syntax.PreprocessorDirectiveIfdef v0 -> ifdefDirectiveToExpr v0+ Syntax.PreprocessorDirectiveIfndef v0 -> ifndefDirectiveToExpr v0+ Syntax.PreprocessorDirectiveIf v0 -> ifDirectiveToExpr v0+ Syntax.PreprocessorDirectiveElif v0 -> elifDirectiveToExpr v0+ Syntax.PreprocessorDirectiveElse v0 -> elseDirectiveToExpr v0+ Syntax.PreprocessorDirectiveEndif v0 -> endifDirectiveToExpr v0+ Syntax.PreprocessorDirectiveLine v0 -> lineDirectiveToExpr v0+ Syntax.PreprocessorDirectiveError v0 -> errorDirectiveToExpr v0+ Syntax.PreprocessorDirectiveWarning v0 -> warningDirectiveToExpr v0++-- | Convert a primary expression to an expression+primaryExpressionToExpr :: Syntax.PrimaryExpression -> Ast.Expr+primaryExpressionToExpr e =+ case e of+ Syntax.PrimaryExpressionIdentifier v0 -> Serialization.cst v0+ Syntax.PrimaryExpressionLiteral v0 -> literalToExpr v0+ Syntax.PrimaryExpressionParenthesized v0 -> Serialization.parens (expressionToExpr v0)+ Syntax.PrimaryExpressionLambda v0 -> lambdaExpressionToExpr v0++-- | Convert a program to an expression+programToExpr :: Syntax.Program -> Ast.Expr+programToExpr prog =++ let preps = Syntax.programPreprocessorDirectives prog+ includes = Syntax.programIncludes prog+ decls = Syntax.programDeclarations prog+ separate = \sep -> \defs -> Logic.ifElse (Lists.isEmpty defs) Nothing (Just (sep defs))+ in (Serialization.doubleNewlineSep (Optionals.givens [+ separate Serialization.newlineSep (Lists.map preprocessorDirectiveToExpr preps),+ (separate Serialization.newlineSep (Lists.map includeDirectiveToExpr includes)),+ (separate Serialization.doubleNewlineSep (Lists.map declarationToExpr decls))]))++-- | Convert a qualified identifier to an expression+qualifiedIdentifierToExpr :: Syntax.QualifiedIdentifier -> Ast.Expr+qualifiedIdentifierToExpr qi =++ let ns = Syntax.qualifiedIdentifierNamespace qi+ name = Syntax.qualifiedIdentifierName qi+ in (Serialization.cst (Strings.concat [+ ns,+ "::",+ name]))++-- | Convert a qualified type to an expression+qualifiedTypeToExpr :: Syntax.QualifiedType -> Ast.Expr+qualifiedTypeToExpr qt =++ let baseType = Syntax.qualifiedTypeBaseType qt+ qualifier = Syntax.qualifiedTypeQualifier qt+ in case qualifier of+ Syntax.TypeQualifierConst -> Serialization.spaceSep [+ Serialization.cst "const",+ (typeExpressionToExpr baseType)]+ Syntax.TypeQualifierLvalueRef -> Serialization.noSep [+ typeExpressionToExpr baseType,+ (Serialization.cst "&")]+ Syntax.TypeQualifierRvalueRef -> Serialization.noSep [+ typeExpressionToExpr baseType,+ (Serialization.cst "&&")]+ Syntax.TypeQualifierPointer -> Serialization.noSep [+ typeExpressionToExpr baseType,+ (Serialization.cst "*")]++-- | Convert a range-for statement to an expression+rangeForStatementToExpr :: Syntax.RangeForStatement -> Ast.Expr+rangeForStatementToExpr rfs =++ let typ = Syntax.rangeForStatementType rfs+ var = Syntax.rangeForStatementVariable rfs+ range = Syntax.rangeForStatementRange rfs+ body = Syntax.rangeForStatementBody rfs+ in (Serialization.newlineSep [+ Serialization.spaceSep [+ Serialization.cst "for",+ (Serialization.parens (Serialization.spaceSep [+ typeExpressionToExpr typ,+ (Serialization.cst var),+ (Serialization.cst ":"),+ (expressionToExpr range)]))],+ (statementToExpr body)])++-- | Convert a relational expression to an expression+relationalExpressionToExpr :: Syntax.RelationalExpression -> Ast.Expr+relationalExpressionToExpr e =+ case e of+ Syntax.RelationalExpressionShift v0 -> shiftExpressionToExpr v0+ Syntax.RelationalExpressionLess v0 -> lessOperationToExpr v0+ Syntax.RelationalExpressionGreater v0 -> greaterOperationToExpr v0+ Syntax.RelationalExpressionLessEqual v0 -> lessEqualOperationToExpr v0+ Syntax.RelationalExpressionGreaterEqual v0 -> greaterEqualOperationToExpr v0++-- | Convert a right shift operation to an expression+rightShiftOperationToExpr :: Syntax.RightShiftOperation -> Ast.Expr+rightShiftOperationToExpr op =++ let left = Syntax.rightShiftOperationLeft op+ right = Syntax.rightShiftOperationRight op+ in (Serialization.spaceSep [+ shiftExpressionToExpr left,+ (Serialization.cst ">>"),+ (additiveExpressionToExpr right)])++-- | Convert a selection statement to an expression+selectionStatementToExpr :: Syntax.SelectionStatement -> Ast.Expr+selectionStatementToExpr ss =++ let cond = Syntax.selectionStatementCondition ss+ thenBranch = Syntax.selectionStatementThenBranch ss+ elseBranch = Syntax.selectionStatementElseBranch ss+ in (Serialization.newlineSep [+ Serialization.spaceSep [+ Serialization.cst "if",+ (Serialization.parens (expressionToExpr cond))],+ (statementToExpr thenBranch),+ (Optionals.match elseBranch (Serialization.cst "") (\stmt -> Serialization.newlineSep [+ Serialization.cst "else",+ (statementToExpr stmt)]))])++-- | Convert a set to an expression+setToExpr :: Syntax.Set -> Ast.Expr+setToExpr s =++ let elemType = Syntax.setElementType s+ elems = Syntax.setElements s+ in (Serialization.spaceSep [+ Serialization.cst "std::set<",+ (typeExpressionToExpr elemType),+ (Serialization.cst ">"),+ (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map expressionToExpr elems))])++-- | Convert a shift expression to an expression+shiftExpressionToExpr :: Syntax.ShiftExpression -> Ast.Expr+shiftExpressionToExpr e =+ case e of+ Syntax.ShiftExpressionAdditive v0 -> additiveExpressionToExpr v0+ Syntax.ShiftExpressionLeftShift v0 -> leftShiftOperationToExpr v0+ Syntax.ShiftExpressionRightShift v0 -> rightShiftOperationToExpr v0++-- | Convert a sizeof expression to an expression+sizeofExpressionToExpr :: Syntax.SizeofExpression -> Ast.Expr+sizeofExpressionToExpr se =+ Serialization.spaceSep [+ Serialization.cst "sizeof",+ (Serialization.parens (typeExpressionToExpr (Syntax.unSizeofExpression se)))]++-- | Convert a statement to an expression+statementToExpr :: Syntax.Statement -> Ast.Expr+statementToExpr s =+ case s of+ Syntax.StatementLabeled v0 -> labeledStatementToExpr v0+ Syntax.StatementCompound v0 -> compoundStatementToExpr v0+ Syntax.StatementSelection v0 -> selectionStatementToExpr v0+ Syntax.StatementSwitch v0 -> switchStatementToExpr v0+ Syntax.StatementIteration v0 -> iterationStatementToExpr v0+ Syntax.StatementJump v0 -> jumpStatementToExpr v0+ Syntax.StatementDeclaration v0 -> Serialization.withSemi (variableDeclarationToExpr False v0)+ Syntax.StatementExpression v0 -> Serialization.withSemi (expressionToExpr v0)++-- | Convert a subscript operation to an expression+subscriptOperationToExpr :: Syntax.SubscriptOperation -> Ast.Expr+subscriptOperationToExpr so =++ let array = Syntax.subscriptOperationArray so+ index = Syntax.subscriptOperationIndex so+ in (Serialization.noSep [+ postfixExpressionToExpr array,+ (Serialization.cst "["),+ (expressionToExpr index),+ (Serialization.cst "]")])++-- | Convert a subtract operation to an expression+subtractOperationToExpr :: Syntax.SubtractOperation -> Ast.Expr+subtractOperationToExpr op =++ let left = Syntax.subtractOperationLeft op+ right = Syntax.subtractOperationRight op+ in (Serialization.spaceSep [+ additiveExpressionToExpr left,+ (Serialization.cst "-"),+ (multiplicativeExpressionToExpr right)])++-- | Convert a switch statement to an expression+switchStatementToExpr :: Syntax.SwitchStatement -> Ast.Expr+switchStatementToExpr ss =++ let value = Syntax.switchStatementValue ss+ match = Syntax.switchStatementCases ss+ in (Serialization.spaceSep [+ Serialization.cst "switch",+ (Serialization.parens (expressionToExpr value)),+ (Serialization.curlyBlock Serialization.fullBlockStyle (Serialization.newlineSep (Lists.map caseStatementToExpr match)))])++-- | Convert a template argument to an expression+templateArgumentToExpr :: Syntax.TemplateArgument -> Ast.Expr+templateArgumentToExpr a =+ case a of+ Syntax.TemplateArgumentType v0 -> typeExpressionToExpr v0+ Syntax.TemplateArgumentValue v0 -> expressionToExpr v0++-- | Convert a template declaration to an expression+templateDeclarationToExpr :: Syntax.TemplateDeclaration -> Ast.Expr+templateDeclarationToExpr td =++ let inline = Syntax.templateDeclarationInline td+ params = Syntax.templateDeclarationParameters td+ declaration = Syntax.templateDeclarationDeclaration td+ sep = Logic.ifElse inline Serialization.spaceSep Serialization.newlineSep+ in (sep [+ Serialization.noSep [+ Serialization.cst "template",+ (Serialization.angleBracesList Serialization.inlineStyle (Lists.map (\p -> Serialization.cst p) params))],+ (declarationToExpr declaration)])++-- | Convert a template function call operation to an expression+templateFunctionCallOperationToExpr :: Syntax.TemplateFunctionCallOperation -> Ast.Expr+templateFunctionCallOperationToExpr tfco =++ let func = Syntax.templateFunctionCallOperationFunction tfco+ templateArgs = Syntax.templateFunctionCallOperationTemplateArguments tfco+ args = Syntax.templateFunctionCallOperationArguments tfco+ in (Serialization.noSep [+ postfixExpressionToExpr func,+ (Serialization.angleBracesList Serialization.inlineStyle (Lists.map templateArgumentToExpr templateArgs)),+ (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])++-- | Convert a template type to an expression+templateTypeToExpr :: Syntax.TemplateType -> Ast.Expr+templateTypeToExpr tt =++ let name = Syntax.templateTypeName tt+ args = Syntax.templateTypeArguments tt+ in (Serialization.noSep [+ Serialization.cst name,+ (Serialization.angleBracesList Serialization.inlineStyle (Lists.map templateArgumentToExpr args))])++-- | Convert a ternary expression to an expression+ternaryExpressionToExpr :: Syntax.TernaryExpression -> Ast.Expr+ternaryExpressionToExpr te =++ let cond = Syntax.ternaryExpressionCondition te+ trueExpr = Syntax.ternaryExpressionTrueExpr te+ falseExpr = Syntax.ternaryExpressionFalseExpr te+ in (Serialization.spaceSep [+ logicalOrExpressionToExpr cond,+ (Serialization.cst "?"),+ (expressionToExpr trueExpr),+ (Serialization.cst ":"),+ (conditionalExpressionToExpr falseExpr)])++-- | Convert a string to a C++ comment. Empty single-line comments emit `//` (no trailing space).+toCppComments :: String -> Bool -> String+toCppComments s isMultiline =+ Logic.ifElse isMultiline (Strings.concat [+ "/* ",+ s,+ " */"]) (Logic.ifElse (Equality.equal s "") "//" (Strings.concat2 "// " s))++-- | Convert a type expression to an expression+typeExpressionToExpr :: Syntax.TypeExpression -> Ast.Expr+typeExpressionToExpr t =+ case t of+ Syntax.TypeExpressionBasic v0 -> basicTypeToExpr v0+ Syntax.TypeExpressionQualified v0 -> qualifiedTypeToExpr v0+ Syntax.TypeExpressionTemplate v0 -> templateTypeToExpr v0+ Syntax.TypeExpressionFunction v0 -> functionTypeToExpr v0+ Syntax.TypeExpressionAuto -> Serialization.cst "auto"++-- | Convert a typedef declaration to an expression+typedefDeclarationToExpr :: Syntax.TypedefDeclaration -> Ast.Expr+typedefDeclarationToExpr td =++ let name = Syntax.typedefDeclarationName td+ typ = Syntax.typedefDeclarationType td+ isUsing = Syntax.typedefDeclarationIsUsing td+ in (Logic.ifElse isUsing (Serialization.withSemi (Serialization.spaceSep [+ Serialization.cst (Strings.concat2 "using " name),+ (Serialization.cst "="),+ (typeExpressionToExpr typ)])) (Serialization.withSemi (Serialization.spaceSep [+ Serialization.cst "typedef",+ (typeExpressionToExpr typ),+ (Serialization.cst name)])))++-- | Convert a unary expression to an expression+unaryExpressionToExpr :: Syntax.UnaryExpression -> Ast.Expr+unaryExpressionToExpr e =+ case e of+ Syntax.UnaryExpressionPostfix v0 -> postfixExpressionToExpr v0+ Syntax.UnaryExpressionUnaryOp v0 -> unaryOperationToExpr v0+ Syntax.UnaryExpressionSizeof v0 -> sizeofExpressionToExpr v0++-- | Convert a unary operation to an expression+unaryOperationToExpr :: Syntax.UnaryOperation -> Ast.Expr+unaryOperationToExpr uo =++ let op = Syntax.unaryOperationOperator uo+ operand = Syntax.unaryOperationOperand uo+ in (Serialization.spaceSep [+ unaryOperatorToExpr op,+ (unaryExpressionToExpr operand)])++-- | Convert a unary operator to an expression+unaryOperatorToExpr :: Syntax.UnaryOperator -> Ast.Expr+unaryOperatorToExpr op =+ case op of+ Syntax.UnaryOperatorPlus -> Serialization.cst "+"+ Syntax.UnaryOperatorMinus -> Serialization.cst "-"+ Syntax.UnaryOperatorLogicalNot -> Serialization.cst "!"+ Syntax.UnaryOperatorBitwiseNot -> Serialization.cst "~"+ Syntax.UnaryOperatorDereference -> Serialization.cst "*"+ Syntax.UnaryOperatorAddressOf -> Serialization.cst "&"+ Syntax.UnaryOperatorPreIncrement -> Serialization.cst "++"+ Syntax.UnaryOperatorPreDecrement -> Serialization.cst "--"++-- | Convert an undef directive to an expression+undefDirectiveToExpr :: Syntax.UndefDirective -> Ast.Expr+undefDirectiveToExpr ud =+ Serialization.spaceSep [+ Serialization.cst "#undef",+ (Serialization.cst (Syntax.undefDirectiveName ud))]++-- | Convert a variable declaration to an expression+variableDeclarationToExpr :: Bool -> Syntax.VariableDeclaration -> Ast.Expr+variableDeclarationToExpr commas vd =++ let typ = Syntax.variableDeclarationType vd+ name = Syntax.variableDeclarationName vd+ init = Syntax.variableDeclarationInitializer vd+ isAuto = Syntax.variableDeclarationIsAuto vd+ terminator = Logic.ifElse commas Serialization.withComma Serialization.withSemi+ in (terminator (Serialization.spaceSep (Lists.concat [+ Logic.ifElse isAuto [+ Serialization.cst "auto"] (Optionals.match typ [] (\t -> [+ typeExpressionToExpr t])),+ [+ Serialization.cst name],+ (Optionals.match init [] (\expr -> [+ Serialization.cst "=",+ (expressionToExpr expr)]))])))++-- | Convert a vector to an expression+vectorToExpr :: Syntax.Vector -> Ast.Expr+vectorToExpr v =++ let elemType = Syntax.vectorElementType v+ elems = Syntax.vectorElements v+ in (Serialization.spaceSep [+ Serialization.cst "std::vector<",+ (typeExpressionToExpr elemType),+ (Serialization.cst ">"),+ (Serialization.curlyBracesList Nothing Serialization.inlineStyle (Lists.map expressionToExpr elems))])++-- | Convert a visitor to an expression+visitorToExpr :: Syntax.Visitor -> Ast.Expr+visitorToExpr v =+ case v of+ Syntax.VisitorLambda v0 -> lambdaExpressionToExpr v0+ Syntax.VisitorOverloaded v0 -> overloadedLambdasToExpr v0++-- | Convert a warning directive to an expression+warningDirectiveToExpr :: Syntax.WarningDirective -> Ast.Expr+warningDirectiveToExpr wd =+ Serialization.spaceSep [+ Serialization.cst "#warning",+ (Serialization.cst (Syntax.warningDirectiveMessage wd))]++-- | Convert a while statement to an expression+whileStatementToExpr :: Syntax.WhileStatement -> Ast.Expr+whileStatementToExpr ws =++ let cond = Syntax.whileStatementCondition ws+ body = Syntax.whileStatementBody ws+ in (Serialization.newlineSep [+ Serialization.spaceSep [+ Serialization.cst "while",+ (Serialization.parens (expressionToExpr cond))],+ (statementToExpr body)])
+ src/main/haskell/Hydra/Ext/Cpp/Syntax.hs view
@@ -0,0 +1,2033 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A C++ syntax model, focusing on features for representing algebraic data types and declarative computations++module Hydra.Ext.Cpp.Syntax where++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++-- | A C++ member or base-class access specifier: public, protected, or private+data AccessSpecifier =+ AccessSpecifierPublic |+ AccessSpecifierProtected |+ AccessSpecifierPrivate |+ AccessSpecifierNone+ deriving (Eq, Ord, Read, Show)++_AccessSpecifier = Model.Name "hydra.ext.cpp.syntax.AccessSpecifier"++_AccessSpecifier_public = Model.Name "public"++_AccessSpecifier_protected = Model.Name "protected"++_AccessSpecifier_private = Model.Name "private"++_AccessSpecifier_none = Model.Name "none"++-- | A C++ binary addition expression (left + right)+data AddOperation =+ AddOperation {+ addOperationLeft :: AdditiveExpression,+ addOperationRight :: MultiplicativeExpression}+ deriving (Eq, Ord, Read, Show)++_AddOperation = Model.Name "hydra.ext.cpp.syntax.AddOperation"++_AddOperation_left = Model.Name "left"++_AddOperation_right = Model.Name "right"++-- | A C++ additive-expression: a multiplicative expression, an addition, or a subtraction+data AdditiveExpression =+ AdditiveExpressionMultiplicative MultiplicativeExpression |+ AdditiveExpressionAdd AddOperation |+ AdditiveExpressionSubtract SubtractOperation+ deriving (Eq, Ord, Read, Show)++_AdditiveExpression = Model.Name "hydra.ext.cpp.syntax.AdditiveExpression"++_AdditiveExpression_multiplicative = Model.Name "multiplicative"++_AdditiveExpression_add = Model.Name "add"++_AdditiveExpression_subtract = Model.Name "subtract"++-- | A C++ and-expression: an equality expression or a bitwise AND operation+data AndExpression =+ AndExpressionEquality EqualityExpression |+ AndExpressionBitwiseAnd BitwiseAndOperation+ deriving (Eq, Ord, Read, Show)++_AndExpression = Model.Name "hydra.ext.cpp.syntax.AndExpression"++_AndExpression_equality = Model.Name "equality"++_AndExpression_bitwiseAnd = Model.Name "bitwiseAnd"++-- | A C++ assignment-expression: a conditional expression or an explicit assignment+data AssignmentExpression =+ AssignmentExpressionConditional ConditionalExpression |+ AssignmentExpressionAssignment ExplicitAssignment+ deriving (Eq, Ord, Read, Show)++_AssignmentExpression = Model.Name "hydra.ext.cpp.syntax.AssignmentExpression"++_AssignmentExpression_conditional = Model.Name "conditional"++_AssignmentExpression_assignment = Model.Name "assignment"++-- | A C++ assignment operator, such as =, +=, or <<=+data AssignmentOperator =+ AssignmentOperatorAssign |+ AssignmentOperatorPlusAssign |+ AssignmentOperatorMinusAssign |+ AssignmentOperatorMultiplyAssign |+ AssignmentOperatorDivideAssign |+ AssignmentOperatorModuloAssign |+ AssignmentOperatorLeftShiftAssign |+ AssignmentOperatorRightShiftAssign |+ AssignmentOperatorBitwiseAndAssign |+ AssignmentOperatorBitwiseXorAssign |+ AssignmentOperatorBitwiseOrAssign+ deriving (Eq, Ord, Read, Show)++_AssignmentOperator = Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"++_AssignmentOperator_assign = Model.Name "assign"++_AssignmentOperator_plusAssign = Model.Name "plusAssign"++_AssignmentOperator_minusAssign = Model.Name "minusAssign"++_AssignmentOperator_multiplyAssign = Model.Name "multiplyAssign"++_AssignmentOperator_divideAssign = Model.Name "divideAssign"++_AssignmentOperator_moduloAssign = Model.Name "moduloAssign"++_AssignmentOperator_leftShiftAssign = Model.Name "leftShiftAssign"++_AssignmentOperator_rightShiftAssign = Model.Name "rightShiftAssign"++_AssignmentOperator_bitwiseAndAssign = Model.Name "bitwiseAndAssign"++_AssignmentOperator_bitwiseXorAssign = Model.Name "bitwiseXorAssign"++_AssignmentOperator_bitwiseOrAssign = Model.Name "bitwiseOrAssign"++-- | A C++ base class specifier within a class's inheritance list+data BaseSpecifier =+ BaseSpecifier {+ baseSpecifierAccess :: AccessSpecifier,+ baseSpecifierName :: String}+ deriving (Eq, Ord, Read, Show)++_BaseSpecifier = Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"++_BaseSpecifier_access = Model.Name "access"++_BaseSpecifier_name = Model.Name "name"++-- | A C++ built-in or named basic type+data BasicType =+ BasicTypeVoid |+ BasicTypeBool |+ BasicTypeChar |+ BasicTypeInt |+ BasicTypeFloat |+ BasicTypeDouble |+ BasicTypeString |+ BasicTypeAuto |+ BasicTypeNamed String+ deriving (Eq, Ord, Read, Show)++_BasicType = Model.Name "hydra.ext.cpp.syntax.BasicType"++_BasicType_void = Model.Name "void"++_BasicType_bool = Model.Name "bool"++_BasicType_char = Model.Name "char"++_BasicType_int = Model.Name "int"++_BasicType_float = Model.Name "float"++_BasicType_double = Model.Name "double"++_BasicType_string = Model.Name "string"++_BasicType_auto = Model.Name "auto"++_BasicType_named = Model.Name "named"++-- | A C++ binary operator+data BinaryOperator =+ BinaryOperatorPlus |+ BinaryOperatorMinus |+ BinaryOperatorMultiply |+ BinaryOperatorDivide |+ BinaryOperatorModulo |+ BinaryOperatorBitwiseAnd |+ BinaryOperatorBitwiseOr |+ BinaryOperatorBitwiseXor |+ BinaryOperatorLogicalAnd |+ BinaryOperatorLogicalOr |+ BinaryOperatorEqual |+ BinaryOperatorNotEqual |+ BinaryOperatorLess |+ BinaryOperatorGreater |+ BinaryOperatorLessEqual |+ BinaryOperatorGreaterEqual |+ BinaryOperatorLeftShift |+ BinaryOperatorRightShift+ deriving (Eq, Ord, Read, Show)++_BinaryOperator = Model.Name "hydra.ext.cpp.syntax.BinaryOperator"++_BinaryOperator_plus = Model.Name "plus"++_BinaryOperator_minus = Model.Name "minus"++_BinaryOperator_multiply = Model.Name "multiply"++_BinaryOperator_divide = Model.Name "divide"++_BinaryOperator_modulo = Model.Name "modulo"++_BinaryOperator_bitwiseAnd = Model.Name "bitwiseAnd"++_BinaryOperator_bitwiseOr = Model.Name "bitwiseOr"++_BinaryOperator_bitwiseXor = Model.Name "bitwiseXor"++_BinaryOperator_logicalAnd = Model.Name "logicalAnd"++_BinaryOperator_logicalOr = Model.Name "logicalOr"++_BinaryOperator_equal = Model.Name "equal"++_BinaryOperator_notEqual = Model.Name "notEqual"++_BinaryOperator_less = Model.Name "less"++_BinaryOperator_greater = Model.Name "greater"++_BinaryOperator_lessEqual = Model.Name "lessEqual"++_BinaryOperator_greaterEqual = Model.Name "greaterEqual"++_BinaryOperator_leftShift = Model.Name "leftShift"++_BinaryOperator_rightShift = Model.Name "rightShift"++-- | A C++ bitwise AND expression (left & right)+data BitwiseAndOperation =+ BitwiseAndOperation {+ bitwiseAndOperationLeft :: AndExpression,+ bitwiseAndOperationRight :: EqualityExpression}+ deriving (Eq, Ord, Read, Show)++_BitwiseAndOperation = Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"++_BitwiseAndOperation_left = Model.Name "left"++_BitwiseAndOperation_right = Model.Name "right"++-- | A C++ bitwise OR expression (left | right)+data BitwiseOrOperation =+ BitwiseOrOperation {+ bitwiseOrOperationLeft :: InclusiveOrExpression,+ bitwiseOrOperationRight :: ExclusiveOrExpression}+ deriving (Eq, Ord, Read, Show)++_BitwiseOrOperation = Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"++_BitwiseOrOperation_left = Model.Name "left"++_BitwiseOrOperation_right = Model.Name "right"++-- | A C++ bitwise XOR expression (left ^ right)+data BitwiseXorOperation =+ BitwiseXorOperation {+ bitwiseXorOperationLeft :: ExclusiveOrExpression,+ bitwiseXorOperationRight :: AndExpression}+ deriving (Eq, Ord, Read, Show)++_BitwiseXorOperation = Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"++_BitwiseXorOperation_left = Model.Name "left"++_BitwiseXorOperation_right = Model.Name "right"++-- | A C++ boolean literal (true or false)+newtype BooleanLiteral =+ BooleanLiteral {+ unBooleanLiteral :: Bool}+ deriving (Eq, Ord, Read, Show)++_BooleanLiteral = Model.Name "hydra.ext.cpp.syntax.BooleanLiteral"++-- | A single variable captured by a C++ lambda expression+data Capture =+ Capture {+ captureName :: String,+ captureByReference :: Bool}+ deriving (Eq, Ord, Read, Show)++_Capture = Model.Name "hydra.ext.cpp.syntax.Capture"++_Capture_name = Model.Name "name"++_Capture_byReference = Model.Name "byReference"++-- | A C++ lambda capture list: capture-by-value ([=]) or an explicit list of captures+data CaptureList =+ CaptureListCaptureByValue |+ CaptureListCaptures [Capture]+ deriving (Eq, Ord, Read, Show)++_CaptureList = Model.Name "hydra.ext.cpp.syntax.CaptureList"++_CaptureList_captureByValue = Model.Name "captureByValue"++_CaptureList_captures = Model.Name "captures"++-- | A single case or default branch of a C++ switch statement+data CaseStatement =+ CaseStatementCase CaseValue |+ CaseStatementDefault Statement+ deriving (Eq, Ord, Read, Show)++_CaseStatement = Model.Name "hydra.ext.cpp.syntax.CaseStatement"++_CaseStatement_case = Model.Name "case"++_CaseStatement_default = Model.Name "default"++-- | A C++ switch case label together with its associated statement+data CaseValue =+ CaseValue {+ caseValueValue :: Expression,+ caseValueStatement :: Statement}+ deriving (Eq, Ord, Read, Show)++_CaseValue = Model.Name "hydra.ext.cpp.syntax.CaseValue"++_CaseValue_value = Model.Name "value"++_CaseValue_statement = Model.Name "statement"++-- | A C++ character literal+newtype CharacterLiteral =+ CharacterLiteral {+ unCharacterLiteral :: String}+ deriving (Eq, Ord, Read, Show)++_CharacterLiteral = Model.Name "hydra.ext.cpp.syntax.CharacterLiteral"++-- | The body of a C++ class, struct, or enum declaration: a list of member specifications+newtype ClassBody =+ ClassBody {+ unClassBody :: [MemberSpecification]}+ deriving (Eq, Ord, Read, Show)++_ClassBody = Model.Name "hydra.ext.cpp.syntax.ClassBody"++-- | A C++ class, struct, or enum declaration, with an optional body+data ClassDeclaration =+ ClassDeclaration {+ classDeclarationSpecifier :: ClassSpecifier,+ classDeclarationBody :: (Maybe ClassBody)}+ deriving (Eq, Ord, Read, Show)++_ClassDeclaration = Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"++_ClassDeclaration_specifier = Model.Name "specifier"++_ClassDeclaration_body = Model.Name "body"++-- | The keyword introducing a C++ class-like declaration: class, enum, enum class, or struct+data ClassKey =+ ClassKeyClass |+ ClassKeyEnum |+ ClassKeyEnumClass |+ ClassKeyStruct+ deriving (Eq, Ord, Read, Show)++_ClassKey = Model.Name "hydra.ext.cpp.syntax.ClassKey"++_ClassKey_class = Model.Name "class"++_ClassKey_enum = Model.Name "enum"++_ClassKey_enumClass = Model.Name "enumClass"++_ClassKey_struct = Model.Name "struct"++-- | The head of a C++ class declaration: its key, name, and base class list+data ClassSpecifier =+ ClassSpecifier {+ classSpecifierKey :: ClassKey,+ classSpecifierName :: String,+ classSpecifierInheritance :: [BaseSpecifier]}+ deriving (Eq, Ord, Read, Show)++_ClassSpecifier = Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"++_ClassSpecifier_key = Model.Name "key"++_ClassSpecifier_name = Model.Name "name"++_ClassSpecifier_inheritance = Model.Name "inheritance"++-- | A C++ comma expression (left, right)+data CommaExpression =+ CommaExpression {+ commaExpressionLeft :: Expression,+ commaExpressionRight :: AssignmentExpression}+ deriving (Eq, Ord, Read, Show)++_CommaExpression = Model.Name "hydra.ext.cpp.syntax.CommaExpression"++_CommaExpression_left = Model.Name "left"++_CommaExpression_right = Model.Name "right"++-- | A C++ line or block comment+data Comment =+ Comment {+ commentText :: String,+ commentIsMultiline :: Bool}+ deriving (Eq, Ord, Read, Show)++_Comment = Model.Name "hydra.ext.cpp.syntax.Comment"++_Comment_text = Model.Name "text"++_Comment_isMultiline = Model.Name "isMultiline"++-- | A C++ compound statement: a brace-enclosed block of statements+newtype CompoundStatement =+ CompoundStatement {+ unCompoundStatement :: [Statement]}+ deriving (Eq, Ord, Read, Show)++_CompoundStatement = Model.Name "hydra.ext.cpp.syntax.CompoundStatement"++-- | A C++ conditional-expression: a logical-or expression or a ternary expression+data ConditionalExpression =+ ConditionalExpressionLogicalOr LogicalOrExpression |+ ConditionalExpressionTernary TernaryExpression+ deriving (Eq, Ord, Read, Show)++_ConditionalExpression = Model.Name "hydra.ext.cpp.syntax.ConditionalExpression"++_ConditionalExpression_logicalOr = Model.Name "logicalOr"++_ConditionalExpression_ternary = Model.Name "ternary"++-- | A C++ constructor declaration, with parameters, member initializers, and a body+data ConstructorDeclaration =+ ConstructorDeclaration {+ constructorDeclarationName :: String,+ constructorDeclarationParameters :: [Parameter],+ constructorDeclarationInitializers :: [MemInitializer],+ constructorDeclarationBody :: FunctionBody}+ deriving (Eq, Ord, Read, Show)++_ConstructorDeclaration = Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"++_ConstructorDeclaration_name = Model.Name "name"++_ConstructorDeclaration_parameters = Model.Name "parameters"++_ConstructorDeclaration_initializers = Model.Name "initializers"++_ConstructorDeclaration_body = Model.Name "body"++-- | A declaration of a standard-library container type alias: list, map, set, or optional+data ContainerDeclaration =+ ContainerDeclarationList ListDeclaration |+ ContainerDeclarationMap MapDeclaration |+ ContainerDeclarationSet SetDeclaration |+ ContainerDeclarationOptional OptionalDeclaration+ deriving (Eq, Ord, Read, Show)++_ContainerDeclaration = Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration"++_ContainerDeclaration_list = Model.Name "list"++_ContainerDeclaration_map = Model.Name "map"++_ContainerDeclaration_set = Model.Name "set"++_ContainerDeclaration_optional = Model.Name "optional"++-- | A top-level C++ declaration+data Declaration =+ DeclarationPreprocessor PreprocessorDirective |+ DeclarationClass ClassDeclaration |+ DeclarationFunction FunctionDeclaration |+ DeclarationVariable VariableDeclaration |+ DeclarationTypedef TypedefDeclaration |+ DeclarationNamespace NamespaceDeclaration |+ DeclarationTemplate TemplateDeclaration+ deriving (Eq, Ord, Read, Show)++_Declaration = Model.Name "hydra.ext.cpp.syntax.Declaration"++_Declaration_preprocessor = Model.Name "preprocessor"++_Declaration_class = Model.Name "class"++_Declaration_function = Model.Name "function"++_Declaration_variable = Model.Name "variable"++_Declaration_typedef = Model.Name "typedef"++_Declaration_namespace = Model.Name "namespace"++_Declaration_template = Model.Name "template"++-- | A C preprocessor #define directive, optionally function-like+data DefineDirective =+ DefineDirective {+ defineDirectiveName :: String,+ defineDirectiveParameters :: (Maybe [String]),+ defineDirectiveReplacement :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_DefineDirective = Model.Name "hydra.ext.cpp.syntax.DefineDirective"++_DefineDirective_name = Model.Name "name"++_DefineDirective_parameters = Model.Name "parameters"++_DefineDirective_replacement = Model.Name "replacement"++-- | A C++ destructor declaration+data DestructorDeclaration =+ DestructorDeclaration {+ destructorDeclarationPrefixSpecifiers :: [FunctionSpecifierPrefix],+ destructorDeclarationName :: String,+ destructorDeclarationSuffixSpecifiers :: [FunctionSpecifierSuffix],+ destructorDeclarationBody :: FunctionBody}+ deriving (Eq, Ord, Read, Show)++_DestructorDeclaration = Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"++_DestructorDeclaration_prefixSpecifiers = Model.Name "prefixSpecifiers"++_DestructorDeclaration_name = Model.Name "name"++_DestructorDeclaration_suffixSpecifiers = Model.Name "suffixSpecifiers"++_DestructorDeclaration_body = Model.Name "body"++-- | A C++ division expression (left / right)+data DivideOperation =+ DivideOperation {+ divideOperationLeft :: MultiplicativeExpression,+ divideOperationRight :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_DivideOperation = Model.Name "hydra.ext.cpp.syntax.DivideOperation"++_DivideOperation_left = Model.Name "left"++_DivideOperation_right = Model.Name "right"++-- | A C++ do-while statement+data DoStatement =+ DoStatement {+ doStatementBody :: Statement,+ doStatementCondition :: Expression}+ deriving (Eq, Ord, Read, Show)++_DoStatement = Model.Name "hydra.ext.cpp.syntax.DoStatement"++_DoStatement_body = Model.Name "body"++_DoStatement_condition = Model.Name "condition"++-- | A C preprocessor #elif directive+data ElifDirective =+ ElifDirective {+ elifDirectiveCondition :: String}+ deriving (Eq, Ord, Read, Show)++_ElifDirective = Model.Name "hydra.ext.cpp.syntax.ElifDirective"++_ElifDirective_condition = Model.Name "condition"++-- | A C preprocessor #else directive+type ElseDirective = ()++_ElseDirective = Model.Name "hydra.ext.cpp.syntax.ElseDirective"++-- | A C preprocessor #endif directive+type EndifDirective = ()++_EndifDirective = Model.Name "hydra.ext.cpp.syntax.EndifDirective"++-- | A C++ equality comparison expression (left == right)+data EqualOperation =+ EqualOperation {+ equalOperationLeft :: EqualityExpression,+ equalOperationRight :: RelationalExpression}+ deriving (Eq, Ord, Read, Show)++_EqualOperation = Model.Name "hydra.ext.cpp.syntax.EqualOperation"++_EqualOperation_left = Model.Name "left"++_EqualOperation_right = Model.Name "right"++-- | A C++ equality-expression: a relational expression, an equality, or an inequality+data EqualityExpression =+ EqualityExpressionRelational RelationalExpression |+ EqualityExpressionEqual EqualOperation |+ EqualityExpressionNotEqual NotEqualOperation+ deriving (Eq, Ord, Read, Show)++_EqualityExpression = Model.Name "hydra.ext.cpp.syntax.EqualityExpression"++_EqualityExpression_relational = Model.Name "relational"++_EqualityExpression_equal = Model.Name "equal"++_EqualityExpression_notEqual = Model.Name "notEqual"++-- | A C preprocessor #error directive+data ErrorDirective =+ ErrorDirective {+ errorDirectiveMessage :: String}+ deriving (Eq, Ord, Read, Show)++_ErrorDirective = Model.Name "hydra.ext.cpp.syntax.ErrorDirective"++_ErrorDirective_message = Model.Name "message"++-- | A C++ exclusive-or-expression: an and expression or a bitwise XOR operation+data ExclusiveOrExpression =+ ExclusiveOrExpressionAnd AndExpression |+ ExclusiveOrExpressionBitwiseXor BitwiseXorOperation+ deriving (Eq, Ord, Read, Show)++_ExclusiveOrExpression = Model.Name "hydra.ext.cpp.syntax.ExclusiveOrExpression"++_ExclusiveOrExpression_and = Model.Name "and"++_ExclusiveOrExpression_bitwiseXor = Model.Name "bitwiseXor"++-- | A C++ assignment expression with an explicit operator (e.g. left += right)+data ExplicitAssignment =+ ExplicitAssignment {+ explicitAssignmentLeft :: LogicalOrExpression,+ explicitAssignmentOp :: AssignmentOperator,+ explicitAssignmentRight :: AssignmentExpression}+ deriving (Eq, Ord, Read, Show)++_ExplicitAssignment = Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"++_ExplicitAssignment_left = Model.Name "left"++_ExplicitAssignment_op = Model.Name "op"++_ExplicitAssignment_right = Model.Name "right"++-- | A C++ expression: an assignment expression or a comma expression+data Expression =+ ExpressionAssignment AssignmentExpression |+ ExpressionComma CommaExpression+ deriving (Eq, Ord, Read, Show)++_Expression = Model.Name "hydra.ext.cpp.syntax.Expression"++_Expression_assignment = Model.Name "assignment"++_Expression_comma = Model.Name "comma"++-- | A C++ expression statement: an expression followed by a semicolon+newtype ExpressionStatement =+ ExpressionStatement {+ unExpressionStatement :: Expression}+ deriving (Eq, Ord, Read, Show)++_ExpressionStatement = Model.Name "hydra.ext.cpp.syntax.ExpressionStatement"++-- | A C++ floating-point literal+newtype FloatingLiteral =+ FloatingLiteral {+ unFloatingLiteral :: Double}+ deriving (Eq, Ord, Read, Show)++_FloatingLiteral = Model.Name "hydra.ext.cpp.syntax.FloatingLiteral"++-- | The initializer clause of a C++ for statement: an expression, a declaration, or empty+data ForInit =+ ForInitExpression Expression |+ ForInitDeclaration VariableDeclaration |+ ForInitEmpty+ deriving (Eq, Ord, Read, Show)++_ForInit = Model.Name "hydra.ext.cpp.syntax.ForInit"++_ForInit_expression = Model.Name "expression"++_ForInit_declaration = Model.Name "declaration"++_ForInit_empty = Model.Name "empty"++-- | A C++ for statement+data ForStatement =+ ForStatement {+ forStatementInit :: ForInit,+ forStatementCondition :: Expression,+ forStatementIncrement :: Expression,+ forStatementBody :: Statement}+ deriving (Eq, Ord, Read, Show)++_ForStatement = Model.Name "hydra.ext.cpp.syntax.ForStatement"++_ForStatement_init = Model.Name "init"++_ForStatement_condition = Model.Name "condition"++_ForStatement_increment = Model.Name "increment"++_ForStatement_body = Model.Name "body"++-- | A simplified function call: a function identifier applied to a list of arguments+data FunctionApplication =+ FunctionApplication {+ functionApplicationFunction :: FunctionIdentifier,+ functionApplicationArguments :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_FunctionApplication = Model.Name "hydra.ext.cpp.syntax.FunctionApplication"++_FunctionApplication_function = Model.Name "function"++_FunctionApplication_arguments = Model.Name "arguments"++-- | The body of a C++ function: a compound statement, or a declaration-only/pure/default marker+data FunctionBody =+ FunctionBodyCompound CompoundStatement |+ FunctionBodyDeclaration |+ FunctionBodyPure |+ FunctionBodyDefault+ deriving (Eq, Ord, Read, Show)++_FunctionBody = Model.Name "hydra.ext.cpp.syntax.FunctionBody"++_FunctionBody_compound = Model.Name "compound"++_FunctionBody_declaration = Model.Name "declaration"++_FunctionBody_pure = Model.Name "pure"++_FunctionBody_default = Model.Name "default"++-- | A C++ function call expression: a postfix expression applied to arguments+data FunctionCallOperation =+ FunctionCallOperation {+ functionCallOperationFunction :: PostfixExpression,+ functionCallOperationArguments :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_FunctionCallOperation = Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"++_FunctionCallOperation_function = Model.Name "function"++_FunctionCallOperation_arguments = Model.Name "arguments"++-- | A C++ function declaration or definition+data FunctionDeclaration =+ FunctionDeclaration {+ functionDeclarationPrefixSpecifiers :: [FunctionSpecifierPrefix],+ functionDeclarationReturnType :: TypeExpression,+ functionDeclarationName :: String,+ functionDeclarationParameters :: [Parameter],+ functionDeclarationSuffixSpecifiers :: [FunctionSpecifierSuffix],+ functionDeclarationBody :: FunctionBody}+ deriving (Eq, Ord, Read, Show)++_FunctionDeclaration = Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"++_FunctionDeclaration_prefixSpecifiers = Model.Name "prefixSpecifiers"++_FunctionDeclaration_returnType = Model.Name "returnType"++_FunctionDeclaration_name = Model.Name "name"++_FunctionDeclaration_parameters = Model.Name "parameters"++_FunctionDeclaration_suffixSpecifiers = Model.Name "suffixSpecifiers"++_FunctionDeclaration_body = Model.Name "body"++-- | The identifier of a called function: a simple name or a qualified name+data FunctionIdentifier =+ FunctionIdentifierSimple String |+ FunctionIdentifierQualified QualifiedIdentifier+ deriving (Eq, Ord, Read, Show)++_FunctionIdentifier = Model.Name "hydra.ext.cpp.syntax.FunctionIdentifier"++_FunctionIdentifier_simple = Model.Name "simple"++_FunctionIdentifier_qualified = Model.Name "qualified"++-- | A C++ function specifier that appears before the declaration: inline, virtual, static, or explicit+data FunctionSpecifierPrefix =+ FunctionSpecifierPrefixInline |+ FunctionSpecifierPrefixVirtual |+ FunctionSpecifierPrefixStatic |+ FunctionSpecifierPrefixExplicit+ deriving (Eq, Ord, Read, Show)++_FunctionSpecifierPrefix = Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix"++_FunctionSpecifierPrefix_inline = Model.Name "inline"++_FunctionSpecifierPrefix_virtual = Model.Name "virtual"++_FunctionSpecifierPrefix_static = Model.Name "static"++_FunctionSpecifierPrefix_explicit = Model.Name "explicit"++-- | A C++ function specifier that appears after the parameter list: const, noexcept, override, or final+data FunctionSpecifierSuffix =+ FunctionSpecifierSuffixConst |+ FunctionSpecifierSuffixNoexcept |+ FunctionSpecifierSuffixOverride |+ FunctionSpecifierSuffixFinal+ deriving (Eq, Ord, Read, Show)++_FunctionSpecifierSuffix = Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix"++_FunctionSpecifierSuffix_const = Model.Name "const"++_FunctionSpecifierSuffix_noexcept = Model.Name "noexcept"++_FunctionSpecifierSuffix_override = Model.Name "override"++_FunctionSpecifierSuffix_final = Model.Name "final"++-- | A C++ function type: a return type together with parameter types+data FunctionType =+ FunctionType {+ functionTypeReturnType :: TypeExpression,+ functionTypeParameters :: [Parameter]}+ deriving (Eq, Ord, Read, Show)++_FunctionType = Model.Name "hydra.ext.cpp.syntax.FunctionType"++_FunctionType_returnType = Model.Name "returnType"++_FunctionType_parameters = Model.Name "parameters"++-- | A C++ greater-than-or-equal comparison expression (left >= right)+data GreaterEqualOperation =+ GreaterEqualOperation {+ greaterEqualOperationLeft :: RelationalExpression,+ greaterEqualOperationRight :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_GreaterEqualOperation = Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"++_GreaterEqualOperation_left = Model.Name "left"++_GreaterEqualOperation_right = Model.Name "right"++-- | A C++ greater-than comparison expression (left > right)+data GreaterOperation =+ GreaterOperation {+ greaterOperationLeft :: RelationalExpression,+ greaterOperationRight :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_GreaterOperation = Model.Name "hydra.ext.cpp.syntax.GreaterOperation"++_GreaterOperation_left = Model.Name "left"++_GreaterOperation_right = Model.Name "right"++-- | A C++ identifier+type Identifier = String++_Identifier = Model.Name "hydra.ext.cpp.syntax.Identifier"++-- | A C preprocessor #if directive+data IfDirective =+ IfDirective {+ ifDirectiveCondition :: String}+ deriving (Eq, Ord, Read, Show)++_IfDirective = Model.Name "hydra.ext.cpp.syntax.IfDirective"++_IfDirective_condition = Model.Name "condition"++-- | A C preprocessor #ifdef directive+data IfdefDirective =+ IfdefDirective {+ ifdefDirectiveIdentifier :: String}+ deriving (Eq, Ord, Read, Show)++_IfdefDirective = Model.Name "hydra.ext.cpp.syntax.IfdefDirective"++_IfdefDirective_identifier = Model.Name "identifier"++-- | A C preprocessor #ifndef directive+data IfndefDirective =+ IfndefDirective {+ ifndefDirectiveIdentifier :: String}+ deriving (Eq, Ord, Read, Show)++_IfndefDirective = Model.Name "hydra.ext.cpp.syntax.IfndefDirective"++_IfndefDirective_identifier = Model.Name "identifier"++-- | A C preprocessor #include directive, for a system or local header+data IncludeDirective =+ IncludeDirective {+ includeDirectiveName :: String,+ includeDirectiveIsSystem :: Bool}+ deriving (Eq, Ord, Read, Show)++_IncludeDirective = Model.Name "hydra.ext.cpp.syntax.IncludeDirective"++_IncludeDirective_name = Model.Name "name"++_IncludeDirective_isSystem = Model.Name "isSystem"++-- | A C++ inclusive-or-expression: an exclusive-or expression or a bitwise OR operation+data InclusiveOrExpression =+ InclusiveOrExpressionExclusiveOr ExclusiveOrExpression |+ InclusiveOrExpressionBitwiseOr BitwiseOrOperation+ deriving (Eq, Ord, Read, Show)++_InclusiveOrExpression = Model.Name "hydra.ext.cpp.syntax.InclusiveOrExpression"++_InclusiveOrExpression_exclusiveOr = Model.Name "exclusiveOr"++_InclusiveOrExpression_bitwiseOr = Model.Name "bitwiseOr"++-- | A C++ integer literal, in decimal, hexadecimal, octal, or binary form+data IntegerLiteral =+ IntegerLiteralDecimal Integer |+ IntegerLiteralHexadecimal String |+ IntegerLiteralOctal String |+ IntegerLiteralBinary String+ deriving (Eq, Ord, Read, Show)++_IntegerLiteral = Model.Name "hydra.ext.cpp.syntax.IntegerLiteral"++_IntegerLiteral_decimal = Model.Name "decimal"++_IntegerLiteral_hexadecimal = Model.Name "hexadecimal"++_IntegerLiteral_octal = Model.Name "octal"++_IntegerLiteral_binary = Model.Name "binary"++-- | A C++ iteration statement: while, do-while, for, or range-based for+data IterationStatement =+ IterationStatementWhile WhileStatement |+ IterationStatementDo DoStatement |+ IterationStatementFor ForStatement |+ IterationStatementRangeFor RangeForStatement+ deriving (Eq, Ord, Read, Show)++_IterationStatement = Model.Name "hydra.ext.cpp.syntax.IterationStatement"++_IterationStatement_while = Model.Name "while"++_IterationStatement_do = Model.Name "do"++_IterationStatement_for = Model.Name "for"++_IterationStatement_rangeFor = Model.Name "rangeFor"++-- | A C++ jump statement: break, continue, return (with or without a value), or throw+data JumpStatement =+ JumpStatementBreak |+ JumpStatementContinue |+ JumpStatementReturnValue Expression |+ JumpStatementReturnVoid |+ JumpStatementThrow Expression+ deriving (Eq, Ord, Read, Show)++_JumpStatement = Model.Name "hydra.ext.cpp.syntax.JumpStatement"++_JumpStatement_break = Model.Name "break"++_JumpStatement_continue = Model.Name "continue"++_JumpStatement_returnValue = Model.Name "returnValue"++_JumpStatement_returnVoid = Model.Name "returnVoid"++_JumpStatement_throw = Model.Name "throw"++-- | A C++ labeled statement+data LabeledStatement =+ LabeledStatement {+ labeledStatementLabel :: String,+ labeledStatementStatement :: Statement}+ deriving (Eq, Ord, Read, Show)++_LabeledStatement = Model.Name "hydra.ext.cpp.syntax.LabeledStatement"++_LabeledStatement_label = Model.Name "label"++_LabeledStatement_statement = Model.Name "statement"++-- | A C++ lambda expression+data LambdaExpression =+ LambdaExpression {+ lambdaExpressionCaptures :: CaptureList,+ lambdaExpressionParameters :: [Parameter],+ lambdaExpressionReturnType :: (Maybe TypeExpression),+ lambdaExpressionBody :: CompoundStatement}+ deriving (Eq, Ord, Read, Show)++_LambdaExpression = Model.Name "hydra.ext.cpp.syntax.LambdaExpression"++_LambdaExpression_captures = Model.Name "captures"++_LambdaExpression_parameters = Model.Name "parameters"++_LambdaExpression_returnType = Model.Name "returnType"++_LambdaExpression_body = Model.Name "body"++-- | A C++ left shift expression (left << right)+data LeftShiftOperation =+ LeftShiftOperation {+ leftShiftOperationLeft :: ShiftExpression,+ leftShiftOperationRight :: AdditiveExpression}+ deriving (Eq, Ord, Read, Show)++_LeftShiftOperation = Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"++_LeftShiftOperation_left = Model.Name "left"++_LeftShiftOperation_right = Model.Name "right"++-- | A C++ less-than-or-equal comparison expression (left <= right)+data LessEqualOperation =+ LessEqualOperation {+ lessEqualOperationLeft :: RelationalExpression,+ lessEqualOperationRight :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_LessEqualOperation = Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"++_LessEqualOperation_left = Model.Name "left"++_LessEqualOperation_right = Model.Name "right"++-- | A C++ less-than comparison expression (left < right)+data LessOperation =+ LessOperation {+ lessOperationLeft :: RelationalExpression,+ lessOperationRight :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_LessOperation = Model.Name "hydra.ext.cpp.syntax.LessOperation"++_LessOperation_left = Model.Name "left"++_LessOperation_right = Model.Name "right"++-- | A C preprocessor #line directive+data LineDirective =+ LineDirective {+ lineDirectiveLineNumber :: Int,+ lineDirectiveFilename :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_LineDirective = Model.Name "hydra.ext.cpp.syntax.LineDirective"++_LineDirective_lineNumber = Model.Name "lineNumber"++_LineDirective_filename = Model.Name "filename"++-- | A declaration of a named std::vector type alias+data ListDeclaration =+ ListDeclaration {+ listDeclarationElementType :: TypeExpression,+ listDeclarationName :: String}+ deriving (Eq, Ord, Read, Show)++_ListDeclaration = Model.Name "hydra.ext.cpp.syntax.ListDeclaration"++_ListDeclaration_elementType = Model.Name "elementType"++_ListDeclaration_name = Model.Name "name"++-- | A C++ literal value+data Literal =+ LiteralInteger IntegerLiteral |+ LiteralFloating FloatingLiteral |+ LiteralCharacter CharacterLiteral |+ LiteralString StringLiteral |+ LiteralBoolean BooleanLiteral |+ LiteralNull+ deriving (Eq, Ord, Read, Show)++_Literal = Model.Name "hydra.ext.cpp.syntax.Literal"++_Literal_integer = Model.Name "integer"++_Literal_floating = Model.Name "floating"++_Literal_character = Model.Name "character"++_Literal_string = Model.Name "string"++_Literal_boolean = Model.Name "boolean"++_Literal_null = Model.Name "null"++-- | A C++ logical-and-expression: an inclusive-or expression or a logical AND operation+data LogicalAndExpression =+ LogicalAndExpressionInclusiveOr InclusiveOrExpression |+ LogicalAndExpressionLogicalAnd LogicalAndOperation+ deriving (Eq, Ord, Read, Show)++_LogicalAndExpression = Model.Name "hydra.ext.cpp.syntax.LogicalAndExpression"++_LogicalAndExpression_inclusiveOr = Model.Name "inclusiveOr"++_LogicalAndExpression_logicalAnd = Model.Name "logicalAnd"++-- | A C++ logical AND expression (left && right)+data LogicalAndOperation =+ LogicalAndOperation {+ logicalAndOperationLeft :: LogicalAndExpression,+ logicalAndOperationRight :: InclusiveOrExpression}+ deriving (Eq, Ord, Read, Show)++_LogicalAndOperation = Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"++_LogicalAndOperation_left = Model.Name "left"++_LogicalAndOperation_right = Model.Name "right"++-- | A C++ logical-or-expression: a logical-and expression or a logical OR operation+data LogicalOrExpression =+ LogicalOrExpressionLogicalAnd LogicalAndExpression |+ LogicalOrExpressionLogicalOr LogicalOrOperation+ deriving (Eq, Ord, Read, Show)++_LogicalOrExpression = Model.Name "hydra.ext.cpp.syntax.LogicalOrExpression"++_LogicalOrExpression_logicalAnd = Model.Name "logicalAnd"++_LogicalOrExpression_logicalOr = Model.Name "logicalOr"++-- | A C++ logical OR expression (left || right)+data LogicalOrOperation =+ LogicalOrOperation {+ logicalOrOperationLeft :: LogicalOrExpression,+ logicalOrOperationRight :: LogicalAndExpression}+ deriving (Eq, Ord, Read, Show)++_LogicalOrOperation = Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"++_LogicalOrOperation_left = Model.Name "left"++_LogicalOrOperation_right = Model.Name "right"++-- | A C++ std::map literal, with a key type, a value type, and entries+data Map =+ Map {+ mapKeyType :: TypeExpression,+ mapValueType :: TypeExpression,+ mapEntries :: [MapEntry]}+ deriving (Eq, Ord, Read, Show)++_Map = Model.Name "hydra.ext.cpp.syntax.Map"++_Map_keyType = Model.Name "keyType"++_Map_valueType = Model.Name "valueType"++_Map_entries = Model.Name "entries"++-- | A declaration of a named std::map type alias+data MapDeclaration =+ MapDeclaration {+ mapDeclarationKeyType :: TypeExpression,+ mapDeclarationValueType :: TypeExpression,+ mapDeclarationName :: String}+ deriving (Eq, Ord, Read, Show)++_MapDeclaration = Model.Name "hydra.ext.cpp.syntax.MapDeclaration"++_MapDeclaration_keyType = Model.Name "keyType"++_MapDeclaration_valueType = Model.Name "valueType"++_MapDeclaration_name = Model.Name "name"++-- | A single key/value entry in a C++ map literal+data MapEntry =+ MapEntry {+ mapEntryKey :: Expression,+ mapEntryValue :: Expression}+ deriving (Eq, Ord, Read, Show)++_MapEntry = Model.Name "hydra.ext.cpp.syntax.MapEntry"++_MapEntry_key = Model.Name "key"++_MapEntry_value = Model.Name "value"++-- | A C++ member initializer in a constructor's initializer list+data MemInitializer =+ MemInitializer {+ memInitializerName :: String,+ memInitializerArguments :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_MemInitializer = Model.Name "hydra.ext.cpp.syntax.MemInitializer"++_MemInitializer_name = Model.Name "name"++_MemInitializer_arguments = Model.Name "arguments"++-- | A C++ member access expression (object.member)+data MemberAccessOperation =+ MemberAccessOperation {+ memberAccessOperationObject :: PostfixExpression,+ memberAccessOperationMember :: String}+ deriving (Eq, Ord, Read, Show)++_MemberAccessOperation = Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"++_MemberAccessOperation_object = Model.Name "object"++_MemberAccessOperation_member = Model.Name "member"++-- | A single member declaration within a C++ class body+data MemberDeclaration =+ MemberDeclarationFunction FunctionDeclaration |+ MemberDeclarationVariable VariableDeclaration |+ MemberDeclarationConstructor ConstructorDeclaration |+ MemberDeclarationDestructor DestructorDeclaration |+ MemberDeclarationNestedClass ClassDeclaration |+ MemberDeclarationTemplate TemplateDeclaration+ deriving (Eq, Ord, Read, Show)++_MemberDeclaration = Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"++_MemberDeclaration_function = Model.Name "function"++_MemberDeclaration_variable = Model.Name "variable"++_MemberDeclaration_constructor = Model.Name "constructor"++_MemberDeclaration_destructor = Model.Name "destructor"++_MemberDeclaration_nestedClass = Model.Name "nestedClass"++_MemberDeclaration_template = Model.Name "template"++-- | An entry in a C++ class body: an access-level label or a member declaration+data MemberSpecification =+ MemberSpecificationAccessLabel AccessSpecifier |+ MemberSpecificationMember MemberDeclaration+ deriving (Eq, Ord, Read, Show)++_MemberSpecification = Model.Name "hydra.ext.cpp.syntax.MemberSpecification"++_MemberSpecification_accessLabel = Model.Name "accessLabel"++_MemberSpecification_member = Model.Name "member"++-- | A C++ modulo expression (left % right)+data ModuloOperation =+ ModuloOperation {+ moduloOperationLeft :: MultiplicativeExpression,+ moduloOperationRight :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_ModuloOperation = Model.Name "hydra.ext.cpp.syntax.ModuloOperation"++_ModuloOperation_left = Model.Name "left"++_ModuloOperation_right = Model.Name "right"++-- | A C++ multiplicative-expression: a unary expression, a multiplication, a division, or a modulo+data MultiplicativeExpression =+ MultiplicativeExpressionUnary UnaryExpression |+ MultiplicativeExpressionMultiply MultiplyOperation |+ MultiplicativeExpressionDivide DivideOperation |+ MultiplicativeExpressionModulo ModuloOperation+ deriving (Eq, Ord, Read, Show)++_MultiplicativeExpression = Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression"++_MultiplicativeExpression_unary = Model.Name "unary"++_MultiplicativeExpression_multiply = Model.Name "multiply"++_MultiplicativeExpression_divide = Model.Name "divide"++_MultiplicativeExpression_modulo = Model.Name "modulo"++-- | A C++ multiplication expression (left * right)+data MultiplyOperation =+ MultiplyOperation {+ multiplyOperationLeft :: MultiplicativeExpression,+ multiplyOperationRight :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_MultiplyOperation = Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"++_MultiplyOperation_left = Model.Name "left"++_MultiplyOperation_right = Model.Name "right"++-- | A C++ namespace declaration enclosing a list of declarations+data NamespaceDeclaration =+ NamespaceDeclaration {+ namespaceDeclarationName :: String,+ namespaceDeclarationDeclarations :: [Declaration]}+ deriving (Eq, Ord, Read, Show)++_NamespaceDeclaration = Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"++_NamespaceDeclaration_name = Model.Name "name"++_NamespaceDeclaration_declarations = Model.Name "declarations"++-- | A C++ inequality comparison expression (left != right)+data NotEqualOperation =+ NotEqualOperation {+ notEqualOperationLeft :: EqualityExpression,+ notEqualOperationRight :: RelationalExpression}+ deriving (Eq, Ord, Read, Show)++_NotEqualOperation = Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"++_NotEqualOperation_left = Model.Name "left"++_NotEqualOperation_right = Model.Name "right"++-- | A C++ std::optional literal, with a value type and an optional contained value+data Optional =+ Optional {+ optionalValueType :: TypeExpression,+ optionalValue :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_Optional = Model.Name "hydra.ext.cpp.syntax.Optional"++_Optional_valueType = Model.Name "valueType"++_Optional_value = Model.Name "value"++-- | A declaration of a named std::optional type alias+data OptionalDeclaration =+ OptionalDeclaration {+ optionalDeclarationValueType :: TypeExpression,+ optionalDeclarationName :: String}+ deriving (Eq, Ord, Read, Show)++_OptionalDeclaration = Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"++_OptionalDeclaration_valueType = Model.Name "valueType"++_OptionalDeclaration_name = Model.Name "name"++-- | A set of lambda expressions combined via an overload pattern (e.g. a visitor helper)+newtype OverloadedLambdas =+ OverloadedLambdas {+ unOverloadedLambdas :: [LambdaExpression]}+ deriving (Eq, Ord, Read, Show)++_OverloadedLambdas = Model.Name "hydra.ext.cpp.syntax.OverloadedLambdas"++-- | A C++ function or lambda parameter+data Parameter =+ Parameter {+ parameterType :: TypeExpression,+ parameterName :: String,+ parameterUnnamed :: Bool,+ parameterDefaultValue :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_Parameter = Model.Name "hydra.ext.cpp.syntax.Parameter"++_Parameter_type = Model.Name "type"++_Parameter_name = Model.Name "name"++_Parameter_unnamed = Model.Name "unnamed"++_Parameter_defaultValue = Model.Name "defaultValue"++-- | A std::visit-style pattern match: a visitor applied to a variant expression+data PatternMatch =+ PatternMatch {+ patternMatchVisitor :: Visitor,+ patternMatchVariant :: Expression}+ deriving (Eq, Ord, Read, Show)++_PatternMatch = Model.Name "hydra.ext.cpp.syntax.PatternMatch"++_PatternMatch_visitor = Model.Name "visitor"++_PatternMatch_variant = Model.Name "variant"++-- | A C++ pointer member access expression (pointer->member)+data PointerMemberAccessOperation =+ PointerMemberAccessOperation {+ pointerMemberAccessOperationPointer :: PostfixExpression,+ pointerMemberAccessOperationMember :: String}+ deriving (Eq, Ord, Read, Show)++_PointerMemberAccessOperation = Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"++_PointerMemberAccessOperation_pointer = Model.Name "pointer"++_PointerMemberAccessOperation_member = Model.Name "member"++-- | A C++ postfix-expression: a primary expression optionally followed by a postfix operation+data PostfixExpression =+ PostfixExpressionPrimary PrimaryExpression |+ PostfixExpressionSubscript SubscriptOperation |+ PostfixExpressionFunctionCall FunctionCallOperation |+ PostfixExpressionTemplateFunctionCall TemplateFunctionCallOperation |+ PostfixExpressionMemberAccess MemberAccessOperation |+ PostfixExpressionPointerMemberAccess PointerMemberAccessOperation |+ PostfixExpressionPostIncrement PostfixExpression |+ PostfixExpressionPostDecrement PostfixExpression+ deriving (Eq, Ord, Read, Show)++_PostfixExpression = Model.Name "hydra.ext.cpp.syntax.PostfixExpression"++_PostfixExpression_primary = Model.Name "primary"++_PostfixExpression_subscript = Model.Name "subscript"++_PostfixExpression_functionCall = Model.Name "functionCall"++_PostfixExpression_templateFunctionCall = Model.Name "templateFunctionCall"++_PostfixExpression_memberAccess = Model.Name "memberAccess"++_PostfixExpression_pointerMemberAccess = Model.Name "pointerMemberAccess"++_PostfixExpression_postIncrement = Model.Name "postIncrement"++_PostfixExpression_postDecrement = Model.Name "postDecrement"++-- | A C preprocessor #pragma directive+data PragmaDirective =+ PragmaDirective {+ pragmaDirectiveContent :: String}+ deriving (Eq, Ord, Read, Show)++_PragmaDirective = Model.Name "hydra.ext.cpp.syntax.PragmaDirective"++_PragmaDirective_content = Model.Name "content"++-- | A C preprocessor directive+data PreprocessorDirective =+ PreprocessorDirectiveInclude IncludeDirective |+ PreprocessorDirectivePragma PragmaDirective |+ PreprocessorDirectiveDefine DefineDirective |+ PreprocessorDirectiveUndef UndefDirective |+ PreprocessorDirectiveIfdef IfdefDirective |+ PreprocessorDirectiveIfndef IfndefDirective |+ PreprocessorDirectiveIf IfDirective |+ PreprocessorDirectiveElif ElifDirective |+ PreprocessorDirectiveElse ElseDirective |+ PreprocessorDirectiveEndif EndifDirective |+ PreprocessorDirectiveLine LineDirective |+ PreprocessorDirectiveError ErrorDirective |+ PreprocessorDirectiveWarning WarningDirective+ deriving (Eq, Ord, Read, Show)++_PreprocessorDirective = Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"++_PreprocessorDirective_include = Model.Name "include"++_PreprocessorDirective_pragma = Model.Name "pragma"++_PreprocessorDirective_define = Model.Name "define"++_PreprocessorDirective_undef = Model.Name "undef"++_PreprocessorDirective_ifdef = Model.Name "ifdef"++_PreprocessorDirective_ifndef = Model.Name "ifndef"++_PreprocessorDirective_if = Model.Name "if"++_PreprocessorDirective_elif = Model.Name "elif"++_PreprocessorDirective_else = Model.Name "else"++_PreprocessorDirective_endif = Model.Name "endif"++_PreprocessorDirective_line = Model.Name "line"++_PreprocessorDirective_error = Model.Name "error"++_PreprocessorDirective_warning = Model.Name "warning"++-- | A C++ primary-expression: an identifier, a literal, a parenthesized expression, or a lambda+data PrimaryExpression =+ PrimaryExpressionIdentifier String |+ PrimaryExpressionLiteral Literal |+ PrimaryExpressionParenthesized Expression |+ PrimaryExpressionLambda LambdaExpression+ deriving (Eq, Ord, Read, Show)++_PrimaryExpression = Model.Name "hydra.ext.cpp.syntax.PrimaryExpression"++_PrimaryExpression_identifier = Model.Name "identifier"++_PrimaryExpression_literal = Model.Name "literal"++_PrimaryExpression_parenthesized = Model.Name "parenthesized"++_PrimaryExpression_lambda = Model.Name "lambda"++-- | A declaration of a product type as a C++ struct with named fields+data ProductDeclaration =+ ProductDeclaration {+ productDeclarationName :: String,+ productDeclarationFields :: [VariableDeclaration]}+ deriving (Eq, Ord, Read, Show)++_ProductDeclaration = Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"++_ProductDeclaration_name = Model.Name "name"++_ProductDeclaration_fields = Model.Name "fields"++-- | A complete C++ source or header file: preprocessor directives, includes, and declarations+data Program =+ Program {+ programPreprocessorDirectives :: [PreprocessorDirective],+ programIncludes :: [IncludeDirective],+ programDeclarations :: [Declaration]}+ deriving (Eq, Ord, Read, Show)++_Program = Model.Name "hydra.ext.cpp.syntax.Program"++_Program_preprocessorDirectives = Model.Name "preprocessorDirectives"++_Program_includes = Model.Name "includes"++_Program_declarations = Model.Name "declarations"++-- | A C++ namespace-qualified identifier (namespace::name)+data QualifiedIdentifier =+ QualifiedIdentifier {+ qualifiedIdentifierNamespace :: String,+ qualifiedIdentifierName :: String}+ deriving (Eq, Ord, Read, Show)++_QualifiedIdentifier = Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"++_QualifiedIdentifier_namespace = Model.Name "namespace"++_QualifiedIdentifier_name = Model.Name "name"++-- | A C++ type expression qualified by const, a reference, or a pointer+data QualifiedType =+ QualifiedType {+ qualifiedTypeBaseType :: TypeExpression,+ qualifiedTypeQualifier :: TypeQualifier}+ deriving (Eq, Ord, Read, Show)++_QualifiedType = Model.Name "hydra.ext.cpp.syntax.QualifiedType"++_QualifiedType_baseType = Model.Name "baseType"++_QualifiedType_qualifier = Model.Name "qualifier"++-- | A C++ range-based for statement+data RangeForStatement =+ RangeForStatement {+ rangeForStatementType :: TypeExpression,+ rangeForStatementVariable :: String,+ rangeForStatementRange :: Expression,+ rangeForStatementBody :: Statement}+ deriving (Eq, Ord, Read, Show)++_RangeForStatement = Model.Name "hydra.ext.cpp.syntax.RangeForStatement"++_RangeForStatement_type = Model.Name "type"++_RangeForStatement_variable = Model.Name "variable"++_RangeForStatement_range = Model.Name "range"++_RangeForStatement_body = Model.Name "body"++-- | A C++ relational-expression: a shift expression or a relational comparison+data RelationalExpression =+ RelationalExpressionShift ShiftExpression |+ RelationalExpressionLess LessOperation |+ RelationalExpressionGreater GreaterOperation |+ RelationalExpressionLessEqual LessEqualOperation |+ RelationalExpressionGreaterEqual GreaterEqualOperation+ deriving (Eq, Ord, Read, Show)++_RelationalExpression = Model.Name "hydra.ext.cpp.syntax.RelationalExpression"++_RelationalExpression_shift = Model.Name "shift"++_RelationalExpression_less = Model.Name "less"++_RelationalExpression_greater = Model.Name "greater"++_RelationalExpression_lessEqual = Model.Name "lessEqual"++_RelationalExpression_greaterEqual = Model.Name "greaterEqual"++-- | A C++ right shift expression (left >> right)+data RightShiftOperation =+ RightShiftOperation {+ rightShiftOperationLeft :: ShiftExpression,+ rightShiftOperationRight :: AdditiveExpression}+ deriving (Eq, Ord, Read, Show)++_RightShiftOperation = Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"++_RightShiftOperation_left = Model.Name "left"++_RightShiftOperation_right = Model.Name "right"++-- | A C++ if statement, with an optional else branch+data SelectionStatement =+ SelectionStatement {+ selectionStatementCondition :: Expression,+ selectionStatementThenBranch :: Statement,+ selectionStatementElseBranch :: (Maybe Statement)}+ deriving (Eq, Ord, Read, Show)++_SelectionStatement = Model.Name "hydra.ext.cpp.syntax.SelectionStatement"++_SelectionStatement_condition = Model.Name "condition"++_SelectionStatement_thenBranch = Model.Name "thenBranch"++_SelectionStatement_elseBranch = Model.Name "elseBranch"++-- | A C++ std::set literal, with an element type and elements+data Set =+ Set {+ setElementType :: TypeExpression,+ setElements :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_Set = Model.Name "hydra.ext.cpp.syntax.Set"++_Set_elementType = Model.Name "elementType"++_Set_elements = Model.Name "elements"++-- | A declaration of a named std::set type alias+data SetDeclaration =+ SetDeclaration {+ setDeclarationElementType :: TypeExpression,+ setDeclarationName :: String}+ deriving (Eq, Ord, Read, Show)++_SetDeclaration = Model.Name "hydra.ext.cpp.syntax.SetDeclaration"++_SetDeclaration_elementType = Model.Name "elementType"++_SetDeclaration_name = Model.Name "name"++-- | A C++ shift-expression: an additive expression, a left shift, or a right shift+data ShiftExpression =+ ShiftExpressionAdditive AdditiveExpression |+ ShiftExpressionLeftShift LeftShiftOperation |+ ShiftExpressionRightShift RightShiftOperation+ deriving (Eq, Ord, Read, Show)++_ShiftExpression = Model.Name "hydra.ext.cpp.syntax.ShiftExpression"++_ShiftExpression_additive = Model.Name "additive"++_ShiftExpression_leftShift = Model.Name "leftShift"++_ShiftExpression_rightShift = Model.Name "rightShift"++-- | A C++ sizeof expression applied to a type+newtype SizeofExpression =+ SizeofExpression {+ unSizeofExpression :: TypeExpression}+ deriving (Eq, Ord, Read, Show)++_SizeofExpression = Model.Name "hydra.ext.cpp.syntax.SizeofExpression"++-- | A C++ statement+data Statement =+ StatementLabeled LabeledStatement |+ StatementCompound CompoundStatement |+ StatementSelection SelectionStatement |+ StatementSwitch SwitchStatement |+ StatementIteration IterationStatement |+ StatementJump JumpStatement |+ StatementDeclaration VariableDeclaration |+ StatementExpression Expression+ deriving (Eq, Ord, Read, Show)++_Statement = Model.Name "hydra.ext.cpp.syntax.Statement"++_Statement_labeled = Model.Name "labeled"++_Statement_compound = Model.Name "compound"++_Statement_selection = Model.Name "selection"++_Statement_switch = Model.Name "switch"++_Statement_iteration = Model.Name "iteration"++_Statement_jump = Model.Name "jump"++_Statement_declaration = Model.Name "declaration"++_Statement_expression = Model.Name "expression"++-- | A C++ string literal+newtype StringLiteral =+ StringLiteral {+ unStringLiteral :: String}+ deriving (Eq, Ord, Read, Show)++_StringLiteral = Model.Name "hydra.ext.cpp.syntax.StringLiteral"++-- | A C++ array subscript expression (array[index])+data SubscriptOperation =+ SubscriptOperation {+ subscriptOperationArray :: PostfixExpression,+ subscriptOperationIndex :: Expression}+ deriving (Eq, Ord, Read, Show)++_SubscriptOperation = Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"++_SubscriptOperation_array = Model.Name "array"++_SubscriptOperation_index = Model.Name "index"++-- | A C++ subtraction expression (left - right)+data SubtractOperation =+ SubtractOperation {+ subtractOperationLeft :: AdditiveExpression,+ subtractOperationRight :: MultiplicativeExpression}+ deriving (Eq, Ord, Read, Show)++_SubtractOperation = Model.Name "hydra.ext.cpp.syntax.SubtractOperation"++_SubtractOperation_left = Model.Name "left"++_SubtractOperation_right = Model.Name "right"++-- | A C++ switch statement+data SwitchStatement =+ SwitchStatement {+ switchStatementValue :: Expression,+ switchStatementCases :: [CaseStatement]}+ deriving (Eq, Ord, Read, Show)++_SwitchStatement = Model.Name "hydra.ext.cpp.syntax.SwitchStatement"++_SwitchStatement_value = Model.Name "value"++_SwitchStatement_cases = Model.Name "cases"++-- | A single argument to a C++ template instantiation: a type or a value+data TemplateArgument =+ TemplateArgumentType TypeExpression |+ TemplateArgumentValue Expression+ deriving (Eq, Ord, Read, Show)++_TemplateArgument = Model.Name "hydra.ext.cpp.syntax.TemplateArgument"++_TemplateArgument_type = Model.Name "type"++_TemplateArgument_value = Model.Name "value"++-- | A C++ template declaration wrapping a class or function declaration+data TemplateDeclaration =+ TemplateDeclaration {+ templateDeclarationInline :: Bool,+ templateDeclarationParameters :: [String],+ templateDeclarationDeclaration :: Declaration}+ deriving (Eq, Ord, Read, Show)++_TemplateDeclaration = Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"++_TemplateDeclaration_inline = Model.Name "inline"++_TemplateDeclaration_parameters = Model.Name "parameters"++_TemplateDeclaration_declaration = Model.Name "declaration"++-- | A C++ explicit template function call (func<Args...>(arguments))+data TemplateFunctionCallOperation =+ TemplateFunctionCallOperation {+ templateFunctionCallOperationFunction :: PostfixExpression,+ templateFunctionCallOperationTemplateArguments :: [TemplateArgument],+ templateFunctionCallOperationArguments :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_TemplateFunctionCallOperation = Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"++_TemplateFunctionCallOperation_function = Model.Name "function"++_TemplateFunctionCallOperation_templateArguments = Model.Name "templateArguments"++_TemplateFunctionCallOperation_arguments = Model.Name "arguments"++-- | A C++ template instantiation type (e.g. std::vector<int>)+data TemplateType =+ TemplateType {+ templateTypeName :: String,+ templateTypeArguments :: [TemplateArgument]}+ deriving (Eq, Ord, Read, Show)++_TemplateType = Model.Name "hydra.ext.cpp.syntax.TemplateType"++_TemplateType_name = Model.Name "name"++_TemplateType_arguments = Model.Name "arguments"++-- | A C++ ternary conditional expression (condition ? trueExpr : falseExpr)+data TernaryExpression =+ TernaryExpression {+ ternaryExpressionCondition :: LogicalOrExpression,+ ternaryExpressionTrueExpr :: Expression,+ ternaryExpressionFalseExpr :: ConditionalExpression}+ deriving (Eq, Ord, Read, Show)++_TernaryExpression = Model.Name "hydra.ext.cpp.syntax.TernaryExpression"++_TernaryExpression_condition = Model.Name "condition"++_TernaryExpression_trueExpr = Model.Name "trueExpr"++_TernaryExpression_falseExpr = Model.Name "falseExpr"++-- | A C++ type expression+data TypeExpression =+ TypeExpressionBasic BasicType |+ TypeExpressionQualified QualifiedType |+ TypeExpressionTemplate TemplateType |+ TypeExpressionFunction FunctionType |+ TypeExpressionAuto+ deriving (Eq, Ord, Read, Show)++_TypeExpression = Model.Name "hydra.ext.cpp.syntax.TypeExpression"++_TypeExpression_basic = Model.Name "basic"++_TypeExpression_qualified = Model.Name "qualified"++_TypeExpression_template = Model.Name "template"++_TypeExpression_function = Model.Name "function"++_TypeExpression_auto = Model.Name "auto"++-- | A C++ type qualifier: const, lvalue reference, rvalue reference, or pointer+data TypeQualifier =+ TypeQualifierConst |+ TypeQualifierLvalueRef |+ TypeQualifierRvalueRef |+ TypeQualifierPointer+ deriving (Eq, Ord, Read, Show)++_TypeQualifier = Model.Name "hydra.ext.cpp.syntax.TypeQualifier"++_TypeQualifier_const = Model.Name "const"++_TypeQualifier_lvalueRef = Model.Name "lvalueRef"++_TypeQualifier_rvalueRef = Model.Name "rvalueRef"++_TypeQualifier_pointer = Model.Name "pointer"++-- | A C++ typedef or using type alias declaration+data TypedefDeclaration =+ TypedefDeclaration {+ typedefDeclarationName :: String,+ typedefDeclarationType :: TypeExpression,+ typedefDeclarationIsUsing :: Bool}+ deriving (Eq, Ord, Read, Show)++_TypedefDeclaration = Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"++_TypedefDeclaration_name = Model.Name "name"++_TypedefDeclaration_type = Model.Name "type"++_TypedefDeclaration_isUsing = Model.Name "isUsing"++-- | A C++ unary-expression: a postfix expression, a unary operation, or a sizeof expression+data UnaryExpression =+ UnaryExpressionPostfix PostfixExpression |+ UnaryExpressionUnaryOp UnaryOperation |+ UnaryExpressionSizeof SizeofExpression+ deriving (Eq, Ord, Read, Show)++_UnaryExpression = Model.Name "hydra.ext.cpp.syntax.UnaryExpression"++_UnaryExpression_postfix = Model.Name "postfix"++_UnaryExpression_unaryOp = Model.Name "unaryOp"++_UnaryExpression_sizeof = Model.Name "sizeof"++-- | A C++ unary operation applied to an operand (e.g. -x, !x, *x)+data UnaryOperation =+ UnaryOperation {+ unaryOperationOperator :: UnaryOperator,+ unaryOperationOperand :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_UnaryOperation = Model.Name "hydra.ext.cpp.syntax.UnaryOperation"++_UnaryOperation_operator = Model.Name "operator"++_UnaryOperation_operand = Model.Name "operand"++-- | A C++ unary operator+data UnaryOperator =+ UnaryOperatorPlus |+ UnaryOperatorMinus |+ UnaryOperatorLogicalNot |+ UnaryOperatorBitwiseNot |+ UnaryOperatorDereference |+ UnaryOperatorAddressOf |+ UnaryOperatorPreIncrement |+ UnaryOperatorPreDecrement+ deriving (Eq, Ord, Read, Show)++_UnaryOperator = Model.Name "hydra.ext.cpp.syntax.UnaryOperator"++_UnaryOperator_plus = Model.Name "plus"++_UnaryOperator_minus = Model.Name "minus"++_UnaryOperator_logicalNot = Model.Name "logicalNot"++_UnaryOperator_bitwiseNot = Model.Name "bitwiseNot"++_UnaryOperator_dereference = Model.Name "dereference"++_UnaryOperator_addressOf = Model.Name "addressOf"++_UnaryOperator_preIncrement = Model.Name "preIncrement"++_UnaryOperator_preDecrement = Model.Name "preDecrement"++-- | A C preprocessor #undef directive+data UndefDirective =+ UndefDirective {+ undefDirectiveName :: String}+ deriving (Eq, Ord, Read, Show)++_UndefDirective = Model.Name "hydra.ext.cpp.syntax.UndefDirective"++_UndefDirective_name = Model.Name "name"++-- | A C++ variable declaration, with an optional type (for auto) and initializer+data VariableDeclaration =+ VariableDeclaration {+ variableDeclarationType :: (Maybe TypeExpression),+ variableDeclarationName :: String,+ variableDeclarationInitializer :: (Maybe Expression),+ variableDeclarationIsAuto :: Bool}+ deriving (Eq, Ord, Read, Show)++_VariableDeclaration = Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"++_VariableDeclaration_type = Model.Name "type"++_VariableDeclaration_name = Model.Name "name"++_VariableDeclaration_initializer = Model.Name "initializer"++_VariableDeclaration_isAuto = Model.Name "isAuto"++-- | A declaration of a named std::variant type alias over a list of member types+data VariantDeclaration =+ VariantDeclaration {+ variantDeclarationTypes :: [TypeExpression],+ variantDeclarationName :: String}+ deriving (Eq, Ord, Read, Show)++_VariantDeclaration = Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"++_VariantDeclaration_types = Model.Name "types"++_VariantDeclaration_name = Model.Name "name"++-- | A C++ std::vector literal, with an element type and elements+data Vector =+ Vector {+ vectorElementType :: TypeExpression,+ vectorElements :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_Vector = Model.Name "hydra.ext.cpp.syntax.Vector"++_Vector_elementType = Model.Name "elementType"++_Vector_elements = Model.Name "elements"++-- | A C++ visitor used in a pattern match: a single lambda or a set of overloaded lambdas+data Visitor =+ VisitorLambda LambdaExpression |+ VisitorOverloaded OverloadedLambdas+ deriving (Eq, Ord, Read, Show)++_Visitor = Model.Name "hydra.ext.cpp.syntax.Visitor"++_Visitor_lambda = Model.Name "lambda"++_Visitor_overloaded = Model.Name "overloaded"++-- | A C preprocessor #warning directive+data WarningDirective =+ WarningDirective {+ warningDirectiveMessage :: String}+ deriving (Eq, Ord, Read, Show)++_WarningDirective = Model.Name "hydra.ext.cpp.syntax.WarningDirective"++_WarningDirective_message = Model.Name "message"++-- | A C++ while statement+data WhileStatement =+ WhileStatement {+ whileStatementCondition :: Expression,+ whileStatementBody :: Statement}+ deriving (Eq, Ord, Read, Show)++_WhileStatement = Model.Name "hydra.ext.cpp.syntax.WhileStatement"++_WhileStatement_condition = Model.Name "condition"++_WhileStatement_body = Model.Name "body"
+ src/main/haskell/Hydra/Ext/Cpp/Utils.hs view
@@ -0,0 +1,310 @@+-- Note: this is an automatically generated file. Do not edit.++-- | C++ utilities for constructing C++ syntax trees++module Hydra.Ext.Cpp.Utils where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Cpp.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++-- | Create a const reference parameter+constParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter+constParameter name typ =+ Syntax.Parameter {+ Syntax.parameterType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = (Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = typ,+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})),+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierLvalueRef})),+ Syntax.parameterName = name,+ Syntax.parameterUnnamed = False,+ Syntax.parameterDefaultValue = Nothing}++-- | Create a C++ class declaration+cppClassDeclaration :: String -> [Syntax.BaseSpecifier] -> Maybe Syntax.ClassBody -> Syntax.Declaration+cppClassDeclaration name baseSpecs mbody =+ Syntax.DeclarationClass (Syntax.ClassDeclaration {+ Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {+ Syntax.classSpecifierKey = Syntax.ClassKeyClass,+ Syntax.classSpecifierName = name,+ Syntax.classSpecifierInheritance = baseSpecs},+ Syntax.classDeclarationBody = mbody})++-- | Create a C++ enum class declaration+cppEnumDeclaration :: String -> Maybe Syntax.ClassBody -> Syntax.Declaration+cppEnumDeclaration name mbody =+ Syntax.DeclarationClass (Syntax.ClassDeclaration {+ Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {+ Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,+ Syntax.classSpecifierName = name,+ Syntax.classSpecifierInheritance = []},+ Syntax.classDeclarationBody = mbody})++-- | Create a C++ enum class forward declaration+cppEnumForwardDeclaration :: String -> Syntax.Declaration+cppEnumForwardDeclaration name =+ Syntax.DeclarationClass (Syntax.ClassDeclaration {+ Syntax.classDeclarationSpecifier = Syntax.ClassSpecifier {+ Syntax.classSpecifierKey = Syntax.ClassKeyEnumClass,+ Syntax.classSpecifierName = name,+ Syntax.classSpecifierInheritance = []},+ Syntax.classDeclarationBody = Nothing})++-- | Convert a PostfixExpression to an Expression+cppPostfixExpressionToCppExpression :: Syntax.PostfixExpression -> Syntax.Expression+cppPostfixExpressionToCppExpression pf = cppUnaryExpressionToCppExpression (Syntax.UnaryExpressionPostfix pf)++-- | Convert a PrimaryExpression to an Expression+cppPrimaryExpressionToCppExpression :: Syntax.PrimaryExpression -> Syntax.Expression+cppPrimaryExpressionToCppExpression prim = cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary prim)++-- | Convert a UnaryExpression to an Expression+cppUnaryExpressionToCppExpression :: Syntax.UnaryExpression -> Syntax.Expression+cppUnaryExpressionToCppExpression ue =+ Syntax.ExpressionAssignment (Syntax.AssignmentExpressionConditional (Syntax.ConditionalExpressionLogicalOr (cppUnaryExpressionToCppLogicalOrExpression ue)))++-- | Convert a UnaryExpression to a LogicalOrExpression+cppUnaryExpressionToCppLogicalOrExpression :: Syntax.UnaryExpression -> Syntax.LogicalOrExpression+cppUnaryExpressionToCppLogicalOrExpression ue =+ Syntax.LogicalOrExpressionLogicalAnd (Syntax.LogicalAndExpressionInclusiveOr (Syntax.InclusiveOrExpressionExclusiveOr (Syntax.ExclusiveOrExpressionAnd (Syntax.AndExpressionEquality (Syntax.EqualityExpressionRelational (Syntax.RelationalExpressionShift (Syntax.ShiftExpressionAdditive (Syntax.AdditiveExpressionMultiplicative (Syntax.MultiplicativeExpressionUnary ue)))))))))++-- | Create a cast expression+createCastExpr :: t0 -> Syntax.Expression -> Syntax.Expression+createCastExpr targetType expr =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized (cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized expr)))++-- | Create a compound statement+createCompoundStmt :: [Syntax.Statement] -> Syntax.CompoundStatement+createCompoundStmt stmts = Syntax.CompoundStatement stmts++-- | Create a const reference type+createConstRefType :: Syntax.TypeExpression -> Syntax.TypeExpression+createConstRefType baseType = createReferenceType (createConstType baseType)++-- | Create a const-qualified type+createConstType :: Syntax.TypeExpression -> Syntax.TypeExpression+createConstType baseType = createQualifiedType baseType Syntax.TypeQualifierConst++-- | Create a constructor body (default if no params, empty otherwise)+createConstructorBody :: [t0] -> Syntax.FunctionBody+createConstructorBody params = Logic.ifElse (Lists.isEmpty params) Syntax.FunctionBodyDefault emptyFunctionBody++-- | Create an enum access expression+createEnumAccessExpr :: String -> String -> Syntax.Expression+createEnumAccessExpr enumName valueName =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {+ Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier enumName)),+ Syntax.memberAccessOperationMember = valueName}))++-- | Create a function call expression+createFunctionCallExpr :: String -> [Syntax.Expression] -> Syntax.Expression+createFunctionCallExpr funcName args =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier funcName)),+ Syntax.functionCallOperationArguments = args}))++-- | Create a header file with pragma once+createHeaderFile :: [Syntax.IncludeDirective] -> [Syntax.Declaration] -> Syntax.Program+createHeaderFile includes decls =+ Syntax.Program {+ Syntax.programPreprocessorDirectives = [+ Syntax.PreprocessorDirectivePragma (Syntax.PragmaDirective {+ Syntax.pragmaDirectiveContent = "once"})],+ Syntax.programIncludes = includes,+ Syntax.programDeclarations = decls}++-- | Create an identifier expression+createIdentifierExpr :: String -> Syntax.Expression+createIdentifierExpr name = cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionIdentifier name)++-- | Create a lambda expression+createLambdaExpr :: [Syntax.Parameter] -> Syntax.Expression -> Syntax.Expression+createLambdaExpr params body =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionLambda (Syntax.LambdaExpression {+ Syntax.lambdaExpressionCaptures = (Syntax.CaptureListCaptures []),+ Syntax.lambdaExpressionParameters = params,+ Syntax.lambdaExpressionReturnType = Nothing,+ Syntax.lambdaExpressionBody = (Syntax.CompoundStatement [+ Syntax.StatementExpression body])})))++-- | Create a boolean literal expression+createLiteralBoolExpr :: Bool -> Syntax.Expression+createLiteralBoolExpr val =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralBoolean (Syntax.BooleanLiteral val)))++-- | Create an integer literal expression+createLiteralIntExpr :: Integer -> Syntax.Expression+createLiteralIntExpr val =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteralDecimal val)))++-- | Create a string literal expression+createLiteralStringExpr :: String -> Syntax.Expression+createLiteralStringExpr val =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralString (Syntax.StringLiteral val)))++-- | Create a member access expression+createMemberAccessExpr :: Syntax.Expression -> String -> Syntax.Expression+createMemberAccessExpr objExpr member =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {+ Syntax.memberAccessOperationObject = (extractPostfixExpression objExpr),+ Syntax.memberAccessOperationMember = member}))++-- | Create a qualified type with a qualifier+createQualifiedType :: Syntax.TypeExpression -> Syntax.TypeQualifier -> Syntax.TypeExpression+createQualifiedType baseType qualifier =+ Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = baseType,+ Syntax.qualifiedTypeQualifier = qualifier})++-- | Create a reference type+createReferenceType :: Syntax.TypeExpression -> Syntax.TypeExpression+createReferenceType baseType = createQualifiedType baseType Syntax.TypeQualifierLvalueRef++-- | Create a return statement with a value+createReturnStmt :: Syntax.Expression -> Syntax.Statement+createReturnStmt expr = Syntax.StatementJump (Syntax.JumpStatementReturnValue expr)++-- | Create a void return statement+createReturnVoidStmt :: Syntax.Statement+createReturnVoidStmt = Syntax.StatementJump Syntax.JumpStatementReturnVoid++-- | Create a template type+createTemplateType :: String -> [Syntax.TypeExpression] -> Syntax.TypeExpression+createTemplateType name args =+ Syntax.TypeExpressionTemplate (Syntax.TemplateType {+ Syntax.templateTypeName = name,+ Syntax.templateTypeArguments = (Lists.map (\a -> Syntax.TemplateArgumentType a) args)})++-- | Create a *this expression+createThisExpr :: Syntax.Expression+createThisExpr =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "*this"))++-- | Create a throw statement+createThrowStmt :: String -> Syntax.Expression -> Syntax.Statement+createThrowStmt exceptionType arg =+ Syntax.StatementJump (Syntax.JumpStatementThrow (createFunctionCallExpr exceptionType [+ arg]))++-- | Create a typeid(...).name() call expression+createTypeIdNameCall :: Syntax.Expression+createTypeIdNameCall =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionMemberAccess (Syntax.MemberAccessOperation {+ Syntax.memberAccessOperationObject = (Syntax.PostfixExpressionFunctionCall (Syntax.FunctionCallOperation {+ Syntax.functionCallOperationFunction = (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "typeid")),+ Syntax.functionCallOperationArguments = [+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionParenthesized createThisExpr)]})),+ Syntax.memberAccessOperationMember = "name"})),+ Syntax.functionCallOperationArguments = []}))++-- | Create a type name expression+createTypeNameExpr :: String -> Syntax.Expression+createTypeNameExpr typeName =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier typeName))++-- | Create a variant expression+createVariantExpr :: Syntax.Expression+createVariantExpr =+ cppPostfixExpressionToCppExpression (Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "variant"))++-- | An empty function body+emptyFunctionBody :: Syntax.FunctionBody+emptyFunctionBody = Syntax.FunctionBodyCompound (Syntax.CompoundStatement [])++-- | Extract the PostfixExpression from a fully-wrapped Expression+extractPostfixExpression :: Syntax.Expression -> Syntax.PostfixExpression+extractPostfixExpression expr =+ case expr of+ Syntax.ExpressionAssignment v0 -> case v0 of+ Syntax.AssignmentExpressionConditional v1 -> case v1 of+ Syntax.ConditionalExpressionLogicalOr v2 -> case v2 of+ Syntax.LogicalOrExpressionLogicalAnd v3 -> case v3 of+ Syntax.LogicalAndExpressionInclusiveOr v4 -> case v4 of+ Syntax.InclusiveOrExpressionExclusiveOr v5 -> case v5 of+ Syntax.ExclusiveOrExpressionAnd v6 -> case v6 of+ Syntax.AndExpressionEquality v7 -> case v7 of+ Syntax.EqualityExpressionRelational v8 -> case v8 of+ Syntax.RelationalExpressionShift v9 -> case v9 of+ Syntax.ShiftExpressionAdditive v10 -> case v10 of+ Syntax.AdditiveExpressionMultiplicative v11 -> case v11 of+ Syntax.MultiplicativeExpressionUnary v12 -> case v12 of+ Syntax.UnaryExpressionPostfix v13 -> v13+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")+ _ -> Syntax.PostfixExpressionPrimary (Syntax.PrimaryExpressionIdentifier "error")++-- | Protected access specifier member specification+memberSpecificationProtected :: Syntax.MemberSpecification+memberSpecificationProtected = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierProtected++-- | Public access specifier member specification+memberSpecificationPublic :: Syntax.MemberSpecification+memberSpecificationPublic = Syntax.MemberSpecificationAccessLabel Syntax.AccessSpecifierPublic++-- | Create a string expression+stringExpression :: String -> Syntax.Expression+stringExpression s =+ cppPrimaryExpressionToCppExpression (Syntax.PrimaryExpressionLiteral (Syntax.LiteralString (Syntax.StringLiteral s)))++-- | Add const qualifier to a type+toConstType :: Syntax.TypeExpression -> Syntax.TypeExpression+toConstType baseType =+ Syntax.TypeExpressionQualified (Syntax.QualifiedType {+ Syntax.qualifiedTypeBaseType = baseType,+ Syntax.qualifiedTypeQualifier = Syntax.TypeQualifierConst})++-- | Create an unnamed parameter+unnamedParameter :: String -> Syntax.TypeExpression -> Syntax.Parameter+unnamedParameter name typ =+ Syntax.Parameter {+ Syntax.parameterType = typ,+ Syntax.parameterName = name,+ Syntax.parameterUnnamed = True,+ Syntax.parameterDefaultValue = Nothing}
+ src/main/haskell/Hydra/Ext/Csharp/Language.hs view
@@ -0,0 +1,249 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints and reserved words for C Sharp (C#)++module Hydra.Ext.Csharp.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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+import qualified Data.Set as S++-- | Language constraints for C Sharp (C#)+csharpLanguage :: Coders.Language+csharpLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.csharp"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "cs")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBinary,+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes =+ Sets.fromList [+ Model.FloatTypeFloat32,+ Model.FloatTypeFloat64]+ integerTypes =+ Sets.fromList [+ Model.IntegerTypeInt8,+ Model.IntegerTypeInt16,+ Model.IntegerTypeInt32,+ Model.IntegerTypeInt64,+ Model.IntegerTypeUint8,+ Model.IntegerTypeUint16,+ Model.IntegerTypeUint32,+ Model.IntegerTypeUint64]+ termVariants =+ Sets.fromList [+ Variants.TermVariantApplication,+ Variants.TermVariantCases,+ Variants.TermVariantLambda,+ Variants.TermVariantProject,+ Variants.TermVariantUnwrap,+ Variants.TermVariantTypeApplication,+ Variants.TermVariantTypeLambda,+ Variants.TermVariantLet,+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantMap,+ Variants.TermVariantOptional,+ Variants.TermVariantRecord,+ Variants.TermVariantSet,+ Variants.TermVariantInject,+ Variants.TermVariantVariable,+ Variants.TermVariantWrap]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantAnnotated,+ Variants.TypeVariantApplication,+ Variants.TypeVariantFunction,+ Variants.TypeVariantForall,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantRecord,+ Variants.TypeVariantSet,+ Variants.TypeVariantUnion,+ Variants.TypeVariantVariable,+ Variants.TypeVariantWrap]+ typePredicate = \_ -> True++-- | A set of reserved words in C#. Both the "keywords" and "contextual keywords" are drawn from section 6.4.4 of the C# documentation:+-- | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#64-tokens+csharpReservedWords :: S.Set String+csharpReservedWords =+ Sets.fromList (Lists.concat [+ keywords,+ contextualKeywords])+ where+ keywords =+ [+ "DEFAULT",+ "FALSE",+ "NULL",+ "TRUE",+ "abstract",+ "as",+ "base",+ "bool",+ "break",+ "byte",+ "case",+ "catch",+ "char",+ "checked",+ "class",+ "const",+ "continue",+ "decimal",+ "delegate",+ "do",+ "double",+ "else",+ "enum",+ "event",+ "explicit",+ "extern",+ "finally",+ "fixed",+ "float",+ "for",+ "foreach",+ "goto",+ "if",+ "implicit",+ "in",+ "int",+ "interface",+ "internal",+ "is",+ "lock",+ "long",+ "namespace",+ "new",+ "object",+ "operator",+ "out",+ "override",+ "params",+ "private",+ "protected",+ "public",+ "readonly",+ "ref",+ "return",+ "sbyte",+ "sealed",+ "short",+ "sizeof",+ "stackalloc",+ "static",+ "string",+ "struct",+ "switch",+ "this",+ "throw",+ "try",+ "typeof",+ "uint",+ "ulong",+ "unchecked",+ "unsafe",+ "ushort",+ "using",+ "virtual",+ "void",+ "volatile",+ "while"]+ contextualKeywords =+ [+ "add",+ "alias",+ "ascending",+ "async",+ "await",+ "by",+ "descending",+ "dynamic",+ "equals",+ "from",+ "get",+ "global",+ "group",+ "into",+ "join",+ "let",+ "nameof",+ "on",+ "orderby",+ "partial",+ "remove",+ "select",+ "set",+ "unmanaged",+ "value",+ "var",+ "when",+ "where",+ "yield"]
+ src/main/haskell/Hydra/Ext/Csharp/Syntax.hs view
@@ -0,0 +1,5297 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A C# syntax module based on the ANTLR grammar dated 02/07/2024 and available at:+-- | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/grammar++module Hydra.Ext.Csharp.Syntax where++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++-- | The body of a property or indexer accessor: a block, an expression, or empty (abstract).+data AccessorBody =+ AccessorBodyBlock Block |+ AccessorBodyExpression Expression |+ AccessorBodyEmpty+ deriving (Eq, Ord, Read, Show)++_AccessorBody = Model.Name "hydra.ext.csharp.syntax.AccessorBody"++_AccessorBody_block = Model.Name "block"++_AccessorBody_expression = Model.Name "expression"++_AccessorBody_empty = Model.Name "empty"++-- | A single get or set accessor, with optional attributes and an access modifier.+data AccessorDeclaration =+ AccessorDeclaration {+ accessorDeclarationAttributes :: (Maybe Attributes),+ accessorDeclarationModifier :: (Maybe AccessorModifier),+ accessorDeclarationBody :: AccessorBody}+ deriving (Eq, Ord, Read, Show)++_AccessorDeclaration = Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"++_AccessorDeclaration_attributes = Model.Name "attributes"++_AccessorDeclaration_modifier = Model.Name "modifier"++_AccessorDeclaration_body = Model.Name "body"++-- | The get and/or set accessors of a standard (non-ref-returning) property.+data AccessorDeclarations =+ AccessorDeclarationsGet (Maybe AccessorDeclaration) |+ AccessorDeclarationsSet (Maybe AccessorDeclaration)+ deriving (Eq, Ord, Read, Show)++_AccessorDeclarations = Model.Name "hydra.ext.csharp.syntax.AccessorDeclarations"++_AccessorDeclarations_get = Model.Name "get"++_AccessorDeclarations_set = Model.Name "set"++-- | An access modifier restricting a get or set accessor beyond the property's own accessibility.+data AccessorModifier =+ AccessorModifierProtected |+ AccessorModifierInternal |+ AccessorModifierPrivate |+ AccessorModifierProtectedInternal |+ AccessorModifierInternalProtected |+ AccessorModifierProtectedPrivate |+ AccessorModifierPrivateProtected+ deriving (Eq, Ord, Read, Show)++_AccessorModifier = Model.Name "hydra.ext.csharp.syntax.AccessorModifier"++_AccessorModifier_protected = Model.Name "protected"++_AccessorModifier_internal = Model.Name "internal"++_AccessorModifier_private = Model.Name "private"++_AccessorModifier_protectedInternal = Model.Name "protectedInternal"++_AccessorModifier_internalProtected = Model.Name "internalProtected"++_AccessorModifier_protectedPrivate = Model.Name "protectedPrivate"++_AccessorModifier_privateProtected = Model.Name "privateProtected"++-- | An event declaration using explicit add/remove accessor syntax.+data AccessorsEventDeclaration =+ AccessorsEventDeclaration {+ accessorsEventDeclarationAttributes :: (Maybe Attributes),+ accessorsEventDeclarationModifiers :: [EventModifier],+ accessorsEventDeclarationType :: Type,+ accessorsEventDeclarationName :: MemberName,+ accessorsEventDeclarationAccessors :: EventAccessorDeclarations}+ deriving (Eq, Ord, Read, Show)++_AccessorsEventDeclaration = Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"++_AccessorsEventDeclaration_attributes = Model.Name "attributes"++_AccessorsEventDeclaration_modifiers = Model.Name "modifiers"++_AccessorsEventDeclaration_type = Model.Name "type"++_AccessorsEventDeclaration_name = Model.Name "name"++_AccessorsEventDeclaration_accessors = Model.Name "accessors"++-- | The add or remove accessor body of an event declaration.+data AddRemoveAccessorDeclaration =+ AddRemoveAccessorDeclaration {+ addRemoveAccessorDeclarationAttributes :: (Maybe Attributes),+ addRemoveAccessorDeclarationBody :: Block}+ deriving (Eq, Ord, Read, Show)++_AddRemoveAccessorDeclaration = Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"++_AddRemoveAccessorDeclaration_attributes = Model.Name "attributes"++_AddRemoveAccessorDeclaration_body = Model.Name "body"++-- | A simple multiplicative expression or a binary addition/subtraction expression.+data AdditiveExpression =+ AdditiveExpressionSimple MultiplicativeExpression |+ AdditiveExpressionBinary BinaryAdditiveExpression+ deriving (Eq, Ord, Read, Show)++_AdditiveExpression = Model.Name "hydra.ext.csharp.syntax.AdditiveExpression"++_AdditiveExpression_simple = Model.Name "simple"++_AdditiveExpression_binary = Model.Name "binary"++-- | The plus or minus operator used in an additive expression.+data AdditiveOperator =+ AdditiveOperatorPlus |+ AdditiveOperatorMinus+ deriving (Eq, Ord, Read, Show)++_AdditiveOperator = Model.Name "hydra.ext.csharp.syntax.AdditiveOperator"++_AdditiveOperator_plus = Model.Name "plus"++_AdditiveOperator_minus = Model.Name "minus"++-- | A simple equality expression or a binary bitwise-AND expression.+data AndExpression =+ AndExpressionSimple EqualityExpression |+ AndExpressionBinary BinaryAndExpression+ deriving (Eq, Ord, Read, Show)++_AndExpression = Model.Name "hydra.ext.csharp.syntax.AndExpression"++_AndExpression_simple = Model.Name "simple"++_AndExpression_binary = Model.Name "binary"++-- | The body of an anonymous function: a null-conditional invocation, expression, ref, or block.+data AnonymousFunctionBody =+ AnonymousFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |+ AnonymousFunctionBodyExpression Expression |+ AnonymousFunctionBodyRef VariableReference |+ AnonymousFunctionBodyBlock Block+ deriving (Eq, Ord, Read, Show)++_AnonymousFunctionBody = Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody"++_AnonymousFunctionBody_nullConditionalInvocation = Model.Name "nullConditionalInvocation"++_AnonymousFunctionBody_expression = Model.Name "expression"++_AnonymousFunctionBody_ref = Model.Name "ref"++_AnonymousFunctionBody_block = Model.Name "block"++-- | A ref, out, or in modifier on an explicit anonymous function parameter.+data AnonymousFunctionParameterModifier =+ AnonymousFunctionParameterModifierRef |+ AnonymousFunctionParameterModifierOut |+ AnonymousFunctionParameterModifierIn+ deriving (Eq, Ord, Read, Show)++_AnonymousFunctionParameterModifier = Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier"++_AnonymousFunctionParameterModifier_ref = Model.Name "ref"++_AnonymousFunctionParameterModifier_out = Model.Name "out"++_AnonymousFunctionParameterModifier_in = Model.Name "in"++-- | The parameter list of a lambda expression, either explicitly or implicitly typed.+data AnonymousFunctionSignature =+ AnonymousFunctionSignatureExplicit [ExplicitAnonymousFunctionParameter] |+ AnonymousFunctionSignatureImplicit [Identifier]+ deriving (Eq, Ord, Read, Show)++_AnonymousFunctionSignature = Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionSignature"++_AnonymousFunctionSignature_explicit = Model.Name "explicit"++_AnonymousFunctionSignature_implicit = Model.Name "implicit"++-- | A delegate expression created with the anonymous method syntax (delegate(...) { ... }).+data AnonymousMethodExpression =+ AnonymousMethodExpression {+ anonymousMethodExpressionAsync :: Bool,+ anonymousMethodExpressionSignature :: [ExplicitAnonymousFunctionParameter],+ anonymousMethodExpressionBody :: Block}+ deriving (Eq, Ord, Read, Show)++_AnonymousMethodExpression = Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"++_AnonymousMethodExpression_async = Model.Name "async"++_AnonymousMethodExpression_signature = Model.Name "signature"++_AnonymousMethodExpression_body = Model.Name "body"++-- | A single argument in an argument list, with an optional name for named arguments.+data Argument =+ Argument {+ argumentName :: (Maybe Identifier),+ argumentValue :: ArgumentValue}+ deriving (Eq, Ord, Read, Show)++_Argument = Model.Name "hydra.ext.csharp.syntax.Argument"++_Argument_name = Model.Name "name"++_Argument_value = Model.Name "value"++-- | A non-empty, comma-separated list of arguments passed to a member or delegate invocation.+newtype ArgumentList =+ ArgumentList {+ unArgumentList :: [Argument]}+ deriving (Eq, Ord, Read, Show)++_ArgumentList = Model.Name "hydra.ext.csharp.syntax.ArgumentList"++-- | The value portion of an argument: an expression, or a ref/in/out variable reference.+data ArgumentValue =+ ArgumentValueExpression Expression |+ ArgumentValueIn VariableReference |+ ArgumentValueRef VariableReference |+ ArgumentValueOut VariableReference+ deriving (Eq, Ord, Read, Show)++_ArgumentValue = Model.Name "hydra.ext.csharp.syntax.ArgumentValue"++_ArgumentValue_expression = Model.Name "expression"++_ArgumentValue_in = Model.Name "in"++_ArgumentValue_ref = Model.Name "ref"++_ArgumentValue_out = Model.Name "out"++-- | An expression that creates a new array, in any of its three creation-syntax forms.+data ArrayCreationExpression =+ ArrayCreationExpressionNonArrayType NonArrayTypeArrayCreationExpression |+ ArrayCreationExpressionArrayType ArrayTypeArrayCreationExpression |+ ArrayCreationExpressionRankSpecifier RankSpecifierArrayCreationExpression+ deriving (Eq, Ord, Read, Show)++_ArrayCreationExpression = Model.Name "hydra.ext.csharp.syntax.ArrayCreationExpression"++_ArrayCreationExpression_nonArrayType = Model.Name "nonArrayType"++_ArrayCreationExpression_arrayType = Model.Name "arrayType"++_ArrayCreationExpression_rankSpecifier = Model.Name "rankSpecifier"++-- | A brace-delimited list of variable initializers used to populate an array.+newtype ArrayInitializer =+ ArrayInitializer {+ unArrayInitializer :: [VariableInitializer]}+ deriving (Eq, Ord, Read, Show)++_ArrayInitializer = Model.Name "hydra.ext.csharp.syntax.ArrayInitializer"++-- | An array type formed from a non-array element type and one or more rank specifiers.+data ArrayType =+ ArrayType {+ arrayTypeType :: NonArrayType,+ arrayTypeRank :: [RankSpecifier]}+ deriving (Eq, Ord, Read, Show)++_ArrayType = Model.Name "hydra.ext.csharp.syntax.ArrayType"++_ArrayType_type = Model.Name "type"++_ArrayType_rank = Model.Name "rank"++-- | Array creation using an explicit array type together with an array initializer.+data ArrayTypeArrayCreationExpression =+ ArrayTypeArrayCreationExpression {+ arrayTypeArrayCreationExpressionType :: ArrayType,+ arrayTypeArrayCreationExpressionInitializer :: ArrayInitializer}+ deriving (Eq, Ord, Read, Show)++_ArrayTypeArrayCreationExpression = Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"++_ArrayTypeArrayCreationExpression_type = Model.Name "type"++_ArrayTypeArrayCreationExpression_initializer = Model.Name "initializer"++-- | An 'as' expression that attempts a type conversion, yielding null on failure.+data AsTypeExpression =+ AsTypeExpression {+ asTypeExpressionExpression :: RelationalExpression,+ asTypeExpressionType :: Type}+ deriving (Eq, Ord, Read, Show)++_AsTypeExpression = Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"++_AsTypeExpression_expression = Model.Name "expression"++_AsTypeExpression_type = Model.Name "type"++-- | An assignment expression: a target, an assignment operator, and a right-hand expression.+data Assignment =+ Assignment {+ assignmentLeft :: UnaryExpression,+ assignmentOperator :: AssignmentOperator,+ assignmentRight :: Expression}+ deriving (Eq, Ord, Read, Show)++_Assignment = Model.Name "hydra.ext.csharp.syntax.Assignment"++_Assignment_left = Model.Name "left"++_Assignment_operator = Model.Name "operator"++_Assignment_right = Model.Name "right"++-- | A member declarator of the form 'name = expression' in an anonymous object creation.+data AssignmentMemberDeclarator =+ AssignmentMemberDeclarator {+ assignmentMemberDeclaratorIdentifier :: Identifier,+ assignmentMemberDeclaratorExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_AssignmentMemberDeclarator = Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"++_AssignmentMemberDeclarator_identifier = Model.Name "identifier"++_AssignmentMemberDeclarator_expression = Model.Name "expression"++-- | The simple assignment operator or one of the compound assignment operators.+data AssignmentOperator =+ AssignmentOperatorSimple Bool |+ AssignmentOperatorPlusEquals |+ AssignmentOperatorMinusEquals |+ AssignmentOperatorTimesEquals |+ AssignmentOperatorDivideEquals |+ AssignmentOperatorModEquals |+ AssignmentOperatorAndEquals |+ AssignmentOperatorOrEquals |+ AssignmentOperatorXorEquals |+ AssignmentOperatorLeftShiftEquals |+ AssignmentOperatorRightShiftEquals+ deriving (Eq, Ord, Read, Show)++_AssignmentOperator = Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"++_AssignmentOperator_simple = Model.Name "simple"++_AssignmentOperator_plusEquals = Model.Name "plusEquals"++_AssignmentOperator_minusEquals = Model.Name "minusEquals"++_AssignmentOperator_timesEquals = Model.Name "timesEquals"++_AssignmentOperator_divideEquals = Model.Name "divideEquals"++_AssignmentOperator_modEquals = Model.Name "modEquals"++_AssignmentOperator_andEquals = Model.Name "andEquals"++_AssignmentOperator_orEquals = Model.Name "orEquals"++_AssignmentOperator_xorEquals = Model.Name "xorEquals"++_AssignmentOperator_leftShiftEquals = Model.Name "leftShiftEquals"++_AssignmentOperator_rightShiftEquals = Model.Name "rightShiftEquals"++-- | A single attribute, consisting of an attribute name and optional constructor/named arguments.+data Attribute =+ Attribute {+ attributeName :: AttributeName,+ attributeArguments :: (Maybe AttributeArguments)}+ deriving (Eq, Ord, Read, Show)++_Attribute = Model.Name "hydra.ext.csharp.syntax.Attribute"++_Attribute_name = Model.Name "name"++_Attribute_arguments = Model.Name "arguments"++-- | An expression usable as an attribute argument (a compile-time constant expression).+newtype AttributeArgumentExpression =+ AttributeArgumentExpression {+ unAttributeArgumentExpression :: NonAssignmentExpression}+ deriving (Eq, Ord, Read, Show)++_AttributeArgumentExpression = Model.Name "hydra.ext.csharp.syntax.AttributeArgumentExpression"++-- | The positional and named argument lists supplied to an attribute.+data AttributeArguments =+ AttributeArguments {+ attributeArgumentsPositonal :: (Maybe PositionalArgumentList),+ attributeArgumentsNamed :: (Maybe NamedArgumentList)}+ deriving (Eq, Ord, Read, Show)++_AttributeArguments = Model.Name "hydra.ext.csharp.syntax.AttributeArguments"++_AttributeArguments_positonal = Model.Name "positonal"++_AttributeArguments_named = Model.Name "named"++-- | A non-empty, comma-separated list of attributes within a single attribute section.+newtype AttributeList =+ AttributeList {+ unAttributeList :: [Attribute]}+ deriving (Eq, Ord, Read, Show)++_AttributeList = Model.Name "hydra.ext.csharp.syntax.AttributeList"++-- | The type name referenced by an attribute, resolved against types ending in the suffix Attribute.+newtype AttributeName =+ AttributeName {+ unAttributeName :: TypeName}+ deriving (Eq, Ord, Read, Show)++_AttributeName = Model.Name "hydra.ext.csharp.syntax.AttributeName"++-- | A bracketed attribute section, with an optional target specifier, attached to a declaration.+data AttributeSection =+ AttributeSection {+ attributeSectionTarget :: (Maybe AttributeTarget),+ attributeSectionAttributes :: AttributeList}+ deriving (Eq, Ord, Read, Show)++_AttributeSection = Model.Name "hydra.ext.csharp.syntax.AttributeSection"++_AttributeSection_target = Model.Name "target"++_AttributeSection_attributes = Model.Name "attributes"++-- | The target specifier of an attribute section (e.g. assembly, module, return, field).+data AttributeTarget =+ AttributeTargetIdentifier Identifier |+ AttributeTargetKeyword Keyword+ deriving (Eq, Ord, Read, Show)++_AttributeTarget = Model.Name "hydra.ext.csharp.syntax.AttributeTarget"++_AttributeTarget_identifier = Model.Name "identifier"++_AttributeTarget_keyword = Model.Name "keyword"++-- | A non-empty sequence of attribute sections attached to a single declaration.+newtype Attributes =+ Attributes {+ unAttributes :: [AttributeSection]}+ deriving (Eq, Ord, Read, Show)++_Attributes = Model.Name "hydra.ext.csharp.syntax.Attributes"++-- | A 'base' access expression, either invoking a base member or indexing via base[args].+data BaseAccess =+ BaseAccessIdentifier BaseAccessWithIdentifier |+ BaseAccessArguments ArgumentList+ deriving (Eq, Ord, Read, Show)++_BaseAccess = Model.Name "hydra.ext.csharp.syntax.BaseAccess"++_BaseAccess_identifier = Model.Name "identifier"++_BaseAccess_arguments = Model.Name "arguments"++-- | A 'base.member' access, with an optional list of type arguments.+data BaseAccessWithIdentifier =+ BaseAccessWithIdentifier {+ baseAccessWithIdentifierIdentifier :: Identifier,+ baseAccessWithIdentifierTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_BaseAccessWithIdentifier = Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"++_BaseAccessWithIdentifier_identifier = Model.Name "identifier"++_BaseAccessWithIdentifier_typeArguments = Model.Name "typeArguments"++-- | A binary addition or subtraction expression with a left operand, operator, and right operand.+data BinaryAdditiveExpression =+ BinaryAdditiveExpression {+ binaryAdditiveExpressionLeft :: AdditiveExpression,+ binaryAdditiveExpressionOperator :: AdditiveOperator,+ binaryAdditiveExpressionRight :: MultiplicativeExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryAdditiveExpression = Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"++_BinaryAdditiveExpression_left = Model.Name "left"++_BinaryAdditiveExpression_operator = Model.Name "operator"++_BinaryAdditiveExpression_right = Model.Name "right"++-- | A binary bitwise-AND expression (&) over two operand expressions.+data BinaryAndExpression =+ BinaryAndExpression {+ binaryAndExpressionLeft :: AndExpression,+ binaryAndExpressionRight :: EqualityExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryAndExpression = Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"++_BinaryAndExpression_left = Model.Name "left"++_BinaryAndExpression_right = Model.Name "right"++-- | A binary conditional-AND expression (&&) over two operand expressions.+data BinaryConditionalAndExpression =+ BinaryConditionalAndExpression {+ binaryConditionalAndExpressionLeft :: ConditionalAndExpression,+ binaryConditionalAndExpressionRight :: InclusiveOrExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryConditionalAndExpression = Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"++_BinaryConditionalAndExpression_left = Model.Name "left"++_BinaryConditionalAndExpression_right = Model.Name "right"++-- | A binary conditional-OR expression (||) over two operand expressions.+data BinaryConditionalOrExpression =+ BinaryConditionalOrExpression {+ binaryConditionalOrExpressionLeft :: ConditionalOrExpression,+ binaryConditionalOrExpressionRight :: ConditionalAndExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryConditionalOrExpression = Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"++_BinaryConditionalOrExpression_left = Model.Name "left"++_BinaryConditionalOrExpression_right = Model.Name "right"++-- | A binary equality or inequality comparison expression.+data BinaryEqualityExpression =+ BinaryEqualityExpression {+ binaryEqualityExpressionLeft :: EqualityExpression,+ binaryEqualityExpressionOperator :: EqualityOperator,+ binaryEqualityExpressionRight :: RelationalExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryEqualityExpression = Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"++_BinaryEqualityExpression_left = Model.Name "left"++_BinaryEqualityExpression_operator = Model.Name "operator"++_BinaryEqualityExpression_right = Model.Name "right"++-- | A binary bitwise exclusive-OR expression (^) over two operand expressions.+data BinaryExclusiveOrExpression =+ BinaryExclusiveOrExpression {+ binaryExclusiveOrExpressionLeft :: ExclusiveOrExpression,+ binaryExclusiveOrExpressionRight :: AndExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryExclusiveOrExpression = Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"++_BinaryExclusiveOrExpression_left = Model.Name "left"++_BinaryExclusiveOrExpression_right = Model.Name "right"++-- | A binary bitwise inclusive-OR expression (|) over two operand expressions.+data BinaryInclusiveOrExpression =+ BinaryInclusiveOrExpression {+ binaryInclusiveOrExpressionLeft :: InclusiveOrExpression,+ binaryInclusiveOrExpressionRight :: ExclusiveOrExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryInclusiveOrExpression = Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"++_BinaryInclusiveOrExpression_left = Model.Name "left"++_BinaryInclusiveOrExpression_right = Model.Name "right"++-- | A binary multiplication, division, or remainder expression.+data BinaryMultiplicativeExpression =+ BinaryMultiplicativeExpression {+ binaryMultiplicativeExpressionLeft :: MultiplicativeExpression,+ binaryMultiplicativeExpressionOperator :: MultiplicativeOperator,+ binaryMultiplicativeExpressionRight :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryMultiplicativeExpression = Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"++_BinaryMultiplicativeExpression_left = Model.Name "left"++_BinaryMultiplicativeExpression_operator = Model.Name "operator"++_BinaryMultiplicativeExpression_right = Model.Name "right"++-- | A binary null-coalescing expression (??) over two operand expressions.+data BinaryNullCoalescingExpression =+ BinaryNullCoalescingExpression {+ binaryNullCoalescingExpressionLeft :: ConditionalOrExpression,+ binaryNullCoalescingExpressionRight :: NullCoalescingExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryNullCoalescingExpression = Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"++_BinaryNullCoalescingExpression_left = Model.Name "left"++_BinaryNullCoalescingExpression_right = Model.Name "right"++-- | The declarator for a user-defined binary operator overload, naming its two parameters.+data BinaryOperatorDeclarator =+ BinaryOperatorDeclarator {+ binaryOperatorDeclaratorType :: Type,+ binaryOperatorDeclaratorOperator :: OverloadableBinaryOperator,+ binaryOperatorDeclaratorLeft :: FixedParameter,+ binaryOperatorDeclaratorRight :: FixedParameter}+ deriving (Eq, Ord, Read, Show)++_BinaryOperatorDeclarator = Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"++_BinaryOperatorDeclarator_type = Model.Name "type"++_BinaryOperatorDeclarator_operator = Model.Name "operator"++_BinaryOperatorDeclarator_left = Model.Name "left"++_BinaryOperatorDeclarator_right = Model.Name "right"++-- | A binary relational comparison expression (<, >, <=, or >=).+data BinaryRelationalExpression =+ BinaryRelationalExpression {+ binaryRelationalExpressionLeft :: RelationalExpression,+ binaryRelationalExpressionOperator :: RelationalOperator,+ binaryRelationalExpressionRight :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryRelationalExpression = Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"++_BinaryRelationalExpression_left = Model.Name "left"++_BinaryRelationalExpression_operator = Model.Name "operator"++_BinaryRelationalExpression_right = Model.Name "right"++-- | A binary left-shift or right-shift expression.+data BinaryShiftExpression =+ BinaryShiftExpression {+ binaryShiftExpressionLeft :: ShiftExpression,+ binaryShiftExpressionOperator :: ShiftOperator,+ binaryShiftExpressionRight :: AdditiveExpression}+ deriving (Eq, Ord, Read, Show)++_BinaryShiftExpression = Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"++_BinaryShiftExpression_left = Model.Name "left"++_BinaryShiftExpression_operator = Model.Name "operator"++_BinaryShiftExpression_right = Model.Name "right"++-- | A brace-delimited sequence of statements forming a single compound statement.+newtype Block =+ Block {+ unBlock :: [Statement]}+ deriving (Eq, Ord, Read, Show)++_Block = Model.Name "hydra.ext.csharp.syntax.Block"++-- | A property body given as get/set accessor declarations, with an optional initializer.+data BlockPropertyBody =+ BlockPropertyBody {+ blockPropertyBodyAccessors :: AccessorDeclarations,+ blockPropertyBodyInitializer :: (Maybe VariableInitializer)}+ deriving (Eq, Ord, Read, Show)++_BlockPropertyBody = Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"++_BlockPropertyBody_accessors = Model.Name "accessors"++_BlockPropertyBody_initializer = Model.Name "initializer"++-- | An expression required to have (or be convertible to) type bool, such as an if condition.+newtype BooleanExpression =+ BooleanExpression {+ unBooleanExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_BooleanExpression = Model.Name "hydra.ext.csharp.syntax.BooleanExpression"++-- | An explicit type-cast expression applied to a unary expression.+data CastExpression =+ CastExpression {+ castExpressionType :: Type,+ castExpressionExpression :: UnaryExpression}+ deriving (Eq, Ord, Read, Show)++_CastExpression = Model.Name "hydra.ext.csharp.syntax.CastExpression"++_CastExpression_type = Model.Name "type"++_CastExpression_expression = Model.Name "expression"++-- | The catch clauses of a try statement: one or more specific clauses, or a single general clause.+data CatchClauses =+ CatchClausesSpecific [SpecificCatchClause] |+ CatchClausesGeneral Block+ deriving (Eq, Ord, Read, Show)++_CatchClauses = Model.Name "hydra.ext.csharp.syntax.CatchClauses"++_CatchClauses_specific = Model.Name "specific"++_CatchClauses_general = Model.Name "general"++-- | The base class and/or implemented interfaces listed in a class declaration's base-list.+data ClassBase =+ ClassBaseClass (Maybe ClassType) |+ ClassBaseInterfaces [InterfaceType]+ deriving (Eq, Ord, Read, Show)++_ClassBase = Model.Name "hydra.ext.csharp.syntax.ClassBase"++_ClassBase_class = Model.Name "class"++_ClassBase_interfaces = Model.Name "interfaces"++-- | The brace-delimited sequence of member declarations that make up a class.+newtype ClassBody =+ ClassBody {+ unClassBody :: [ClassMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_ClassBody = Model.Name "hydra.ext.csharp.syntax.ClassBody"++-- | A C# class declaration, including its modifiers, type parameters, base list, and body.+data ClassDeclaration =+ ClassDeclaration {+ classDeclarationAttributes :: [AttributeSection],+ classDeclarationModifiers :: [ClassModifier],+ classDeclarationPartial :: Bool,+ classDeclarationName :: Identifier,+ classDeclarationParameters :: (Maybe TypeParameterList),+ classDeclarationBase :: (Maybe ClassBase),+ classDeclarationConstraints :: [TypeParameterConstraintsClause],+ classDeclarationBody :: ClassBody}+ deriving (Eq, Ord, Read, Show)++_ClassDeclaration = Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"++_ClassDeclaration_attributes = Model.Name "attributes"++_ClassDeclaration_modifiers = Model.Name "modifiers"++_ClassDeclaration_partial = Model.Name "partial"++_ClassDeclaration_name = Model.Name "name"++_ClassDeclaration_parameters = Model.Name "parameters"++_ClassDeclaration_base = Model.Name "base"++_ClassDeclaration_constraints = Model.Name "constraints"++_ClassDeclaration_body = Model.Name "body"++-- | Any member that can appear in a class body: field, method, property, event, and so on.+data ClassMemberDeclaration =+ ClassMemberDeclarationConstant ConstantDeclaration |+ ClassMemberDeclarationField FieldDeclaration |+ ClassMemberDeclarationMethod MethodDeclaration |+ ClassMemberDeclarationProperty PropertyDeclaration |+ ClassMemberDeclarationEvent EventDeclaration |+ ClassMemberDeclarationIndexer IndexerDeclaration |+ ClassMemberDeclarationOperator OperatorDeclaration |+ ClassMemberDeclarationConstructor ConstructorDeclaration |+ ClassMemberDeclarationFinalizer FinalizerDeclaration |+ ClassMemberDeclarationStaticConstructor StaticConstructorDeclaration |+ ClassMemberDeclarationType TypeDeclaration+ deriving (Eq, Ord, Read, Show)++_ClassMemberDeclaration = Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"++_ClassMemberDeclaration_constant = Model.Name "constant"++_ClassMemberDeclaration_field = Model.Name "field"++_ClassMemberDeclaration_method = Model.Name "method"++_ClassMemberDeclaration_property = Model.Name "property"++_ClassMemberDeclaration_event = Model.Name "event"++_ClassMemberDeclaration_indexer = Model.Name "indexer"++_ClassMemberDeclaration_operator = Model.Name "operator"++_ClassMemberDeclaration_constructor = Model.Name "constructor"++_ClassMemberDeclaration_finalizer = Model.Name "finalizer"++_ClassMemberDeclaration_staticConstructor = Model.Name "staticConstructor"++_ClassMemberDeclaration_type = Model.Name "type"++-- | A modifier keyword on a class declaration, such as public, abstract, sealed, or static.+data ClassModifier =+ ClassModifierNew |+ ClassModifierPublic |+ ClassModifierProtected |+ ClassModifierInternal |+ ClassModifierPrivate |+ ClassModifierAbstract |+ ClassModifierSealed |+ ClassModifierStatic |+ ClassModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_ClassModifier = Model.Name "hydra.ext.csharp.syntax.ClassModifier"++_ClassModifier_new = Model.Name "new"++_ClassModifier_public = Model.Name "public"++_ClassModifier_protected = Model.Name "protected"++_ClassModifier_internal = Model.Name "internal"++_ClassModifier_private = Model.Name "private"++_ClassModifier_abstract = Model.Name "abstract"++_ClassModifier_sealed = Model.Name "sealed"++_ClassModifier_static = Model.Name "static"++_ClassModifier_unsafe = Model.Name "unsafe"++-- | A reference to a class type: a named type, or the predefined 'object' or 'string' types.+data ClassType =+ ClassTypeTypeName TypeName |+ ClassTypeObject |+ ClassTypeString+ deriving (Eq, Ord, Read, Show)++_ClassType = Model.Name "hydra.ext.csharp.syntax.ClassType"++_ClassType_typeName = Model.Name "typeName"++_ClassType_object = Model.Name "object"++_ClassType_string = Model.Name "string"++-- | The root of a C# source file: extern aliases, using directives, attributes, and type members.+data CompilationUnit =+ CompilationUnit {+ compilationUnitExterns :: [ExternAliasDirective],+ compilationUnitUsings :: [UsingDirective],+ compilationUnitAttributes :: [GlobalAttributeSection],+ compilationUnitMembers :: [NamespaceMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_CompilationUnit = Model.Name "hydra.ext.csharp.syntax.CompilationUnit"++_CompilationUnit_externs = Model.Name "externs"++_CompilationUnit_usings = Model.Name "usings"++_CompilationUnit_attributes = Model.Name "attributes"++_CompilationUnit_members = Model.Name "members"++-- | A simple inclusive-OR expression or a binary conditional-AND (&&) expression.+data ConditionalAndExpression =+ ConditionalAndExpressionSimple InclusiveOrExpression |+ ConditionalAndExpressionBinary BinaryConditionalAndExpression+ deriving (Eq, Ord, Read, Show)++_ConditionalAndExpression = Model.Name "hydra.ext.csharp.syntax.ConditionalAndExpression"++_ConditionalAndExpression_simple = Model.Name "simple"++_ConditionalAndExpression_binary = Model.Name "binary"++-- | The ternary conditional expression, in its simple, ref-conditional, or fallthrough forms.+data ConditionalExpression =+ ConditionalExpressionSimple NullCoalescingExpression |+ ConditionalExpressionSimpleConditional SimpleConditionalExpression |+ ConditionalExpressionRefConditional RefConditionalExpression+ deriving (Eq, Ord, Read, Show)++_ConditionalExpression = Model.Name "hydra.ext.csharp.syntax.ConditionalExpression"++_ConditionalExpression_simple = Model.Name "simple"++_ConditionalExpression_simpleConditional = Model.Name "simpleConditional"++_ConditionalExpression_refConditional = Model.Name "refConditional"++-- | A simple conditional-AND expression or a binary conditional-OR (||) expression.+data ConditionalOrExpression =+ ConditionalOrExpressionSimple ConditionalAndExpression |+ ConditionalOrExpressionBinary BinaryConditionalOrExpression+ deriving (Eq, Ord, Read, Show)++_ConditionalOrExpression = Model.Name "hydra.ext.csharp.syntax.ConditionalOrExpression"++_ConditionalOrExpression_simple = Model.Name "simple"++_ConditionalOrExpression_binary = Model.Name "binary"++-- | A 'const' field declaration with its modifiers, type, and one or more declarators.+data ConstantDeclaration =+ ConstantDeclaration {+ constantDeclarationAttributes :: (Maybe Attributes),+ constantDeclarationModifiers :: [ConstantModifier],+ constantDeclarationType :: Type,+ constantDeclarationDeclarators :: [ConstantDeclarator]}+ deriving (Eq, Ord, Read, Show)++_ConstantDeclaration = Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"++_ConstantDeclaration_attributes = Model.Name "attributes"++_ConstantDeclaration_modifiers = Model.Name "modifiers"++_ConstantDeclaration_type = Model.Name "type"++_ConstantDeclaration_declarators = Model.Name "declarators"++-- | A single 'identifier = expression' pair within a constant declaration.+data ConstantDeclarator =+ ConstantDeclarator {+ constantDeclaratorIdentifier :: Identifier,+ constantDeclaratorExpression :: ConstantExpression}+ deriving (Eq, Ord, Read, Show)++_ConstantDeclarator = Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"++_ConstantDeclarator_identifier = Model.Name "identifier"++_ConstantDeclarator_expression = Model.Name "expression"++-- | An expression that is required to be evaluable at compile time.+newtype ConstantExpression =+ ConstantExpression {+ unConstantExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_ConstantExpression = Model.Name "hydra.ext.csharp.syntax.ConstantExpression"++-- | An access modifier (new, public, protected, internal, or private) on a constant declaration.+data ConstantModifier =+ ConstantModifierNew |+ ConstantModifierPublic |+ ConstantModifierProtected |+ ConstantModifierInternal |+ ConstantModifierPrivate+ deriving (Eq, Ord, Read, Show)++_ConstantModifier = Model.Name "hydra.ext.csharp.syntax.ConstantModifier"++_ConstantModifier_new = Model.Name "new"++_ConstantModifier_public = Model.Name "public"++_ConstantModifier_protected = Model.Name "protected"++_ConstantModifier_internal = Model.Name "internal"++_ConstantModifier_private = Model.Name "private"++-- | The body of an instance constructor: a block, expression body, or empty (extern) body.+data ConstructorBody =+ ConstructorBodyBlock Block |+ ConstructorBodyExpression Expression |+ ConstructorBodyEmpty+ deriving (Eq, Ord, Read, Show)++_ConstructorBody = Model.Name "hydra.ext.csharp.syntax.ConstructorBody"++_ConstructorBody_block = Model.Name "block"++_ConstructorBody_expression = Model.Name "expression"++_ConstructorBody_empty = Model.Name "empty"++-- | An instance constructor declaration, including its declarator and body.+data ConstructorDeclaration =+ ConstructorDeclaration {+ constructorDeclarationAttributes :: (Maybe Attributes),+ constructorDeclarationModifiers :: [ConstructorModifier],+ constructorDeclarationDeclarator :: ConstructorDeclarator,+ constructorDeclarationBody :: ConstructorBody}+ deriving (Eq, Ord, Read, Show)++_ConstructorDeclaration = Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"++_ConstructorDeclaration_attributes = Model.Name "attributes"++_ConstructorDeclaration_modifiers = Model.Name "modifiers"++_ConstructorDeclaration_declarator = Model.Name "declarator"++_ConstructorDeclaration_body = Model.Name "body"++-- | A constructor's name, parameter list, and optional base/this initializer.+data ConstructorDeclarator =+ ConstructorDeclarator {+ constructorDeclaratorName :: Identifier,+ constructorDeclaratorParameters :: (Maybe FormalParameterList),+ constructorDeclaratorInitializer :: (Maybe ConstructorInitializer)}+ deriving (Eq, Ord, Read, Show)++_ConstructorDeclarator = Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"++_ConstructorDeclarator_name = Model.Name "name"++_ConstructorDeclarator_parameters = Model.Name "parameters"++_ConstructorDeclarator_initializer = Model.Name "initializer"++-- | A ': base(...)' or ': this(...)' initializer invoked before a constructor body runs.+data ConstructorInitializer =+ ConstructorInitializerBase (Maybe ArgumentList) |+ ConstructorInitializerThis (Maybe ArgumentList)+ deriving (Eq, Ord, Read, Show)++_ConstructorInitializer = Model.Name "hydra.ext.csharp.syntax.ConstructorInitializer"++_ConstructorInitializer_base = Model.Name "base"++_ConstructorInitializer_this = Model.Name "this"++-- | An access or extern/unsafe modifier on an instance constructor declaration.+data ConstructorModifier =+ ConstructorModifierPublic |+ ConstructorModifierProtected |+ ConstructorModifierInternal |+ ConstructorModifierPrivate |+ ConstructorModifierExtern |+ ConstructorModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_ConstructorModifier = Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"++_ConstructorModifier_public = Model.Name "public"++_ConstructorModifier_protected = Model.Name "protected"++_ConstructorModifier_internal = Model.Name "internal"++_ConstructorModifier_private = Model.Name "private"++_ConstructorModifier_extern = Model.Name "extern"++_ConstructorModifier_unsafe = Model.Name "unsafe"++-- | Whether a user-defined conversion operator is implicit or explicit.+data ConversionKind =+ ConversionKindImplicit |+ ConversionKindExplicit+ deriving (Eq, Ord, Read, Show)++_ConversionKind = Model.Name "hydra.ext.csharp.syntax.ConversionKind"++_ConversionKind_implicit = Model.Name "implicit"++_ConversionKind_explicit = Model.Name "explicit"++-- | The declarator for a user-defined implicit or explicit conversion operator.+data ConversionOperatorDeclarator =+ ConversionOperatorDeclarator {+ conversionOperatorDeclaratorKind :: ConversionKind,+ conversionOperatorDeclaratorType :: Type,+ conversionOperatorDeclaratorParameter :: FixedParameter}+ deriving (Eq, Ord, Read, Show)++_ConversionOperatorDeclarator = Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"++_ConversionOperatorDeclarator_kind = Model.Name "kind"++_ConversionOperatorDeclarator_type = Model.Name "type"++_ConversionOperatorDeclarator_parameter = Model.Name "parameter"++-- | An inline variable declaration used as an expression, such as an out-variable declaration.+data DeclarationExpression =+ DeclarationExpression {+ declarationExpressionType :: LocalVariableType,+ declarationExpressionIdentifier :: Identifier}+ deriving (Eq, Ord, Read, Show)++_DeclarationExpression = Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"++_DeclarationExpression_type = Model.Name "type"++_DeclarationExpression_identifier = Model.Name "identifier"++-- | A pattern that tests an expression's type and, on success, binds it to a designation.+data DeclarationPattern =+ DeclarationPattern {+ declarationPatternType :: Type,+ declarationPatternDesignation :: Designation}+ deriving (Eq, Ord, Read, Show)++_DeclarationPattern = Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"++_DeclarationPattern_type = Model.Name "type"++_DeclarationPattern_designation = Model.Name "designation"++-- | A local variable, local constant, or local function declaration statement.+data DeclarationStatement =+ DeclarationStatementVariable LocalVariableDeclaration |+ DeclarationStatementConstant LocalConstantDeclaration |+ DeclarationStatementFunction LocalFunctionDeclaration+ deriving (Eq, Ord, Read, Show)++_DeclarationStatement = Model.Name "hydra.ext.csharp.syntax.DeclarationStatement"++_DeclarationStatement_variable = Model.Name "variable"++_DeclarationStatement_constant = Model.Name "constant"++_DeclarationStatement_function = Model.Name "function"++-- | One element of a deconstruction pattern: a nested tuple or a bound identifier.+data DeconstructionElement =+ DeconstructionElementTuple DeconstructionTuple |+ DeconstructionElementIdentifier Identifier+ deriving (Eq, Ord, Read, Show)++_DeconstructionElement = Model.Name "hydra.ext.csharp.syntax.DeconstructionElement"++_DeconstructionElement_tuple = Model.Name "tuple"++_DeconstructionElement_identifier = Model.Name "identifier"++-- | A tuple deconstruction pattern used on the left-hand side of a deconstructing assignment.+newtype DeconstructionTuple =+ DeconstructionTuple {+ unDeconstructionTuple :: [DeconstructionElement]}+ deriving (Eq, Ord, Read, Show)++_DeconstructionTuple = Model.Name "hydra.ext.csharp.syntax.DeconstructionTuple"++-- | A 'default(T)' expression, or the type-inferred 'default' literal.+data DefaultValueExpression =+ DefaultValueExpressionExplicitlyTyped Type |+ DefaultValueExpressionDefaultLiteral+ deriving (Eq, Ord, Read, Show)++_DefaultValueExpression = Model.Name "hydra.ext.csharp.syntax.DefaultValueExpression"++_DefaultValueExpression_explicitlyTyped = Model.Name "explicitlyTyped"++_DefaultValueExpression_defaultLiteral = Model.Name "defaultLiteral"++-- | An expression that creates a delegate instance from a method group or lambda.+data DelegateCreationExpression =+ DelegateCreationExpression {+ delegateCreationExpressionType :: DelegateType,+ delegateCreationExpressionExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_DelegateCreationExpression = Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"++_DelegateCreationExpression_type = Model.Name "type"++_DelegateCreationExpression_expression = Model.Name "expression"++-- | A delegate type declaration, naming its return type, ref kind, and parameter list.+data DelegateDeclaration =+ DelegateDeclaration {+ delegateDeclarationAttributes :: (Maybe Attributes),+ delegateDeclarationModifiers :: [DelegateModifier],+ delegateDeclarationReturnType :: ReturnType,+ delegateDeclarationRefKind :: (Maybe RefKind),+ delegateDeclarationRefReturnType :: (Maybe Type),+ delegateDeclarationHeader :: DelegateHeader}+ deriving (Eq, Ord, Read, Show)++_DelegateDeclaration = Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"++_DelegateDeclaration_attributes = Model.Name "attributes"++_DelegateDeclaration_modifiers = Model.Name "modifiers"++_DelegateDeclaration_returnType = Model.Name "returnType"++_DelegateDeclaration_refKind = Model.Name "refKind"++_DelegateDeclaration_refReturnType = Model.Name "refReturnType"++_DelegateDeclaration_header = Model.Name "header"++-- | The name, type parameters, formal parameters, and constraints of a delegate declaration.+data DelegateHeader =+ DelegateHeader {+ delegateHeaderName :: Identifier,+ delegateHeaderTypeParameters :: (Maybe VariantTypeParameters),+ delegateHeaderParameters :: (Maybe FormalParameterList),+ delegateHeaderConstraints :: [TypeParameterConstraintsClause]}+ deriving (Eq, Ord, Read, Show)++_DelegateHeader = Model.Name "hydra.ext.csharp.syntax.DelegateHeader"++_DelegateHeader_name = Model.Name "name"++_DelegateHeader_typeParameters = Model.Name "typeParameters"++_DelegateHeader_parameters = Model.Name "parameters"++_DelegateHeader_constraints = Model.Name "constraints"++-- | An access or unsafe modifier on a delegate type declaration.+data DelegateModifier =+ DelegateModifierNew |+ DelegateModifierPublic |+ DelegateModifierProtected |+ DelegateModifierInternal |+ DelegateModifierPrivate |+ DelegateModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_DelegateModifier = Model.Name "hydra.ext.csharp.syntax.DelegateModifier"++_DelegateModifier_new = Model.Name "new"++_DelegateModifier_public = Model.Name "public"++_DelegateModifier_protected = Model.Name "protected"++_DelegateModifier_internal = Model.Name "internal"++_DelegateModifier_private = Model.Name "private"++_DelegateModifier_unsafe = Model.Name "unsafe"++-- | A reference to a delegate type by its type name.+newtype DelegateType =+ DelegateType {+ unDelegateType :: TypeName}+ deriving (Eq, Ord, Read, Show)++_DelegateType = Model.Name "hydra.ext.csharp.syntax.DelegateType"++-- | A member access, element access, or invocation chained after a null-conditional operator.+data DependentAccess =+ DependentAccessMemberAccess DependentAccessForMember |+ DependentAccessElementAccess ArgumentList |+ DependentAccessInvocation (Maybe ArgumentList)+ deriving (Eq, Ord, Read, Show)++_DependentAccess = Model.Name "hydra.ext.csharp.syntax.DependentAccess"++_DependentAccess_memberAccess = Model.Name "memberAccess"++_DependentAccess_elementAccess = Model.Name "elementAccess"++_DependentAccess_invocation = Model.Name "invocation"++-- | A member identifier and optional type arguments chained after a null-conditional access.+data DependentAccessForMember =+ DependentAccessForMember {+ dependentAccessForMemberIdentifier :: Identifier,+ dependentAccessForMemberTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_DependentAccessForMember = Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"++_DependentAccessForMember_identifier = Model.Name "identifier"++_DependentAccessForMember_typeArguments = Model.Name "typeArguments"++-- | A simple identifier binding introduced by a pattern, such as in a declaration pattern.+newtype Designation =+ Designation {+ unDesignation :: Identifier}+ deriving (Eq, Ord, Read, Show)++_Designation = Model.Name "hydra.ext.csharp.syntax.Designation"++-- | A do-while iteration statement that executes its body at least once.+data DoStatement =+ DoStatement {+ doStatementBody :: EmbeddedStatement,+ doStatementWhile :: BooleanExpression}+ deriving (Eq, Ord, Read, Show)++_DoStatement = Model.Name "hydra.ext.csharp.syntax.DoStatement"++_DoStatement_body = Model.Name "body"++_DoStatement_while = Model.Name "while"++-- | An indexer access expression applying an argument list to a primary expression.+data ElementAccess =+ ElementAccess {+ elementAccessExpression :: PrimaryNoArrayCreationExpression,+ elementAccessArguments :: ArgumentList}+ deriving (Eq, Ord, Read, Show)++_ElementAccess = Model.Name "hydra.ext.csharp.syntax.ElementAccess"++_ElementAccess_expression = Model.Name "expression"++_ElementAccess_arguments = Model.Name "arguments"++-- | A single element of a collection initializer: one expression, or a nested element list.+data ElementInitializer =+ ElementInitializerSingle NonAssignmentExpression |+ ElementInitializerList ExpressionList+ deriving (Eq, Ord, Read, Show)++_ElementInitializer = Model.Name "hydra.ext.csharp.syntax.ElementInitializer"++_ElementInitializer_single = Model.Name "single"++_ElementInitializer_list = Model.Name "list"++-- | A statement nested inside another statement, excluding labeled and declaration statements.+data EmbeddedStatement =+ EmbeddedStatementBlock Block |+ EmbeddedStatementEmpty |+ EmbeddedStatementExpression StatementExpression |+ EmbeddedStatementSelection SelectionStatement |+ EmbeddedStatementIteration IterationStatement |+ EmbeddedStatementJump JumpStatement |+ EmbeddedStatementTry TryStatement |+ EmbeddedStatementChecked Block |+ EmbeddedStatementUnchecked Block |+ EmbeddedStatementLock LockStatement |+ EmbeddedStatementUsing UsingStatement |+ EmbeddedStatementYield YieldStatement |+ EmbeddedStatementUnsafe Block |+ EmbeddedStatementFixed FixedStatement+ deriving (Eq, Ord, Read, Show)++_EmbeddedStatement = Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"++_EmbeddedStatement_block = Model.Name "block"++_EmbeddedStatement_empty = Model.Name "empty"++_EmbeddedStatement_expression = Model.Name "expression"++_EmbeddedStatement_selection = Model.Name "selection"++_EmbeddedStatement_iteration = Model.Name "iteration"++_EmbeddedStatement_jump = Model.Name "jump"++_EmbeddedStatement_try = Model.Name "try"++_EmbeddedStatement_checked = Model.Name "checked"++_EmbeddedStatement_unchecked = Model.Name "unchecked"++_EmbeddedStatement_lock = Model.Name "lock"++_EmbeddedStatement_using = Model.Name "using"++_EmbeddedStatement_yield = Model.Name "yield"++_EmbeddedStatement_unsafe = Model.Name "unsafe"++_EmbeddedStatement_fixed = Model.Name "fixed"++-- | The optional explicit underlying integral type declared for an enum.+data EnumBase =+ EnumBaseType IntegralType |+ EnumBaseName TypeName+ deriving (Eq, Ord, Read, Show)++_EnumBase = Model.Name "hydra.ext.csharp.syntax.EnumBase"++_EnumBase_type = Model.Name "type"++_EnumBase_name = Model.Name "name"++-- | The brace-delimited list of member declarations that make up an enum.+newtype EnumBody =+ EnumBody {+ unEnumBody :: [EnumMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_EnumBody = Model.Name "hydra.ext.csharp.syntax.EnumBody"++-- | An enum type declaration, with its modifiers, name, underlying type, and members.+data EnumDeclaration =+ EnumDeclaration {+ enumDeclarationAttributes :: (Maybe Attributes),+ enumDeclarationModifiers :: [EnumModifier],+ enumDeclarationName :: Identifier,+ enumDeclarationBase :: (Maybe EnumBase),+ enumDeclarationBody :: (Maybe EnumBody)}+ deriving (Eq, Ord, Read, Show)++_EnumDeclaration = Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"++_EnumDeclaration_attributes = Model.Name "attributes"++_EnumDeclaration_modifiers = Model.Name "modifiers"++_EnumDeclaration_name = Model.Name "name"++_EnumDeclaration_base = Model.Name "base"++_EnumDeclaration_body = Model.Name "body"++-- | A single named enum member, with optional attributes and an explicit constant value.+data EnumMemberDeclaration =+ EnumMemberDeclaration {+ enumMemberDeclarationAttributes :: (Maybe Attributes),+ enumMemberDeclarationName :: Identifier,+ enumMemberDeclarationValue :: (Maybe ConstantExpression)}+ deriving (Eq, Ord, Read, Show)++_EnumMemberDeclaration = Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"++_EnumMemberDeclaration_attributes = Model.Name "attributes"++_EnumMemberDeclaration_name = Model.Name "name"++_EnumMemberDeclaration_value = Model.Name "value"++-- | An access modifier (new, public, protected, internal, or private) on an enum declaration.+data EnumModifier =+ EnumModifierNew |+ EnumModifierPublic |+ EnumModifierProtected |+ EnumModifierInternal |+ EnumModifierPrivate+ deriving (Eq, Ord, Read, Show)++_EnumModifier = Model.Name "hydra.ext.csharp.syntax.EnumModifier"++_EnumModifier_new = Model.Name "new"++_EnumModifier_public = Model.Name "public"++_EnumModifier_protected = Model.Name "protected"++_EnumModifier_internal = Model.Name "internal"++_EnumModifier_private = Model.Name "private"++-- | A reference to an enum type by its type name.+newtype EnumType =+ EnumType {+ unEnumType :: TypeName}+ deriving (Eq, Ord, Read, Show)++_EnumType = Model.Name "hydra.ext.csharp.syntax.EnumType"++-- | A simple relational expression or a binary equality/inequality expression.+data EqualityExpression =+ EqualityExpressionSimple RelationalExpression |+ EqualityExpressionBinary BinaryEqualityExpression+ deriving (Eq, Ord, Read, Show)++_EqualityExpression = Model.Name "hydra.ext.csharp.syntax.EqualityExpression"++_EqualityExpression_simple = Model.Name "simple"++_EqualityExpression_binary = Model.Name "binary"++-- | The equality (==) or inequality (!=) operator.+data EqualityOperator =+ EqualityOperatorEqual |+ EqualityOperatorNotEqual+ deriving (Eq, Ord, Read, Show)++_EqualityOperator = Model.Name "hydra.ext.csharp.syntax.EqualityOperator"++_EqualityOperator_equal = Model.Name "equal"++_EqualityOperator_notEqual = Model.Name "notEqual"++-- | The add and remove accessor declarations of an event with an explicit accessor body.+data EventAccessorDeclarations =+ EventAccessorDeclarationsAdd AddRemoveAccessorDeclaration |+ EventAccessorDeclarationsRemove AddRemoveAccessorDeclaration+ deriving (Eq, Ord, Read, Show)++_EventAccessorDeclarations = Model.Name "hydra.ext.csharp.syntax.EventAccessorDeclarations"++_EventAccessorDeclarations_add = Model.Name "add"++_EventAccessorDeclarations_remove = Model.Name "remove"++-- | An event member declaration, in either its field-like or explicit-accessor form.+data EventDeclaration =+ EventDeclarationStandard StandardEventDeclaration |+ EventDeclarationAccessors AccessorsEventDeclaration+ deriving (Eq, Ord, Read, Show)++_EventDeclaration = Model.Name "hydra.ext.csharp.syntax.EventDeclaration"++_EventDeclaration_standard = Model.Name "standard"++_EventDeclaration_accessors = Model.Name "accessors"++-- | A modifier keyword on an event declaration, such as static, virtual, or override.+data EventModifier =+ EventModifierNew |+ EventModifierPublic |+ EventModifierProtected |+ EventModifierInternal |+ EventModifierPrivate |+ EventModifierStatic |+ EventModifierVirtual |+ EventModifierSealed |+ EventModifierOverride |+ EventModifierAbstract |+ EventModifierExtern |+ EventModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_EventModifier = Model.Name "hydra.ext.csharp.syntax.EventModifier"++_EventModifier_new = Model.Name "new"++_EventModifier_public = Model.Name "public"++_EventModifier_protected = Model.Name "protected"++_EventModifier_internal = Model.Name "internal"++_EventModifier_private = Model.Name "private"++_EventModifier_static = Model.Name "static"++_EventModifier_virtual = Model.Name "virtual"++_EventModifier_sealed = Model.Name "sealed"++_EventModifier_override = Model.Name "override"++_EventModifier_abstract = Model.Name "abstract"++_EventModifier_extern = Model.Name "extern"++_EventModifier_unsafe = Model.Name "unsafe"++-- | The exception type and optional identifier caught by a specific catch clause.+data ExceptionSpecifier =+ ExceptionSpecifier {+ exceptionSpecifierType :: Type,+ exceptionSpecifierIdentifier :: (Maybe Identifier)}+ deriving (Eq, Ord, Read, Show)++_ExceptionSpecifier = Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"++_ExceptionSpecifier_type = Model.Name "type"++_ExceptionSpecifier_identifier = Model.Name "identifier"++-- | A simple AND expression or a binary bitwise exclusive-OR (^) expression.+data ExclusiveOrExpression =+ ExclusiveOrExpressionSimple AndExpression |+ ExclusiveOrExpressionBinary BinaryExclusiveOrExpression+ deriving (Eq, Ord, Read, Show)++_ExclusiveOrExpression = Model.Name "hydra.ext.csharp.syntax.ExclusiveOrExpression"++_ExclusiveOrExpression_simple = Model.Name "simple"++_ExclusiveOrExpression_binary = Model.Name "binary"++-- | An explicitly typed parameter of an anonymous function, with an optional modifier.+data ExplicitAnonymousFunctionParameter =+ ExplicitAnonymousFunctionParameter {+ explicitAnonymousFunctionParameterModifier :: (Maybe AnonymousFunctionParameterModifier),+ explicitAnonymousFunctionParameterType :: Type,+ explicitAnonymousFunctionParameterIdentifier :: Identifier}+ deriving (Eq, Ord, Read, Show)++_ExplicitAnonymousFunctionParameter = Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"++_ExplicitAnonymousFunctionParameter_modifier = Model.Name "modifier"++_ExplicitAnonymousFunctionParameter_type = Model.Name "type"++_ExplicitAnonymousFunctionParameter_identifier = Model.Name "identifier"++-- | A local variable declaration whose type is written out explicitly.+data ExplicitlyTypedLocalVariableDeclaration =+ ExplicitlyTypedLocalVariableDeclaration {+ explicitlyTypedLocalVariableDeclarationType :: Type,+ explicitlyTypedLocalVariableDeclarationDeclarators :: [ExplicitlyTypedLocalVariableDeclarator]}+ deriving (Eq, Ord, Read, Show)++_ExplicitlyTypedLocalVariableDeclaration = Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"++_ExplicitlyTypedLocalVariableDeclaration_type = Model.Name "type"++_ExplicitlyTypedLocalVariableDeclaration_declarators = Model.Name "declarators"++-- | An identifier and optional initializer within an explicitly typed local declaration.+data ExplicitlyTypedLocalVariableDeclarator =+ ExplicitlyTypedLocalVariableDeclarator {+ explicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,+ explicitlyTypedLocalVariableDeclaratorInitializer :: (Maybe LocalVariableInitializer)}+ deriving (Eq, Ord, Read, Show)++_ExplicitlyTypedLocalVariableDeclarator = Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"++_ExplicitlyTypedLocalVariableDeclarator_identifier = Model.Name "identifier"++_ExplicitlyTypedLocalVariableDeclarator_initializer = Model.Name "initializer"++-- | A non-assignment expression or an assignment expression.+data Expression =+ ExpressionNonAssignment NonAssignmentExpression |+ ExpressionAssignment Assignment+ deriving (Eq, Ord, Read, Show)++_Expression = Model.Name "hydra.ext.csharp.syntax.Expression"++_Expression_nonAssignment = Model.Name "nonAssignment"++_Expression_assignment = Model.Name "assignment"++-- | A non-empty, comma-separated list of expressions, as used in an array creation expression.+newtype ExpressionList =+ ExpressionList {+ unExpressionList :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_ExpressionList = Model.Name "hydra.ext.csharp.syntax.ExpressionList"++-- | An 'extern alias' directive introducing an alias for an external assembly reference.+newtype ExternAliasDirective =+ ExternAliasDirective {+ unExternAliasDirective :: Identifier}+ deriving (Eq, Ord, Read, Show)++_ExternAliasDirective = Model.Name "hydra.ext.csharp.syntax.ExternAliasDirective"++-- | A field member declaration, with its modifiers, type, and one or more variable declarators.+data FieldDeclaration =+ FieldDeclaration {+ fieldDeclarationAttributes :: (Maybe Attributes),+ fieldDeclarationModifiers :: [FieldModifier],+ fieldDeclarationType :: Type,+ fieldDeclarationDeclarators :: [VariableDeclarator]}+ deriving (Eq, Ord, Read, Show)++_FieldDeclaration = Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"++_FieldDeclaration_attributes = Model.Name "attributes"++_FieldDeclaration_modifiers = Model.Name "modifiers"++_FieldDeclaration_type = Model.Name "type"++_FieldDeclaration_declarators = Model.Name "declarators"++-- | A modifier keyword on a field declaration, such as static, readonly, or volatile.+data FieldModifier =+ FieldModifierNew |+ FieldModifierPublic |+ FieldModifierProtected |+ FieldModifierInternal |+ FieldModifierPrivate |+ FieldModifierStatic |+ FieldModifierReadonly |+ FieldModifierVolatile |+ FieldModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_FieldModifier = Model.Name "hydra.ext.csharp.syntax.FieldModifier"++_FieldModifier_new = Model.Name "new"++_FieldModifier_public = Model.Name "public"++_FieldModifier_protected = Model.Name "protected"++_FieldModifier_internal = Model.Name "internal"++_FieldModifier_private = Model.Name "private"++_FieldModifier_static = Model.Name "static"++_FieldModifier_readonly = Model.Name "readonly"++_FieldModifier_volatile = Model.Name "volatile"++_FieldModifier_unsafe = Model.Name "unsafe"++-- | The body of a finalizer: a block, expression body, or empty (extern) body.+data FinalizerBody =+ FinalizerBodyBlock Block |+ FinalizerBodyExpression Expression |+ FinalizerBodyEmpty+ deriving (Eq, Ord, Read, Show)++_FinalizerBody = Model.Name "hydra.ext.csharp.syntax.FinalizerBody"++_FinalizerBody_block = Model.Name "block"++_FinalizerBody_expression = Model.Name "expression"++_FinalizerBody_empty = Model.Name "empty"++-- | A finalizer (destructor) declaration, with its extern/unsafe flags, name, and body.+data FinalizerDeclaration =+ FinalizerDeclaration {+ finalizerDeclarationAttributes :: (Maybe Attributes),+ finalizerDeclarationExtern :: Bool,+ finalizerDeclarationUnsafe :: Bool,+ finalizerDeclarationName :: Identifier,+ finalizerDeclarationBody :: FinalizerBody}+ deriving (Eq, Ord, Read, Show)++_FinalizerDeclaration = Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"++_FinalizerDeclaration_attributes = Model.Name "attributes"++_FinalizerDeclaration_extern = Model.Name "extern"++_FinalizerDeclaration_unsafe = Model.Name "unsafe"++_FinalizerDeclaration_name = Model.Name "name"++_FinalizerDeclaration_body = Model.Name "body"++-- | A single by-value or by-reference formal parameter, with optional attributes and a default value.+data FixedParameter =+ FixedParameter {+ fixedParameterAttributes :: (Maybe Attributes),+ fixedParameterModifier :: (Maybe ParameterModifier),+ fixedParameterType :: Type,+ fixedParameterIdentifier :: Identifier,+ fixedParameterDefaultArgument :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_FixedParameter = Model.Name "hydra.ext.csharp.syntax.FixedParameter"++_FixedParameter_attributes = Model.Name "attributes"++_FixedParameter_modifier = Model.Name "modifier"++_FixedParameter_type = Model.Name "type"++_FixedParameter_identifier = Model.Name "identifier"++_FixedParameter_defaultArgument = Model.Name "defaultArgument"++-- | A single declarator in a fixed statement, binding a pointer to a variable or expression.+data FixedPointerDeclarator =+ FixedPointerDeclaratorReference VariableReference |+ FixedPointerDeclaratorExpression Expression+ deriving (Eq, Ord, Read, Show)++_FixedPointerDeclarator = Model.Name "hydra.ext.csharp.syntax.FixedPointerDeclarator"++_FixedPointerDeclarator_reference = Model.Name "reference"++_FixedPointerDeclarator_expression = Model.Name "expression"++-- | An unsafe fixed-size buffer field declaration inside a struct.+data FixedSizeBufferDeclaration =+ FixedSizeBufferDeclaration {+ fixedSizeBufferDeclarationAttributes :: (Maybe Attributes),+ fixedSizeBufferDeclarationModifiers :: [FixedSizeBufferModifier],+ fixedSizeBufferDeclarationElementType :: Type,+ fixedSizeBufferDeclarationDeclarators :: [FixedSizeBufferDeclarator]}+ deriving (Eq, Ord, Read, Show)++_FixedSizeBufferDeclaration = Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"++_FixedSizeBufferDeclaration_attributes = Model.Name "attributes"++_FixedSizeBufferDeclaration_modifiers = Model.Name "modifiers"++_FixedSizeBufferDeclaration_elementType = Model.Name "elementType"++_FixedSizeBufferDeclaration_declarators = Model.Name "declarators"++-- | The name and constant size of a single fixed-size buffer member.+data FixedSizeBufferDeclarator =+ FixedSizeBufferDeclarator {+ fixedSizeBufferDeclaratorName :: Identifier,+ fixedSizeBufferDeclaratorSize :: ConstantExpression}+ deriving (Eq, Ord, Read, Show)++_FixedSizeBufferDeclarator = Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"++_FixedSizeBufferDeclarator_name = Model.Name "name"++_FixedSizeBufferDeclarator_size = Model.Name "size"++-- | An access or unsafe modifier on a fixed-size buffer declaration.+data FixedSizeBufferModifier =+ FixedSizeBufferModifierNew |+ FixedSizeBufferModifierPublic |+ FixedSizeBufferModifierInternal |+ FixedSizeBufferModifierPrivate |+ FixedSizeBufferModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_FixedSizeBufferModifier = Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"++_FixedSizeBufferModifier_new = Model.Name "new"++_FixedSizeBufferModifier_public = Model.Name "public"++_FixedSizeBufferModifier_internal = Model.Name "internal"++_FixedSizeBufferModifier_private = Model.Name "private"++_FixedSizeBufferModifier_unsafe = Model.Name "unsafe"++-- | An unsafe 'fixed' statement that pins one or more variables for pointer access.+data FixedStatement =+ FixedStatement {+ fixedStatementPointerType :: PointerType,+ fixedStatementDeclarators :: [FixedPointerDeclarator],+ fixedStatementStatement :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_FixedStatement = Model.Name "hydra.ext.csharp.syntax.FixedStatement"++_FixedStatement_pointerType = Model.Name "pointerType"++_FixedStatement_declarators = Model.Name "declarators"++_FixedStatement_statement = Model.Name "statement"++-- | The float or double floating-point numeric type.+data FloatingPointType =+ FloatingPointTypeFloat |+ FloatingPointTypeDouble+ deriving (Eq, Ord, Read, Show)++_FloatingPointType = Model.Name "hydra.ext.csharp.syntax.FloatingPointType"++_FloatingPointType_float = Model.Name "float"++_FloatingPointType_double = Model.Name "double"++-- | The initializer clause of a for statement: a local variable declaration or expression list.+data ForInitializer =+ ForInitializerVariable LocalVariableDeclaration |+ ForInitializerStatements StatementExpressionList+ deriving (Eq, Ord, Read, Show)++_ForInitializer = Model.Name "hydra.ext.csharp.syntax.ForInitializer"++_ForInitializer_variable = Model.Name "variable"++_ForInitializer_statements = Model.Name "statements"++-- | A C-style for loop, with optional initializer, condition, iterator, and a body statement.+data ForStatement =+ ForStatement {+ forStatementInitializer :: (Maybe ForInitializer),+ forStatementCondition :: (Maybe BooleanExpression),+ forStatementIterator :: (Maybe StatementExpressionList),+ forStatementBody :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_ForStatement = Model.Name "hydra.ext.csharp.syntax.ForStatement"++_ForStatement_initializer = Model.Name "initializer"++_ForStatement_condition = Model.Name "condition"++_ForStatement_iterator = Model.Name "iterator"++_ForStatement_body = Model.Name "body"++-- | A foreach iteration statement over an enumerable expression, binding each element to a variable.+data ForeachStatement =+ ForeachStatement {+ foreachStatementKind :: (Maybe RefKind),+ foreachStatementType :: LocalVariableType,+ foreachStatementIdentifier :: Identifier,+ foreachStatementExpression :: Expression,+ foreachStatementBody :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_ForeachStatement = Model.Name "hydra.ext.csharp.syntax.ForeachStatement"++_ForeachStatement_kind = Model.Name "kind"++_ForeachStatement_type = Model.Name "type"++_ForeachStatement_identifier = Model.Name "identifier"++_ForeachStatement_expression = Model.Name "expression"++_ForeachStatement_body = Model.Name "body"++-- | The fixed parameters of a member, plus an optional trailing params array parameter.+data FormalParameterList =+ FormalParameterList {+ formalParameterListFixed :: [FixedParameter],+ formalParameterListArray :: (Maybe ParameterArray)}+ deriving (Eq, Ord, Read, Show)++_FormalParameterList = Model.Name "hydra.ext.csharp.syntax.FormalParameterList"++_FormalParameterList_fixed = Model.Name "fixed"++_FormalParameterList_array = Model.Name "array"++-- | The initial or additional 'from' clause of a query expression, introducing a range variable.+data FromClause =+ FromClause {+ fromClauseType :: (Maybe Type),+ fromClauseIdentifier :: Identifier,+ fromClauseIn :: Expression}+ deriving (Eq, Ord, Read, Show)++_FromClause = Model.Name "hydra.ext.csharp.syntax.FromClause"++_FromClause_type = Model.Name "type"++_FromClause_identifier = Model.Name "identifier"++_FromClause_in = Model.Name "in"++-- | An assembly- or module-level attribute section appearing at the top of a compilation unit.+data GlobalAttributeSection =+ GlobalAttributeSection {+ globalAttributeSectionTarget :: Identifier,+ globalAttributeSectionAttributes :: AttributeList}+ deriving (Eq, Ord, Read, Show)++_GlobalAttributeSection = Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"++_GlobalAttributeSection_target = Model.Name "target"++_GlobalAttributeSection_attributes = Model.Name "attributes"++-- | A goto statement targeting a label, a switch case, or the switch default section.+data GotoStatement =+ GotoStatementIdentifier Identifier |+ GotoStatementCase ConstantExpression |+ GotoStatementDefault+ deriving (Eq, Ord, Read, Show)++_GotoStatement = Model.Name "hydra.ext.csharp.syntax.GotoStatement"++_GotoStatement_identifier = Model.Name "identifier"++_GotoStatement_case = Model.Name "case"++_GotoStatement_default = Model.Name "default"++-- | The 'group ... by ...' clause that ends a query expression, producing grouped results.+data GroupClause =+ GroupClause {+ groupClauseGrouped :: Expression,+ groupClauseBy :: Expression}+ deriving (Eq, Ord, Read, Show)++_GroupClause = Model.Name "hydra.ext.csharp.syntax.GroupClause"++_GroupClause_grouped = Model.Name "grouped"++_GroupClause_by = Model.Name "by"++-- | A C# identifier: a name for a variable, type, member, or other program element.+newtype Identifier =+ Identifier {+ unIdentifier :: String}+ deriving (Eq, Ord, Read, Show)++_Identifier = Model.Name "hydra.ext.csharp.syntax.Identifier"++-- | A simple namespace-or-type name consisting of an identifier and optional type arguments.+data IdentifierNamespaceOrTypeName =+ IdentifierNamespaceOrTypeName {+ identifierNamespaceOrTypeNameIdentifier :: Identifier,+ identifierNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_IdentifierNamespaceOrTypeName = Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"++_IdentifierNamespaceOrTypeName_identifier = Model.Name "identifier"++_IdentifierNamespaceOrTypeName_arguments = Model.Name "arguments"++-- | An if statement with a boolean condition, a then-branch, and an else-branch.+data IfStatement =+ IfStatement {+ ifStatementCondition :: BooleanExpression,+ ifStatementIfBranch :: EmbeddedStatement,+ ifStatementElseBranch :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_IfStatement = Model.Name "hydra.ext.csharp.syntax.IfStatement"++_IfStatement_condition = Model.Name "condition"++_IfStatement_ifBranch = Model.Name "ifBranch"++_IfStatement_elseBranch = Model.Name "elseBranch"++-- | A local variable declaration using 'var' with inferred type, plain or ref.+data ImplicitlyTypedLocalVariableDeclaration =+ ImplicitlyTypedLocalVariableDeclarationVar ImplicitlyTypedLocalVariableDeclarator |+ ImplicitlyTypedLocalVariableDeclarationRefVar RefVarImplicitlyTypedLocalVariableDeclaration+ deriving (Eq, Ord, Read, Show)++_ImplicitlyTypedLocalVariableDeclaration = Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration"++_ImplicitlyTypedLocalVariableDeclaration_var = Model.Name "var"++_ImplicitlyTypedLocalVariableDeclaration_refVar = Model.Name "refVar"++-- | The identifier and initializer expression of a 'var'-typed local variable.+data ImplicitlyTypedLocalVariableDeclarator =+ ImplicitlyTypedLocalVariableDeclarator {+ implicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,+ implicitlyTypedLocalVariableDeclaratorExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_ImplicitlyTypedLocalVariableDeclarator = Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"++_ImplicitlyTypedLocalVariableDeclarator_identifier = Model.Name "identifier"++_ImplicitlyTypedLocalVariableDeclarator_expression = Model.Name "expression"++-- | A simple exclusive-OR expression or a binary bitwise inclusive-OR (|) expression.+data InclusiveOrExpression =+ InclusiveOrExpressionSimple ExclusiveOrExpression |+ InclusiveOrExpressionBinary BinaryInclusiveOrExpression+ deriving (Eq, Ord, Read, Show)++_InclusiveOrExpression = Model.Name "hydra.ext.csharp.syntax.InclusiveOrExpression"++_InclusiveOrExpression_simple = Model.Name "simple"++_InclusiveOrExpression_binary = Model.Name "binary"++-- | The body of a standard indexer: block accessors or a single expression body.+data IndexerBody =+ IndexerBodyBlock AccessorDeclarations |+ IndexerBodyExpression Expression+ deriving (Eq, Ord, Read, Show)++_IndexerBody = Model.Name "hydra.ext.csharp.syntax.IndexerBody"++_IndexerBody_block = Model.Name "block"++_IndexerBody_expression = Model.Name "expression"++-- | An indexer member declaration, in its standard or ref-returning form.+data IndexerDeclaration =+ IndexerDeclarationStandard StandardIndexerDeclaration |+ IndexerDeclarationRef RefIndexerDeclaration+ deriving (Eq, Ord, Read, Show)++_IndexerDeclaration = Model.Name "hydra.ext.csharp.syntax.IndexerDeclaration"++_IndexerDeclaration_standard = Model.Name "standard"++_IndexerDeclaration_ref = Model.Name "ref"++-- | An indexer's declared type, optional explicit interface, and formal parameter list.+data IndexerDeclarator =+ IndexerDeclarator {+ indexerDeclaratorType :: Type,+ indexerDeclaratorInterface :: (Maybe InterfaceType),+ indexerDeclaratorParameters :: FormalParameterList}+ deriving (Eq, Ord, Read, Show)++_IndexerDeclarator = Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"++_IndexerDeclarator_type = Model.Name "type"++_IndexerDeclarator_interface = Model.Name "interface"++_IndexerDeclarator_parameters = Model.Name "parameters"++-- | A modifier keyword on an indexer declaration, such as virtual, override, or abstract.+data IndexerModifier =+ IndexerModifierNew |+ IndexerModifierPublic |+ IndexerModifierProtected |+ IndexerModifierInternal |+ IndexerModifierPrivate |+ IndexerModifierVirtual |+ IndexerModifierSealed |+ IndexerModifierOverride |+ IndexerModifierAbstract |+ IndexerModifierExtern |+ IndexerModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_IndexerModifier = Model.Name "hydra.ext.csharp.syntax.IndexerModifier"++_IndexerModifier_new = Model.Name "new"++_IndexerModifier_public = Model.Name "public"++_IndexerModifier_protected = Model.Name "protected"++_IndexerModifier_internal = Model.Name "internal"++_IndexerModifier_private = Model.Name "private"++_IndexerModifier_virtual = Model.Name "virtual"++_IndexerModifier_sealed = Model.Name "sealed"++_IndexerModifier_override = Model.Name "override"++_IndexerModifier_abstract = Model.Name "abstract"++_IndexerModifier_extern = Model.Name "extern"++_IndexerModifier_unsafe = Model.Name "unsafe"++-- | The left-hand side of a member initializer: an identifier or an indexer argument list.+data InitializerTarget =+ InitializerTargetIdentifier Identifier |+ InitializerTargetArguments ArgumentList+ deriving (Eq, Ord, Read, Show)++_InitializerTarget = Model.Name "hydra.ext.csharp.syntax.InitializerTarget"++_InitializerTarget_identifier = Model.Name "identifier"++_InitializerTarget_arguments = Model.Name "arguments"++-- | The right-hand side of a member initializer: an expression or a nested collection initializer.+data InitializerValue =+ InitializerValueExpression Expression |+ InitializerValueObjectOrCollection ObjectOrCollectionInitializer+ deriving (Eq, Ord, Read, Show)++_InitializerValue = Model.Name "hydra.ext.csharp.syntax.InitializerValue"++_InitializerValue_expression = Model.Name "expression"++_InitializerValue_objectOrCollection = Model.Name "objectOrCollection"++-- | An integer literal, expressed in decimal, hexadecimal, or binary notation.+data IntegerLiteral =+ IntegerLiteralDecimal String |+ IntegerLiteralHexadecimal String |+ IntegerLiteralBinary Integer+ deriving (Eq, Ord, Read, Show)++_IntegerLiteral = Model.Name "hydra.ext.csharp.syntax.IntegerLiteral"++_IntegerLiteral_decimal = Model.Name "decimal"++_IntegerLiteral_hexadecimal = Model.Name "hexadecimal"++_IntegerLiteral_binary = Model.Name "binary"++-- | One of the built-in integral numeric types (sbyte through char).+data IntegralType =+ IntegralTypeSbyte |+ IntegralTypeByte |+ IntegralTypeShort |+ IntegralTypeUshort |+ IntegralTypeInt |+ IntegralTypeUint |+ IntegralTypeLong |+ IntegralTypeUlong |+ IntegralTypeChar+ deriving (Eq, Ord, Read, Show)++_IntegralType = Model.Name "hydra.ext.csharp.syntax.IntegralType"++_IntegralType_sbyte = Model.Name "sbyte"++_IntegralType_byte = Model.Name "byte"++_IntegralType_short = Model.Name "short"++_IntegralType_ushort = Model.Name "ushort"++_IntegralType_int = Model.Name "int"++_IntegralType_uint = Model.Name "uint"++_IntegralType_long = Model.Name "long"++_IntegralType_ulong = Model.Name "ulong"++_IntegralType_char = Model.Name "char"++-- | The get and/or set accessor attribute lists declared by an interface property or indexer.+data InterfaceAccessors =+ InterfaceAccessors {+ interfaceAccessorsAttributes :: (Maybe Attributes),+ interfaceAccessorsGet :: (Maybe Attributes),+ interfaceAccessorsSet :: (Maybe Attributes)}+ deriving (Eq, Ord, Read, Show)++_InterfaceAccessors = Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"++_InterfaceAccessors_attributes = Model.Name "attributes"++_InterfaceAccessors_get = Model.Name "get"++_InterfaceAccessors_set = Model.Name "set"++-- | An interface type declaration, with its modifiers, type parameters, base interfaces, and members.+data InterfaceDeclaration =+ InterfaceDeclaration {+ interfaceDeclarationAttributes :: (Maybe Attributes),+ interfaceDeclarationModifiers :: [InterfaceModifier],+ interfaceDeclarationPartial :: Bool,+ interfaceDeclarationName :: Identifier,+ interfaceDeclarationParameters :: (Maybe VariantTypeParameters),+ interfaceDeclarationBase :: [InterfaceType],+ interfaceDeclarationConstraints :: [TypeParameterConstraintsClause],+ interfaceDeclarationBody :: [InterfaceMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_InterfaceDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"++_InterfaceDeclaration_attributes = Model.Name "attributes"++_InterfaceDeclaration_modifiers = Model.Name "modifiers"++_InterfaceDeclaration_partial = Model.Name "partial"++_InterfaceDeclaration_name = Model.Name "name"++_InterfaceDeclaration_parameters = Model.Name "parameters"++_InterfaceDeclaration_base = Model.Name "base"++_InterfaceDeclaration_constraints = Model.Name "constraints"++_InterfaceDeclaration_body = Model.Name "body"++-- | An event member declared within an interface body.+data InterfaceEventDeclaration =+ InterfaceEventDeclaration {+ interfaceEventDeclarationAttributes :: (Maybe Attributes),+ interfaceEventDeclarationNew :: Bool,+ interfaceEventDeclarationType :: Type,+ interfaceEventDeclarationName :: Identifier}+ deriving (Eq, Ord, Read, Show)++_InterfaceEventDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"++_InterfaceEventDeclaration_attributes = Model.Name "attributes"++_InterfaceEventDeclaration_new = Model.Name "new"++_InterfaceEventDeclaration_type = Model.Name "type"++_InterfaceEventDeclaration_name = Model.Name "name"++-- | An indexer member declared within an interface body.+data InterfaceIndexerDeclaration =+ InterfaceIndexerDeclaration {+ interfaceIndexerDeclarationAttributes :: (Maybe Attributes),+ interfaceIndexerDeclarationNew :: Bool,+ interfaceIndexerDeclarationRefKind :: (Maybe RefKind),+ interfaceIndexerDeclarationType :: Type,+ interfaceIndexerDeclarationParameters :: FormalParameterList,+ interfaceIndexerDeclarationAccessors :: InterfaceAccessors}+ deriving (Eq, Ord, Read, Show)++_InterfaceIndexerDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"++_InterfaceIndexerDeclaration_attributes = Model.Name "attributes"++_InterfaceIndexerDeclaration_new = Model.Name "new"++_InterfaceIndexerDeclaration_refKind = Model.Name "refKind"++_InterfaceIndexerDeclaration_type = Model.Name "type"++_InterfaceIndexerDeclaration_parameters = Model.Name "parameters"++_InterfaceIndexerDeclaration_accessors = Model.Name "accessors"++-- | Any member that can appear in an interface body: method, property, event, or indexer.+data InterfaceMemberDeclaration =+ InterfaceMemberDeclarationMethod InterfaceMethodDeclaration |+ InterfaceMemberDeclarationProperty InterfacePropertyDeclaration |+ InterfaceMemberDeclarationEvent InterfaceEventDeclaration |+ InterfaceMemberDeclarationIndexer InterfaceIndexerDeclaration+ deriving (Eq, Ord, Read, Show)++_InterfaceMemberDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration"++_InterfaceMemberDeclaration_method = Model.Name "method"++_InterfaceMemberDeclaration_property = Model.Name "property"++_InterfaceMemberDeclaration_event = Model.Name "event"++_InterfaceMemberDeclaration_indexer = Model.Name "indexer"++-- | A method member declared within an interface body.+data InterfaceMethodDeclaration =+ InterfaceMethodDeclaration {+ interfaceMethodDeclarationAttributes :: (Maybe Attributes),+ interfaceMethodDeclarationNew :: Bool,+ interfaceMethodDeclarationReturnType :: ReturnType,+ interfaceMethodDeclarationRefKind :: (Maybe RefKind),+ interfaceMethodDeclarationHeader :: InterfaceMethodHeader}+ deriving (Eq, Ord, Read, Show)++_InterfaceMethodDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"++_InterfaceMethodDeclaration_attributes = Model.Name "attributes"++_InterfaceMethodDeclaration_new = Model.Name "new"++_InterfaceMethodDeclaration_returnType = Model.Name "returnType"++_InterfaceMethodDeclaration_refKind = Model.Name "refKind"++_InterfaceMethodDeclaration_header = Model.Name "header"++-- | The name, parameters, type parameters, and constraints of an interface method declaration.+data InterfaceMethodHeader =+ InterfaceMethodHeader {+ interfaceMethodHeaderName :: Identifier,+ interfaceMethodHeaderParameters :: (Maybe FormalParameterList),+ interfaceMethodHeaderTypeParameters :: (Maybe TypeParameterList),+ interfaceMethodHeaderConstraints :: [TypeParameterConstraintsClause]}+ deriving (Eq, Ord, Read, Show)++_InterfaceMethodHeader = Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"++_InterfaceMethodHeader_name = Model.Name "name"++_InterfaceMethodHeader_parameters = Model.Name "parameters"++_InterfaceMethodHeader_typeParameters = Model.Name "typeParameters"++_InterfaceMethodHeader_constraints = Model.Name "constraints"++-- | An access or unsafe modifier on an interface declaration.+data InterfaceModifier =+ InterfaceModifierNew |+ InterfaceModifierPublic |+ InterfaceModifierProtected |+ InterfaceModifierInternal |+ InterfaceModifierPrivate |+ InterfaceModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_InterfaceModifier = Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"++_InterfaceModifier_new = Model.Name "new"++_InterfaceModifier_public = Model.Name "public"++_InterfaceModifier_protected = Model.Name "protected"++_InterfaceModifier_internal = Model.Name "internal"++_InterfaceModifier_private = Model.Name "private"++_InterfaceModifier_unsafe = Model.Name "unsafe"++-- | A property member declared within an interface body.+data InterfacePropertyDeclaration =+ InterfacePropertyDeclaration {+ interfacePropertyDeclarationAttributes :: (Maybe Attributes),+ interfacePropertyDeclarationNew :: Bool,+ interfacePropertyDeclarationRefKind :: (Maybe RefKind),+ interfacePropertyDeclarationType :: Type,+ interfacePropertyDeclarationName :: Identifier,+ interfacePropertyDeclarationAccessors :: InterfaceAccessors}+ deriving (Eq, Ord, Read, Show)++_InterfacePropertyDeclaration = Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"++_InterfacePropertyDeclaration_attributes = Model.Name "attributes"++_InterfacePropertyDeclaration_new = Model.Name "new"++_InterfacePropertyDeclaration_refKind = Model.Name "refKind"++_InterfacePropertyDeclaration_type = Model.Name "type"++_InterfacePropertyDeclaration_name = Model.Name "name"++_InterfacePropertyDeclaration_accessors = Model.Name "accessors"++-- | A reference to an interface type by its type name.+newtype InterfaceType =+ InterfaceType {+ unInterfaceType :: TypeName}+ deriving (Eq, Ord, Read, Show)++_InterfaceType = Model.Name "hydra.ext.csharp.syntax.InterfaceType"++-- | An interpolated string literal delimited by ordinary double quotes.+newtype InterpolatedRegularStringExpression =+ InterpolatedRegularStringExpression {+ unInterpolatedRegularStringExpression :: String}+ deriving (Eq, Ord, Read, Show)++_InterpolatedRegularStringExpression = Model.Name "hydra.ext.csharp.syntax.InterpolatedRegularStringExpression"++-- | An interpolated string expression, in its regular or verbatim quoting form.+data InterpolatedStringExpression =+ InterpolatedStringExpressionRegular InterpolatedRegularStringExpression |+ InterpolatedStringExpressionVerbatim InterpolatedVerbatimStringExpression+ deriving (Eq, Ord, Read, Show)++_InterpolatedStringExpression = Model.Name "hydra.ext.csharp.syntax.InterpolatedStringExpression"++_InterpolatedStringExpression_regular = Model.Name "regular"++_InterpolatedStringExpression_verbatim = Model.Name "verbatim"++-- | An interpolated string literal using verbatim, at-sign-prefixed quoting.+newtype InterpolatedVerbatimStringExpression =+ InterpolatedVerbatimStringExpression {+ unInterpolatedVerbatimStringExpression :: String}+ deriving (Eq, Ord, Read, Show)++_InterpolatedVerbatimStringExpression = Model.Name "hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression"++-- | A method or delegate invocation: a primary expression applied to an argument list.+data InvocationExpression =+ InvocationExpression {+ invocationExpressionExpression :: PrimaryExpression,+ invocationExpressionArguments :: (Maybe ArgumentList)}+ deriving (Eq, Ord, Read, Show)++_InvocationExpression = Model.Name "hydra.ext.csharp.syntax.InvocationExpression"++_InvocationExpression_expression = Model.Name "expression"++_InvocationExpression_arguments = Model.Name "arguments"++-- | An 'is' pattern-matching expression testing a relational expression against a pattern.+data IsPatternExpression =+ IsPatternExpression {+ isPatternExpressionExpression :: RelationalExpression,+ isPatternExpressionPattern :: Pattern}+ deriving (Eq, Ord, Read, Show)++_IsPatternExpression = Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"++_IsPatternExpression_expression = Model.Name "expression"++_IsPatternExpression_pattern = Model.Name "pattern"++-- | An 'is' type-testing expression checking whether an expression is of a given type.+data IsTypeExpression =+ IsTypeExpression {+ isTypeExpressionExpression :: RelationalExpression,+ isTypeExpressionType :: Type}+ deriving (Eq, Ord, Read, Show)++_IsTypeExpression = Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"++_IsTypeExpression_expression = Model.Name "expression"++_IsTypeExpression_type = Model.Name "type"++-- | A while, do, for, or foreach loop statement.+data IterationStatement =+ IterationStatementWhile WhileStatement |+ IterationStatementDo DoStatement |+ IterationStatementFor ForStatement |+ IterationStatementForeach ForeachStatement+ deriving (Eq, Ord, Read, Show)++_IterationStatement = Model.Name "hydra.ext.csharp.syntax.IterationStatement"++_IterationStatement_while = Model.Name "while"++_IterationStatement_do = Model.Name "do"++_IterationStatement_for = Model.Name "for"++_IterationStatement_foreach = Model.Name "foreach"++-- | A 'join' clause in a query expression, correlating two sequences on matching keys.+data JoinClause =+ JoinClause {+ joinClauseType :: (Maybe Type),+ joinClauseIdentifier :: Identifier,+ joinClauseIn :: Expression,+ joinClauseOn :: Expression,+ joinClauseEquals :: Expression,+ joinClauseInto :: (Maybe Identifier)}+ deriving (Eq, Ord, Read, Show)++_JoinClause = Model.Name "hydra.ext.csharp.syntax.JoinClause"++_JoinClause_type = Model.Name "type"++_JoinClause_identifier = Model.Name "identifier"++_JoinClause_in = Model.Name "in"++_JoinClause_on = Model.Name "on"++_JoinClause_equals = Model.Name "equals"++_JoinClause_into = Model.Name "into"++-- | A break, continue, goto, return, or throw statement that transfers control.+data JumpStatement =+ JumpStatementBreak |+ JumpStatementContinue |+ JumpStatementGoto GotoStatement |+ JumpStatementReturn ReturnStatement |+ JumpStatementThrow (Maybe Expression)+ deriving (Eq, Ord, Read, Show)++_JumpStatement = Model.Name "hydra.ext.csharp.syntax.JumpStatement"++_JumpStatement_break = Model.Name "break"++_JumpStatement_continue = Model.Name "continue"++_JumpStatement_goto = Model.Name "goto"++_JumpStatement_return = Model.Name "return"++_JumpStatement_throw = Model.Name "throw"++-- | A reserved C# keyword.+newtype Keyword =+ Keyword {+ unKeyword :: String}+ deriving (Eq, Ord, Read, Show)++_Keyword = Model.Name "hydra.ext.csharp.syntax.Keyword"++-- | A statement prefixed with a label, usable as the target of a goto statement.+data LabeledStatement =+ LabeledStatement {+ labeledStatementLabel :: Identifier,+ labeledStatementStatement :: Statement}+ deriving (Eq, Ord, Read, Show)++_LabeledStatement = Model.Name "hydra.ext.csharp.syntax.LabeledStatement"++_LabeledStatement_label = Model.Name "label"++_LabeledStatement_statement = Model.Name "statement"++-- | A lambda expression, with its async flag, parameter signature, and body.+data LambdaExpression =+ LambdaExpression {+ lambdaExpressionAsync :: Bool,+ lambdaExpressionSignature :: AnonymousFunctionSignature,+ lambdaExpressionBody :: AnonymousFunctionBody}+ deriving (Eq, Ord, Read, Show)++_LambdaExpression = Model.Name "hydra.ext.csharp.syntax.LambdaExpression"++_LambdaExpression_async = Model.Name "async"++_LambdaExpression_signature = Model.Name "signature"++_LambdaExpression_body = Model.Name "body"++-- | A 'let' clause in a query expression that introduces a computed range variable.+data LetClause =+ LetClause {+ letClauseLeft :: Identifier,+ letClauseRight :: Expression}+ deriving (Eq, Ord, Read, Show)++_LetClause = Model.Name "hydra.ext.csharp.syntax.LetClause"++_LetClause_left = Model.Name "left"++_LetClause_right = Model.Name "right"++-- | A literal value: boolean, integer, real, character, string, or null.+data Literal =+ LiteralBoolean Bool |+ LiteralInteger IntegerLiteral |+ LiteralReal Double |+ LiteralCharacter String |+ LiteralString String |+ LiteralNull+ deriving (Eq, Ord, Read, Show)++_Literal = Model.Name "hydra.ext.csharp.syntax.Literal"++_Literal_boolean = Model.Name "boolean"++_Literal_integer = Model.Name "integer"++_Literal_real = Model.Name "real"++_Literal_character = Model.Name "character"++_Literal_string = Model.Name "string"++_Literal_null = Model.Name "null"++-- | A 'const' local declaration with its type and one or more constant declarators.+data LocalConstantDeclaration =+ LocalConstantDeclaration {+ localConstantDeclarationType :: Type,+ localConstantDeclarationDeclarators :: [ConstantDeclarator]}+ deriving (Eq, Ord, Read, Show)++_LocalConstantDeclaration = Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"++_LocalConstantDeclaration_type = Model.Name "type"++_LocalConstantDeclaration_declarators = Model.Name "declarators"++-- | The body of a local function: a block, null-conditional invocation, or expression.+data LocalFunctionBody =+ LocalFunctionBodyBlock Block |+ LocalFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |+ LocalFunctionBodyExpression Expression+ deriving (Eq, Ord, Read, Show)++_LocalFunctionBody = Model.Name "hydra.ext.csharp.syntax.LocalFunctionBody"++_LocalFunctionBody_block = Model.Name "block"++_LocalFunctionBody_nullConditionalInvocation = Model.Name "nullConditionalInvocation"++_LocalFunctionBody_expression = Model.Name "expression"++-- | A local function declaration, in its standard or ref-returning form.+data LocalFunctionDeclaration =+ LocalFunctionDeclarationStandard StandardLocalFunctionDeclaration |+ LocalFunctionDeclarationRef RefLocalFunctionDeclaration+ deriving (Eq, Ord, Read, Show)++_LocalFunctionDeclaration = Model.Name "hydra.ext.csharp.syntax.LocalFunctionDeclaration"++_LocalFunctionDeclaration_standard = Model.Name "standard"++_LocalFunctionDeclaration_ref = Model.Name "ref"++-- | The name, type parameters, formal parameters, and constraints of a local function.+data LocalFunctionHeader =+ LocalFunctionHeader {+ localFunctionHeaderIdentifier :: Identifier,+ localFunctionHeaderTypeParameters :: (Maybe TypeParameterList),+ localFunctionHeaderParameters :: FormalParameterList,+ localFunctionHeaderConstraints :: [TypeParameterConstraintsClause]}+ deriving (Eq, Ord, Read, Show)++_LocalFunctionHeader = Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"++_LocalFunctionHeader_identifier = Model.Name "identifier"++_LocalFunctionHeader_typeParameters = Model.Name "typeParameters"++_LocalFunctionHeader_parameters = Model.Name "parameters"++_LocalFunctionHeader_constraints = Model.Name "constraints"++-- | A modifier on a local function declaration: a ref modifier, or 'async'.+data LocalFunctionModifier =+ LocalFunctionModifierRef RefLocalFunctionModifier |+ LocalFunctionModifierAsync+ deriving (Eq, Ord, Read, Show)++_LocalFunctionModifier = Model.Name "hydra.ext.csharp.syntax.LocalFunctionModifier"++_LocalFunctionModifier_ref = Model.Name "ref"++_LocalFunctionModifier_async = Model.Name "async"++-- | A local variable declaration, in its implicitly typed, explicitly typed, or ref form.+data LocalVariableDeclaration =+ LocalVariableDeclarationImplicitlyTyped ImplicitlyTypedLocalVariableDeclaration |+ LocalVariableDeclarationExplicitlyTyped ExplicitlyTypedLocalVariableDeclaration |+ LocalVariableDeclarationRef RefLocalVariableDeclaration+ deriving (Eq, Ord, Read, Show)++_LocalVariableDeclaration = Model.Name "hydra.ext.csharp.syntax.LocalVariableDeclaration"++_LocalVariableDeclaration_implicitlyTyped = Model.Name "implicitlyTyped"++_LocalVariableDeclaration_explicitlyTyped = Model.Name "explicitlyTyped"++_LocalVariableDeclaration_ref = Model.Name "ref"++-- | The initializer of a local variable: an expression or an array initializer.+data LocalVariableInitializer =+ LocalVariableInitializerExpression Expression |+ LocalVariableInitializerInitializer ArrayInitializer+ deriving (Eq, Ord, Read, Show)++_LocalVariableInitializer = Model.Name "hydra.ext.csharp.syntax.LocalVariableInitializer"++_LocalVariableInitializer_expression = Model.Name "expression"++_LocalVariableInitializer_initializer = Model.Name "initializer"++-- | The declared type of a local variable, or 'var' for implicit typing.+data LocalVariableType =+ LocalVariableTypeType Type |+ LocalVariableTypeVar+ deriving (Eq, Ord, Read, Show)++_LocalVariableType = Model.Name "hydra.ext.csharp.syntax.LocalVariableType"++_LocalVariableType_type = Model.Name "type"++_LocalVariableType_var = Model.Name "var"++-- | A 'lock' statement that acquires a mutual-exclusion lock for the duration of its body.+data LockStatement =+ LockStatement {+ lockStatementExpression :: Expression,+ lockStatementBody :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_LockStatement = Model.Name "hydra.ext.csharp.syntax.LockStatement"++_LockStatement_expression = Model.Name "expression"++_LockStatement_body = Model.Name "body"++-- | A 'primary.identifier' member access, with optional explicit type arguments.+data MemberAccess =+ MemberAccess {+ memberAccessHead :: MemberAccessHead,+ memberAccessIdentifier :: Identifier,+ memberAccessTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_MemberAccess = Model.Name "hydra.ext.csharp.syntax.MemberAccess"++_MemberAccess_head = Model.Name "head"++_MemberAccess_identifier = Model.Name "identifier"++_MemberAccess_typeArguments = Model.Name "typeArguments"++-- | The left-hand target of a member access: a primary expression, predefined type, or alias.+data MemberAccessHead =+ MemberAccessHeadPrimary PrimaryExpression |+ MemberAccessHeadPredefined PredefinedType |+ MemberAccessHeadQualifiedAlias QualifiedAliasMember+ deriving (Eq, Ord, Read, Show)++_MemberAccessHead = Model.Name "hydra.ext.csharp.syntax.MemberAccessHead"++_MemberAccessHead_primary = Model.Name "primary"++_MemberAccessHead_predefined = Model.Name "predefined"++_MemberAccessHead_qualifiedAlias = Model.Name "qualifiedAlias"++-- | A single member of an anonymous object initializer, naming or computing a member value.+data MemberDeclarator =+ MemberDeclaratorName SimpleName |+ MemberDeclaratorMemberAccess MemberAccess |+ MemberDeclaratorNullConditionalProjectionInitializer NullConditionalProjectionInitializer |+ MemberDeclaratorBaseAccess BaseAccess |+ MemberDeclaratorAssignment AssignmentMemberDeclarator+ deriving (Eq, Ord, Read, Show)++_MemberDeclarator = Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"++_MemberDeclarator_name = Model.Name "name"++_MemberDeclarator_memberAccess = Model.Name "memberAccess"++_MemberDeclarator_nullConditionalProjectionInitializer = Model.Name "nullConditionalProjectionInitializer"++_MemberDeclarator_baseAccess = Model.Name "baseAccess"++_MemberDeclarator_assignment = Model.Name "assignment"++-- | A non-empty, comma-separated list of member declarators in an anonymous object creation.+newtype MemberDeclaratorList =+ MemberDeclaratorList {+ unMemberDeclaratorList :: [MemberDeclarator]}+ deriving (Eq, Ord, Read, Show)++_MemberDeclaratorList = Model.Name "hydra.ext.csharp.syntax.MemberDeclaratorList"++-- | A 'target = value' pair within an object initializer.+data MemberInitializer =+ MemberInitializer {+ memberInitializerTarget :: InitializerTarget,+ memberInitializerValue :: InitializerValue}+ deriving (Eq, Ord, Read, Show)++_MemberInitializer = Model.Name "hydra.ext.csharp.syntax.MemberInitializer"++_MemberInitializer_target = Model.Name "target"++_MemberInitializer_value = Model.Name "value"++-- | A member's declared name, with an optional explicit interface type qualifier.+data MemberName =+ MemberName {+ memberNameInterfaceType :: (Maybe TypeName),+ memberNameIdentifier :: Identifier}+ deriving (Eq, Ord, Read, Show)++_MemberName = Model.Name "hydra.ext.csharp.syntax.MemberName"++_MemberName_interfaceType = Model.Name "interfaceType"++_MemberName_identifier = Model.Name "identifier"++-- | The body of a standard method: a block, null-conditional invocation, expression, or empty.+data MethodBody =+ MethodBodyBlock Block |+ MethodBodyNullConditionalInvocation NullConditionalInvocationExpression |+ MethodBodyExpression Expression |+ MethodBodyEmpty+ deriving (Eq, Ord, Read, Show)++_MethodBody = Model.Name "hydra.ext.csharp.syntax.MethodBody"++_MethodBody_block = Model.Name "block"++_MethodBody_nullConditionalInvocation = Model.Name "nullConditionalInvocation"++_MethodBody_expression = Model.Name "expression"++_MethodBody_empty = Model.Name "empty"++-- | A method member declaration, in its standard or ref-returning form.+data MethodDeclaration =+ MethodDeclarationStandard StandardMethodDeclaration |+ MethodDeclarationRefReturn RefReturnMethodDeclaration+ deriving (Eq, Ord, Read, Show)++_MethodDeclaration = Model.Name "hydra.ext.csharp.syntax.MethodDeclaration"++_MethodDeclaration_standard = Model.Name "standard"++_MethodDeclaration_refReturn = Model.Name "refReturn"++-- | The name, type parameters, formal parameters, and constraints of a method declaration.+data MethodHeader =+ MethodHeader {+ methodHeaderName :: MemberName,+ methodHeaderTypeParameters :: (Maybe TypeParameterList),+ methodHeaderParameters :: (Maybe FormalParameterList),+ methodHeaderConstraints :: [TypeParameterConstraintsClause]}+ deriving (Eq, Ord, Read, Show)++_MethodHeader = Model.Name "hydra.ext.csharp.syntax.MethodHeader"++_MethodHeader_name = Model.Name "name"++_MethodHeader_typeParameters = Model.Name "typeParameters"++_MethodHeader_parameters = Model.Name "parameters"++_MethodHeader_constraints = Model.Name "constraints"++-- | A modifier on a method declaration: a ref modifier, or 'async'.+data MethodModifier =+ MethodModifierRef RefMethodModifier |+ MethodModifierAsync+ deriving (Eq, Ord, Read, Show)++_MethodModifier = Model.Name "hydra.ext.csharp.syntax.MethodModifier"++_MethodModifier_ref = Model.Name "ref"++_MethodModifier_async = Model.Name "async"++-- | The full modifier list of a method declaration, including whether it is 'partial'.+data MethodModifiers =+ MethodModifiers {+ methodModifiersModifiers :: [MethodModifier],+ methodModifiersPartial :: Bool}+ deriving (Eq, Ord, Read, Show)++_MethodModifiers = Model.Name "hydra.ext.csharp.syntax.MethodModifiers"++_MethodModifiers_modifiers = Model.Name "modifiers"++_MethodModifiers_partial = Model.Name "partial"++-- | A simple unary expression or a binary multiplication/division/remainder expression.+data MultiplicativeExpression =+ MultiplicativeExpressionSimple UnaryExpression |+ MultiplicativeExpressionBinary BinaryMultiplicativeExpression+ deriving (Eq, Ord, Read, Show)++_MultiplicativeExpression = Model.Name "hydra.ext.csharp.syntax.MultiplicativeExpression"++_MultiplicativeExpression_simple = Model.Name "simple"++_MultiplicativeExpression_binary = Model.Name "binary"++-- | The multiplication, division, or modulo operator.+data MultiplicativeOperator =+ MultiplicativeOperatorTimes |+ MultiplicativeOperatorDivide |+ MultiplicativeOperatorModulo+ deriving (Eq, Ord, Read, Show)++_MultiplicativeOperator = Model.Name "hydra.ext.csharp.syntax.MultiplicativeOperator"++_MultiplicativeOperator_times = Model.Name "times"++_MultiplicativeOperator_divide = Model.Name "divide"++_MultiplicativeOperator_modulo = Model.Name "modulo"++-- | An argument of the form 'name: value' passed to an attribute constructor.+data NamedArgument =+ NamedArgument {+ namedArgumentName :: Identifier,+ namedArgumentValue :: AttributeArgumentExpression}+ deriving (Eq, Ord, Read, Show)++_NamedArgument = Model.Name "hydra.ext.csharp.syntax.NamedArgument"++_NamedArgument_name = Model.Name "name"++_NamedArgument_value = Model.Name "value"++-- | A non-empty, comma-separated list of named arguments passed to an attribute.+newtype NamedArgumentList =+ NamedArgumentList {+ unNamedArgumentList :: [NamedArgument]}+ deriving (Eq, Ord, Read, Show)++_NamedArgumentList = Model.Name "hydra.ext.csharp.syntax.NamedArgumentList"++-- | The target expression of a 'nameof' operator, with its chain of accessed parts.+data NamedEntity =+ NamedEntity {+ namedEntityTarget :: NamedEntityTarget,+ namedEntityParts :: [NamedEntityPart]}+ deriving (Eq, Ord, Read, Show)++_NamedEntity = Model.Name "hydra.ext.csharp.syntax.NamedEntity"++_NamedEntity_target = Model.Name "target"++_NamedEntity_parts = Model.Name "parts"++-- | A single '.identifier<TypeArgs>' segment chained within a named entity.+data NamedEntityPart =+ NamedEntityPart {+ namedEntityPartIdentifier :: Identifier,+ namedEntityPartTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_NamedEntityPart = Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"++_NamedEntityPart_identifier = Model.Name "identifier"++_NamedEntityPart_typeArguments = Model.Name "typeArguments"++-- | The initial target of a named entity: a simple name, this, base, or a predefined/aliased type.+data NamedEntityTarget =+ NamedEntityTargetName SimpleName |+ NamedEntityTargetThis |+ NamedEntityTargetBase |+ NamedEntityTargetPredefinedType PredefinedType |+ NamedEntityTargetQualifiedAliasMember QualifiedAliasMember+ deriving (Eq, Ord, Read, Show)++_NamedEntityTarget = Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"++_NamedEntityTarget_name = Model.Name "name"++_NamedEntityTarget_this = Model.Name "this"++_NamedEntityTarget_base = Model.Name "base"++_NamedEntityTarget_predefinedType = Model.Name "predefinedType"++_NamedEntityTarget_qualifiedAliasMember = Model.Name "qualifiedAliasMember"++-- | The extern aliases, using directives, and member declarations within a namespace.+data NamespaceBody =+ NamespaceBody {+ namespaceBodyExterns :: [ExternAliasDirective],+ namespaceBodyUsings :: [UsingDirective],+ namespaceBodyMembers :: [NamespaceMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_NamespaceBody = Model.Name "hydra.ext.csharp.syntax.NamespaceBody"++_NamespaceBody_externs = Model.Name "externs"++_NamespaceBody_usings = Model.Name "usings"++_NamespaceBody_members = Model.Name "members"++-- | A namespace declaration, naming the namespace and giving its body.+data NamespaceDeclaration =+ NamespaceDeclaration {+ namespaceDeclarationName :: QualifiedIdentifier,+ namespaceDeclarationBody :: NamespaceBody}+ deriving (Eq, Ord, Read, Show)++_NamespaceDeclaration = Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"++_NamespaceDeclaration_name = Model.Name "name"++_NamespaceDeclaration_body = Model.Name "body"++-- | A member of a namespace: a nested namespace declaration or a type declaration.+data NamespaceMemberDeclaration =+ NamespaceMemberDeclarationNamespace NamespaceDeclaration |+ NamespaceMemberDeclarationType TypeDeclaration+ deriving (Eq, Ord, Read, Show)++_NamespaceMemberDeclaration = Model.Name "hydra.ext.csharp.syntax.NamespaceMemberDeclaration"++_NamespaceMemberDeclaration_namespace = Model.Name "namespace"++_NamespaceMemberDeclaration_type = Model.Name "type"++-- | A reference to a namespace, expressed as a namespace-or-type name.+newtype NamespaceName =+ NamespaceName {+ unNamespaceName :: NamespaceOrTypeName}+ deriving (Eq, Ord, Read, Show)++_NamespaceName = Model.Name "hydra.ext.csharp.syntax.NamespaceName"++-- | A name that may refer to either a namespace or a type: identifier, qualified, or alias-qualified.+data NamespaceOrTypeName =+ NamespaceOrTypeNameIdentifier IdentifierNamespaceOrTypeName |+ NamespaceOrTypeNameQualified QualifiedNamespaceOrTypeName |+ NamespaceOrTypeNameAlias QualifiedAliasMember+ deriving (Eq, Ord, Read, Show)++_NamespaceOrTypeName = Model.Name "hydra.ext.csharp.syntax.NamespaceOrTypeName"++_NamespaceOrTypeName_identifier = Model.Name "identifier"++_NamespaceOrTypeName_qualified = Model.Name "qualified"++_NamespaceOrTypeName_alias = Model.Name "alias"++-- | A type that is not itself an array type: value, class, interface, delegate, dynamic, or pointer.+data NonArrayType =+ NonArrayTypeValue ValueType |+ NonArrayTypeClass ClassType |+ NonArrayTypeInterface InterfaceType |+ NonArrayTypeDelegate DelegateType |+ NonArrayTypeDynamic |+ NonArrayTypeParameter TypeParameter |+ NonArrayTypePointer PointerType+ deriving (Eq, Ord, Read, Show)++_NonArrayType = Model.Name "hydra.ext.csharp.syntax.NonArrayType"++_NonArrayType_value = Model.Name "value"++_NonArrayType_class = Model.Name "class"++_NonArrayType_interface = Model.Name "interface"++_NonArrayType_delegate = Model.Name "delegate"++_NonArrayType_dynamic = Model.Name "dynamic"++_NonArrayType_parameter = Model.Name "parameter"++_NonArrayType_pointer = Model.Name "pointer"++-- | Array creation giving the element type, dimension expressions, and rank specifiers directly.+data NonArrayTypeArrayCreationExpression =+ NonArrayTypeArrayCreationExpression {+ nonArrayTypeArrayCreationExpressionType :: NonArrayType,+ nonArrayTypeArrayCreationExpressionExpressions :: ExpressionList,+ nonArrayTypeArrayCreationExpressionRankSpecifiers :: [RankSpecifier],+ nonArrayTypeArrayCreationExpressionInitializer :: (Maybe ArrayInitializer)}+ deriving (Eq, Ord, Read, Show)++_NonArrayTypeArrayCreationExpression = Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"++_NonArrayTypeArrayCreationExpression_type = Model.Name "type"++_NonArrayTypeArrayCreationExpression_expressions = Model.Name "expressions"++_NonArrayTypeArrayCreationExpression_rankSpecifiers = Model.Name "rankSpecifiers"++_NonArrayTypeArrayCreationExpression_initializer = Model.Name "initializer"++-- | An expression other than an assignment: declaration, conditional, lambda, or query expression.+data NonAssignmentExpression =+ NonAssignmentExpressionDeclaration DeclarationExpression |+ NonAssignmentExpressionConditional ConditionalExpression |+ NonAssignmentExpressionLambda LambdaExpression |+ NonAssignmentExpressionQuery QueryExpression+ deriving (Eq, Ord, Read, Show)++_NonAssignmentExpression = Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression"++_NonAssignmentExpression_declaration = Model.Name "declaration"++_NonAssignmentExpression_conditional = Model.Name "conditional"++_NonAssignmentExpression_lambda = Model.Name "lambda"++_NonAssignmentExpression_query = Model.Name "query"++-- | A simple, binary (??), or throw-expression form of the null-coalescing operator.+data NullCoalescingExpression =+ NullCoalescingExpressionSimple ConditionalOrExpression |+ NullCoalescingExpressionBinary BinaryNullCoalescingExpression |+ NullCoalescingExpressionThrow NullCoalescingExpression+ deriving (Eq, Ord, Read, Show)++_NullCoalescingExpression = Model.Name "hydra.ext.csharp.syntax.NullCoalescingExpression"++_NullCoalescingExpression_simple = Model.Name "simple"++_NullCoalescingExpression_binary = Model.Name "binary"++_NullCoalescingExpression_throw = Model.Name "throw"++-- | A null-conditional element access (?[...]) with its chain of dependent accesses.+data NullConditionalElementAccess =+ NullConditionalElementAccess {+ nullConditionalElementAccessExpression :: PrimaryNoArrayCreationExpression,+ nullConditionalElementAccessArguments :: ArgumentList,+ nullConditionalElementAccessDependentAccess :: [DependentAccess]}+ deriving (Eq, Ord, Read, Show)++_NullConditionalElementAccess = Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"++_NullConditionalElementAccess_expression = Model.Name "expression"++_NullConditionalElementAccess_arguments = Model.Name "arguments"++_NullConditionalElementAccess_dependentAccess = Model.Name "dependentAccess"++-- | A null-conditional invocation (?.method(...) or ?[...]) with optional arguments.+data NullConditionalInvocationExpression =+ NullConditionalInvocationExpression {+ nullConditionalInvocationExpressionHead :: NullConditionalInvocationExpressionHead,+ nullConditionalInvocationExpressionArguments :: (Maybe ArgumentList)}+ deriving (Eq, Ord, Read, Show)++_NullConditionalInvocationExpression = Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"++_NullConditionalInvocationExpression_head = Model.Name "head"++_NullConditionalInvocationExpression_arguments = Model.Name "arguments"++-- | The member- or element-access head of a null-conditional invocation expression.+data NullConditionalInvocationExpressionHead =+ NullConditionalInvocationExpressionHeadMember NullConditionalMemberAccess |+ NullConditionalInvocationExpressionHeadElement NullConditionalElementAccess+ deriving (Eq, Ord, Read, Show)++_NullConditionalInvocationExpressionHead = Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead"++_NullConditionalInvocationExpressionHead_member = Model.Name "member"++_NullConditionalInvocationExpressionHead_element = Model.Name "element"++-- | A null-conditional member access (?.member) with its chain of dependent accesses.+data NullConditionalMemberAccess =+ NullConditionalMemberAccess {+ nullConditionalMemberAccessExpression :: PrimaryExpression,+ nullConditionalMemberAccessIdentifier :: Identifier,+ nullConditionalMemberAccessTypeArguments :: (Maybe TypeArgumentList),+ nullConditionalMemberAccessDependentAccess :: [DependentAccess]}+ deriving (Eq, Ord, Read, Show)++_NullConditionalMemberAccess = Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"++_NullConditionalMemberAccess_expression = Model.Name "expression"++_NullConditionalMemberAccess_identifier = Model.Name "identifier"++_NullConditionalMemberAccess_typeArguments = Model.Name "typeArguments"++_NullConditionalMemberAccess_dependentAccess = Model.Name "dependentAccess"++-- | A null-conditional member projection used inside an anonymous object initializer.+data NullConditionalProjectionInitializer =+ NullConditionalProjectionInitializer {+ nullConditionalProjectionInitializerExpression :: PrimaryExpression,+ nullConditionalProjectionInitializerIdentifier :: Identifier,+ nullConditionalProjectionInitializerTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_NullConditionalProjectionInitializer = Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"++_NullConditionalProjectionInitializer_expression = Model.Name "expression"++_NullConditionalProjectionInitializer_identifier = Model.Name "identifier"++_NullConditionalProjectionInitializer_typeArguments = Model.Name "typeArguments"++-- | A numeric type: integral, floating-point, or decimal.+data NumericType =+ NumericTypeIntegral IntegralType |+ NumericTypeFloatingPoint FloatingPointType |+ NumericTypeDecimal+ deriving (Eq, Ord, Read, Show)++_NumericType = Model.Name "hydra.ext.csharp.syntax.NumericType"++_NumericType_integral = Model.Name "integral"++_NumericType_floatingPoint = Model.Name "floatingPoint"++_NumericType_decimal = Model.Name "decimal"++-- | A 'new' expression that constructs an object, with optional arguments and initializer.+data ObjectCreationExpression =+ ObjectCreationExpression {+ objectCreationExpressionType :: Type,+ objectCreationExpressionArguments :: (Maybe ArgumentList),+ objectCreationExpressionInitializer :: (Maybe ObjectOrCollectionInitializer)}+ deriving (Eq, Ord, Read, Show)++_ObjectCreationExpression = Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"++_ObjectCreationExpression_type = Model.Name "type"++_ObjectCreationExpression_arguments = Model.Name "arguments"++_ObjectCreationExpression_initializer = Model.Name "initializer"++-- | An object initializer's member list, or a collection initializer's element list.+data ObjectOrCollectionInitializer =+ ObjectOrCollectionInitializerObject [MemberInitializer] |+ ObjectOrCollectionInitializerCollection [ElementInitializer]+ deriving (Eq, Ord, Read, Show)++_ObjectOrCollectionInitializer = Model.Name "hydra.ext.csharp.syntax.ObjectOrCollectionInitializer"++_ObjectOrCollectionInitializer_object = Model.Name "object"++_ObjectOrCollectionInitializer_collection = Model.Name "collection"++-- | The body of an operator overload declaration: a block, expression body, or empty (extern) body.+data OperatorBody =+ OperatorBodyBlock Block |+ OperatorBodyExpression Expression |+ OperatorBodyEmpty+ deriving (Eq, Ord, Read, Show)++_OperatorBody = Model.Name "hydra.ext.csharp.syntax.OperatorBody"++_OperatorBody_block = Model.Name "block"++_OperatorBody_expression = Model.Name "expression"++_OperatorBody_empty = Model.Name "empty"++-- | A user-defined operator overload declaration, with its modifiers, declarator, and body.+data OperatorDeclaration =+ OperatorDeclaration {+ operatorDeclarationAttributes :: (Maybe Attributes),+ operatorDeclarationModifiers :: [OperatorModifier],+ operatorDeclarationDeclarator :: OperatorDeclarator,+ operatorDeclarationBody :: OperatorBody}+ deriving (Eq, Ord, Read, Show)++_OperatorDeclaration = Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"++_OperatorDeclaration_attributes = Model.Name "attributes"++_OperatorDeclaration_modifiers = Model.Name "modifiers"++_OperatorDeclaration_declarator = Model.Name "declarator"++_OperatorDeclaration_body = Model.Name "body"++-- | The declarator of an operator overload: unary, binary, or conversion form.+data OperatorDeclarator =+ OperatorDeclaratorUnary UnaryOperatorDeclarator |+ OperatorDeclaratorBinary BinaryOperatorDeclarator |+ OperatorDeclaratorConversion ConversionOperatorDeclarator+ deriving (Eq, Ord, Read, Show)++_OperatorDeclarator = Model.Name "hydra.ext.csharp.syntax.OperatorDeclarator"++_OperatorDeclarator_unary = Model.Name "unary"++_OperatorDeclarator_binary = Model.Name "binary"++_OperatorDeclarator_conversion = Model.Name "conversion"++-- | A modifier keyword on an operator declaration: public, static, extern, or unsafe.+data OperatorModifier =+ OperatorModifierPublic |+ OperatorModifierStatic |+ OperatorModifierExtern |+ OperatorModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_OperatorModifier = Model.Name "hydra.ext.csharp.syntax.OperatorModifier"++_OperatorModifier_public = Model.Name "public"++_OperatorModifier_static = Model.Name "static"++_OperatorModifier_extern = Model.Name "extern"++_OperatorModifier_unsafe = Model.Name "unsafe"++-- | A single ordering key expression, with an optional ascending/descending direction, in an orderby clause.+data Ordering =+ Ordering {+ orderingExpression :: Expression,+ orderingDirection :: (Maybe OrderingDirection)}+ deriving (Eq, Ord, Read, Show)++_Ordering = Model.Name "hydra.ext.csharp.syntax.Ordering"++_Ordering_expression = Model.Name "expression"++_Ordering_direction = Model.Name "direction"++-- | The ascending or descending direction of an ordering key in an orderby clause.+data OrderingDirection =+ OrderingDirectionAscending |+ OrderingDirectionDescending+ deriving (Eq, Ord, Read, Show)++_OrderingDirection = Model.Name "hydra.ext.csharp.syntax.OrderingDirection"++_OrderingDirection_ascending = Model.Name "ascending"++_OrderingDirection_descending = Model.Name "descending"++-- | A binary operator symbol that may be overloaded via a user-defined operator declaration.+data OverloadableBinaryOperator =+ OverloadableBinaryOperatorAdd |+ OverloadableBinaryOperatorSubtract |+ OverloadableBinaryOperatorMultiply |+ OverloadableBinaryOperatorDivide |+ OverloadableBinaryOperatorModulus |+ OverloadableBinaryOperatorAnd |+ OverloadableBinaryOperatorOr |+ OverloadableBinaryOperatorXor |+ OverloadableBinaryOperatorLeftShift |+ OverloadableBinaryOperatorRightShift |+ OverloadableBinaryOperatorEqual |+ OverloadableBinaryOperatorNotEqual |+ OverloadableBinaryOperatorGreaterThan |+ OverloadableBinaryOperatorLessThan |+ OverloadableBinaryOperatorGreaterThanOrEqual |+ OverloadableBinaryOperatorLessThanOrEqual+ deriving (Eq, Ord, Read, Show)++_OverloadableBinaryOperator = Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"++_OverloadableBinaryOperator_add = Model.Name "add"++_OverloadableBinaryOperator_subtract = Model.Name "subtract"++_OverloadableBinaryOperator_multiply = Model.Name "multiply"++_OverloadableBinaryOperator_divide = Model.Name "divide"++_OverloadableBinaryOperator_modulus = Model.Name "modulus"++_OverloadableBinaryOperator_and = Model.Name "and"++_OverloadableBinaryOperator_or = Model.Name "or"++_OverloadableBinaryOperator_xor = Model.Name "xor"++_OverloadableBinaryOperator_leftShift = Model.Name "leftShift"++_OverloadableBinaryOperator_rightShift = Model.Name "rightShift"++_OverloadableBinaryOperator_equal = Model.Name "equal"++_OverloadableBinaryOperator_notEqual = Model.Name "notEqual"++_OverloadableBinaryOperator_greaterThan = Model.Name "greaterThan"++_OverloadableBinaryOperator_lessThan = Model.Name "lessThan"++_OverloadableBinaryOperator_greaterThanOrEqual = Model.Name "greaterThanOrEqual"++_OverloadableBinaryOperator_lessThanOrEqual = Model.Name "lessThanOrEqual"++-- | A unary operator symbol that may be overloaded via a user-defined operator declaration.+data OverloadableUnaryOperator =+ OverloadableUnaryOperatorPlus |+ OverloadableUnaryOperatorMinus |+ OverloadableUnaryOperatorNot |+ OverloadableUnaryOperatorComplement |+ OverloadableUnaryOperatorIncrement |+ OverloadableUnaryOperatorDecrement |+ OverloadableUnaryOperatorTrue |+ OverloadableUnaryOperatorFalse+ deriving (Eq, Ord, Read, Show)++_OverloadableUnaryOperator = Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"++_OverloadableUnaryOperator_plus = Model.Name "plus"++_OverloadableUnaryOperator_minus = Model.Name "minus"++_OverloadableUnaryOperator_not = Model.Name "not"++_OverloadableUnaryOperator_complement = Model.Name "complement"++_OverloadableUnaryOperator_increment = Model.Name "increment"++_OverloadableUnaryOperator_decrement = Model.Name "decrement"++_OverloadableUnaryOperator_true = Model.Name "true"++_OverloadableUnaryOperator_false = Model.Name "false"++-- | A trailing 'params' array parameter of a formal parameter list.+data ParameterArray =+ ParameterArray {+ parameterArrayAttributes :: (Maybe Attributes),+ parameterArrayType :: ArrayType,+ parameterArrayIdentifier :: Identifier}+ deriving (Eq, Ord, Read, Show)++_ParameterArray = Model.Name "hydra.ext.csharp.syntax.ParameterArray"++_ParameterArray_attributes = Model.Name "attributes"++_ParameterArray_type = Model.Name "type"++_ParameterArray_identifier = Model.Name "identifier"++-- | The ref, out, or in passing-mode modifier on a fixed parameter.+data ParameterModeModifier =+ ParameterModeModifierRef |+ ParameterModeModifierOut |+ ParameterModeModifierIn+ deriving (Eq, Ord, Read, Show)++_ParameterModeModifier = Model.Name "hydra.ext.csharp.syntax.ParameterModeModifier"++_ParameterModeModifier_ref = Model.Name "ref"++_ParameterModeModifier_out = Model.Name "out"++_ParameterModeModifier_in = Model.Name "in"++-- | A modifier on a fixed parameter: a passing-mode modifier, or 'this' for extension methods.+data ParameterModifier =+ ParameterModifierMode ParameterModeModifier |+ ParameterModifierThis+ deriving (Eq, Ord, Read, Show)++_ParameterModifier = Model.Name "hydra.ext.csharp.syntax.ParameterModifier"++_ParameterModifier_mode = Model.Name "mode"++_ParameterModifier_this = Model.Name "this"++-- | A pattern used in pattern matching: a declaration, constant, or var pattern.+data Pattern =+ PatternDeclaration DeclarationPattern |+ PatternConstant Expression |+ PatternVar Designation+ deriving (Eq, Ord, Read, Show)++_Pattern = Model.Name "hydra.ext.csharp.syntax.Pattern"++_Pattern_declaration = Model.Name "declaration"++_Pattern_constant = Model.Name "constant"++_Pattern_var = Model.Name "var"++-- | An unsafe pointer indexing expression (pointer[index]).+data PointerElementAccess =+ PointerElementAccess {+ pointerElementAccessPointer :: PrimaryNoArrayCreationExpression,+ pointerElementAccessIndex :: Expression}+ deriving (Eq, Ord, Read, Show)++_PointerElementAccess = Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"++_PointerElementAccess_pointer = Model.Name "pointer"++_PointerElementAccess_index = Model.Name "index"++-- | An unsafe pointer member access expression (pointer->member).+data PointerMemberAccess =+ PointerMemberAccess {+ pointerMemberAccessPointer :: PrimaryExpression,+ pointerMemberAccessMember :: Identifier,+ pointerMemberAccessTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_PointerMemberAccess = Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"++_PointerMemberAccess_pointer = Model.Name "pointer"++_PointerMemberAccess_member = Model.Name "member"++_PointerMemberAccess_typeArguments = Model.Name "typeArguments"++-- | An unsafe pointer type, formed from a pointee value type and a pointer depth.+data PointerType =+ PointerTypeValueType (Maybe ValueType) |+ PointerTypePointerDepth Int+ deriving (Eq, Ord, Read, Show)++_PointerType = Model.Name "hydra.ext.csharp.syntax.PointerType"++_PointerType_valueType = Model.Name "valueType"++_PointerType_pointerDepth = Model.Name "pointerDepth"++-- | A single positional (or optionally named) argument in an attribute's argument list.+data PositionalArgument =+ PositionalArgument {+ positionalArgumentName :: (Maybe Identifier),+ positionalArgumentValue :: AttributeArgumentExpression}+ deriving (Eq, Ord, Read, Show)++_PositionalArgument = Model.Name "hydra.ext.csharp.syntax.PositionalArgument"++_PositionalArgument_name = Model.Name "name"++_PositionalArgument_value = Model.Name "value"++-- | A non-empty, comma-separated list of positional arguments passed to an attribute.+newtype PositionalArgumentList =+ PositionalArgumentList {+ unPositionalArgumentList :: [PositionalArgument]}+ deriving (Eq, Ord, Read, Show)++_PositionalArgumentList = Model.Name "hydra.ext.csharp.syntax.PositionalArgumentList"++-- | One of the built-in predefined type keywords, such as int, string, or bool.+data PredefinedType =+ PredefinedTypeBool |+ PredefinedTypeByte |+ PredefinedTypeChar |+ PredefinedTypeDecimal |+ PredefinedTypeDouble |+ PredefinedTypeFloat |+ PredefinedTypeInt |+ PredefinedTypeLong |+ PredefinedTypeObject |+ PredefinedTypeSbyte |+ PredefinedTypeShort |+ PredefinedTypeString |+ PredefinedTypeUint |+ PredefinedTypeUlong |+ PredefinedTypeUshort+ deriving (Eq, Ord, Read, Show)++_PredefinedType = Model.Name "hydra.ext.csharp.syntax.PredefinedType"++_PredefinedType_bool = Model.Name "bool"++_PredefinedType_byte = Model.Name "byte"++_PredefinedType_char = Model.Name "char"++_PredefinedType_decimal = Model.Name "decimal"++_PredefinedType_double = Model.Name "double"++_PredefinedType_float = Model.Name "float"++_PredefinedType_int = Model.Name "int"++_PredefinedType_long = Model.Name "long"++_PredefinedType_object = Model.Name "object"++_PredefinedType_sbyte = Model.Name "sbyte"++_PredefinedType_short = Model.Name "short"++_PredefinedType_string = Model.Name "string"++_PredefinedType_uint = Model.Name "uint"++_PredefinedType_ulong = Model.Name "ulong"++_PredefinedType_ushort = Model.Name "ushort"++-- | The primary type-parameter constraint: a class type, or the class/struct/unmanaged constraint.+data PrimaryConstraint =+ PrimaryConstraintClassType ClassType |+ PrimaryConstraintClass |+ PrimaryConstraintStruct |+ PrimaryConstraintUnmanaged+ deriving (Eq, Ord, Read, Show)++_PrimaryConstraint = Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint"++_PrimaryConstraint_classType = Model.Name "classType"++_PrimaryConstraint_class = Model.Name "class"++_PrimaryConstraint_struct = Model.Name "struct"++_PrimaryConstraint_unmanaged = Model.Name "unmanaged"++-- | An expression without an array creation, or an array creation expression.+data PrimaryExpression =+ PrimaryExpressionNoArray PrimaryNoArrayCreationExpression |+ PrimaryExpressionArray ArrayCreationExpression+ deriving (Eq, Ord, Read, Show)++_PrimaryExpression = Model.Name "hydra.ext.csharp.syntax.PrimaryExpression"++_PrimaryExpression_noArray = Model.Name "noArray"++_PrimaryExpression_array = Model.Name "array"++-- | A primary expression other than array creation: literal, invocation, access, and so on.+data PrimaryNoArrayCreationExpression =+ PrimaryNoArrayCreationExpressionLiteral Literal |+ PrimaryNoArrayCreationExpressionInterpolatedString InterpolatedStringExpression |+ PrimaryNoArrayCreationExpressionSimpleName SimpleName |+ PrimaryNoArrayCreationExpressionParenthesized Expression |+ PrimaryNoArrayCreationExpressionTuple TupleExpression |+ PrimaryNoArrayCreationExpressionMemberAccess MemberAccess |+ PrimaryNoArrayCreationExpressionNullConditionalMemberAccess NullConditionalMemberAccess |+ PrimaryNoArrayCreationExpressionInvocation InvocationExpression |+ PrimaryNoArrayCreationExpressionElementAccess ElementAccess |+ PrimaryNoArrayCreationExpressionNullConditionalElementAccess NullConditionalElementAccess |+ PrimaryNoArrayCreationExpressionThisAccess |+ PrimaryNoArrayCreationExpressionBaseAccess BaseAccess |+ PrimaryNoArrayCreationExpressionPostIncrement PrimaryExpression |+ PrimaryNoArrayCreationExpressionPostDecrement PrimaryExpression |+ PrimaryNoArrayCreationExpressionObjectCreation ObjectCreationExpression |+ PrimaryNoArrayCreationExpressionDelegateCreation DelegateCreationExpression |+ PrimaryNoArrayCreationExpressionAnonymousObjectCreation (Maybe MemberDeclaratorList) |+ PrimaryNoArrayCreationExpressionTypeof TypeofExpression |+ PrimaryNoArrayCreationExpressionSizeof UnmanagedType |+ PrimaryNoArrayCreationExpressionChecked Expression |+ PrimaryNoArrayCreationExpressionUnchecked Expression |+ PrimaryNoArrayCreationExpressionDefaultValue DefaultValueExpression |+ PrimaryNoArrayCreationExpressionNameof NamedEntity |+ PrimaryNoArrayCreationExpressionAnonymousMethod AnonymousMethodExpression |+ PrimaryNoArrayCreationExpressionPointerMemberAccess PointerMemberAccess |+ PrimaryNoArrayCreationExpressionPointerElementAccess PointerElementAccess |+ PrimaryNoArrayCreationExpressionStackalloc StackallocExpression+ deriving (Eq, Ord, Read, Show)++_PrimaryNoArrayCreationExpression = Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"++_PrimaryNoArrayCreationExpression_literal = Model.Name "literal"++_PrimaryNoArrayCreationExpression_interpolatedString = Model.Name "interpolatedString"++_PrimaryNoArrayCreationExpression_simpleName = Model.Name "simpleName"++_PrimaryNoArrayCreationExpression_parenthesized = Model.Name "parenthesized"++_PrimaryNoArrayCreationExpression_tuple = Model.Name "tuple"++_PrimaryNoArrayCreationExpression_memberAccess = Model.Name "memberAccess"++_PrimaryNoArrayCreationExpression_nullConditionalMemberAccess = Model.Name "nullConditionalMemberAccess"++_PrimaryNoArrayCreationExpression_invocation = Model.Name "invocation"++_PrimaryNoArrayCreationExpression_elementAccess = Model.Name "elementAccess"++_PrimaryNoArrayCreationExpression_nullConditionalElementAccess = Model.Name "nullConditionalElementAccess"++_PrimaryNoArrayCreationExpression_thisAccess = Model.Name "thisAccess"++_PrimaryNoArrayCreationExpression_baseAccess = Model.Name "baseAccess"++_PrimaryNoArrayCreationExpression_postIncrement = Model.Name "postIncrement"++_PrimaryNoArrayCreationExpression_postDecrement = Model.Name "postDecrement"++_PrimaryNoArrayCreationExpression_objectCreation = Model.Name "objectCreation"++_PrimaryNoArrayCreationExpression_delegateCreation = Model.Name "delegateCreation"++_PrimaryNoArrayCreationExpression_anonymousObjectCreation = Model.Name "anonymousObjectCreation"++_PrimaryNoArrayCreationExpression_typeof = Model.Name "typeof"++_PrimaryNoArrayCreationExpression_sizeof = Model.Name "sizeof"++_PrimaryNoArrayCreationExpression_checked = Model.Name "checked"++_PrimaryNoArrayCreationExpression_unchecked = Model.Name "unchecked"++_PrimaryNoArrayCreationExpression_defaultValue = Model.Name "defaultValue"++_PrimaryNoArrayCreationExpression_nameof = Model.Name "nameof"++_PrimaryNoArrayCreationExpression_anonymousMethod = Model.Name "anonymousMethod"++_PrimaryNoArrayCreationExpression_pointerMemberAccess = Model.Name "pointerMemberAccess"++_PrimaryNoArrayCreationExpression_pointerElementAccess = Model.Name "pointerElementAccess"++_PrimaryNoArrayCreationExpression_stackalloc = Model.Name "stackalloc"++-- | The body of a standard property: block accessors or a single expression body.+data PropertyBody =+ PropertyBodyBlock BlockPropertyBody |+ PropertyBodyExpression Expression+ deriving (Eq, Ord, Read, Show)++_PropertyBody = Model.Name "hydra.ext.csharp.syntax.PropertyBody"++_PropertyBody_block = Model.Name "block"++_PropertyBody_expression = Model.Name "expression"++-- | A property member declaration, in its standard or ref-returning form.+data PropertyDeclaration =+ PropertyDeclarationStandard StandardPropertyDeclaration |+ PropertyDeclarationRefReturn RefReturnPropertyDeclaration+ deriving (Eq, Ord, Read, Show)++_PropertyDeclaration = Model.Name "hydra.ext.csharp.syntax.PropertyDeclaration"++_PropertyDeclaration_standard = Model.Name "standard"++_PropertyDeclaration_refReturn = Model.Name "refReturn"++-- | A modifier keyword on a property declaration, such as virtual, override, or abstract.+data PropertyModifier =+ PropertyModifierNew |+ PropertyModifierPublic |+ PropertyModifierProtected |+ PropertyModifierInternal |+ PropertyModifierPrivate |+ PropertyModifierStatic |+ PropertyModifierVirtual |+ PropertyModifierSealed |+ PropertyModifierOverride |+ PropertyModifierAbstract |+ PropertyModifierExtern |+ PropertyModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_PropertyModifier = Model.Name "hydra.ext.csharp.syntax.PropertyModifier"++_PropertyModifier_new = Model.Name "new"++_PropertyModifier_public = Model.Name "public"++_PropertyModifier_protected = Model.Name "protected"++_PropertyModifier_internal = Model.Name "internal"++_PropertyModifier_private = Model.Name "private"++_PropertyModifier_static = Model.Name "static"++_PropertyModifier_virtual = Model.Name "virtual"++_PropertyModifier_sealed = Model.Name "sealed"++_PropertyModifier_override = Model.Name "override"++_PropertyModifier_abstract = Model.Name "abstract"++_PropertyModifier_extern = Model.Name "extern"++_PropertyModifier_unsafe = Model.Name "unsafe"++-- | An 'alias::member' reference, with optional type arguments, using an extern or global alias.+data QualifiedAliasMember =+ QualifiedAliasMember {+ qualifiedAliasMemberAlias :: Identifier,+ qualifiedAliasMemberMember :: Identifier,+ qualifiedAliasMemberArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_QualifiedAliasMember = Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"++_QualifiedAliasMember_alias = Model.Name "alias"++_QualifiedAliasMember_member = Model.Name "member"++_QualifiedAliasMember_arguments = Model.Name "arguments"++-- | A non-empty, dot-separated sequence of identifiers, as used in a namespace declaration.+newtype QualifiedIdentifier =+ QualifiedIdentifier {+ unQualifiedIdentifier :: [Identifier]}+ deriving (Eq, Ord, Read, Show)++_QualifiedIdentifier = Model.Name "hydra.ext.csharp.syntax.QualifiedIdentifier"++-- | A namespace-or-type name qualified with a preceding namespace-or-type and identifier.+data QualifiedNamespaceOrTypeName =+ QualifiedNamespaceOrTypeName {+ qualifiedNamespaceOrTypeNameNamespaceOrType :: NamespaceOrTypeName,+ qualifiedNamespaceOrTypeNameIdentifier :: Identifier,+ qualifiedNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_QualifiedNamespaceOrTypeName = Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"++_QualifiedNamespaceOrTypeName_namespaceOrType = Model.Name "namespaceOrType"++_QualifiedNamespaceOrTypeName_identifier = Model.Name "identifier"++_QualifiedNamespaceOrTypeName_arguments = Model.Name "arguments"++-- | The clauses, select/group clause, and optional continuation of a query expression.+data QueryBody =+ QueryBody {+ queryBodyClauses :: [QueryBodyClause],+ queryBodySelectOrGroup :: SelectOrGroupClause,+ queryBodyContinuation :: (Maybe QueryContinuation)}+ deriving (Eq, Ord, Read, Show)++_QueryBody = Model.Name "hydra.ext.csharp.syntax.QueryBody"++_QueryBody_clauses = Model.Name "clauses"++_QueryBody_selectOrGroup = Model.Name "selectOrGroup"++_QueryBody_continuation = Model.Name "continuation"++-- | A clause in a query expression body: from, let, where, join, or orderby.+data QueryBodyClause =+ QueryBodyClauseFrom FromClause |+ QueryBodyClauseLet LetClause |+ QueryBodyClauseWhere BooleanExpression |+ QueryBodyClauseJoin JoinClause |+ QueryBodyClauseOrderby [Ordering]+ deriving (Eq, Ord, Read, Show)++_QueryBodyClause = Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"++_QueryBodyClause_from = Model.Name "from"++_QueryBodyClause_let = Model.Name "let"++_QueryBodyClause_where = Model.Name "where"++_QueryBodyClause_join = Model.Name "join"++_QueryBodyClause_orderby = Model.Name "orderby"++-- | An 'into' continuation that feeds a query's results into a further query body.+data QueryContinuation =+ QueryContinuation {+ queryContinuationInto :: Identifier,+ queryContinuationBody :: QueryBody}+ deriving (Eq, Ord, Read, Show)++_QueryContinuation = Model.Name "hydra.ext.csharp.syntax.QueryContinuation"++_QueryContinuation_into = Model.Name "into"++_QueryContinuation_body = Model.Name "body"++-- | A LINQ query expression, starting with a from clause and continuing with a query body.+data QueryExpression =+ QueryExpression {+ queryExpressionFrom :: FromClause,+ queryExpressionBody :: QueryBody}+ deriving (Eq, Ord, Read, Show)++_QueryExpression = Model.Name "hydra.ext.csharp.syntax.QueryExpression"++_QueryExpression_from = Model.Name "from"++_QueryExpression_body = Model.Name "body"++-- | The rank (number of dimensions) of an array type or array creation expression.+newtype RankSpecifier =+ RankSpecifier {+ unRankSpecifier :: Int}+ deriving (Eq, Ord, Read, Show)++_RankSpecifier = Model.Name "hydra.ext.csharp.syntax.RankSpecifier"++-- | Array creation using a rank specifier together with an array initializer, with inferred element type.+data RankSpecifierArrayCreationExpression =+ RankSpecifierArrayCreationExpression {+ rankSpecifierArrayCreationExpressionRankSpecifier :: RankSpecifier,+ rankSpecifierArrayCreationExpressionInitializer :: ArrayInitializer}+ deriving (Eq, Ord, Read, Show)++_RankSpecifierArrayCreationExpression = Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"++_RankSpecifierArrayCreationExpression_rankSpecifier = Model.Name "rankSpecifier"++_RankSpecifierArrayCreationExpression_initializer = Model.Name "initializer"++-- | The body of a ref-returning get accessor: a block, ref expression, or empty (abstract) body.+data RefAccessorBody =+ RefAccessorBodyBlock Block |+ RefAccessorBodyRef VariableReference |+ RefAccessorBodyEmpty+ deriving (Eq, Ord, Read, Show)++_RefAccessorBody = Model.Name "hydra.ext.csharp.syntax.RefAccessorBody"++_RefAccessorBody_block = Model.Name "block"++_RefAccessorBody_ref = Model.Name "ref"++_RefAccessorBody_empty = Model.Name "empty"++-- | A ref-returning conditional expression, selecting between two variable references.+data RefConditionalExpression =+ RefConditionalExpression {+ refConditionalExpressionCondition :: NullCoalescingExpression,+ refConditionalExpressionTrue :: VariableReference,+ refConditionalExpressionFalse :: VariableReference}+ deriving (Eq, Ord, Read, Show)++_RefConditionalExpression = Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"++_RefConditionalExpression_condition = Model.Name "condition"++_RefConditionalExpression_true = Model.Name "true"++_RefConditionalExpression_false = Model.Name "false"++-- | A ref-returning property or indexer get accessor declaration.+data RefGetAccessorDeclaration =+ RefGetAccessorDeclaration {+ refGetAccessorDeclarationAttributes :: (Maybe Attributes),+ refGetAccessorDeclarationModifier :: (Maybe AccessorModifier),+ refGetAccessorDeclarationBody :: RefAccessorBody}+ deriving (Eq, Ord, Read, Show)++_RefGetAccessorDeclaration = Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"++_RefGetAccessorDeclaration_attributes = Model.Name "attributes"++_RefGetAccessorDeclaration_modifier = Model.Name "modifier"++_RefGetAccessorDeclaration_body = Model.Name "body"++-- | The body of a ref-returning indexer: a ref get accessor, or a single ref expression.+data RefIndexerBody =+ RefIndexerBodyBlock RefGetAccessorDeclaration |+ RefIndexerBodyRef VariableReference+ deriving (Eq, Ord, Read, Show)++_RefIndexerBody = Model.Name "hydra.ext.csharp.syntax.RefIndexerBody"++_RefIndexerBody_block = Model.Name "block"++_RefIndexerBody_ref = Model.Name "ref"++-- | A ref-returning indexer member declaration.+data RefIndexerDeclaration =+ RefIndexerDeclaration {+ refIndexerDeclarationAttributes :: (Maybe Attributes),+ refIndexerDeclarationModifiers :: [IndexerModifier],+ refIndexerDeclarationRefKind :: RefKind,+ refIndexerDeclarationDeclarator :: IndexerDeclarator,+ refIndexerDeclarationBody :: RefIndexerBody}+ deriving (Eq, Ord, Read, Show)++_RefIndexerDeclaration = Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"++_RefIndexerDeclaration_attributes = Model.Name "attributes"++_RefIndexerDeclaration_modifiers = Model.Name "modifiers"++_RefIndexerDeclaration_refKind = Model.Name "refKind"++_RefIndexerDeclaration_declarator = Model.Name "declarator"++_RefIndexerDeclaration_body = Model.Name "body"++-- | Whether a ref-returning member returns by plain ref or by ref readonly.+data RefKind =+ RefKindRef |+ RefKindRefReadonly+ deriving (Eq, Ord, Read, Show)++_RefKind = Model.Name "hydra.ext.csharp.syntax.RefKind"++_RefKind_ref = Model.Name "ref"++_RefKind_refReadonly = Model.Name "refReadonly"++-- | The body of a ref-returning local function: a block, or a single ref expression.+data RefLocalFunctionBody =+ RefLocalFunctionBodyBlock Block |+ RefLocalFunctionBodyRef VariableReference+ deriving (Eq, Ord, Read, Show)++_RefLocalFunctionBody = Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionBody"++_RefLocalFunctionBody_block = Model.Name "block"++_RefLocalFunctionBody_ref = Model.Name "ref"++-- | A ref-returning local function declaration.+data RefLocalFunctionDeclaration =+ RefLocalFunctionDeclaration {+ refLocalFunctionDeclarationModifiers :: [RefLocalFunctionModifier],+ refLocalFunctionDeclarationRefKind :: RefKind,+ refLocalFunctionDeclarationReturnType :: Type,+ refLocalFunctionDeclarationHeader :: LocalFunctionHeader,+ refLocalFunctionDeclarationBody :: RefLocalFunctionBody}+ deriving (Eq, Ord, Read, Show)++_RefLocalFunctionDeclaration = Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"++_RefLocalFunctionDeclaration_modifiers = Model.Name "modifiers"++_RefLocalFunctionDeclaration_refKind = Model.Name "refKind"++_RefLocalFunctionDeclaration_returnType = Model.Name "returnType"++_RefLocalFunctionDeclaration_header = Model.Name "header"++_RefLocalFunctionDeclaration_body = Model.Name "body"++-- | A modifier on a ref-returning local function declaration: static or unsafe.+data RefLocalFunctionModifier =+ RefLocalFunctionModifierStatic |+ RefLocalFunctionModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_RefLocalFunctionModifier = Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionModifier"++_RefLocalFunctionModifier_static = Model.Name "static"++_RefLocalFunctionModifier_unsafe = Model.Name "unsafe"++-- | A local variable declaration that binds a variable by reference.+data RefLocalVariableDeclaration =+ RefLocalVariableDeclaration {+ refLocalVariableDeclarationRefKind :: RefKind,+ refLocalVariableDeclarationType :: Type,+ refLocalVariableDeclarationDeclarators :: [RefLocalVariableDeclarator]}+ deriving (Eq, Ord, Read, Show)++_RefLocalVariableDeclaration = Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"++_RefLocalVariableDeclaration_refKind = Model.Name "refKind"++_RefLocalVariableDeclaration_type = Model.Name "type"++_RefLocalVariableDeclaration_declarators = Model.Name "declarators"++-- | The identifier and referenced variable in a single ref local variable declarator.+data RefLocalVariableDeclarator =+ RefLocalVariableDeclarator {+ refLocalVariableDeclaratorLeft :: Identifier,+ refLocalVariableDeclaratorRight :: VariableReference}+ deriving (Eq, Ord, Read, Show)++_RefLocalVariableDeclarator = Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"++_RefLocalVariableDeclarator_left = Model.Name "left"++_RefLocalVariableDeclarator_right = Model.Name "right"++-- | The body of a ref-returning method: a block, ref expression, or empty (extern) body.+data RefMethodBody =+ RefMethodBodyBlock Block |+ RefMethodBodyRef VariableReference |+ RefMethodBodyEmpty+ deriving (Eq, Ord, Read, Show)++_RefMethodBody = Model.Name "hydra.ext.csharp.syntax.RefMethodBody"++_RefMethodBody_block = Model.Name "block"++_RefMethodBody_ref = Model.Name "ref"++_RefMethodBody_empty = Model.Name "empty"++-- | A modifier keyword on a ref-returning method declaration.+data RefMethodModifier =+ RefMethodModifierNew |+ RefMethodModifierPublic |+ RefMethodModifierProtected |+ RefMethodModifierInternal |+ RefMethodModifierPrivate |+ RefMethodModifierStatic |+ RefMethodModifierVirtual |+ RefMethodModifierSealed |+ RefMethodModifierOverride |+ RefMethodModifierAbstract |+ RefMethodModifierExtern |+ RefMethodModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_RefMethodModifier = Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"++_RefMethodModifier_new = Model.Name "new"++_RefMethodModifier_public = Model.Name "public"++_RefMethodModifier_protected = Model.Name "protected"++_RefMethodModifier_internal = Model.Name "internal"++_RefMethodModifier_private = Model.Name "private"++_RefMethodModifier_static = Model.Name "static"++_RefMethodModifier_virtual = Model.Name "virtual"++_RefMethodModifier_sealed = Model.Name "sealed"++_RefMethodModifier_override = Model.Name "override"++_RefMethodModifier_abstract = Model.Name "abstract"++_RefMethodModifier_extern = Model.Name "extern"++_RefMethodModifier_unsafe = Model.Name "unsafe"++-- | The body of a ref-returning property: a ref get accessor, or a single ref expression.+data RefPropertyBody =+ RefPropertyBodyBlock RefGetAccessorDeclaration |+ RefPropertyBodyRef VariableReference+ deriving (Eq, Ord, Read, Show)++_RefPropertyBody = Model.Name "hydra.ext.csharp.syntax.RefPropertyBody"++_RefPropertyBody_block = Model.Name "block"++_RefPropertyBody_ref = Model.Name "ref"++-- | A ref-returning method declaration, including its ref kind, header, and body.+data RefReturnMethodDeclaration =+ RefReturnMethodDeclaration {+ refReturnMethodDeclarationAttributes :: (Maybe Attributes),+ refReturnMethodDeclarationModifiers :: [RefMethodModifier],+ refReturnMethodDeclarationKind :: RefKind,+ refReturnMethodDeclarationReturnType :: ReturnType,+ refReturnMethodDeclarationHeader :: MethodHeader,+ refReturnMethodDeclarationBody :: RefMethodBody}+ deriving (Eq, Ord, Read, Show)++_RefReturnMethodDeclaration = Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"++_RefReturnMethodDeclaration_attributes = Model.Name "attributes"++_RefReturnMethodDeclaration_modifiers = Model.Name "modifiers"++_RefReturnMethodDeclaration_kind = Model.Name "kind"++_RefReturnMethodDeclaration_returnType = Model.Name "returnType"++_RefReturnMethodDeclaration_header = Model.Name "header"++_RefReturnMethodDeclaration_body = Model.Name "body"++-- | A ref-returning property declaration, including its ref kind and body.+data RefReturnPropertyDeclaration =+ RefReturnPropertyDeclaration {+ refReturnPropertyDeclarationAttributes :: (Maybe Attributes),+ refReturnPropertyDeclarationModifiers :: [PropertyModifier],+ refReturnPropertyDeclarationRefKind :: RefKind,+ refReturnPropertyDeclarationType :: Type,+ refReturnPropertyDeclarationName :: MemberName,+ refReturnPropertyDeclarationBody :: RefPropertyBody}+ deriving (Eq, Ord, Read, Show)++_RefReturnPropertyDeclaration = Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"++_RefReturnPropertyDeclaration_attributes = Model.Name "attributes"++_RefReturnPropertyDeclaration_modifiers = Model.Name "modifiers"++_RefReturnPropertyDeclaration_refKind = Model.Name "refKind"++_RefReturnPropertyDeclaration_type = Model.Name "type"++_RefReturnPropertyDeclaration_name = Model.Name "name"++_RefReturnPropertyDeclaration_body = Model.Name "body"++-- | An implicitly typed local variable declared by reference using 'ref var'.+data RefVarImplicitlyTypedLocalVariableDeclaration =+ RefVarImplicitlyTypedLocalVariableDeclaration {+ refVarImplicitlyTypedLocalVariableDeclarationRefKind :: RefKind,+ refVarImplicitlyTypedLocalVariableDeclarationDeclarator :: RefLocalVariableDeclarator}+ deriving (Eq, Ord, Read, Show)++_RefVarImplicitlyTypedLocalVariableDeclaration =+ Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"++_RefVarImplicitlyTypedLocalVariableDeclaration_refKind = Model.Name "refKind"++_RefVarImplicitlyTypedLocalVariableDeclaration_declarator = Model.Name "declarator"++-- | A reference type: class, interface, array, delegate, or the dynamic type.+data ReferenceType =+ ReferenceTypeClass ClassType |+ ReferenceTypeInterface InterfaceType |+ ReferenceTypeArray ArrayType |+ ReferenceTypeDelegate DelegateType |+ ReferenceTypeDynamic+ deriving (Eq, Ord, Read, Show)++_ReferenceType = Model.Name "hydra.ext.csharp.syntax.ReferenceType"++_ReferenceType_class = Model.Name "class"++_ReferenceType_interface = Model.Name "interface"++_ReferenceType_array = Model.Name "array"++_ReferenceType_delegate = Model.Name "delegate"++_ReferenceType_dynamic = Model.Name "dynamic"++-- | A single '{expression[,width][:format]}' hole within a regular interpolated string.+data RegularInterpolation =+ RegularInterpolation {+ regularInterpolationExpression :: Expression,+ regularInterpolationWidth :: (Maybe Expression),+ regularInterpolationFormat :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_RegularInterpolation = Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"++_RegularInterpolation_expression = Model.Name "expression"++_RegularInterpolation_width = Model.Name "width"++_RegularInterpolation_format = Model.Name "format"++-- | A simple, binary, is-type, is-pattern, or as-type relational expression.+data RelationalExpression =+ RelationalExpressionSimple ShiftExpression |+ RelationalExpressionBinary BinaryRelationalExpression |+ RelationalExpressionIsType IsTypeExpression |+ RelationalExpressionIsPattern IsPatternExpression |+ RelationalExpressionAsType AsTypeExpression+ deriving (Eq, Ord, Read, Show)++_RelationalExpression = Model.Name "hydra.ext.csharp.syntax.RelationalExpression"++_RelationalExpression_simple = Model.Name "simple"++_RelationalExpression_binary = Model.Name "binary"++_RelationalExpression_isType = Model.Name "isType"++_RelationalExpression_isPattern = Model.Name "isPattern"++_RelationalExpression_asType = Model.Name "asType"++-- | A relational comparison operator: less than, greater than, or their or-equal variants.+data RelationalOperator =+ RelationalOperatorLessThan |+ RelationalOperatorGreaterThan |+ RelationalOperatorLessThanOrEqual |+ RelationalOperatorGreaterThanOrEqual+ deriving (Eq, Ord, Read, Show)++_RelationalOperator = Model.Name "hydra.ext.csharp.syntax.RelationalOperator"++_RelationalOperator_lessThan = Model.Name "lessThan"++_RelationalOperator_greaterThan = Model.Name "greaterThan"++_RelationalOperator_lessThanOrEqual = Model.Name "lessThanOrEqual"++_RelationalOperator_greaterThanOrEqual = Model.Name "greaterThanOrEqual"++-- | The resource acquired by a using statement: a local variable declaration or an expression.+data ResourceAcquisition =+ ResourceAcquisitionLocal LocalVariableDeclaration |+ ResourceAcquisitionExpression Expression+ deriving (Eq, Ord, Read, Show)++_ResourceAcquisition = Model.Name "hydra.ext.csharp.syntax.ResourceAcquisition"++_ResourceAcquisition_local = Model.Name "local"++_ResourceAcquisition_expression = Model.Name "expression"++-- | A return statement, in its value-less, value-returning, or ref-returning form.+data ReturnStatement =+ ReturnStatementSimple |+ ReturnStatementValue Expression |+ ReturnStatementRef VariableReference+ deriving (Eq, Ord, Read, Show)++_ReturnStatement = Model.Name "hydra.ext.csharp.syntax.ReturnStatement"++_ReturnStatement_simple = Model.Name "simple"++_ReturnStatement_value = Model.Name "value"++_ReturnStatement_ref = Model.Name "ref"++-- | The declared return type of a member: a ref-qualified type, or void.+data ReturnType =+ ReturnTypeRef Type |+ ReturnTypeVoid+ deriving (Eq, Ord, Read, Show)++_ReturnType = Model.Name "hydra.ext.csharp.syntax.ReturnType"++_ReturnType_ref = Model.Name "ref"++_ReturnType_void = Model.Name "void"++-- | A secondary type-parameter constraint: an interface type or another type parameter.+data SecondaryConstraint =+ SecondaryConstraintInterface InterfaceType |+ SecondaryConstraintParameter TypeParameter+ deriving (Eq, Ord, Read, Show)++_SecondaryConstraint = Model.Name "hydra.ext.csharp.syntax.SecondaryConstraint"++_SecondaryConstraint_interface = Model.Name "interface"++_SecondaryConstraint_parameter = Model.Name "parameter"++-- | A non-empty list of secondary constraints on a type parameter.+newtype SecondaryConstraints =+ SecondaryConstraints {+ unSecondaryConstraints :: [SecondaryConstraint]}+ deriving (Eq, Ord, Read, Show)++_SecondaryConstraints = Model.Name "hydra.ext.csharp.syntax.SecondaryConstraints"++-- | The final clause of a query body: a 'select' projection or a 'group by' clause.+data SelectOrGroupClause =+ SelectOrGroupClauseSelect Expression |+ SelectOrGroupClauseGroup GroupClause+ deriving (Eq, Ord, Read, Show)++_SelectOrGroupClause = Model.Name "hydra.ext.csharp.syntax.SelectOrGroupClause"++_SelectOrGroupClause_select = Model.Name "select"++_SelectOrGroupClause_group = Model.Name "group"++-- | An if or switch statement.+data SelectionStatement =+ SelectionStatementIf IfStatement |+ SelectionStatementSwitch SwitchStatement+ deriving (Eq, Ord, Read, Show)++_SelectionStatement = Model.Name "hydra.ext.csharp.syntax.SelectionStatement"++_SelectionStatement_if = Model.Name "if"++_SelectionStatement_switch = Model.Name "switch"++-- | A simple additive expression or a binary left/right-shift expression.+data ShiftExpression =+ ShiftExpressionSimple AdditiveExpression |+ ShiftExpressionBinary BinaryShiftExpression+ deriving (Eq, Ord, Read, Show)++_ShiftExpression = Model.Name "hydra.ext.csharp.syntax.ShiftExpression"++_ShiftExpression_simple = Model.Name "simple"++_ShiftExpression_binary = Model.Name "binary"++-- | The left-shift (<<) or right-shift (>>) operator.+data ShiftOperator =+ ShiftOperatorLeft |+ ShiftOperatorRight+ deriving (Eq, Ord, Read, Show)++_ShiftOperator = Model.Name "hydra.ext.csharp.syntax.ShiftOperator"++_ShiftOperator_left = Model.Name "left"++_ShiftOperator_right = Model.Name "right"++-- | The ordinary ternary conditional expression: 'condition ? true : false'.+data SimpleConditionalExpression =+ SimpleConditionalExpression {+ simpleConditionalExpressionCondition :: NullCoalescingExpression,+ simpleConditionalExpressionTrue :: Expression,+ simpleConditionalExpressionFalse :: Expression}+ deriving (Eq, Ord, Read, Show)++_SimpleConditionalExpression = Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"++_SimpleConditionalExpression_condition = Model.Name "condition"++_SimpleConditionalExpression_true = Model.Name "true"++_SimpleConditionalExpression_false = Model.Name "false"++-- | A simple identifier reference, with an optional list of explicit type arguments.+data SimpleName =+ SimpleName {+ simpleNameIdentifier :: Identifier,+ simpleNameTypeArguments :: (Maybe TypeArgumentList)}+ deriving (Eq, Ord, Read, Show)++_SimpleName = Model.Name "hydra.ext.csharp.syntax.SimpleName"++_SimpleName_identifier = Model.Name "identifier"++_SimpleName_typeArguments = Model.Name "typeArguments"++-- | A numeric type or the bool type.+data SimpleType =+ SimpleTypeNumeric NumericType |+ SimpleTypeBool+ deriving (Eq, Ord, Read, Show)++_SimpleType = Model.Name "hydra.ext.csharp.syntax.SimpleType"++_SimpleType_numeric = Model.Name "numeric"++_SimpleType_bool = Model.Name "bool"++-- | A catch clause naming an exception type and/or filter, with a handler block.+data SpecificCatchClause =+ SpecificCatchClause {+ specificCatchClauseSpecifier :: (Maybe ExceptionSpecifier),+ specificCatchClauseFilter :: (Maybe BooleanExpression),+ specificCatchClauseBody :: Block}+ deriving (Eq, Ord, Read, Show)++_SpecificCatchClause = Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"++_SpecificCatchClause_specifier = Model.Name "specifier"++_SpecificCatchClause_filter = Model.Name "filter"++_SpecificCatchClause_body = Model.Name "body"++-- | A 'stackalloc' expression that allocates a block of memory on the stack.+data StackallocExpression =+ StackallocExpression {+ stackallocExpressionType :: (Maybe UnmanagedType),+ stackallocExpressionExpression :: (Maybe ConstantExpression),+ stackallocExpressionInitializer :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_StackallocExpression = Model.Name "hydra.ext.csharp.syntax.StackallocExpression"++_StackallocExpression_type = Model.Name "type"++_StackallocExpression_expression = Model.Name "expression"++_StackallocExpression_initializer = Model.Name "initializer"++-- | A field-like event declaration, with its type and one or more declarators.+data StandardEventDeclaration =+ StandardEventDeclaration {+ standardEventDeclarationAttributes :: (Maybe Attributes),+ standardEventDeclarationModifiers :: [EventModifier],+ standardEventDeclarationType :: Type,+ standardEventDeclarationDeclarators :: VariableDeclarators}+ deriving (Eq, Ord, Read, Show)++_StandardEventDeclaration = Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"++_StandardEventDeclaration_attributes = Model.Name "attributes"++_StandardEventDeclaration_modifiers = Model.Name "modifiers"++_StandardEventDeclaration_type = Model.Name "type"++_StandardEventDeclaration_declarators = Model.Name "declarators"++-- | A standard (non-ref-returning) indexer declaration.+data StandardIndexerDeclaration =+ StandardIndexerDeclaration {+ standardIndexerDeclarationAttributes :: (Maybe Attributes),+ standardIndexerDeclarationModifiers :: [IndexerModifier],+ standardIndexerDeclarationDeclarator :: IndexerDeclarator,+ standardIndexerDeclarationBody :: IndexerBody}+ deriving (Eq, Ord, Read, Show)++_StandardIndexerDeclaration = Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"++_StandardIndexerDeclaration_attributes = Model.Name "attributes"++_StandardIndexerDeclaration_modifiers = Model.Name "modifiers"++_StandardIndexerDeclaration_declarator = Model.Name "declarator"++_StandardIndexerDeclaration_body = Model.Name "body"++-- | A standard (non-ref-returning) local function declaration.+data StandardLocalFunctionDeclaration =+ StandardLocalFunctionDeclaration {+ standardLocalFunctionDeclarationModifiers :: [LocalFunctionModifier],+ standardLocalFunctionDeclarationReturnType :: ReturnType,+ standardLocalFunctionDeclarationHeader :: LocalFunctionHeader,+ standardLocalFunctionDeclarationBody :: LocalFunctionBody}+ deriving (Eq, Ord, Read, Show)++_StandardLocalFunctionDeclaration = Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"++_StandardLocalFunctionDeclaration_modifiers = Model.Name "modifiers"++_StandardLocalFunctionDeclaration_returnType = Model.Name "returnType"++_StandardLocalFunctionDeclaration_header = Model.Name "header"++_StandardLocalFunctionDeclaration_body = Model.Name "body"++-- | A standard (non-ref-returning) method declaration.+data StandardMethodDeclaration =+ StandardMethodDeclaration {+ standardMethodDeclarationAttributes :: (Maybe Attributes),+ standardMethodDeclarationModifiers :: [MethodModifier],+ standardMethodDeclarationReturnType :: ReturnType,+ standardMethodDeclarationHeader :: MethodHeader,+ standardMethodDeclarationBody :: MethodBody}+ deriving (Eq, Ord, Read, Show)++_StandardMethodDeclaration = Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"++_StandardMethodDeclaration_attributes = Model.Name "attributes"++_StandardMethodDeclaration_modifiers = Model.Name "modifiers"++_StandardMethodDeclaration_returnType = Model.Name "returnType"++_StandardMethodDeclaration_header = Model.Name "header"++_StandardMethodDeclaration_body = Model.Name "body"++-- | A standard (non-ref-returning) property declaration.+data StandardPropertyDeclaration =+ StandardPropertyDeclaration {+ standardPropertyDeclarationAttributes :: (Maybe Attributes),+ standardPropertyDeclarationModifiers :: [PropertyModifier],+ standardPropertyDeclarationType :: Type,+ standardPropertyDeclarationName :: MemberName,+ standardPropertyDeclarationBody :: PropertyBody}+ deriving (Eq, Ord, Read, Show)++_StandardPropertyDeclaration = Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"++_StandardPropertyDeclaration_attributes = Model.Name "attributes"++_StandardPropertyDeclaration_modifiers = Model.Name "modifiers"++_StandardPropertyDeclaration_type = Model.Name "type"++_StandardPropertyDeclaration_name = Model.Name "name"++_StandardPropertyDeclaration_body = Model.Name "body"++-- | A labeled statement, a declaration statement, or an embedded statement.+data Statement =+ StatementLabeled LabeledStatement |+ StatementDeclaration DeclarationStatement |+ StatementEmbedded EmbeddedStatement+ deriving (Eq, Ord, Read, Show)++_Statement = Model.Name "hydra.ext.csharp.syntax.Statement"++_Statement_labeled = Model.Name "labeled"++_Statement_declaration = Model.Name "declaration"++_Statement_embedded = Model.Name "embedded"++-- | An expression usable as a statement on its own, such as an invocation or assignment.+data StatementExpression =+ StatementExpressionNullConditionalInvocation NullConditionalInvocationExpression |+ StatementExpressionInvocation InvocationExpression |+ StatementExpressionObjectCreation ObjectCreationExpression |+ StatementExpressionAssignment Assignment |+ StatementExpressionPostIncrement PrimaryExpression |+ StatementExpressionPostDecrement PrimaryExpression |+ StatementExpressionPreIncrement UnaryExpression |+ StatementExpressionPreDecrement UnaryExpression |+ StatementExpressionAwait UnaryExpression+ deriving (Eq, Ord, Read, Show)++_StatementExpression = Model.Name "hydra.ext.csharp.syntax.StatementExpression"++_StatementExpression_nullConditionalInvocation = Model.Name "nullConditionalInvocation"++_StatementExpression_invocation = Model.Name "invocation"++_StatementExpression_objectCreation = Model.Name "objectCreation"++_StatementExpression_assignment = Model.Name "assignment"++_StatementExpression_postIncrement = Model.Name "postIncrement"++_StatementExpression_postDecrement = Model.Name "postDecrement"++_StatementExpression_preIncrement = Model.Name "preIncrement"++_StatementExpression_preDecrement = Model.Name "preDecrement"++_StatementExpression_await = Model.Name "await"++-- | A non-empty, comma-separated list of statement expressions, as used in a for statement.+newtype StatementExpressionList =+ StatementExpressionList {+ unStatementExpressionList :: [StatementExpression]}+ deriving (Eq, Ord, Read, Show)++_StatementExpressionList = Model.Name "hydra.ext.csharp.syntax.StatementExpressionList"++-- | The body of a static constructor: a block, expression body, or empty (extern) body.+data StaticConstructorBody =+ StaticConstructorBodyBlock Block |+ StaticConstructorBodyExpression Expression |+ StaticConstructorBodyEmpty+ deriving (Eq, Ord, Read, Show)++_StaticConstructorBody = Model.Name "hydra.ext.csharp.syntax.StaticConstructorBody"++_StaticConstructorBody_block = Model.Name "block"++_StaticConstructorBody_expression = Model.Name "expression"++_StaticConstructorBody_empty = Model.Name "empty"++-- | A static constructor declaration for a type.+data StaticConstructorDeclaration =+ StaticConstructorDeclaration {+ staticConstructorDeclarationAttributes :: (Maybe Attributes),+ staticConstructorDeclarationModifiers :: StaticConstructorModifiers,+ staticConstructorDeclarationName :: Identifier,+ staticConstructorDeclarationBody :: StaticConstructorBody}+ deriving (Eq, Ord, Read, Show)++_StaticConstructorDeclaration = Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"++_StaticConstructorDeclaration_attributes = Model.Name "attributes"++_StaticConstructorDeclaration_modifiers = Model.Name "modifiers"++_StaticConstructorDeclaration_name = Model.Name "name"++_StaticConstructorDeclaration_body = Model.Name "body"++-- | The extern and unsafe flags of a static constructor declaration.+data StaticConstructorModifiers =+ StaticConstructorModifiers {+ staticConstructorModifiersExtern :: Bool,+ staticConstructorModifiersUnsafe :: Bool}+ deriving (Eq, Ord, Read, Show)++_StaticConstructorModifiers = Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"++_StaticConstructorModifiers_extern = Model.Name "extern"++_StaticConstructorModifiers_unsafe = Model.Name "unsafe"++-- | A struct type declaration, with its modifiers, type parameters, interfaces, and body.+data StructDeclaration =+ StructDeclaration {+ structDeclarationAttributes :: (Maybe Attributes),+ structDeclarationModifiers :: [StructModifier],+ structDeclarationRef :: Bool,+ structDeclarationPartial :: Bool,+ structDeclarationName :: Identifier,+ structDeclarationParameters :: (Maybe TypeParameterList),+ structDeclarationInterfaces :: [InterfaceType],+ structDeclarationConstraints :: [TypeParameterConstraintsClause],+ structDeclarationBody :: [StructMemberDeclaration]}+ deriving (Eq, Ord, Read, Show)++_StructDeclaration = Model.Name "hydra.ext.csharp.syntax.StructDeclaration"++_StructDeclaration_attributes = Model.Name "attributes"++_StructDeclaration_modifiers = Model.Name "modifiers"++_StructDeclaration_ref = Model.Name "ref"++_StructDeclaration_partial = Model.Name "partial"++_StructDeclaration_name = Model.Name "name"++_StructDeclaration_parameters = Model.Name "parameters"++_StructDeclaration_interfaces = Model.Name "interfaces"++_StructDeclaration_constraints = Model.Name "constraints"++_StructDeclaration_body = Model.Name "body"++-- | Any member that can appear in a struct body, including fixed-size buffer declarations.+data StructMemberDeclaration =+ StructMemberDeclarationConstant ConstantDeclaration |+ StructMemberDeclarationField FieldDeclaration |+ StructMemberDeclarationMethod MethodDeclaration |+ StructMemberDeclarationProperty PropertyDeclaration |+ StructMemberDeclarationEvent EventDeclaration |+ StructMemberDeclarationIndexer IndexerDeclaration |+ StructMemberDeclarationOperator OperatorDeclaration |+ StructMemberDeclarationConstructor ConstructorDeclaration |+ StructMemberDeclarationStaticConstructor StaticConstructorDeclaration |+ StructMemberDeclarationType TypeDeclaration |+ StructMemberDeclarationFixedSizeBuffer FixedSizeBufferDeclaration+ deriving (Eq, Ord, Read, Show)++_StructMemberDeclaration = Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"++_StructMemberDeclaration_constant = Model.Name "constant"++_StructMemberDeclaration_field = Model.Name "field"++_StructMemberDeclaration_method = Model.Name "method"++_StructMemberDeclaration_property = Model.Name "property"++_StructMemberDeclaration_event = Model.Name "event"++_StructMemberDeclaration_indexer = Model.Name "indexer"++_StructMemberDeclaration_operator = Model.Name "operator"++_StructMemberDeclaration_constructor = Model.Name "constructor"++_StructMemberDeclaration_staticConstructor = Model.Name "staticConstructor"++_StructMemberDeclaration_type = Model.Name "type"++_StructMemberDeclaration_fixedSizeBuffer = Model.Name "fixedSizeBuffer"++-- | A modifier keyword on a struct declaration, such as readonly or unsafe.+data StructModifier =+ StructModifierNew |+ StructModifierPublic |+ StructModifierProtected |+ StructModifierInternal |+ StructModifierPrivate |+ StructModifierReadonly |+ StructModifierUnsafe+ deriving (Eq, Ord, Read, Show)++_StructModifier = Model.Name "hydra.ext.csharp.syntax.StructModifier"++_StructModifier_new = Model.Name "new"++_StructModifier_public = Model.Name "public"++_StructModifier_protected = Model.Name "protected"++_StructModifier_internal = Model.Name "internal"++_StructModifier_private = Model.Name "private"++_StructModifier_readonly = Model.Name "readonly"++_StructModifier_unsafe = Model.Name "unsafe"++-- | A struct type or an enum type, as used in the definition of value types.+data StructOrEnumType =+ StructOrEnumTypeStruct StructType |+ StructOrEnumTypeEnum EnumType+ deriving (Eq, Ord, Read, Show)++_StructOrEnumType = Model.Name "hydra.ext.csharp.syntax.StructOrEnumType"++_StructOrEnumType_struct = Model.Name "struct"++_StructOrEnumType_enum = Model.Name "enum"++-- | A reference to a struct type: a named type, a simple type, or a tuple type.+data StructType =+ StructTypeTypeName TypeName |+ StructTypeSimple SimpleType |+ StructTypeTuple TupleType+ deriving (Eq, Ord, Read, Show)++_StructType = Model.Name "hydra.ext.csharp.syntax.StructType"++_StructType_typeName = Model.Name "typeName"++_StructType_simple = Model.Name "simple"++_StructType_tuple = Model.Name "tuple"++-- | A pattern and optional guard expression used in a pattern-matching switch section.+data SwitchBranch =+ SwitchBranch {+ switchBranchPattern :: Pattern,+ switchBranchGuard :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_SwitchBranch = Model.Name "hydra.ext.csharp.syntax.SwitchBranch"++_SwitchBranch_pattern = Model.Name "pattern"++_SwitchBranch_guard = Model.Name "guard"++-- | A single label of a switch section: a pattern branch, or the default label.+data SwitchLabel =+ SwitchLabelBranch SwitchBranch |+ SwitchLabelDefault+ deriving (Eq, Ord, Read, Show)++_SwitchLabel = Model.Name "hydra.ext.csharp.syntax.SwitchLabel"++_SwitchLabel_branch = Model.Name "branch"++_SwitchLabel_default = Model.Name "default"++-- | A group of switch labels sharing a common statement list within a switch statement.+data SwitchSection =+ SwitchSection {+ switchSectionLabels :: [SwitchLabel],+ switchSectionStatements :: [Statement]}+ deriving (Eq, Ord, Read, Show)++_SwitchSection = Model.Name "hydra.ext.csharp.syntax.SwitchSection"++_SwitchSection_labels = Model.Name "labels"++_SwitchSection_statements = Model.Name "statements"++-- | A switch statement, dispatching on an expression across its switch sections.+data SwitchStatement =+ SwitchStatement {+ switchStatementExpression :: Expression,+ switchStatementBranches :: [SwitchSection]}+ deriving (Eq, Ord, Read, Show)++_SwitchStatement = Model.Name "hydra.ext.csharp.syntax.SwitchStatement"++_SwitchStatement_expression = Model.Name "expression"++_SwitchStatement_branches = Model.Name "branches"++-- | A try statement with its protected block, catch clauses, and optional finally block.+data TryStatement =+ TryStatement {+ tryStatementBody :: Block,+ tryStatementCatches :: CatchClauses,+ tryStatementFinally :: (Maybe Block)}+ deriving (Eq, Ord, Read, Show)++_TryStatement = Model.Name "hydra.ext.csharp.syntax.TryStatement"++_TryStatement_body = Model.Name "body"++_TryStatement_catches = Model.Name "catches"++_TryStatement_finally = Model.Name "finally"++-- | A single element of a tuple expression, with an optional name.+data TupleElement =+ TupleElement {+ tupleElementName :: (Maybe Identifier),+ tupleElementExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_TupleElement = Model.Name "hydra.ext.csharp.syntax.TupleElement"++_TupleElement_name = Model.Name "name"++_TupleElement_expression = Model.Name "expression"++-- | A tuple literal expression, either a list of named elements or a deconstruction tuple.+data TupleExpression =+ TupleExpressionElements [TupleElement] |+ TupleExpressionDeconstruction DeconstructionTuple+ deriving (Eq, Ord, Read, Show)++_TupleExpression = Model.Name "hydra.ext.csharp.syntax.TupleExpression"++_TupleExpression_elements = Model.Name "elements"++_TupleExpression_deconstruction = Model.Name "deconstruction"++-- | A tuple type formed from a non-empty list of named or unnamed element types.+newtype TupleType =+ TupleType {+ unTupleType :: [TupleTypeElement]}+ deriving (Eq, Ord, Read, Show)++_TupleType = Model.Name "hydra.ext.csharp.syntax.TupleType"++-- | A single element type of a tuple type, with an optional element name.+data TupleTypeElement =+ TupleTypeElement {+ tupleTypeElementType :: Type,+ tupleTypeElementIdentifier :: (Maybe Identifier)}+ deriving (Eq, Ord, Read, Show)++_TupleTypeElement = Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"++_TupleTypeElement_type = Model.Name "type"++_TupleTypeElement_identifier = Model.Name "identifier"++-- | A C# type: a reference type, value type, type parameter, or pointer type.+data Type =+ TypeReference ReferenceType |+ TypeValue ValueType |+ TypeParam TypeParameter |+ TypePointer PointerType+ deriving (Eq, Ord, Read, Show)++_Type = Model.Name "hydra.ext.csharp.syntax.Type"++_Type_reference = Model.Name "reference"++_Type_value = Model.Name "value"++_Type_param = Model.Name "param"++_Type_pointer = Model.Name "pointer"++-- | A list of type arguments supplied to a generic type or method.+newtype TypeArgumentList =+ TypeArgumentList {+ unTypeArgumentList :: [Type]}+ deriving (Eq, Ord, Read, Show)++_TypeArgumentList = Model.Name "hydra.ext.csharp.syntax.TypeArgumentList"++-- | A top-level or nested type declaration: class, struct, interface, enum, or delegate.+data TypeDeclaration =+ TypeDeclarationClass ClassDeclaration |+ TypeDeclarationStruct StructDeclaration |+ TypeDeclarationInterface InterfaceDeclaration |+ TypeDeclarationEnum EnumDeclaration |+ TypeDeclarationDelegate DelegateDeclaration+ deriving (Eq, Ord, Read, Show)++_TypeDeclaration = Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"++_TypeDeclaration_class = Model.Name "class"++_TypeDeclaration_struct = Model.Name "struct"++_TypeDeclaration_interface = Model.Name "interface"++_TypeDeclaration_enum = Model.Name "enum"++_TypeDeclaration_delegate = Model.Name "delegate"++-- | A name that is known to refer to a type, expressed as a namespace-or-type name.+newtype TypeName =+ TypeName {+ unTypeName :: NamespaceOrTypeName}+ deriving (Eq, Ord, Read, Show)++_TypeName = Model.Name "hydra.ext.csharp.syntax.TypeName"++-- | A single generic type parameter, identified by its name.+newtype TypeParameter =+ TypeParameter {+ unTypeParameter :: Identifier}+ deriving (Eq, Ord, Read, Show)++_TypeParameter = Model.Name "hydra.ext.csharp.syntax.TypeParameter"++-- | The primary, secondary, and constructor constraints on a single type parameter.+data TypeParameterConstraints =+ TypeParameterConstraints {+ typeParameterConstraintsPrimary :: (Maybe PrimaryConstraint),+ typeParameterConstraintsSecondary :: (Maybe SecondaryConstraints),+ typeParameterConstraintsConstructor :: Bool}+ deriving (Eq, Ord, Read, Show)++_TypeParameterConstraints = Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"++_TypeParameterConstraints_primary = Model.Name "primary"++_TypeParameterConstraints_secondary = Model.Name "secondary"++_TypeParameterConstraints_constructor = Model.Name "constructor"++-- | A 'where T : ...' clause constraining one type parameter of a generic declaration.+data TypeParameterConstraintsClause =+ TypeParameterConstraintsClause {+ typeParameterConstraintsClauseParameter :: TypeParameter,+ typeParameterConstraintsClauseConstraints :: [TypeParameterConstraints]}+ deriving (Eq, Ord, Read, Show)++_TypeParameterConstraintsClause = Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"++_TypeParameterConstraintsClause_parameter = Model.Name "parameter"++_TypeParameterConstraintsClause_constraints = Model.Name "constraints"++-- | A non-empty, comma-separated list of type parameters in a generic declaration.+newtype TypeParameterList =+ TypeParameterList {+ unTypeParameterList :: [TypeParameterPart]}+ deriving (Eq, Ord, Read, Show)++_TypeParameterList = Model.Name "hydra.ext.csharp.syntax.TypeParameterList"++-- | A single type parameter within a type parameter list, with its optional attributes.+data TypeParameterPart =+ TypeParameterPart {+ typeParameterPartAttributes :: (Maybe Attributes),+ typeParameterPartName :: TypeParameter}+ deriving (Eq, Ord, Read, Show)++_TypeParameterPart = Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"++_TypeParameterPart_attributes = Model.Name "attributes"++_TypeParameterPart_name = Model.Name "name"++-- | A 'typeof' expression yielding the System.Type of a type, unbound generic type, or void.+data TypeofExpression =+ TypeofExpressionType Type |+ TypeofExpressionUnboundTypeName UnboundTypeName |+ TypeofExpressionVoid+ deriving (Eq, Ord, Read, Show)++_TypeofExpression = Model.Name "hydra.ext.csharp.syntax.TypeofExpression"++_TypeofExpression_type = Model.Name "type"++_TypeofExpression_unboundTypeName = Model.Name "unboundTypeName"++_TypeofExpression_void = Model.Name "void"++-- | A unary expression: a primary expression, or a prefixed unary/cast/await operation.+data UnaryExpression =+ UnaryExpressionPrimary PrimaryExpression |+ UnaryExpressionPlus UnaryExpression |+ UnaryExpressionMinus UnaryExpression |+ UnaryExpressionNot UnaryExpression |+ UnaryExpressionBitwiseComplement UnaryExpression |+ UnaryExpressionPreIncrement UnaryExpression |+ UnaryExpressionPreDecrement UnaryExpression |+ UnaryExpressionCast CastExpression |+ UnaryExpressionAwait UnaryExpression |+ UnaryExpressionPointerIndirection UnaryExpression |+ UnaryExpressionAddressOf UnaryExpression+ deriving (Eq, Ord, Read, Show)++_UnaryExpression = Model.Name "hydra.ext.csharp.syntax.UnaryExpression"++_UnaryExpression_primary = Model.Name "primary"++_UnaryExpression_plus = Model.Name "plus"++_UnaryExpression_minus = Model.Name "minus"++_UnaryExpression_not = Model.Name "not"++_UnaryExpression_bitwiseComplement = Model.Name "bitwiseComplement"++_UnaryExpression_preIncrement = Model.Name "preIncrement"++_UnaryExpression_preDecrement = Model.Name "preDecrement"++_UnaryExpression_cast = Model.Name "cast"++_UnaryExpression_await = Model.Name "await"++_UnaryExpression_pointerIndirection = Model.Name "pointerIndirection"++_UnaryExpression_addressOf = Model.Name "addressOf"++-- | The declarator for a user-defined unary operator overload, naming its single parameter.+data UnaryOperatorDeclarator =+ UnaryOperatorDeclarator {+ unaryOperatorDeclaratorType :: Type,+ unaryOperatorDeclaratorOperator :: OverloadableUnaryOperator,+ unaryOperatorDeclaratorParameter :: FixedParameter}+ deriving (Eq, Ord, Read, Show)++_UnaryOperatorDeclarator = Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"++_UnaryOperatorDeclarator_type = Model.Name "type"++_UnaryOperatorDeclarator_operator = Model.Name "operator"++_UnaryOperatorDeclarator_parameter = Model.Name "parameter"++-- | An unbound generic type name, as used in a typeof expression (e.g. Dictionary<,>).+newtype UnboundTypeName =+ UnboundTypeName {+ unUnboundTypeName :: [UnboundTypeNamePart]}+ deriving (Eq, Ord, Read, Show)++_UnboundTypeName = Model.Name "hydra.ext.csharp.syntax.UnboundTypeName"++-- | A single segment of an unbound type name, with its aliasing flag and generic dimension.+data UnboundTypeNamePart =+ UnboundTypeNamePart {+ unboundTypeNamePartIdentifier :: Identifier,+ unboundTypeNamePartAliased :: Bool,+ unboundTypeNamePartDimension :: (Maybe Int)}+ deriving (Eq, Ord, Read, Show)++_UnboundTypeNamePart = Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"++_UnboundTypeNamePart_identifier = Model.Name "identifier"++_UnboundTypeNamePart_aliased = Model.Name "aliased"++_UnboundTypeNamePart_dimension = Model.Name "dimension"++-- | A type usable with the unsafe 'sizeof' operator: a value type or pointer type.+data UnmanagedType =+ UnmanagedTypeValue ValueType |+ UnmanagedTypePointer PointerType+ deriving (Eq, Ord, Read, Show)++_UnmanagedType = Model.Name "hydra.ext.csharp.syntax.UnmanagedType"++_UnmanagedType_value = Model.Name "value"++_UnmanagedType_pointer = Model.Name "pointer"++-- | A 'using alias = namespace-or-type;' directive introducing a using alias.+data UsingAliasDirective =+ UsingAliasDirective {+ usingAliasDirectiveAlias :: Identifier,+ usingAliasDirectiveName :: NamespaceOrTypeName}+ deriving (Eq, Ord, Read, Show)++_UsingAliasDirective = Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"++_UsingAliasDirective_alias = Model.Name "alias"++_UsingAliasDirective_name = Model.Name "name"++-- | A using directive: an alias directive, a namespace import, or a using-static directive.+data UsingDirective =+ UsingDirectiveAlias UsingAliasDirective |+ UsingDirectiveNamespace NamespaceName |+ UsingDirectiveStatic TypeName+ deriving (Eq, Ord, Read, Show)++_UsingDirective = Model.Name "hydra.ext.csharp.syntax.UsingDirective"++_UsingDirective_alias = Model.Name "alias"++_UsingDirective_namespace = Model.Name "namespace"++_UsingDirective_static = Model.Name "static"++-- | A 'using' statement that deterministically disposes an acquired resource after its body.+data UsingStatement =+ UsingStatement {+ usingStatementAcquisition :: ResourceAcquisition,+ usingStatementBody :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_UsingStatement = Model.Name "hydra.ext.csharp.syntax.UsingStatement"++_UsingStatement_acquisition = Model.Name "acquisition"++_UsingStatement_body = Model.Name "body"++-- | A struct or enum type, in its non-nullable or nullable ('?') form.+data ValueType =+ ValueTypeNonNullable StructOrEnumType |+ ValueTypeNullable StructOrEnumType+ deriving (Eq, Ord, Read, Show)++_ValueType = Model.Name "hydra.ext.csharp.syntax.ValueType"++_ValueType_nonNullable = Model.Name "nonNullable"++_ValueType_nullable = Model.Name "nullable"++-- | An identifier and optional initializer within a field or local variable declaration.+data VariableDeclarator =+ VariableDeclarator {+ variableDeclaratorIdentifier :: Identifier,+ variableDeclaratorInitializer :: (Maybe VariableInitializer)}+ deriving (Eq, Ord, Read, Show)++_VariableDeclarator = Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"++_VariableDeclarator_identifier = Model.Name "identifier"++_VariableDeclarator_initializer = Model.Name "initializer"++-- | A non-empty, comma-separated list of variable declarators, as used in an event declaration.+newtype VariableDeclarators =+ VariableDeclarators {+ unVariableDeclarators :: [VariableDeclarator]}+ deriving (Eq, Ord, Read, Show)++_VariableDeclarators = Model.Name "hydra.ext.csharp.syntax.VariableDeclarators"++-- | The initializer of a variable: an expression or a nested array initializer.+data VariableInitializer =+ VariableInitializerExpression Expression |+ VariableInitializerArray ArrayInitializer+ deriving (Eq, Ord, Read, Show)++_VariableInitializer = Model.Name "hydra.ext.csharp.syntax.VariableInitializer"++_VariableInitializer_expression = Model.Name "expression"++_VariableInitializer_array = Model.Name "array"++-- | A reference to a variable, expressed as an expression.+newtype VariableReference =+ VariableReference {+ unVariableReference :: Expression}+ deriving (Eq, Ord, Read, Show)++_VariableReference = Model.Name "hydra.ext.csharp.syntax.VariableReference"++-- | The in (contravariant) or out (covariant) variance annotation on a generic type parameter.+data VarianceAnnotation =+ VarianceAnnotationIn |+ VarianceAnnotationOut+ deriving (Eq, Ord, Read, Show)++_VarianceAnnotation = Model.Name "hydra.ext.csharp.syntax.VarianceAnnotation"++_VarianceAnnotation_in = Model.Name "in"++_VarianceAnnotation_out = Model.Name "out"++-- | A single type parameter of an interface or delegate, with optional variance annotation.+data VariantTypeParameter =+ VariantTypeParameter {+ variantTypeParameterAttributes :: (Maybe Attributes),+ variantTypeParameterVariance :: (Maybe VarianceAnnotation),+ variantTypeParameterParameter :: TypeParameter}+ deriving (Eq, Ord, Read, Show)++_VariantTypeParameter = Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"++_VariantTypeParameter_attributes = Model.Name "attributes"++_VariantTypeParameter_variance = Model.Name "variance"++_VariantTypeParameter_parameter = Model.Name "parameter"++-- | The list of variant type parameters declared by a generic interface or delegate.+newtype VariantTypeParameters =+ VariantTypeParameters {+ unVariantTypeParameters :: [VariantTypeParameter]}+ deriving (Eq, Ord, Read, Show)++_VariantTypeParameters = Model.Name "hydra.ext.csharp.syntax.VariantTypeParameters"++-- | A single '{expression[,width][:format]}' hole within a verbatim interpolated string.+data VerbatimInterpolation =+ VerbatimInterpolation {+ verbatimInterpolationExpression :: Expression,+ verbatimInterpolationWidth :: (Maybe ConstantExpression),+ verbatimInterpolationFormat :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_VerbatimInterpolation = Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"++_VerbatimInterpolation_expression = Model.Name "expression"++_VerbatimInterpolation_width = Model.Name "width"++_VerbatimInterpolation_format = Model.Name "format"++-- | A while iteration statement that tests its condition before each execution of the body.+data WhileStatement =+ WhileStatement {+ whileStatementCondition :: BooleanExpression,+ whileStatementBody :: EmbeddedStatement}+ deriving (Eq, Ord, Read, Show)++_WhileStatement = Model.Name "hydra.ext.csharp.syntax.WhileStatement"++_WhileStatement_condition = Model.Name "condition"++_WhileStatement_body = Model.Name "body"++-- | A 'yield return' or 'yield break' statement used within an iterator.+data YieldStatement =+ YieldStatementReturn Expression |+ YieldStatementBreak+ deriving (Eq, Ord, Read, Show)++_YieldStatement = Model.Name "hydra.ext.csharp.syntax.YieldStatement"++_YieldStatement_return = Model.Name "return"++_YieldStatement_break = Model.Name "break"
+ src/main/haskell/Hydra/Ext/Datalog/Syntax.hs view
@@ -0,0 +1,180 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A basic Datalog model++module Hydra.Ext.Datalog.Syntax where++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++-- | A relation applied to a list of terms+data Atom =+ Atom {+ atomRelation :: Relation,+ atomTermList :: TermList}+ deriving (Eq, Ord, Read, Show)++_Atom = Model.Name "hydra.ext.datalog.syntax.Atom"++_Atom_Relation = Model.Name "Relation"++_Atom_TermList = Model.Name "TermList"++-- | A nonempty, comma-separated list of atoms+data AtomList =+ AtomListSingle Atom |+ AtomListMany AtomListMultiple+ deriving (Eq, Ord, Read, Show)++_AtomList = Model.Name "hydra.ext.datalog.syntax.AtomList"++_AtomList_single = Model.Name "single"++_AtomList_many = Model.Name "many"++-- | An atom followed by the remainder of a comma-separated atom list+data AtomListMultiple =+ AtomListMultiple {+ atomListMultipleAtom :: Atom,+ atomListMultipleAtomList :: AtomList}+ deriving (Eq, Ord, Read, Show)++_AtomListMultiple = Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"++_AtomListMultiple_Atom = Model.Name "Atom"++_AtomListMultiple_AtomList = Model.Name "AtomList"++-- | A constant term, e.g. an atomic value such as a symbol or number+newtype Constant =+ Constant {+ unConstant :: String}+ deriving (Eq, Ord, Read, Show)++_Constant = Model.Name "hydra.ext.datalog.syntax.Constant"++-- | A nonempty, comma-separated list of constants+data ConstantList =+ ConstantListSingle Constant |+ ConstantListMany ConstantListMultiple+ deriving (Eq, Ord, Read, Show)++_ConstantList = Model.Name "hydra.ext.datalog.syntax.ConstantList"++_ConstantList_single = Model.Name "single"++_ConstantList_many = Model.Name "many"++-- | A constant followed by the remainder of a comma-separated constant list+data ConstantListMultiple =+ ConstantListMultiple {+ constantListMultipleConstant :: Constant,+ constantListMultipleConstantList :: ConstantList}+ deriving (Eq, Ord, Read, Show)++_ConstantListMultiple = Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"++_ConstantListMultiple_Constant = Model.Name "Constant"++_ConstantListMultiple_ConstantList = Model.Name "ConstantList"++-- | An unconditional assertion of a relation applied to a list of constants+data Fact =+ Fact {+ factRelation :: Relation,+ factConstantList :: ConstantList}+ deriving (Eq, Ord, Read, Show)++_Fact = Model.Name "hydra.ext.datalog.syntax.Fact"++_Fact_Relation = Model.Name "Relation"++_Fact_ConstantList = Model.Name "ConstantList"++-- | A Datalog program: a list of facts and rules+newtype Program =+ Program {+ unProgram :: [ProgramElmt]}+ deriving (Eq, Ord, Read, Show)++_Program = Model.Name "hydra.ext.datalog.syntax.Program"++-- | A single element of a Datalog program: either a fact or a rule+data ProgramElmt =+ ProgramElmtFact Fact |+ ProgramElmtRule Rule+ deriving (Eq, Ord, Read, Show)++_ProgramElmt = Model.Name "hydra.ext.datalog.syntax.ProgramElmt"++_ProgramElmt_Fact = Model.Name "Fact"++_ProgramElmt_Rule = Model.Name "Rule"++-- | The name of a predicate (relation) used in facts, rules, and queries+newtype Relation =+ Relation {+ unRelation :: String}+ deriving (Eq, Ord, Read, Show)++_Relation = Model.Name "hydra.ext.datalog.syntax.Relation"++-- | A conditional assertion: a head atom implied by a conjunction of body atoms+data Rule =+ Rule {+ ruleAtom :: Atom,+ ruleAtomList :: AtomList}+ deriving (Eq, Ord, Read, Show)++_Rule = Model.Name "hydra.ext.datalog.syntax.Rule"++_Rule_Atom = Model.Name "Atom"++_Rule_AtomList = Model.Name "AtomList"++-- | An argument to an atom: either a constant or a variable+data Term =+ TermConstant Constant |+ TermVariable Variable+ deriving (Eq, Ord, Read, Show)++_Term = Model.Name "hydra.ext.datalog.syntax.Term"++_Term_Constant = Model.Name "Constant"++_Term_Variable = Model.Name "Variable"++-- | A nonempty, comma-separated list of terms+data TermList =+ TermListSingle Term |+ TermListMany TermListMultiple+ deriving (Eq, Ord, Read, Show)++_TermList = Model.Name "hydra.ext.datalog.syntax.TermList"++_TermList_single = Model.Name "single"++_TermList_many = Model.Name "many"++-- | A term followed by the remainder of a comma-separated term list+data TermListMultiple =+ TermListMultiple {+ termListMultipleTerm :: Term,+ termListMultipleTermList :: TermList}+ deriving (Eq, Ord, Read, Show)++_TermListMultiple = Model.Name "hydra.ext.datalog.syntax.TermListMultiple"++_TermListMultiple_Term = Model.Name "Term"++_TermListMultiple_TermList = Model.Name "TermList"++-- | A logic variable, which may be bound to different constants across a query+newtype Variable =+ Variable {+ unVariable :: String}+ deriving (Eq, Ord, Read, Show)++_Variable = Model.Name "hydra.ext.datalog.syntax.Variable"
+ src/main/haskell/Hydra/Ext/Delta/Parquet.hs view
@@ -0,0 +1,154 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A partial Delta Parquet model, based on DataType and its subclasses as specified in the 3.0.0 Java API: https://docs.delta.io/3.0.0/api/java/kernel/io/delta/kernel/types/DataType.html++module Hydra.Ext.Delta.Parquet where++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++-- | Represent array data type.+data ArrayType =+ ArrayType {+ arrayTypeElementType :: DataType,+ arrayTypeContainsNull :: Bool}+ deriving (Eq, Ord, Read, Show)++_ArrayType = Model.Name "hydra.ext.delta.parquet.ArrayType"++_ArrayType_elementType = Model.Name "elementType"++_ArrayType_containsNull = Model.Name "containsNull"++-- | Base class for all primitive types DataType.+data BasePrimitiveType =+ -- | The data type representing byte[] values.+ BasePrimitiveTypeBinary |+ -- | Data type representing boolean type values.+ BasePrimitiveTypeBoolean |+ -- | The data type representing byte type values.+ BasePrimitiveTypeByte |+ -- | A date type, supporting "0001-01-01" through "9999-12-31". Internally, this is represented as the number of days from 1970-01-01.+ BasePrimitiveTypeDate |+ -- | The data type representing double type values.+ BasePrimitiveTypeDouble |+ -- | The data type representing float type values.+ BasePrimitiveTypeFloat |+ -- | The data type representing integer type values.+ BasePrimitiveTypeInteger |+ -- | The data type representing long type values.+ BasePrimitiveTypeLong |+ -- | The data type representing short type values.+ BasePrimitiveTypeShort |+ -- | The data type representing string type values.+ BasePrimitiveTypeString |+ -- | A timestamp type, supporting [0001-01-01T00:00:00.000000Z, 9999-12-31T23:59:59.999999Z] where the left/right-bound is a date and time of the proleptic Gregorian calendar in UTC+00:00. Internally, this is represented as the number of microseconds since the Unix epoch, 1970-01-01 00:00:00 UTC.+ BasePrimitiveTypeTimestamp+ deriving (Eq, Ord, Read, Show)++_BasePrimitiveType = Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"++_BasePrimitiveType_binary = Model.Name "binary"++_BasePrimitiveType_boolean = Model.Name "boolean"++_BasePrimitiveType_byte = Model.Name "byte"++_BasePrimitiveType_date = Model.Name "date"++_BasePrimitiveType_double = Model.Name "double"++_BasePrimitiveType_float = Model.Name "float"++_BasePrimitiveType_integer = Model.Name "integer"++_BasePrimitiveType_long = Model.Name "long"++_BasePrimitiveType_short = Model.Name "short"++_BasePrimitiveType_string = Model.Name "string"++_BasePrimitiveType_timestamp = Model.Name "timestamp"++-- | A Delta Parquet data type, either array, primitive, decimal, map, or struct.+data DataType =+ -- | Represent array data type.+ DataTypeArray ArrayType |+ -- | Base class for all primitive types DataType.+ DataTypeBase BasePrimitiveType |+ -- | A decimal data type.+ DataTypeDecimal DecimalType |+ -- | Data type representing a map type.+ DataTypeMap MapType |+ -- | Struct type which contains one or more columns.+ DataTypeStruct StructType+ deriving (Eq, Ord, Read, Show)++_DataType = Model.Name "hydra.ext.delta.parquet.DataType"++_DataType_array = Model.Name "array"++_DataType_base = Model.Name "base"++_DataType_decimal = Model.Name "decimal"++_DataType_map = Model.Name "map"++_DataType_struct = Model.Name "struct"++-- | A decimal data type with fixed precision (the maximum number of digits) and scale (the number of digits on right side of dot). The precision can be up to 38, scale can also be up to 38 (less or equal to precision).+data DecimalType =+ DecimalType {+ decimalTypePrecision :: Int,+ decimalTypeScale :: Int}+ deriving (Eq, Ord, Read, Show)++_DecimalType = Model.Name "hydra.ext.delta.parquet.DecimalType"++_DecimalType_precision = Model.Name "precision"++_DecimalType_scale = Model.Name "scale"++-- | Data type representing a map type.+data MapType =+ MapType {+ mapTypeKeyType :: DataType,+ mapTypeValueType :: DataType,+ mapTypeValueContainsNull :: Bool}+ deriving (Eq, Ord, Read, Show)++_MapType = Model.Name "hydra.ext.delta.parquet.MapType"++_MapType_keyType = Model.Name "keyType"++_MapType_valueType = Model.Name "valueType"++_MapType_valueContainsNull = Model.Name "valueContainsNull"++-- | Represents a subfield of StructType with additional properties and metadata.+data StructField =+ StructField {+ structFieldName :: String,+ structFieldDataType :: DataType,+ structFieldNullable :: Bool}+ deriving (Eq, Ord, Read, Show)++_StructField = Model.Name "hydra.ext.delta.parquet.StructField"++_StructField_name = Model.Name "name"++_StructField_dataType = Model.Name "dataType"++_StructField_nullable = Model.Name "nullable"++-- | Struct type which contains one or more columns.+data StructType =+ StructType {+ structTypeFields :: [StructField]}+ deriving (Eq, Ord, Read, Show)++_StructType = Model.Name "hydra.ext.delta.parquet.StructType"++_StructType_fields = Model.Name "fields"
+ src/main/haskell/Hydra/Ext/Dsl/Atlas.hs view
@@ -0,0 +1,3926 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.atlas++module Hydra.Ext.Dsl.Atlas where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Atlas as Atlas+import qualified Hydra.Rdf.Xml.Schema as Schema+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.Int as I+import qualified Data.Map as M+import qualified Data.Set as S++-- | DSL constructor for hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDef :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefCardinality) -> Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Int -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefIndexType) -> Typed.TypedTerm [Atlas.AtlasConstraintDef] -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDef name typeName isOptional cardinality valuesMinCount valuesMaxCount isUnique isIndexable includeInNotification defaultValue description searchWeight indexType constraints options displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm typeName)},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Typed.unTypedTerm isOptional)},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Typed.unTypedTerm cardinality)},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Typed.unTypedTerm valuesMinCount)},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Typed.unTypedTerm valuesMaxCount)},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Typed.unTypedTerm isUnique)},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Typed.unTypedTerm isIndexable)},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Typed.unTypedTerm includeInNotification)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm defaultValue)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Typed.unTypedTerm searchWeight)},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Typed.unTypedTerm indexType)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL name token for hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefAtlasAttributeDef :: Typed.TypedName Atlas.AtlasAttributeDef+atlasAttributeDefAtlasAttributeDef = Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasAttributeDef")++-- | DSL accessor for the cardinality field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefCardinality :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefCardinality)+atlasAttributeDefCardinality x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalityAtlasAttributeDefCardinality :: Typed.TypedName Atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalityAtlasAttributeDefCardinality =+ Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasAttributeDefCardinality")++-- | DSL injection for the list variant of hydra.ext.atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalityList :: Typed.TypedTerm Atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalityList =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDefCardinality"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the set variant of hydra.ext.atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalitySet :: Typed.TypedTerm Atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalitySet =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDefCardinality"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the single variant of hydra.ext.atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalitySingle :: Typed.TypedTerm Atlas.AtlasAttributeDefCardinality+atlasAttributeDefCardinalitySingle =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDefCardinality"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the constraints field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefConstraints :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm [Atlas.AtlasConstraintDef]+atlasAttributeDefConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the defaultValue field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefDefaultValue :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String)+atlasAttributeDefDefaultValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefDescription :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String)+atlasAttributeDefDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefDisplayName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String)+atlasAttributeDefDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the includeInNotification field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefIncludeInNotification :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool+atlasAttributeDefIncludeInNotification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the indexType field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefIndexType :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefIndexType)+atlasAttributeDefIndexType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeAtlasAttributeDefIndexType :: Typed.TypedName Atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeAtlasAttributeDefIndexType =+ Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasAttributeDefIndexType")++-- | DSL injection for the default variant of hydra.ext.atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeDefault :: Typed.TypedTerm Atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeDefault =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDefIndexType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeString :: Typed.TypedTerm Atlas.AtlasAttributeDefIndexType+atlasAttributeDefIndexTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDefIndexType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the isIndexable field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefIsIndexable :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool+atlasAttributeDefIsIndexable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isOptional field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefIsOptional :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool+atlasAttributeDefIsOptional x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isUnique field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefIsUnique :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool+atlasAttributeDefIsUnique x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String)+atlasAttributeDefName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefOptions :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (M.Map String String)+atlasAttributeDefOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the searchWeight field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefSearchWeight :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int+atlasAttributeDefSearchWeight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeName field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefTypeName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String)+atlasAttributeDefTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valuesMaxCount field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefValuesMaxCount :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int+atlasAttributeDefValuesMaxCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valuesMinCount field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefValuesMinCount :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int+atlasAttributeDefValuesMinCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the cardinality field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithCardinality :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefCardinality) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithCardinality original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the constraints field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithConstraints :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm [Atlas.AtlasConstraintDef] -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the defaultValue field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithDefaultValue :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithDefaultValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithDescription :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithDisplayName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the includeInNotification field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithIncludeInNotification :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithIncludeInNotification original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the indexType field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithIndexType :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe Atlas.AtlasAttributeDefIndexType) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithIndexType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isIndexable field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithIsIndexable :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithIsIndexable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isOptional field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithIsOptional :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithIsOptional original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isUnique field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithIsUnique :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithIsUnique original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithOptions :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the searchWeight field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithSearchWeight :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithSearchWeight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeName field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithTypeName :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithTypeName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the valuesMaxCount field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithValuesMaxCount :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithValuesMaxCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMinCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the valuesMinCount field of hydra.ext.atlas.AtlasAttributeDef+atlasAttributeDefWithValuesMinCount :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Int -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasAttributeDefWithValuesMinCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ 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.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isOptional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isOptional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cardinality"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "cardinality")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMinCount"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valuesMaxCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "valuesMaxCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isIndexable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "isIndexable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includeInNotification"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "includeInNotification")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "searchWeight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "searchWeight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "indexType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasAttributeDef"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDef :: Typed.TypedTerm (Maybe Atlas.TypeCategory) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Schema.DateTime) -> Typed.TypedTerm (Maybe Schema.DateTime) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDef category guid createdBy updatedBy createTime updateTime version name description typeVersion serviceType options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Typed.unTypedTerm category)},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Typed.unTypedTerm guid)},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Typed.unTypedTerm createdBy)},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Typed.unTypedTerm updatedBy)},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Typed.unTypedTerm createTime)},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Typed.unTypedTerm updateTime)},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Typed.unTypedTerm version)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Typed.unTypedTerm typeVersion)},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Typed.unTypedTerm serviceType)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL name token for hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefAtlasBaseTypeDef :: Typed.TypedName Atlas.AtlasBaseTypeDef+atlasBaseTypeDefAtlasBaseTypeDef = Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef")++-- | DSL accessor for the category field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefCategory :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Atlas.TypeCategory)+atlasBaseTypeDefCategory x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the createTime field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefCreateTime :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Schema.DateTime)+atlasBaseTypeDefCreateTime x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the createdBy field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefCreatedBy :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefCreatedBy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefDescription :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the guid field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefGuid :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefGuid x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefName :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefOptions :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (M.Map String String)+atlasBaseTypeDefOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the serviceType field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefServiceType :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefServiceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeVersion field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefTypeVersion :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefTypeVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the updateTime field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefUpdateTime :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Schema.DateTime)+atlasBaseTypeDefUpdateTime x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the updatedBy field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefUpdatedBy :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String)+atlasBaseTypeDefUpdatedBy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the version field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefVersion :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe I.Int64)+atlasBaseTypeDefVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the category field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCategory :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Atlas.TypeCategory) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCategory original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the createTime field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCreateTime :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Schema.DateTime) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCreateTime original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the createdBy field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCreatedBy :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithCreatedBy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithDescription :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the guid field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithGuid :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithGuid original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithName :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithOptions :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the serviceType field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithServiceType :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithServiceType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeVersion field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithTypeVersion :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithTypeVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the updateTime field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithUpdateTime :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe Schema.DateTime) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithUpdateTime original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the updatedBy field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithUpdatedBy :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithUpdatedBy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "version")})),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the version field of hydra.ext.atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithVersion :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasBaseTypeDefWithVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "category"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "category")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guid"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "guid")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updatedBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updatedBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "createTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "updateTime"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "updateTime")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ 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.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "typeVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "serviceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "serviceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasBaseTypeDef"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDef :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm Atlas.AtlasConstraintDef+atlasConstraintDef type_ params =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm params)}]}))++-- | DSL name token for hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDefAtlasConstraintDef :: Typed.TypedName Atlas.AtlasConstraintDef+atlasConstraintDefAtlasConstraintDef = Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasConstraintDef")++-- | DSL accessor for the params field of hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDefParams :: Typed.TypedTerm Atlas.AtlasConstraintDef -> Typed.TypedTerm (M.Map String String)+atlasConstraintDefParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDefType :: Typed.TypedTerm Atlas.AtlasConstraintDef -> Typed.TypedTerm (Maybe String)+atlasConstraintDefType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the params field of hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDefWithParams :: Typed.TypedTerm Atlas.AtlasConstraintDef -> Typed.TypedTerm (M.Map String String) -> Typed.TypedTerm Atlas.AtlasConstraintDef+atlasConstraintDefWithParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.atlas.AtlasConstraintDef+atlasConstraintDefWithType :: Typed.TypedTerm Atlas.AtlasConstraintDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasConstraintDef+atlasConstraintDefWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasConstraintDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.atlas.AtlasConstraintDef"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.atlas.AtlasEntityDef+atlasEntityDef :: Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm [Atlas.AtlasRelationshipAttributeDef] -> Typed.TypedTerm (M.Map String [Atlas.AtlasAttributeDef]) -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDef asAtlasStruct superTypes subTypes relationshipAttributeDefs businessAttributeDefs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Typed.unTypedTerm asAtlasStruct)},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Typed.unTypedTerm superTypes)},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Typed.unTypedTerm subTypes)},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm relationshipAttributeDefs)},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm businessAttributeDefs)}]}))++-- | DSL accessor for the asAtlasStruct field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefAsAtlasStruct :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm Atlas.AtlasStructDef+atlasEntityDefAsAtlasStruct x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "asAtlasStruct")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.atlas.AtlasEntityDef+atlasEntityDefAtlasEntityDef :: Typed.TypedName Atlas.AtlasEntityDef+atlasEntityDefAtlasEntityDef = Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasEntityDef")++-- | DSL accessor for the businessAttributeDefs field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefBusinessAttributeDefs :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (M.Map String [Atlas.AtlasAttributeDef])+atlasEntityDefBusinessAttributeDefs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "businessAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the relationshipAttributeDefs field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefRelationshipAttributeDefs :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm [Atlas.AtlasRelationshipAttributeDef]+atlasEntityDefRelationshipAttributeDefs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "relationshipAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the subTypes field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefSubTypes :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (S.Set String)+atlasEntityDefSubTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "subTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the superTypes field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefSuperTypes :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (S.Set String)+atlasEntityDefSuperTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "superTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the asAtlasStruct field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefWithAsAtlasStruct :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDefWithAsAtlasStruct original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "superTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "subTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "relationshipAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "businessAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the businessAttributeDefs field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefWithBusinessAttributeDefs :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (M.Map String [Atlas.AtlasAttributeDef]) -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDefWithBusinessAttributeDefs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "asAtlasStruct")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "superTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "subTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "relationshipAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the relationshipAttributeDefs field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefWithRelationshipAttributeDefs :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm [Atlas.AtlasRelationshipAttributeDef] -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDefWithRelationshipAttributeDefs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "asAtlasStruct")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "superTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "subTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "businessAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the subTypes field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefWithSubTypes :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDefWithSubTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "asAtlasStruct")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "superTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "relationshipAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "businessAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the superTypes field of hydra.ext.atlas.AtlasEntityDef+atlasEntityDefWithSuperTypes :: Typed.TypedTerm Atlas.AtlasEntityDef -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Atlas.AtlasEntityDef+atlasEntityDefWithSuperTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasStruct"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "asAtlasStruct")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "superTypes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "subTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "subTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "relationshipAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "businessAttributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasEntityDef"),+ Model.projectionFieldName = (Model.Name "businessAttributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDef :: Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDef asAtlasAttribute relationshipTypeName isLegacyAttribute =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm asAtlasAttribute)},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipTypeName"),+ Model.fieldTerm = (Typed.unTypedTerm relationshipTypeName)},+ Model.Field {+ Model.fieldName = (Model.Name "isLegacyAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm isLegacyAttribute)}]}))++-- | DSL accessor for the asAtlasAttribute field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefAsAtlasAttribute :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm Atlas.AtlasAttributeDef+atlasRelationshipAttributeDefAsAtlasAttribute x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "asAtlasAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefAtlasRelationshipAttributeDef :: Typed.TypedName Atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefAtlasRelationshipAttributeDef =+ Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef")++-- | DSL accessor for the isLegacyAttribute field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefIsLegacyAttribute :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm Bool+atlasRelationshipAttributeDefIsLegacyAttribute x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "isLegacyAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the relationshipTypeName field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefRelationshipTypeName :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm (Maybe String)+atlasRelationshipAttributeDefRelationshipTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "relationshipTypeName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the asAtlasAttribute field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithAsAtlasAttribute :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm Atlas.AtlasAttributeDef -> Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithAsAtlasAttribute original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipTypeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "relationshipTypeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLegacyAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "isLegacyAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isLegacyAttribute field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithIsLegacyAttribute :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm Bool -> Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithIsLegacyAttribute original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "asAtlasAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipTypeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "relationshipTypeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLegacyAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the relationshipTypeName field of hydra.ext.atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithRelationshipTypeName :: Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Atlas.AtlasRelationshipAttributeDef+atlasRelationshipAttributeDefWithRelationshipTypeName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "asAtlasAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "relationshipTypeName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isLegacyAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasRelationshipAttributeDef"),+ Model.projectionFieldName = (Model.Name "isLegacyAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.atlas.AtlasStructDef+atlasStructDef :: Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm [Atlas.AtlasAttributeDef] -> Typed.TypedTerm Atlas.AtlasStructDef+atlasStructDef asAtlasBaseType attributeDefs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasBaseType"),+ Model.fieldTerm = (Typed.unTypedTerm asAtlasBaseType)},+ Model.Field {+ Model.fieldName = (Model.Name "attributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm attributeDefs)}]}))++-- | DSL accessor for the asAtlasBaseType field of hydra.ext.atlas.AtlasStructDef+atlasStructDefAsAtlasBaseType :: Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm Atlas.AtlasBaseTypeDef+atlasStructDefAsAtlasBaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.projectionFieldName = (Model.Name "asAtlasBaseType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.atlas.AtlasStructDef+atlasStructDefAtlasStructDef :: Typed.TypedName Atlas.AtlasStructDef+atlasStructDefAtlasStructDef = Typed.TypedName (Model.Name "hydra.ext.atlas.AtlasStructDef")++-- | DSL accessor for the attributeDefs field of hydra.ext.atlas.AtlasStructDef+atlasStructDefAttributeDefs :: Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm [Atlas.AtlasAttributeDef]+atlasStructDefAttributeDefs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.projectionFieldName = (Model.Name "attributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the asAtlasBaseType field of hydra.ext.atlas.AtlasStructDef+atlasStructDefWithAsAtlasBaseType :: Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm Atlas.AtlasBaseTypeDef -> Typed.TypedTerm Atlas.AtlasStructDef+atlasStructDefWithAsAtlasBaseType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasBaseType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "attributeDefs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.projectionFieldName = (Model.Name "attributeDefs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the attributeDefs field of hydra.ext.atlas.AtlasStructDef+atlasStructDefWithAttributeDefs :: Typed.TypedTerm Atlas.AtlasStructDef -> Typed.TypedTerm [Atlas.AtlasAttributeDef] -> Typed.TypedTerm Atlas.AtlasStructDef+atlasStructDefWithAttributeDefs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "asAtlasBaseType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.atlas.AtlasStructDef"),+ Model.projectionFieldName = (Model.Name "asAtlasBaseType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributeDefs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the array variant of hydra.ext.atlas.TypeCategory+typeCategoryArray :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the businessMetadata variant of hydra.ext.atlas.TypeCategory+typeCategoryBusinessMetadata :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryBusinessMetadata =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "businessMetadata"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the classification variant of hydra.ext.atlas.TypeCategory+typeCategoryClassification :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryClassification =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "classification"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the entity variant of hydra.ext.atlas.TypeCategory+typeCategoryEntity :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryEntity =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "entity"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the enum variant of hydra.ext.atlas.TypeCategory+typeCategoryEnum :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryEnum =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the map variant of hydra.ext.atlas.TypeCategory+typeCategoryMap :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryMap =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the objectIdType variant of hydra.ext.atlas.TypeCategory+typeCategoryObjectIdType :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryObjectIdType =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "objectIdType"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the primitive variant of hydra.ext.atlas.TypeCategory+typeCategoryPrimitive :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryPrimitive =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primitive"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the relationship variant of hydra.ext.atlas.TypeCategory+typeCategoryRelationship :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryRelationship =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "relationship"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the struct variant of hydra.ext.atlas.TypeCategory+typeCategoryStruct :: Typed.TypedTerm Atlas.TypeCategory+typeCategoryStruct =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.atlas.TypeCategory"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.atlas.TypeCategory+typeCategoryTypeCategory :: Typed.TypedName Atlas.TypeCategory+typeCategoryTypeCategory = Typed.TypedName (Model.Name "hydra.ext.atlas.TypeCategory")
+ src/main/haskell/Hydra/Ext/Dsl/Avro/Environment.hs view
@@ -0,0 +1,413 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.avro.environment++module Hydra.Ext.Dsl.Avro.Environment where++import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Avro.Environment as Environment+import qualified Hydra.Ext.Avro.Schema as Schema+import qualified Hydra.Ext.Dsl.Avro.Schema as AvroSchema+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++-- | DSL constructor for hydra.ext.avro.environment.AvroEnvironment+avroEnvironment :: Typed.TypedTerm (M.Map Environment.AvroQualifiedName (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error)) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (M.Map Model.Name Model.Binding) -> Typed.TypedTerm Environment.AvroEnvironment+avroEnvironment namedAdapters namespace elements =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namedAdapters"),+ Model.fieldTerm = (Typed.unTypedTerm namedAdapters)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm elements)}]}))++-- | DSL name token for hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentAvroEnvironment :: Typed.TypedName Environment.AvroEnvironment+avroEnvironmentAvroEnvironment = Typed.TypedName (Model.Name "hydra.ext.avro.environment.AvroEnvironment")++-- | DSL accessor for the elements field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentElements :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (M.Map Model.Name Model.Binding)+avroEnvironmentElements x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namedAdapters field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentNamedAdapters :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (M.Map Environment.AvroQualifiedName (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error))+avroEnvironmentNamedAdapters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namedAdapters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespace field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentNamespace :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (Maybe String)+avroEnvironmentNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the elements field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentWithElements :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (M.Map Model.Name Model.Binding) -> Typed.TypedTerm Environment.AvroEnvironment+avroEnvironmentWithElements original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namedAdapters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namedAdapters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the namedAdapters field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentWithNamedAdapters :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (M.Map Environment.AvroQualifiedName (Coders.Adapter Schema.Schema Model.Type JsonModel.Value Model.Term Errors.Error)) -> Typed.TypedTerm Environment.AvroEnvironment+avroEnvironmentWithNamedAdapters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namedAdapters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespace field of hydra.ext.avro.environment.AvroEnvironment+avroEnvironmentWithNamespace :: Typed.TypedTerm Environment.AvroEnvironment -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Environment.AvroEnvironment+avroEnvironmentWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namedAdapters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "namedAdapters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroEnvironment"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.environment.AvroForeignKey+avroForeignKey :: Typed.TypedTerm Model.Name -> Typed.TypedTerm (String -> Model.Name) -> Typed.TypedTerm Environment.AvroForeignKey+avroForeignKey typeName constructor =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm typeName)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm constructor)}]}))++-- | DSL name token for hydra.ext.avro.environment.AvroForeignKey+avroForeignKeyAvroForeignKey :: Typed.TypedName Environment.AvroForeignKey+avroForeignKeyAvroForeignKey = Typed.TypedName (Model.Name "hydra.ext.avro.environment.AvroForeignKey")++-- | DSL accessor for the constructor field of hydra.ext.avro.environment.AvroForeignKey+avroForeignKeyConstructor :: Typed.TypedTerm Environment.AvroForeignKey -> Typed.TypedTerm (String -> Model.Name)+avroForeignKeyConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeName field of hydra.ext.avro.environment.AvroForeignKey+avroForeignKeyTypeName :: Typed.TypedTerm Environment.AvroForeignKey -> Typed.TypedTerm Model.Name+avroForeignKeyTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constructor field of hydra.ext.avro.environment.AvroForeignKey+avroForeignKeyWithConstructor :: Typed.TypedTerm Environment.AvroForeignKey -> Typed.TypedTerm (String -> Model.Name) -> Typed.TypedTerm Environment.AvroForeignKey+avroForeignKeyWithConstructor original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the typeName field of hydra.ext.avro.environment.AvroForeignKey+avroForeignKeyWithTypeName :: Typed.TypedTerm Environment.AvroForeignKey -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Environment.AvroForeignKey+avroForeignKeyWithTypeName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroForeignKey"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKey :: Typed.TypedTerm Model.Name -> Typed.TypedTerm (String -> Model.Name) -> Typed.TypedTerm Environment.AvroPrimaryKey+avroPrimaryKey fieldName constructor =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fieldName"),+ Model.fieldTerm = (Typed.unTypedTerm fieldName)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm constructor)}]}))++-- | DSL name token for hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKeyAvroPrimaryKey :: Typed.TypedName Environment.AvroPrimaryKey+avroPrimaryKeyAvroPrimaryKey = Typed.TypedName (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey")++-- | DSL accessor for the constructor field of hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKeyConstructor :: Typed.TypedTerm Environment.AvroPrimaryKey -> Typed.TypedTerm (String -> Model.Name)+avroPrimaryKeyConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the fieldName field of hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKeyFieldName :: Typed.TypedTerm Environment.AvroPrimaryKey -> Typed.TypedTerm Model.Name+avroPrimaryKeyFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.projectionFieldName = (Model.Name "fieldName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constructor field of hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKeyWithConstructor :: Typed.TypedTerm Environment.AvroPrimaryKey -> Typed.TypedTerm (String -> Model.Name) -> Typed.TypedTerm Environment.AvroPrimaryKey+avroPrimaryKeyWithConstructor original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fieldName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.projectionFieldName = (Model.Name "fieldName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the fieldName field of hydra.ext.avro.environment.AvroPrimaryKey+avroPrimaryKeyWithFieldName :: Typed.TypedTerm Environment.AvroPrimaryKey -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Environment.AvroPrimaryKey+avroPrimaryKeyWithFieldName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fieldName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroPrimaryKey"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedName :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm String -> Typed.TypedTerm Environment.AvroQualifiedName+avroQualifiedName namespace name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL name token for hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedNameAvroQualifiedName :: Typed.TypedName Environment.AvroQualifiedName+avroQualifiedNameAvroQualifiedName = Typed.TypedName (Model.Name "hydra.ext.avro.environment.AvroQualifiedName")++-- | DSL accessor for the name field of hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedNameName :: Typed.TypedTerm Environment.AvroQualifiedName -> Typed.TypedTerm String+avroQualifiedNameName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespace field of hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedNameNamespace :: Typed.TypedTerm Environment.AvroQualifiedName -> Typed.TypedTerm (Maybe String)+avroQualifiedNameNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedNameWithName :: Typed.TypedTerm Environment.AvroQualifiedName -> Typed.TypedTerm String -> Typed.TypedTerm Environment.AvroQualifiedName+avroQualifiedNameWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the namespace field of hydra.ext.avro.environment.AvroQualifiedName+avroQualifiedNameWithNamespace :: Typed.TypedTerm Environment.AvroQualifiedName -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Environment.AvroQualifiedName+avroQualifiedNameWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.AvroQualifiedName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ 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.ext.avro.environment.AvroQualifiedName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironment :: Typed.TypedTerm (M.Map Model.Name Model.Type) -> Typed.TypedTerm (M.Map Model.Name (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error)) -> Typed.TypedTerm Environment.EncodeEnvironment+encodeEnvironment typeMap emitted =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeMap"),+ Model.fieldTerm = (Typed.unTypedTerm typeMap)},+ Model.Field {+ Model.fieldName = (Model.Name "emitted"),+ Model.fieldTerm = (Typed.unTypedTerm emitted)}]}))++-- | DSL accessor for the emitted field of hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironmentEmitted :: Typed.TypedTerm Environment.EncodeEnvironment -> Typed.TypedTerm (M.Map Model.Name (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error))+encodeEnvironmentEmitted x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.projectionFieldName = (Model.Name "emitted")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironmentEncodeEnvironment :: Typed.TypedName Environment.EncodeEnvironment+encodeEnvironmentEncodeEnvironment = Typed.TypedName (Model.Name "hydra.ext.avro.environment.EncodeEnvironment")++-- | DSL accessor for the typeMap field of hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironmentTypeMap :: Typed.TypedTerm Environment.EncodeEnvironment -> Typed.TypedTerm (M.Map Model.Name Model.Type)+encodeEnvironmentTypeMap x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.projectionFieldName = (Model.Name "typeMap")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the emitted field of hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironmentWithEmitted :: Typed.TypedTerm Environment.EncodeEnvironment -> Typed.TypedTerm (M.Map Model.Name (Coders.Adapter Model.Type Schema.Schema Model.Term JsonModel.Value Errors.Error)) -> Typed.TypedTerm Environment.EncodeEnvironment+encodeEnvironmentWithEmitted original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeMap"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.projectionFieldName = (Model.Name "typeMap")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "emitted"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the typeMap field of hydra.ext.avro.environment.EncodeEnvironment+encodeEnvironmentWithTypeMap :: Typed.TypedTerm Environment.EncodeEnvironment -> Typed.TypedTerm (M.Map Model.Name Model.Type) -> Typed.TypedTerm Environment.EncodeEnvironment+encodeEnvironmentWithTypeMap original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeMap"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "emitted"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.environment.EncodeEnvironment"),+ Model.projectionFieldName = (Model.Name "emitted")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Avro/Schema.hs view
@@ -0,0 +1,1241 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.avro.schema++module Hydra.Ext.Dsl.Avro.Schema where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Avro.Schema as Schema+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++-- | DSL constructor for hydra.ext.avro.schema.Array+array :: Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Array+array items =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Array"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm items)}]}))++-- | DSL name token for hydra.ext.avro.schema.Array+arrayArray :: Typed.TypedName Schema.Array+arrayArray = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Array")++-- | DSL accessor for the items field of hydra.ext.avro.schema.Array+arrayItems :: Typed.TypedTerm Schema.Array -> Typed.TypedTerm Schema.Schema+arrayItems x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Array"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the items field of hydra.ext.avro.schema.Array+arrayWithItems :: Typed.TypedTerm Schema.Array -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Array+arrayWithItems original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Array"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.avro.schema.Enum+enum :: Typed.TypedTerm [String] -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Enum+enum symbols default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "symbols"),+ Model.fieldTerm = (Typed.unTypedTerm symbols)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.ext.avro.schema.Enum+enumDefault :: Typed.TypedTerm Schema.Enum -> Typed.TypedTerm (Maybe String)+enumDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.schema.Enum+enumEnum :: Typed.TypedName Schema.Enum+enumEnum = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Enum")++-- | DSL accessor for the symbols field of hydra.ext.avro.schema.Enum+enumSymbols :: Typed.TypedTerm Schema.Enum -> Typed.TypedTerm [String]+enumSymbols x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.projectionFieldName = (Model.Name "symbols")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.ext.avro.schema.Enum+enumWithDefault :: Typed.TypedTerm Schema.Enum -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Enum+enumWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "symbols"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.projectionFieldName = (Model.Name "symbols")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the symbols field of hydra.ext.avro.schema.Enum+enumWithSymbols :: Typed.TypedTerm Schema.Enum -> Typed.TypedTerm [String] -> Typed.TypedTerm Schema.Enum+enumWithSymbols original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Enum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "symbols"),+ 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.ext.avro.schema.Enum"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.schema.Field+field :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm (Maybe Schema.Order) -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm (M.Map String JsonModel.Value) -> Typed.TypedTerm Schema.Field+field name doc type_ default_ order aliases annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Typed.unTypedTerm doc)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Typed.unTypedTerm order)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm aliases)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the aliases field of hydra.ext.avro.schema.Field+fieldAliases :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe [String])+fieldAliases x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the annotations field of hydra.ext.avro.schema.Field+fieldAnnotations :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (M.Map String JsonModel.Value)+fieldAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the default field of hydra.ext.avro.schema.Field+fieldDefault :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe JsonModel.Value)+fieldDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the doc field of hydra.ext.avro.schema.Field+fieldDoc :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe String)+fieldDoc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.schema.Field+fieldField :: Typed.TypedName Schema.Field+fieldField = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Field")++-- | DSL accessor for the name field of hydra.ext.avro.schema.Field+fieldName :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm String+fieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the order field of hydra.ext.avro.schema.Field+fieldOrder :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe Schema.Order)+fieldOrder x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.avro.schema.Field+fieldType :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm Schema.Schema+fieldType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the aliases field of hydra.ext.avro.schema.Field+fieldWithAliases :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm Schema.Field+fieldWithAliases original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the annotations field of hydra.ext.avro.schema.Field+fieldWithAnnotations :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (M.Map String JsonModel.Value) -> Typed.TypedTerm Schema.Field+fieldWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the default field of hydra.ext.avro.schema.Field+fieldWithDefault :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm Schema.Field+fieldWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the doc field of hydra.ext.avro.schema.Field+fieldWithDoc :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Field+fieldWithDoc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.avro.schema.Field+fieldWithName :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm String -> Typed.TypedTerm Schema.Field+fieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the order field of hydra.ext.avro.schema.Field+fieldWithOrder :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm (Maybe Schema.Order) -> Typed.TypedTerm Schema.Field+fieldWithOrder original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.avro.schema.Field+fieldWithType :: Typed.TypedTerm Schema.Field -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Field+fieldWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Field"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.schema.Fixed+fixed :: Typed.TypedTerm Int -> Typed.TypedTerm Schema.Fixed+fixed size =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Fixed"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "size"),+ Model.fieldTerm = (Typed.unTypedTerm size)}]}))++-- | DSL name token for hydra.ext.avro.schema.Fixed+fixedFixed :: Typed.TypedName Schema.Fixed+fixedFixed = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Fixed")++-- | DSL accessor for the size field of hydra.ext.avro.schema.Fixed+fixedSize :: Typed.TypedTerm Schema.Fixed -> Typed.TypedTerm Int+fixedSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Fixed"),+ Model.projectionFieldName = (Model.Name "size")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the size field of hydra.ext.avro.schema.Fixed+fixedWithSize :: Typed.TypedTerm Schema.Fixed -> Typed.TypedTerm Int -> Typed.TypedTerm Schema.Fixed+fixedWithSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Fixed"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "size"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.avro.schema.Map+map :: Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Map+map values =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm values)}]}))++-- | DSL name token for hydra.ext.avro.schema.Map+mapMap :: Typed.TypedName Schema.Map+mapMap = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Map")++-- | DSL accessor for the values field of hydra.ext.avro.schema.Map+mapValues :: Typed.TypedTerm Schema.Map -> Typed.TypedTerm Schema.Schema+mapValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Map"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the values field of hydra.ext.avro.schema.Map+mapWithValues :: Typed.TypedTerm Schema.Map -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Map+mapWithValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.avro.schema.Named+named :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.NamedType -> Typed.TypedTerm (M.Map String JsonModel.Value) -> Typed.TypedTerm Schema.Named+named name namespace aliases doc type_ annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm aliases)},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Typed.unTypedTerm doc)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the aliases field of hydra.ext.avro.schema.Named+namedAliases :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe [String])+namedAliases x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the annotations field of hydra.ext.avro.schema.Named+namedAnnotations :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (M.Map String JsonModel.Value)+namedAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the doc field of hydra.ext.avro.schema.Named+namedDoc :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe String)+namedDoc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.avro.schema.Named+namedName :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm String+namedName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.schema.Named+namedNamed :: Typed.TypedName Schema.Named+namedNamed = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Named")++-- | DSL accessor for the namespace field of hydra.ext.avro.schema.Named+namedNamespace :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe String)+namedNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.avro.schema.Named+namedType :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm Schema.NamedType+namedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the enum variant of hydra.ext.avro.schema.NamedType+namedTypeEnum :: Typed.TypedTerm Schema.Enum -> Typed.TypedTerm Schema.NamedType+namedTypeEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.NamedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the fixed variant of hydra.ext.avro.schema.NamedType+namedTypeFixed :: Typed.TypedTerm Schema.Fixed -> Typed.TypedTerm Schema.NamedType+namedTypeFixed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.NamedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.avro.schema.NamedType+namedTypeNamedType :: Typed.TypedName Schema.NamedType+namedTypeNamedType = Typed.TypedName (Model.Name "hydra.ext.avro.schema.NamedType")++-- | DSL injection for the record variant of hydra.ext.avro.schema.NamedType+namedTypeRecord :: Typed.TypedTerm Schema.Record -> Typed.TypedTerm Schema.NamedType+namedTypeRecord x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.NamedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "record"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the aliases field of hydra.ext.avro.schema.Named+namedWithAliases :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm Schema.Named+namedWithAliases original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the annotations field of hydra.ext.avro.schema.Named+namedWithAnnotations :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (M.Map String JsonModel.Value) -> Typed.TypedTerm Schema.Named+namedWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the doc field of hydra.ext.avro.schema.Named+namedWithDoc :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Named+namedWithDoc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.avro.schema.Named+namedWithName :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm String -> Typed.TypedTerm Schema.Named+namedWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespace field of hydra.ext.avro.schema.Named+namedWithNamespace :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Named+namedWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.avro.schema.Named+namedWithType :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm Schema.NamedType -> Typed.TypedTerm Schema.Named+namedWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ 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.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Named"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the ascending variant of hydra.ext.avro.schema.Order+orderAscending :: Typed.TypedTerm Schema.Order+orderAscending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Order"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ascending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the descending variant of hydra.ext.avro.schema.Order+orderDescending :: Typed.TypedTerm Schema.Order+orderDescending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Order"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ignore variant of hydra.ext.avro.schema.Order+orderIgnore :: Typed.TypedTerm Schema.Order+orderIgnore =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Order"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ignore"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.avro.schema.Order+orderOrder :: Typed.TypedName Schema.Order+orderOrder = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Order")++-- | DSL injection for the boolean variant of hydra.ext.avro.schema.Primitive+primitiveBoolean :: Typed.TypedTerm Schema.Primitive+primitiveBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bytes variant of hydra.ext.avro.schema.Primitive+primitiveBytes :: Typed.TypedTerm Schema.Primitive+primitiveBytes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bytes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.avro.schema.Primitive+primitiveDouble :: Typed.TypedTerm Schema.Primitive+primitiveDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.avro.schema.Primitive+primitiveFloat :: Typed.TypedTerm Schema.Primitive+primitiveFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int variant of hydra.ext.avro.schema.Primitive+primitiveInt :: Typed.TypedTerm Schema.Primitive+primitiveInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the long variant of hydra.ext.avro.schema.Primitive+primitiveLong :: Typed.TypedTerm Schema.Primitive+primitiveLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the null variant of hydra.ext.avro.schema.Primitive+primitiveNull :: Typed.TypedTerm Schema.Primitive+primitiveNull =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.avro.schema.Primitive+primitivePrimitive :: Typed.TypedName Schema.Primitive+primitivePrimitive = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Primitive")++-- | DSL injection for the string variant of hydra.ext.avro.schema.Primitive+primitiveString :: Typed.TypedTerm Schema.Primitive+primitiveString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Primitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.avro.schema.Record+record :: Typed.TypedTerm [Schema.Field] -> Typed.TypedTerm Schema.Record+record fields =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Record"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)}]}))++-- | DSL accessor for the fields field of hydra.ext.avro.schema.Record+recordFields :: Typed.TypedTerm Schema.Record -> Typed.TypedTerm [Schema.Field]+recordFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.schema.Record"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.schema.Record+recordRecord :: Typed.TypedName Schema.Record+recordRecord = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Record")++-- | DSL updater for the fields field of hydra.ext.avro.schema.Record+recordWithFields :: Typed.TypedTerm Schema.Record -> Typed.TypedTerm [Schema.Field] -> Typed.TypedTerm Schema.Record+recordWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.schema.Record"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the array variant of hydra.ext.avro.schema.Schema+schemaArray :: Typed.TypedTerm Schema.Array -> Typed.TypedTerm Schema.Schema+schemaArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.avro.schema.Schema+schemaMap :: Typed.TypedTerm Schema.Map -> Typed.TypedTerm Schema.Schema+schemaMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the named variant of hydra.ext.avro.schema.Schema+schemaNamed :: Typed.TypedTerm Schema.Named -> Typed.TypedTerm Schema.Schema+schemaNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primitive variant of hydra.ext.avro.schema.Schema+schemaPrimitive :: Typed.TypedTerm Schema.Primitive -> Typed.TypedTerm Schema.Schema+schemaPrimitive x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primitive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the reference variant of hydra.ext.avro.schema.Schema+schemaReference :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema+schemaReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.avro.schema.Schema+schemaSchema :: Typed.TypedName Schema.Schema+schemaSchema = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Schema")++-- | DSL injection for the union variant of hydra.ext.avro.schema.Schema+schemaUnion :: Typed.TypedTerm Schema.Union -> Typed.TypedTerm Schema.Schema+schemaUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.schema.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the body of hydra.ext.avro.schema.Union+unUnion :: Typed.TypedTerm Schema.Union -> Typed.TypedTerm [Schema.Schema]+unUnion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.avro.schema.Union")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.avro.schema.Union wrapper+union :: Typed.TypedTerm [Schema.Schema] -> Typed.TypedTerm Schema.Union+union x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.avro.schema.Union"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.schema.Union+unionUnion :: Typed.TypedName Schema.Union+unionUnion = Typed.TypedName (Model.Name "hydra.ext.avro.schema.Union")
+ src/main/haskell/Hydra/Ext/Dsl/Avro/Testing.hs view
@@ -0,0 +1,2090 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.avro.testing++module Hydra.Ext.Dsl.Avro.Testing where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Avro.Schema as Schema+import qualified Hydra.Ext.Avro.Testing as Testing+import qualified Hydra.Ext.Dsl.Avro.Schema as AvroSchema+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.ext.avro.testing.AvroTestCase+avroTestCaseAvroTestCase :: Typed.TypedName Testing.AvroTestCase+avroTestCaseAvroTestCase = Typed.TypedName (Model.Name "hydra.ext.avro.testing.AvroTestCase")++-- | DSL injection for the lossiness variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseLossiness :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseLossiness x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lossiness"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nameMapping variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseNameMapping :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseNameMapping x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nameMapping"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the schemaSerialization variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseSchemaSerialization :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseSchemaSerialization x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "schemaSerialization"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the termLevelForward variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTermLevelForward :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTermLevelForward x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "termLevelForward"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the termLevelReverse variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTermLevelReverse :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTermLevelReverse x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "termLevelReverse"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the termLevelRoundTripJson variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTermLevelRoundTripJson :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTermLevelRoundTripJson x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "termLevelRoundTripJson"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the termLevelRoundTripTerm variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTermLevelRoundTripTerm :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTermLevelRoundTripTerm x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "termLevelRoundTripTerm"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeLevelForward variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTypeLevelForward :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTypeLevelForward x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeLevelForward"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeLevelReverse variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTypeLevelReverse :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTypeLevelReverse x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeLevelReverse"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeLevelRoundTripAvro variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTypeLevelRoundTripAvro :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTypeLevelRoundTripAvro x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeLevelRoundTripAvro"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeLevelRoundTripHydra variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseTypeLevelRoundTripHydra :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseTypeLevelRoundTripHydra x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeLevelRoundTripHydra"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the union variant of hydra.ext.avro.testing.AvroTestCase+avroTestCaseUnion :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm Testing.AvroTestCase+avroTestCaseUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.avro.testing.AvroTestCase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.avro.testing.LossinessTestCase+lossinessTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Bool -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCase description originalSchema hydraType recoveredSchema isLossy =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Typed.unTypedTerm originalSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Typed.unTypedTerm hydraType)},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Typed.unTypedTerm recoveredSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Typed.unTypedTerm isLossy)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseDescription :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm String+lossinessTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the hydraType field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseHydraType :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Model.Type+lossinessTestCaseHydraType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isLossy field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseIsLossy :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Bool+lossinessTestCaseIsLossy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "isLossy")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseLossinessTestCase :: Typed.TypedName Testing.LossinessTestCase+lossinessTestCaseLossinessTestCase = Typed.TypedName (Model.Name "hydra.ext.avro.testing.LossinessTestCase")++-- | DSL accessor for the originalSchema field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseOriginalSchema :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Schema.Schema+lossinessTestCaseOriginalSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "originalSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the recoveredSchema field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseRecoveredSchema :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Schema.Schema+lossinessTestCaseRecoveredSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "recoveredSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the description field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseWithDescription :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "originalSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "recoveredSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "isLossy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the hydraType field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseWithHydraType :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCaseWithHydraType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "originalSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "recoveredSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "isLossy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isLossy field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseWithIsLossy :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Bool -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCaseWithIsLossy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "originalSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "recoveredSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the originalSchema field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseWithOriginalSchema :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCaseWithOriginalSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "recoveredSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "isLossy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the recoveredSchema field of hydra.ext.avro.testing.LossinessTestCase+lossinessTestCaseWithRecoveredSchema :: Typed.TypedTerm Testing.LossinessTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.LossinessTestCase+lossinessTestCaseWithRecoveredSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "originalSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "originalSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "recoveredSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isLossy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.LossinessTestCase"),+ Model.projectionFieldName = (Model.Name "isLossy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Model.Name -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Testing.NameMappingTestCase+nameMappingTestCase description hydraName avroName avroNamespace =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraName"),+ Model.fieldTerm = (Typed.unTypedTerm hydraName)},+ Model.Field {+ Model.fieldName = (Model.Name "avroName"),+ Model.fieldTerm = (Typed.unTypedTerm avroName)},+ Model.Field {+ Model.fieldName = (Model.Name "avroNamespace"),+ Model.fieldTerm = (Typed.unTypedTerm avroNamespace)}]}))++-- | DSL accessor for the avroName field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseAvroName :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm String+nameMappingTestCaseAvroName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the avroNamespace field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseAvroNamespace :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm (Maybe String)+nameMappingTestCaseAvroNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroNamespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseDescription :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm String+nameMappingTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the hydraName field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseHydraName :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm Model.Name+nameMappingTestCaseHydraName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "hydraName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseNameMappingTestCase :: Typed.TypedName Testing.NameMappingTestCase+nameMappingTestCaseNameMappingTestCase = Typed.TypedName (Model.Name "hydra.ext.avro.testing.NameMappingTestCase")++-- | DSL updater for the avroName field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseWithAvroName :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.NameMappingTestCase+nameMappingTestCaseWithAvroName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "hydraName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "avroNamespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroNamespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the avroNamespace field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseWithAvroNamespace :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Testing.NameMappingTestCase+nameMappingTestCaseWithAvroNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "hydraName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroNamespace"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the description field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseWithDescription :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.NameMappingTestCase+nameMappingTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "hydraName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroNamespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroNamespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the hydraName field of hydra.ext.avro.testing.NameMappingTestCase+nameMappingTestCaseWithHydraName :: Typed.TypedTerm Testing.NameMappingTestCase -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Testing.NameMappingTestCase+nameMappingTestCaseWithHydraName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "avroName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroNamespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.NameMappingTestCase"),+ Model.projectionFieldName = (Model.Name "avroNamespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.SchemaSerializationTestCase+schemaSerializationTestCase description schema json =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm json)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseDescription :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm String+schemaSerializationTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the json field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseJson :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm JsonModel.Value+schemaSerializationTestCaseJson x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseSchema :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm Schema.Schema+schemaSerializationTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseSchemaSerializationTestCase :: Typed.TypedName Testing.SchemaSerializationTestCase+schemaSerializationTestCaseSchemaSerializationTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithDescription :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the json field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithJson :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithJson original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithSchema :: Typed.TypedTerm Testing.SchemaSerializationTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.SchemaSerializationTestCase+schemaSerializationTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.SchemaSerializationTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelForwardTestCase+termLevelForwardTestCase description schema json term =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm json)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm term)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseDescription :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm String+termLevelForwardTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the json field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseJson :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm JsonModel.Value+termLevelForwardTestCaseJson x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseSchema :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm Schema.Schema+termLevelForwardTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the term field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseTerm :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm Model.Term+termLevelForwardTestCaseTerm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseTermLevelForwardTestCase :: Typed.TypedName Testing.TermLevelForwardTestCase+termLevelForwardTestCaseTermLevelForwardTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithDescription :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the json field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithJson :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithJson original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithSchema :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the term field of hydra.ext.avro.testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithTerm :: Typed.TypedTerm Testing.TermLevelForwardTestCase -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelForwardTestCase+termLevelForwardTestCaseWithTerm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Model.Term -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelReverseTestCase+termLevelReverseTestCase description schema term json =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm term)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm json)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseDescription :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm String+termLevelReverseTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the json field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseJson :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm JsonModel.Value+termLevelReverseTestCaseJson x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseSchema :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm Schema.Schema+termLevelReverseTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the term field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseTerm :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm Model.Term+termLevelReverseTestCaseTerm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseTermLevelReverseTestCase :: Typed.TypedName Testing.TermLevelReverseTestCase+termLevelReverseTestCaseTermLevelReverseTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithDescription :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the json field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithJson :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithJson original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithSchema :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the term field of hydra.ext.avro.testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithTerm :: Typed.TypedTerm Testing.TermLevelReverseTestCase -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelReverseTestCase+termLevelReverseTestCaseWithTerm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCase description schema json expectedJson =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm json)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedJson"),+ Model.fieldTerm = (Typed.unTypedTerm expectedJson)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseDescription :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm String+termLevelRoundTripJsonTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expectedJson field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseExpectedJson :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm JsonModel.Value+termLevelRoundTripJsonTestCaseExpectedJson x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "expectedJson")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the json field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseJson :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm JsonModel.Value+termLevelRoundTripJsonTestCaseJson x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseSchema :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm Schema.Schema+termLevelRoundTripJsonTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseTermLevelRoundTripJsonTestCase :: Typed.TypedName Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseTermLevelRoundTripJsonTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithDescription :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedJson"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "expectedJson")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expectedJson field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithExpectedJson :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithExpectedJson original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedJson"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the json field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithJson :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm JsonModel.Value -> Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithJson original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedJson"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "expectedJson")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithSchema :: Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TermLevelRoundTripJsonTestCase+termLevelRoundTripJsonTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "json")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedJson"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripJsonTestCase"),+ Model.projectionFieldName = (Model.Name "expectedJson")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCase description type_ term expectedTerm =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm term)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedTerm"),+ Model.fieldTerm = (Typed.unTypedTerm expectedTerm)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseDescription :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm String+termLevelRoundTripTermTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expectedTerm field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseExpectedTerm :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Term+termLevelRoundTripTermTestCaseExpectedTerm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "expectedTerm")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the term field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseTerm :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Term+termLevelRoundTripTermTestCaseTerm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseTermLevelRoundTripTermTestCase :: Typed.TypedName Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseTermLevelRoundTripTermTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase")++-- | DSL accessor for the type field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseType :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Type+termLevelRoundTripTermTestCaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the description field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithDescription :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ 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.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedTerm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "expectedTerm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expectedTerm field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithExpectedTerm :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithExpectedTerm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedTerm"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the term field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithTerm :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Term -> Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithTerm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedTerm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "expectedTerm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.avro.testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithType :: Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TermLevelRoundTripTermTestCase+termLevelRoundTripTermTestCaseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedTerm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TermLevelRoundTripTermTestCase"),+ Model.projectionFieldName = (Model.Name "expectedTerm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelForwardTestCase+typeLevelForwardTestCase description schema type_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseDescription :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm String+typeLevelForwardTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseSchema :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm Schema.Schema+typeLevelForwardTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseType :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm Model.Type+typeLevelForwardTestCaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseTypeLevelForwardTestCase :: Typed.TypedName Testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseTypeLevelForwardTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithDescription :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ 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.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithSchema :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ 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.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.avro.testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithType :: Typed.TypedTerm Testing.TypeLevelForwardTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelForwardTestCase+typeLevelForwardTestCaseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelForwardTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelReverseTestCase+typeLevelReverseTestCase description type_ schema =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseDescription :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm String+typeLevelReverseTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseSchema :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm Schema.Schema+typeLevelReverseTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseType :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm Model.Type+typeLevelReverseTestCaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseTypeLevelReverseTestCase :: Typed.TypedName Testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseTypeLevelReverseTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithDescription :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ 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.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithSchema :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.avro.testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithType :: Typed.TypedTerm Testing.TypeLevelReverseTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelReverseTestCase+typeLevelReverseTestCaseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelReverseTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCase description schema expectedSchema =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedSchema"),+ Model.fieldTerm = (Typed.unTypedTerm expectedSchema)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseDescription :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm String+typeLevelRoundTripAvroTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expectedSchema field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseExpectedSchema :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm Schema.Schema+typeLevelRoundTripAvroTestCaseExpectedSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "expectedSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseSchema :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm Schema.Schema+typeLevelRoundTripAvroTestCaseSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseTypeLevelRoundTripAvroTestCase :: Typed.TypedName Testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseTypeLevelRoundTripAvroTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithDescription :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "expectedSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expectedSchema field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithExpectedSchema :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithExpectedSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the schema field of hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithSchema :: Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.TypeLevelRoundTripAvroTestCase+typeLevelRoundTripAvroTestCaseWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripAvroTestCase"),+ Model.projectionFieldName = (Model.Name "expectedSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCase description type_ expectedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedType"),+ Model.fieldTerm = (Typed.unTypedTerm expectedType)}]}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseDescription :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm String+typeLevelRoundTripHydraTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expectedType field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseExpectedType :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm Model.Type+typeLevelRoundTripHydraTestCaseExpectedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "expectedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseType :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm Model.Type+typeLevelRoundTripHydraTestCaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseTypeLevelRoundTripHydraTestCase :: Typed.TypedName Testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseTypeLevelRoundTripHydraTestCase =+ Typed.TypedName (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase")++-- | DSL updater for the description field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithDescription :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ 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.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "expectedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expectedType field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithExpectedType :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithExpectedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expectedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithType :: Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.TypeLevelRoundTripHydraTestCase+typeLevelRoundTripHydraTestCaseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expectedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.TypeLevelRoundTripHydraTestCase"),+ Model.projectionFieldName = (Model.Name "expectedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.avro.testing.UnionTestCase+unionTestCase :: Typed.TypedTerm String -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm [(Model.Term, JsonModel.Value)] -> Typed.TypedTerm Testing.UnionTestCase+unionTestCase description hydraType avroSchema termPairs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Typed.unTypedTerm hydraType)},+ Model.Field {+ Model.fieldName = (Model.Name "avroSchema"),+ Model.fieldTerm = (Typed.unTypedTerm avroSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "termPairs"),+ Model.fieldTerm = (Typed.unTypedTerm termPairs)}]}))++-- | DSL accessor for the avroSchema field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseAvroSchema :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm Schema.Schema+unionTestCaseAvroSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "avroSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseDescription :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm String+unionTestCaseDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the hydraType field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseHydraType :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm Model.Type+unionTestCaseHydraType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the termPairs field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseTermPairs :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm [(Model.Term, JsonModel.Value)]+unionTestCaseTermPairs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "termPairs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.avro.testing.UnionTestCase+unionTestCaseUnionTestCase :: Typed.TypedName Testing.UnionTestCase+unionTestCaseUnionTestCase = Typed.TypedName (Model.Name "hydra.ext.avro.testing.UnionTestCase")++-- | DSL updater for the avroSchema field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseWithAvroSchema :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm Schema.Schema -> Typed.TypedTerm Testing.UnionTestCase+unionTestCaseWithAvroSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "termPairs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "termPairs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseWithDescription :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm String -> Typed.TypedTerm Testing.UnionTestCase+unionTestCaseWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "avroSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "termPairs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "termPairs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the hydraType field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseWithHydraType :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm Model.Type -> Typed.TypedTerm Testing.UnionTestCase+unionTestCaseWithHydraType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "avroSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "avroSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "termPairs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "termPairs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the termPairs field of hydra.ext.avro.testing.UnionTestCase+unionTestCaseWithTermPairs :: Typed.TypedTerm Testing.UnionTestCase -> Typed.TypedTerm [(Model.Term, JsonModel.Value)] -> Typed.TypedTerm Testing.UnionTestCase+unionTestCaseWithTermPairs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hydraType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "hydraType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "avroSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.avro.testing.UnionTestCase"),+ Model.projectionFieldName = (Model.Name "avroSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "termPairs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Azure/Dtld.hs view
@@ -0,0 +1,8206 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.azure.dtld++module Hydra.Ext.Dsl.Azure.Dtld where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Azure.Dtld as Dtld+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 constructor for hydra.ext.azure.dtld.Command+command :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Dtld.CommandType) -> Typed.TypedTerm (Maybe Dtld.CommandPayload) -> Typed.TypedTerm (Maybe Dtld.CommandPayload) -> Typed.TypedTerm Dtld.Command+command type_ name id comment description displayName commandType request response =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Typed.unTypedTerm commandType)},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Typed.unTypedTerm request)},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Typed.unTypedTerm response)}]}))++-- | DSL name token for hydra.ext.azure.dtld.Command+commandCommand :: Typed.TypedName Dtld.Command+commandCommand = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Command")++-- | DSL accessor for the commandType field of hydra.ext.azure.dtld.Command+commandCommandType :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandType)+commandCommandType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Command+commandComment :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String)+commandComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Command+commandDescription :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String)+commandDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Command+commandDisplayName :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String)+commandDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Command+commandId :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.Dtmi)+commandId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Command+commandName :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm String+commandName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.azure.dtld.CommandPayload+commandPayload :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.CommandPayload+commandPayload name schema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL name token for hydra.ext.azure.dtld.CommandPayload+commandPayloadCommandPayload :: Typed.TypedName Dtld.CommandPayload+commandPayloadCommandPayload = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.CommandPayload")++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.CommandPayload+commandPayloadComment :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String)+commandPayloadComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.CommandPayload+commandPayloadDescription :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String)+commandPayloadDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.CommandPayload+commandPayloadDisplayName :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String)+commandPayloadDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.CommandPayload+commandPayloadId :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe Dtld.Dtmi)+commandPayloadId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.CommandPayload+commandPayloadName :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm String+commandPayloadName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.CommandPayload+commandPayloadSchema :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm Dtld.Schema+commandPayloadSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithComment :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ 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.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithDescription :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ 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.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithDisplayName :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ 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.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithId :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ 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.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithName :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.CommandPayload+commandPayloadWithSchema :: Typed.TypedTerm Dtld.CommandPayload -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.CommandPayload+commandPayloadWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ 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.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandPayload"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the request field of hydra.ext.azure.dtld.Command+commandRequest :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandPayload)+commandRequest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the response field of hydra.ext.azure.dtld.Command+commandResponse :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandPayload)+commandResponse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Command+commandType :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm Dtld.Iri+commandType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the asynchronous variant of hydra.ext.azure.dtld.CommandType+commandTypeAsynchronous :: Typed.TypedTerm Dtld.CommandType+commandTypeAsynchronous =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "asynchronous"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.azure.dtld.CommandType+commandTypeCommandType :: Typed.TypedName Dtld.CommandType+commandTypeCommandType = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.CommandType")++-- | DSL injection for the synchronous variant of hydra.ext.azure.dtld.CommandType+commandTypeSynchronous :: Typed.TypedTerm Dtld.CommandType+commandTypeSynchronous =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.CommandType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "synchronous"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL updater for the commandType field of hydra.ext.azure.dtld.Command+commandWithCommandType :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandType) -> Typed.TypedTerm Dtld.Command+commandWithCommandType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Command+commandWithComment :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Command+commandWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Command+commandWithDescription :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Command+commandWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Command+commandWithDisplayName :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Command+commandWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Command+commandWithId :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Command+commandWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Command+commandWithName :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Command+commandWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the request field of hydra.ext.azure.dtld.Command+commandWithRequest :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandPayload) -> Typed.TypedTerm Dtld.Command+commandWithRequest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the response field of hydra.ext.azure.dtld.Command+commandWithResponse :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm (Maybe Dtld.CommandPayload) -> Typed.TypedTerm Dtld.Command+commandWithResponse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Command+commandWithType :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Command+commandWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commandType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "commandType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "request"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "request")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "response"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Command"),+ Model.projectionFieldName = (Model.Name "response")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.Component+component :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Component+component type_ name schema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Component+componentComment :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String)+componentComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Component+componentComponent :: Typed.TypedName Dtld.Component+componentComponent = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Component")++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Component+componentDescription :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String)+componentDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Component+componentDisplayName :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String)+componentDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Component+componentId :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe Dtld.Dtmi)+componentId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Component+componentName :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm String+componentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.Component+componentSchema :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm Dtld.Interface+componentSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Component+componentType :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm Dtld.Iri+componentType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Component+componentWithComment :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Component+componentWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Component+componentWithDescription :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Component+componentWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Component+componentWithDisplayName :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Component+componentWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Component+componentWithId :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Component+componentWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Component+componentWithName :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Component+componentWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.Component+componentWithSchema :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Component+componentWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Component+componentWithType :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Component+componentWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Component"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.azure.dtld.Dtmi wrapper+dtmi :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Dtmi+dtmi x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.azure.dtld.Dtmi"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Dtmi+dtmiDtmi :: Typed.TypedName Dtld.Dtmi+dtmiDtmi = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Dtmi")++-- | DSL constructor for hydra.ext.azure.dtld.EnumValue+enumValue :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.IntegerOrString -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.EnumValue+enumValue name enumValue id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Typed.unTypedTerm enumValue)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.EnumValue+enumValueComment :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String)+enumValueComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.EnumValue+enumValueDescription :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String)+enumValueDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.EnumValue+enumValueDisplayName :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String)+enumValueDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.EnumValue+enumValueEnumValue :: Typed.TypedName Dtld.EnumValue+enumValueEnumValue = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.EnumValue")++-- | DSL accessor for the enumValue field of hydra.ext.azure.dtld.EnumValue+enumValueEnumValue2 :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm Dtld.IntegerOrString+enumValueEnumValue2 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.EnumValue+enumValueId :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe Dtld.Dtmi)+enumValueId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.EnumValue+enumValueName :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm String+enumValueName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.EnumValue+enumValueWithComment :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.EnumValue+enumValueWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ 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.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.EnumValue+enumValueWithDescription :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.EnumValue+enumValueWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ 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.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.EnumValue+enumValueWithDisplayName :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.EnumValue+enumValueWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ 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.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the enumValue field of hydra.ext.azure.dtld.EnumValue+enumValueWithEnumValue :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm Dtld.IntegerOrString -> Typed.TypedTerm Dtld.EnumValue+enumValueWithEnumValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ 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.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.EnumValue+enumValueWithId :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.EnumValue+enumValueWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ 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.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.EnumValue+enumValueWithName :: Typed.TypedTerm Dtld.EnumValue -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.EnumValue+enumValueWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "enumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "enumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.EnumValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.Field+field :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Field+field name schema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Field+fieldComment :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String)+fieldComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Field+fieldDescription :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String)+fieldDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Field+fieldDisplayName :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String)+fieldDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Field+fieldField :: Typed.TypedName Dtld.Field+fieldField = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Field")++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Field+fieldId :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe Dtld.Dtmi)+fieldId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Field+fieldName :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm String+fieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.Field+fieldSchema :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm Dtld.Schema+fieldSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Field+fieldWithComment :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Field+fieldWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ 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.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Field+fieldWithDescription :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Field+fieldWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ 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.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Field+fieldWithDisplayName :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Field+fieldWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ 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.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Field+fieldWithId :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Field+fieldWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ 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.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Field+fieldWithName :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Field+fieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.Field+fieldWithSchema :: Typed.TypedTerm Dtld.Field -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.Field+fieldWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ 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.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Field"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the integer variant of hydra.ext.azure.dtld.IntegerOrString+integerOrStringInteger :: Typed.TypedTerm Int -> Typed.TypedTerm Dtld.IntegerOrString+integerOrStringInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.IntegerOrString"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.azure.dtld.IntegerOrString+integerOrStringIntegerOrString :: Typed.TypedName Dtld.IntegerOrString+integerOrStringIntegerOrString = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.IntegerOrString")++-- | DSL injection for the string variant of hydra.ext.azure.dtld.IntegerOrString+integerOrStringString :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.IntegerOrString+integerOrStringString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.IntegerOrString"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.azure.dtld.Interface+interface :: Typed.TypedTerm Dtld.Dtmi -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe (S.Set Dtld.InterfaceContents)) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe (S.Set Dtld.Interface)) -> Typed.TypedTerm (Maybe (S.Set Dtld.SchemaInterface)) -> Typed.TypedTerm Dtld.Interface+interface id type_ context comment contents description displayName extends schemas =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Typed.unTypedTerm context)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Typed.unTypedTerm contents)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Typed.unTypedTerm extends)},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Typed.unTypedTerm schemas)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Interface+interfaceComment :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String)+interfaceComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the contents field of hydra.ext.azure.dtld.Interface+interfaceContents :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.InterfaceContents))+interfaceContents x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the command variant of hydra.ext.azure.dtld.InterfaceContents+interfaceContentsCommand :: Typed.TypedTerm Dtld.Command -> Typed.TypedTerm Dtld.InterfaceContents+interfaceContentsCommand x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.InterfaceContents"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "command"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the component variant of hydra.ext.azure.dtld.InterfaceContents+interfaceContentsComponent :: Typed.TypedTerm Dtld.Component -> Typed.TypedTerm Dtld.InterfaceContents+interfaceContentsComponent x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.InterfaceContents"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "component"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.azure.dtld.InterfaceContents+interfaceContentsInterfaceContents :: Typed.TypedName Dtld.InterfaceContents+interfaceContentsInterfaceContents = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.InterfaceContents")++-- | DSL injection for the property variant of hydra.ext.azure.dtld.InterfaceContents+interfaceContentsProperty :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm Dtld.InterfaceContents+interfaceContentsProperty x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.InterfaceContents"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the relationship variant of hydra.ext.azure.dtld.InterfaceContents+interfaceContentsRelationship :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm Dtld.InterfaceContents+interfaceContentsRelationship x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.InterfaceContents"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "relationship"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the telemetry variant of hydra.ext.azure.dtld.InterfaceContents+interfaceContentsTelemetry :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm Dtld.InterfaceContents+interfaceContentsTelemetry x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.InterfaceContents"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "telemetry"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the context field of hydra.ext.azure.dtld.Interface+interfaceContext :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Iri+interfaceContext x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Interface+interfaceDescription :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String)+interfaceDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Interface+interfaceDisplayName :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String)+interfaceDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the extends field of hydra.ext.azure.dtld.Interface+interfaceExtends :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.Interface))+interfaceExtends x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Interface+interfaceId :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Dtmi+interfaceId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Interface+interfaceInterface :: Typed.TypedName Dtld.Interface+interfaceInterface = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Interface")++-- | DSL accessor for the schemas field of hydra.ext.azure.dtld.Interface+interfaceSchemas :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.SchemaInterface))+interfaceSchemas x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Interface+interfaceType :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Iri+interfaceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Interface+interfaceWithComment :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Interface+interfaceWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the contents field of hydra.ext.azure.dtld.Interface+interfaceWithContents :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.InterfaceContents)) -> Typed.TypedTerm Dtld.Interface+interfaceWithContents original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the context field of hydra.ext.azure.dtld.Interface+interfaceWithContext :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Interface+interfaceWithContext original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Interface+interfaceWithDescription :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Interface+interfaceWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Interface+interfaceWithDisplayName :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Interface+interfaceWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the extends field of hydra.ext.azure.dtld.Interface+interfaceWithExtends :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.Interface)) -> Typed.TypedTerm Dtld.Interface+interfaceWithExtends original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Interface+interfaceWithId :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Dtmi -> Typed.TypedTerm Dtld.Interface+interfaceWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schemas field of hydra.ext.azure.dtld.Interface+interfaceWithSchemas :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm (Maybe (S.Set Dtld.SchemaInterface)) -> Typed.TypedTerm Dtld.Interface+interfaceWithSchemas original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Interface+interfaceWithType :: Typed.TypedTerm Dtld.Interface -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Interface+interfaceWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "contents")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extends"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "extends")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Interface"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.azure.dtld.Iri wrapper+iri :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Iri+iri x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.azure.dtld.Iri"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Iri+iriIri :: Typed.TypedName Dtld.Iri+iriIri = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Iri")++-- | DSL constructor for hydra.ext.azure.dtld.MapKey+mapKey :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapKey+mapKey name schema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.MapKey+mapKeyComment :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String)+mapKeyComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.MapKey+mapKeyDescription :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String)+mapKeyDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.MapKey+mapKeyDisplayName :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String)+mapKeyDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.MapKey+mapKeyId :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe Dtld.Dtmi)+mapKeyId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.MapKey+mapKeyMapKey :: Typed.TypedName Dtld.MapKey+mapKeyMapKey = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.MapKey")++-- | DSL accessor for the name field of hydra.ext.azure.dtld.MapKey+mapKeyName :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm String+mapKeyName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.MapKey+mapKeySchema :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm Dtld.Schema+mapKeySchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.MapKey+mapKeyWithComment :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapKey+mapKeyWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ 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.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.MapKey+mapKeyWithDescription :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapKey+mapKeyWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ 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.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.MapKey+mapKeyWithDisplayName :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapKey+mapKeyWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ 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.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.MapKey+mapKeyWithId :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.MapKey+mapKeyWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ 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.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.MapKey+mapKeyWithName :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.MapKey+mapKeyWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.MapKey+mapKeyWithSchema :: Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.MapKey+mapKeyWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ 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.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapKey"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.MapValue+mapValue :: Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapValue+mapValue name schema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.MapValue+mapValueComment :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String)+mapValueComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.MapValue+mapValueDescription :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String)+mapValueDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.MapValue+mapValueDisplayName :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String)+mapValueDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.MapValue+mapValueId :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe Dtld.Dtmi)+mapValueId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.MapValue+mapValueMapValue :: Typed.TypedName Dtld.MapValue+mapValueMapValue = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.MapValue")++-- | DSL accessor for the name field of hydra.ext.azure.dtld.MapValue+mapValueName :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm String+mapValueName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.MapValue+mapValueSchema :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm Dtld.Schema+mapValueSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.MapValue+mapValueWithComment :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapValue+mapValueWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ 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.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.MapValue+mapValueWithDescription :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapValue+mapValueWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ 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.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.MapValue+mapValueWithDisplayName :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.MapValue+mapValueWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ 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.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.MapValue+mapValueWithId :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.MapValue+mapValueWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ 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.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.MapValue+mapValueWithName :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.MapValue+mapValueWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.MapValue+mapValueWithSchema :: Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.MapValue+mapValueWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ 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.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.MapValue"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.Property+property :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Dtld.Unit) -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Dtld.Property+property type_ name schema id comment description displayName unit writable =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm unit)},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Typed.unTypedTerm writable)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Property+propertyComment :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String)+propertyComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Property+propertyDescription :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String)+propertyDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Property+propertyDisplayName :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String)+propertyDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Property+propertyId :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Dtld.Dtmi)+propertyId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Property+propertyName :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm String+propertyName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Property+propertyProperty :: Typed.TypedName Dtld.Property+propertyProperty = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Property")++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.Property+propertySchema :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm Dtld.Schema+propertySchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Property+propertyType :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm Dtld.Iri+propertyType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the unit field of hydra.ext.azure.dtld.Property+propertyUnit :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Dtld.Unit)+propertyUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Property+propertyWithComment :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Property+propertyWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Property+propertyWithDescription :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Property+propertyWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Property+propertyWithDisplayName :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Property+propertyWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Property+propertyWithId :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Property+propertyWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Property+propertyWithName :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Property+propertyWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.Property+propertyWithSchema :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.Property+propertyWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Property+propertyWithType :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Property+propertyWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unit field of hydra.ext.azure.dtld.Property+propertyWithUnit :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Dtld.Unit) -> Typed.TypedTerm Dtld.Property+propertyWithUnit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the writable field of hydra.ext.azure.dtld.Property+propertyWithWritable :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Dtld.Property+propertyWithWritable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the writable field of hydra.ext.azure.dtld.Property+propertyWritable :: Typed.TypedTerm Dtld.Property -> Typed.TypedTerm (Maybe Bool)+propertyWritable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Property"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.azure.dtld.Relationship+relationship :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe (S.Set Dtld.Property)) -> Typed.TypedTerm (Maybe Dtld.Interface) -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Dtld.Relationship+relationship type_ name id comment description displayName maxMultiplicity minMultiplicity properties target writable =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Typed.unTypedTerm maxMultiplicity)},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Typed.unTypedTerm minMultiplicity)},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Typed.unTypedTerm properties)},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Typed.unTypedTerm writable)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Relationship+relationshipComment :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String)+relationshipComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Relationship+relationshipDescription :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String)+relationshipDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Relationship+relationshipDisplayName :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String)+relationshipDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Relationship+relationshipId :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Dtld.Dtmi)+relationshipId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the maxMultiplicity field of hydra.ext.azure.dtld.Relationship+relationshipMaxMultiplicity :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Int)+relationshipMaxMultiplicity x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the minMultiplicity field of hydra.ext.azure.dtld.Relationship+relationshipMinMultiplicity :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Int)+relationshipMinMultiplicity x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Relationship+relationshipName :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm String+relationshipName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the properties field of hydra.ext.azure.dtld.Relationship+relationshipProperties :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe (S.Set Dtld.Property))+relationshipProperties x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Relationship+relationshipRelationship :: Typed.TypedName Dtld.Relationship+relationshipRelationship = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Relationship")++-- | DSL accessor for the target field of hydra.ext.azure.dtld.Relationship+relationshipTarget :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Dtld.Interface)+relationshipTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Relationship+relationshipType :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm Dtld.Iri+relationshipType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Relationship+relationshipWithComment :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Relationship+relationshipWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Relationship+relationshipWithDescription :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Relationship+relationshipWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Relationship+relationshipWithDisplayName :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Relationship+relationshipWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Relationship+relationshipWithId :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Relationship+relationshipWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the maxMultiplicity field of hydra.ext.azure.dtld.Relationship+relationshipWithMaxMultiplicity :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Dtld.Relationship+relationshipWithMaxMultiplicity original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the minMultiplicity field of hydra.ext.azure.dtld.Relationship+relationshipWithMinMultiplicity :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Dtld.Relationship+relationshipWithMinMultiplicity original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Relationship+relationshipWithName :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Relationship+relationshipWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the properties field of hydra.ext.azure.dtld.Relationship+relationshipWithProperties :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe (S.Set Dtld.Property)) -> Typed.TypedTerm Dtld.Relationship+relationshipWithProperties original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the target field of hydra.ext.azure.dtld.Relationship+relationshipWithTarget :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Dtld.Interface) -> Typed.TypedTerm Dtld.Relationship+relationshipWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Relationship+relationshipWithType :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Relationship+relationshipWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the writable field of hydra.ext.azure.dtld.Relationship+relationshipWithWritable :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Dtld.Relationship+relationshipWithWritable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "maxMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minMultiplicity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "minMultiplicity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "writable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the writable field of hydra.ext.azure.dtld.Relationship+relationshipWritable :: Typed.TypedTerm Dtld.Relationship -> Typed.TypedTerm (Maybe Bool)+relationshipWritable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Relationship"),+ Model.projectionFieldName = (Model.Name "writable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.azure.dtld.SchemaArray+schemaArray :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaArray+schemaArray type_ elementSchema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Typed.unTypedTerm elementSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.SchemaArray+schemaArrayComment :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String)+schemaArrayComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.SchemaArray+schemaArrayDescription :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String)+schemaArrayDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.SchemaArray+schemaArrayDisplayName :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String)+schemaArrayDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elementSchema field of hydra.ext.azure.dtld.SchemaArray+schemaArrayElementSchema :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.Schema+schemaArrayElementSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.SchemaArray+schemaArrayId :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe Dtld.Dtmi)+schemaArrayId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaArray+schemaArraySchemaArray :: Typed.TypedName Dtld.SchemaArray+schemaArraySchemaArray = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaArray")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.SchemaArray+schemaArrayType :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.Iri+schemaArrayType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithComment :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithDescription :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithDisplayName :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the elementSchema field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithElementSchema :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithElementSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithId :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.SchemaArray+schemaArrayWithType :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.SchemaArray+schemaArrayWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elementSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "elementSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaArray"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the complex variant of hydra.ext.azure.dtld.Schema+schemaComplex :: Typed.TypedTerm Dtld.SchemaComplex -> Typed.TypedTerm Dtld.Schema+schemaComplex x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "complex"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the array variant of hydra.ext.azure.dtld.SchemaComplex+schemaComplexArray :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.SchemaComplex+schemaComplexArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaComplex"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.azure.dtld.SchemaComplex+schemaComplexEnum :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.SchemaComplex+schemaComplexEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaComplex"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.azure.dtld.SchemaComplex+schemaComplexMap :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.SchemaComplex+schemaComplexMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaComplex"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.azure.dtld.SchemaComplex+schemaComplexObject :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm Dtld.SchemaComplex+schemaComplexObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaComplex"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaComplex+schemaComplexSchemaComplex :: Typed.TypedName Dtld.SchemaComplex+schemaComplexSchemaComplex = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaComplex")++-- | DSL constructor for hydra.ext.azure.dtld.SchemaEnum+schemaEnum :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm [Dtld.EnumValue] -> Typed.TypedTerm Dtld.IntegerOrString -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnum type_ enumValues valueSchema id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Typed.unTypedTerm enumValues)},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Typed.unTypedTerm valueSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumComment :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String)+schemaEnumComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumDescription :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String)+schemaEnumDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumDisplayName :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String)+schemaEnumDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the enumValues field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumEnumValues :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm [Dtld.EnumValue]+schemaEnumEnumValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumId :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe Dtld.Dtmi)+schemaEnumId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaEnum+schemaEnumSchemaEnum :: Typed.TypedName Dtld.SchemaEnum+schemaEnumSchemaEnum = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaEnum")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumType :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.Iri+schemaEnumType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valueSchema field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumValueSchema :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.IntegerOrString+schemaEnumValueSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithComment :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithDescription :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithDisplayName :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the enumValues field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithEnumValues :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm [Dtld.EnumValue] -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithEnumValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithId :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithType :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "valueSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the valueSchema field of hydra.ext.azure.dtld.SchemaEnum+schemaEnumWithValueSchema :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.IntegerOrString -> Typed.TypedTerm Dtld.SchemaEnum+schemaEnumWithValueSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "enumValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "enumValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaEnum"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.SchemaInterface+schemaInterface :: Typed.TypedTerm Dtld.Dtmi -> Typed.TypedTerm Dtld.SchemaInterfaceType -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterface id type_ comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceComment :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String)+schemaInterfaceComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceDescription :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String)+schemaInterfaceDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceDisplayName :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String)+schemaInterfaceDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceId :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm Dtld.Dtmi+schemaInterfaceId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceSchemaInterface :: Typed.TypedName Dtld.SchemaInterface+schemaInterfaceSchemaInterface = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaInterface")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceType :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm Dtld.SchemaInterfaceType+schemaInterfaceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the array variant of hydra.ext.azure.dtld.SchemaInterfaceType+schemaInterfaceTypeArray :: Typed.TypedTerm Dtld.SchemaArray -> Typed.TypedTerm Dtld.SchemaInterfaceType+schemaInterfaceTypeArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.azure.dtld.SchemaInterfaceType+schemaInterfaceTypeEnum :: Typed.TypedTerm Dtld.SchemaEnum -> Typed.TypedTerm Dtld.SchemaInterfaceType+schemaInterfaceTypeEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.azure.dtld.SchemaInterfaceType+schemaInterfaceTypeMap :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.SchemaInterfaceType+schemaInterfaceTypeMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.azure.dtld.SchemaInterfaceType+schemaInterfaceTypeObject :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm Dtld.SchemaInterfaceType+schemaInterfaceTypeObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaInterfaceType+schemaInterfaceTypeSchemaInterfaceType :: Typed.TypedName Dtld.SchemaInterfaceType+schemaInterfaceTypeSchemaInterfaceType = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaInterfaceType")++-- | DSL updater for the comment field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceWithComment :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterfaceWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceWithDescription :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterfaceWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceWithDisplayName :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterfaceWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "id")})),+ 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.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceWithId :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm Dtld.Dtmi -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterfaceWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ 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.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.SchemaInterface+schemaInterfaceWithType :: Typed.TypedTerm Dtld.SchemaInterface -> Typed.TypedTerm Dtld.SchemaInterfaceType -> Typed.TypedTerm Dtld.SchemaInterface+schemaInterfaceWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaInterface"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.SchemaMap+schemaMap :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaMap+schemaMap type_ mapKey mapValue id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Typed.unTypedTerm mapKey)},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Typed.unTypedTerm mapValue)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.SchemaMap+schemaMapComment :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String)+schemaMapComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.SchemaMap+schemaMapDescription :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String)+schemaMapDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.SchemaMap+schemaMapDisplayName :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String)+schemaMapDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.SchemaMap+schemaMapId :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe Dtld.Dtmi)+schemaMapId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the mapKey field of hydra.ext.azure.dtld.SchemaMap+schemaMapMapKey :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.MapKey+schemaMapMapKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the mapValue field of hydra.ext.azure.dtld.SchemaMap+schemaMapMapValue :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.MapValue+schemaMapMapValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaMap+schemaMapSchemaMap :: Typed.TypedName Dtld.SchemaMap+schemaMapSchemaMap = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaMap")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.SchemaMap+schemaMapType :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.Iri+schemaMapType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithComment :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithDescription :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithDisplayName :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithId :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the mapKey field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithMapKey :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.MapKey -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithMapKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the mapValue field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithMapValue :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.MapValue -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithMapValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.SchemaMap+schemaMapWithType :: Typed.TypedTerm Dtld.SchemaMap -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.SchemaMap+schemaMapWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "mapKey"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapKey")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "mapValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "mapValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaMap"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.azure.dtld.SchemaObject+schemaObject :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm (S.Set Dtld.Field) -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaObject+schemaObject type_ fields id comment description displayName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.SchemaObject+schemaObjectComment :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String)+schemaObjectComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.SchemaObject+schemaObjectDescription :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String)+schemaObjectDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.SchemaObject+schemaObjectDisplayName :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String)+schemaObjectDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the fields field of hydra.ext.azure.dtld.SchemaObject+schemaObjectFields :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (S.Set Dtld.Field)+schemaObjectFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.SchemaObject+schemaObjectId :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe Dtld.Dtmi)+schemaObjectId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaObject+schemaObjectSchemaObject :: Typed.TypedName Dtld.SchemaObject+schemaObjectSchemaObject = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaObject")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.SchemaObject+schemaObjectType :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm Dtld.Iri+schemaObjectType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithComment :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithDescription :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithDisplayName :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the fields field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithFields :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (S.Set Dtld.Field) -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithId :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.SchemaObject+schemaObjectWithType :: Typed.TypedTerm Dtld.SchemaObject -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.SchemaObject+schemaObjectWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaObject"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the primitive variant of hydra.ext.azure.dtld.Schema+schemaPrimitive :: Typed.TypedTerm Dtld.SchemaPrimitive -> Typed.TypedTerm Dtld.Schema+schemaPrimitive x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primitive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the boolean variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveBoolean :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the date variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveDate :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveDate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "date"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dateTime variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveDateTime :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveDateTime =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dateTime"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveDouble :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the duration variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveDuration :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveDuration =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "duration"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveFloat :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the integer variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveInteger :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveInteger =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the long variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveLong :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveSchemaPrimitive :: Typed.TypedName Dtld.SchemaPrimitive+schemaPrimitiveSchemaPrimitive = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive")++-- | DSL injection for the string variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveString :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the time variant of hydra.ext.azure.dtld.SchemaPrimitive+schemaPrimitiveTime :: Typed.TypedTerm Dtld.SchemaPrimitive+schemaPrimitiveTime =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.azure.dtld.SchemaPrimitive"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "time"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.azure.dtld.Schema+schemaSchema :: Typed.TypedName Dtld.Schema+schemaSchema = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Schema")++-- | DSL constructor for hydra.ext.azure.dtld.Telemetry+telemetry :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Dtld.Unit) -> Typed.TypedTerm Dtld.Telemetry+telemetry type_ name schema id comment description displayName unit =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm displayName)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm unit)}]}))++-- | DSL accessor for the comment field of hydra.ext.azure.dtld.Telemetry+telemetryComment :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String)+telemetryComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the description field of hydra.ext.azure.dtld.Telemetry+telemetryDescription :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String)+telemetryDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the displayName field of hydra.ext.azure.dtld.Telemetry+telemetryDisplayName :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String)+telemetryDisplayName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.azure.dtld.Telemetry+telemetryId :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe Dtld.Dtmi)+telemetryId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.azure.dtld.Telemetry+telemetryName :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm String+telemetryName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.azure.dtld.Telemetry+telemetrySchema :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm Dtld.Schema+telemetrySchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Telemetry+telemetryTelemetry :: Typed.TypedName Dtld.Telemetry+telemetryTelemetry = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Telemetry")++-- | DSL accessor for the type field of hydra.ext.azure.dtld.Telemetry+telemetryType :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm Dtld.Iri+telemetryType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the unit field of hydra.ext.azure.dtld.Telemetry+telemetryUnit :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe Dtld.Unit)+telemetryUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.ext.azure.dtld.Telemetry+telemetryWithComment :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Telemetry+telemetryWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the description field of hydra.ext.azure.dtld.Telemetry+telemetryWithDescription :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Telemetry+telemetryWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the displayName field of hydra.ext.azure.dtld.Telemetry+telemetryWithDisplayName :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Dtld.Telemetry+telemetryWithDisplayName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.azure.dtld.Telemetry+telemetryWithId :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe Dtld.Dtmi) -> Typed.TypedTerm Dtld.Telemetry+telemetryWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.azure.dtld.Telemetry+telemetryWithName :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm String -> Typed.TypedTerm Dtld.Telemetry+telemetryWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.azure.dtld.Telemetry+telemetryWithSchema :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm Dtld.Schema -> Typed.TypedTerm Dtld.Telemetry+telemetryWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.azure.dtld.Telemetry+telemetryWithType :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm Dtld.Telemetry+telemetryWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unit field of hydra.ext.azure.dtld.Telemetry+telemetryWithUnit :: Typed.TypedTerm Dtld.Telemetry -> Typed.TypedTerm (Maybe Dtld.Unit) -> Typed.TypedTerm Dtld.Telemetry+telemetryWithUnit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "displayName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.azure.dtld.Telemetry"),+ Model.projectionFieldName = (Model.Name "displayName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the body of hydra.ext.azure.dtld.Dtmi+unDtmi :: Typed.TypedTerm Dtld.Dtmi -> Typed.TypedTerm String+unDtmi x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.azure.dtld.Dtmi")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.azure.dtld.Iri+unIri :: Typed.TypedTerm Dtld.Iri -> Typed.TypedTerm String+unIri x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.azure.dtld.Iri")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.azure.dtld.Unit+unUnit :: Typed.TypedTerm Dtld.Unit -> Typed.TypedTerm ()+unUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.azure.dtld.Unit")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.azure.dtld.Unit wrapper+unit :: Typed.TypedTerm () -> Typed.TypedTerm Dtld.Unit+unit x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.azure.dtld.Unit"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.azure.dtld.Unit+unitUnit :: Typed.TypedName Dtld.Unit+unitUnit = Typed.TypedName (Model.Name "hydra.ext.azure.dtld.Unit")
+ src/main/haskell/Hydra/Ext/Dsl/Cpp/Environment.hs view
@@ -0,0 +1,84 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.cpp.environment++module Hydra.Ext.Dsl.Cpp.Environment where++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.Util as Util+import qualified Hydra.Ext.Cpp.Environment as Environment+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++-- | DSL constructor for hydra.ext.cpp.environment.CppEnvironment+cppEnvironment :: Typed.TypedTerm (Util.ModuleNames String) -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name String)) -> Typed.TypedTerm Environment.CppEnvironment+cppEnvironment namespaces boundTypeVariables =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.environment.CppEnvironment"),+ 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)}]}))++-- | DSL accessor for the boundTypeVariables field of hydra.ext.cpp.environment.CppEnvironment+cppEnvironmentBoundTypeVariables :: Typed.TypedTerm Environment.CppEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name String))+cppEnvironmentBoundTypeVariables x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.environment.CppEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.environment.CppEnvironment+cppEnvironmentCppEnvironment :: Typed.TypedName Environment.CppEnvironment+cppEnvironmentCppEnvironment = Typed.TypedName (Model.Name "hydra.ext.cpp.environment.CppEnvironment")++-- | DSL accessor for the namespaces field of hydra.ext.cpp.environment.CppEnvironment+cppEnvironmentNamespaces :: Typed.TypedTerm Environment.CppEnvironment -> Typed.TypedTerm (Util.ModuleNames String)+cppEnvironmentNamespaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.environment.CppEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the boundTypeVariables field of hydra.ext.cpp.environment.CppEnvironment+cppEnvironmentWithBoundTypeVariables :: Typed.TypedTerm Environment.CppEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name String)) -> Typed.TypedTerm Environment.CppEnvironment+cppEnvironmentWithBoundTypeVariables original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.environment.CppEnvironment"),+ 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.ext.cpp.environment.CppEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the namespaces field of hydra.ext.cpp.environment.CppEnvironment+cppEnvironmentWithNamespaces :: Typed.TypedTerm Environment.CppEnvironment -> Typed.TypedTerm (Util.ModuleNames String) -> Typed.TypedTerm Environment.CppEnvironment+cppEnvironmentWithNamespaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.environment.CppEnvironment"),+ 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.ext.cpp.environment.CppEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Cpp/Syntax.hs view
@@ -0,0 +1,8910 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.cpp.syntax++module Hydra.Ext.Dsl.Cpp.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Cpp.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.ext.cpp.syntax.AccessSpecifier+accessSpecifierAccessSpecifier :: Typed.TypedName Syntax.AccessSpecifier+accessSpecifierAccessSpecifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AccessSpecifier")++-- | DSL injection for the none variant of hydra.ext.cpp.syntax.AccessSpecifier+accessSpecifierNone :: Typed.TypedTerm Syntax.AccessSpecifier+accessSpecifierNone =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AccessSpecifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "none"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.cpp.syntax.AccessSpecifier+accessSpecifierPrivate :: Typed.TypedTerm Syntax.AccessSpecifier+accessSpecifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AccessSpecifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.cpp.syntax.AccessSpecifier+accessSpecifierProtected :: Typed.TypedTerm Syntax.AccessSpecifier+accessSpecifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AccessSpecifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.cpp.syntax.AccessSpecifier+accessSpecifierPublic :: Typed.TypedTerm Syntax.AccessSpecifier+accessSpecifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AccessSpecifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.AddOperation+addOperation :: Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.AddOperation+addOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.AddOperation+addOperationAddOperation :: Typed.TypedName Syntax.AddOperation+addOperationAddOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AddOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.AddOperation+addOperationLeft :: Typed.TypedTerm Syntax.AddOperation -> Typed.TypedTerm Syntax.AdditiveExpression+addOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.AddOperation+addOperationRight :: Typed.TypedTerm Syntax.AddOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+addOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.AddOperation+addOperationWithLeft :: Typed.TypedTerm Syntax.AddOperation -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.AddOperation+addOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.AddOperation+addOperationWithRight :: Typed.TypedTerm Syntax.AddOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.AddOperation+addOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AddOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the add variant of hydra.ext.cpp.syntax.AdditiveExpression+additiveExpressionAdd :: Typed.TypedTerm Syntax.AddOperation -> Typed.TypedTerm Syntax.AdditiveExpression+additiveExpressionAdd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AdditiveExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "add"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.AdditiveExpression+additiveExpressionAdditiveExpression :: Typed.TypedName Syntax.AdditiveExpression+additiveExpressionAdditiveExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AdditiveExpression")++-- | DSL injection for the multiplicative variant of hydra.ext.cpp.syntax.AdditiveExpression+additiveExpressionMultiplicative :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.AdditiveExpression+additiveExpressionMultiplicative x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AdditiveExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiplicative"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the subtract variant of hydra.ext.cpp.syntax.AdditiveExpression+additiveExpressionSubtract :: Typed.TypedTerm Syntax.SubtractOperation -> Typed.TypedTerm Syntax.AdditiveExpression+additiveExpressionSubtract x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AdditiveExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subtract"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.AndExpression+andExpressionAndExpression :: Typed.TypedName Syntax.AndExpression+andExpressionAndExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AndExpression")++-- | DSL injection for the bitwiseAnd variant of hydra.ext.cpp.syntax.AndExpression+andExpressionBitwiseAnd :: Typed.TypedTerm Syntax.BitwiseAndOperation -> Typed.TypedTerm Syntax.AndExpression+andExpressionBitwiseAnd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseAnd"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the equality variant of hydra.ext.cpp.syntax.AndExpression+andExpressionEquality :: Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.AndExpression+andExpressionEquality x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equality"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the assignment variant of hydra.ext.cpp.syntax.AssignmentExpression+assignmentExpressionAssignment :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.AssignmentExpression+assignmentExpressionAssignmentExpression :: Typed.TypedName Syntax.AssignmentExpression+assignmentExpressionAssignmentExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AssignmentExpression")++-- | DSL injection for the conditional variant of hydra.ext.cpp.syntax.AssignmentExpression+assignmentExpressionConditional :: Typed.TypedTerm Syntax.ConditionalExpression -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionConditional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "conditional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the assign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorAssignmentOperator :: Typed.TypedName Syntax.AssignmentOperator+assignmentOperatorAssignmentOperator = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator")++-- | DSL injection for the bitwiseAndAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorBitwiseAndAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorBitwiseAndAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseAndAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bitwiseOrAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorBitwiseOrAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorBitwiseOrAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseOrAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bitwiseXorAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorBitwiseXorAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorBitwiseXorAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseXorAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the divideAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorDivideAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorDivideAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divideAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShiftAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorLeftShiftAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorLeftShiftAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShiftAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minusAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorMinusAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorMinusAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minusAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the moduloAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorModuloAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorModuloAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "moduloAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the multiplyAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorMultiplyAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorMultiplyAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiplyAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plusAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorPlusAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorPlusAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plusAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightShiftAssign variant of hydra.ext.cpp.syntax.AssignmentOperator+assignmentOperatorRightShiftAssign :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorRightShiftAssign =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShiftAssign"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifier :: Typed.TypedTerm Syntax.AccessSpecifier -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.BaseSpecifier+baseSpecifier access name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "access"),+ Model.fieldTerm = (Typed.unTypedTerm access)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the access field of hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifierAccess :: Typed.TypedTerm Syntax.BaseSpecifier -> Typed.TypedTerm Syntax.AccessSpecifier+baseSpecifierAccess x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.projectionFieldName = (Model.Name "access")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifierBaseSpecifier :: Typed.TypedName Syntax.BaseSpecifier+baseSpecifierBaseSpecifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifierName :: Typed.TypedTerm Syntax.BaseSpecifier -> Typed.TypedTerm String+baseSpecifierName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the access field of hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifierWithAccess :: Typed.TypedTerm Syntax.BaseSpecifier -> Typed.TypedTerm Syntax.AccessSpecifier -> Typed.TypedTerm Syntax.BaseSpecifier+baseSpecifierWithAccess original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "access"),+ 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.ext.cpp.syntax.BaseSpecifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.BaseSpecifier+baseSpecifierWithName :: Typed.TypedTerm Syntax.BaseSpecifier -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.BaseSpecifier+baseSpecifierWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "access"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BaseSpecifier"),+ Model.projectionFieldName = (Model.Name "access")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the auto variant of hydra.ext.cpp.syntax.BasicType+basicTypeAuto :: Typed.TypedTerm Syntax.BasicType+basicTypeAuto =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "auto"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.BasicType+basicTypeBasicType :: Typed.TypedName Syntax.BasicType+basicTypeBasicType = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BasicType")++-- | DSL injection for the bool variant of hydra.ext.cpp.syntax.BasicType+basicTypeBool :: Typed.TypedTerm Syntax.BasicType+basicTypeBool =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bool"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the char variant of hydra.ext.cpp.syntax.BasicType+basicTypeChar :: Typed.TypedTerm Syntax.BasicType+basicTypeChar =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "char"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.cpp.syntax.BasicType+basicTypeDouble :: Typed.TypedTerm Syntax.BasicType+basicTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.cpp.syntax.BasicType+basicTypeFloat :: Typed.TypedTerm Syntax.BasicType+basicTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int variant of hydra.ext.cpp.syntax.BasicType+basicTypeInt :: Typed.TypedTerm Syntax.BasicType+basicTypeInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the named variant of hydra.ext.cpp.syntax.BasicType+basicTypeNamed :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.BasicType+basicTypeNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.cpp.syntax.BasicType+basicTypeString :: Typed.TypedTerm Syntax.BasicType+basicTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the void variant of hydra.ext.cpp.syntax.BasicType+basicTypeVoid :: Typed.TypedTerm Syntax.BasicType+basicTypeVoid =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BasicType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "void"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorBinaryOperator :: Typed.TypedName Syntax.BinaryOperator+binaryOperatorBinaryOperator = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BinaryOperator")++-- | DSL injection for the bitwiseAnd variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorBitwiseAnd :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorBitwiseAnd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseAnd"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bitwiseOr variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorBitwiseOr :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorBitwiseOr =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseOr"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bitwiseXor variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorBitwiseXor :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorBitwiseXor =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseXor"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the divide variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorDivide :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorDivide =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divide"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the equal variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorEqual :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greater variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorGreater :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorGreater =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greater"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greaterEqual variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorGreaterEqual :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorGreaterEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShift variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorLeftShift :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorLeftShift =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShift"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the less variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorLess :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorLess =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "less"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessEqual variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorLessEqual :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorLessEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the logicalAnd variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorLogicalAnd :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorLogicalAnd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalAnd"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the logicalOr variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorLogicalOr :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorLogicalOr =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalOr"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minus variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorMinus :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the modulo variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorModulo :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorModulo =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modulo"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the multiply variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorMultiply :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorMultiply =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiply"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the notEqual variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorNotEqual :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorNotEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorPlus :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightShift variant of hydra.ext.cpp.syntax.BinaryOperator+binaryOperatorRightShift :: Typed.TypedTerm Syntax.BinaryOperator+binaryOperatorRightShift =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShift"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperation :: Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.BitwiseAndOperation+bitwiseAndOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperationBitwiseAndOperation :: Typed.TypedName Syntax.BitwiseAndOperation+bitwiseAndOperationBitwiseAndOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperationLeft :: Typed.TypedTerm Syntax.BitwiseAndOperation -> Typed.TypedTerm Syntax.AndExpression+bitwiseAndOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperationRight :: Typed.TypedTerm Syntax.BitwiseAndOperation -> Typed.TypedTerm Syntax.EqualityExpression+bitwiseAndOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperationWithLeft :: Typed.TypedTerm Syntax.BitwiseAndOperation -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BitwiseAndOperation+bitwiseAndOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.BitwiseAndOperation+bitwiseAndOperationWithRight :: Typed.TypedTerm Syntax.BitwiseAndOperation -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.BitwiseAndOperation+bitwiseAndOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseAndOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperation :: Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BitwiseOrOperation+bitwiseOrOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperationBitwiseOrOperation :: Typed.TypedName Syntax.BitwiseOrOperation+bitwiseOrOperationBitwiseOrOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperationLeft :: Typed.TypedTerm Syntax.BitwiseOrOperation -> Typed.TypedTerm Syntax.InclusiveOrExpression+bitwiseOrOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperationRight :: Typed.TypedTerm Syntax.BitwiseOrOperation -> Typed.TypedTerm Syntax.ExclusiveOrExpression+bitwiseOrOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperationWithLeft :: Typed.TypedTerm Syntax.BitwiseOrOperation -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.BitwiseOrOperation+bitwiseOrOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.BitwiseOrOperation+bitwiseOrOperationWithRight :: Typed.TypedTerm Syntax.BitwiseOrOperation -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BitwiseOrOperation+bitwiseOrOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseOrOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperation :: Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BitwiseXorOperation+bitwiseXorOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperationBitwiseXorOperation :: Typed.TypedName Syntax.BitwiseXorOperation+bitwiseXorOperationBitwiseXorOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperationLeft :: Typed.TypedTerm Syntax.BitwiseXorOperation -> Typed.TypedTerm Syntax.ExclusiveOrExpression+bitwiseXorOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperationRight :: Typed.TypedTerm Syntax.BitwiseXorOperation -> Typed.TypedTerm Syntax.AndExpression+bitwiseXorOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperationWithLeft :: Typed.TypedTerm Syntax.BitwiseXorOperation -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BitwiseXorOperation+bitwiseXorOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.BitwiseXorOperation+bitwiseXorOperationWithRight :: Typed.TypedTerm Syntax.BitwiseXorOperation -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BitwiseXorOperation+bitwiseXorOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.BitwiseXorOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.cpp.syntax.BooleanLiteral wrapper+booleanLiteral :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.BooleanLiteral+booleanLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.BooleanLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.BooleanLiteral+booleanLiteralBooleanLiteral :: Typed.TypedName Syntax.BooleanLiteral+booleanLiteralBooleanLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.BooleanLiteral")++-- | DSL constructor for hydra.ext.cpp.syntax.Capture+capture :: Typed.TypedTerm String -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Capture+capture name byReference =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "byReference"),+ Model.fieldTerm = (Typed.unTypedTerm byReference)}]}))++-- | DSL accessor for the byReference field of hydra.ext.cpp.syntax.Capture+captureByReference :: Typed.TypedTerm Syntax.Capture -> Typed.TypedTerm Bool+captureByReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ Model.projectionFieldName = (Model.Name "byReference")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Capture+captureCapture :: Typed.TypedName Syntax.Capture+captureCapture = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Capture")++-- | DSL injection for the captureByValue variant of hydra.ext.cpp.syntax.CaptureList+captureListCaptureByValue :: Typed.TypedTerm Syntax.CaptureList+captureListCaptureByValue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaptureList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "captureByValue"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.CaptureList+captureListCaptureList :: Typed.TypedName Syntax.CaptureList+captureListCaptureList = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CaptureList")++-- | DSL injection for the captures variant of hydra.ext.cpp.syntax.CaptureList+captureListCaptures :: Typed.TypedTerm [Syntax.Capture] -> Typed.TypedTerm Syntax.CaptureList+captureListCaptures x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaptureList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.Capture+captureName :: Typed.TypedTerm Syntax.Capture -> Typed.TypedTerm String+captureName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the byReference field of hydra.ext.cpp.syntax.Capture+captureWithByReference :: Typed.TypedTerm Syntax.Capture -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Capture+captureWithByReference original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ 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.ext.cpp.syntax.Capture"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "byReference"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.Capture+captureWithName :: Typed.TypedTerm Syntax.Capture -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Capture+captureWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "byReference"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Capture"),+ Model.projectionFieldName = (Model.Name "byReference")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the case variant of hydra.ext.cpp.syntax.CaseStatement+caseStatementCase :: Typed.TypedTerm Syntax.CaseValue -> Typed.TypedTerm Syntax.CaseStatement+caseStatementCase x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "case"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.CaseStatement+caseStatementCaseStatement :: Typed.TypedName Syntax.CaseStatement+caseStatementCaseStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CaseStatement")++-- | DSL injection for the default variant of hydra.ext.cpp.syntax.CaseStatement+caseStatementDefault :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.CaseStatement+caseStatementDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.CaseValue+caseValue :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.CaseValue+caseValue value statement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.CaseValue+caseValueCaseValue :: Typed.TypedName Syntax.CaseValue+caseValueCaseValue = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CaseValue")++-- | DSL accessor for the statement field of hydra.ext.cpp.syntax.CaseValue+caseValueStatement :: Typed.TypedTerm Syntax.CaseValue -> Typed.TypedTerm Syntax.Statement+caseValueStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseValue"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the value field of hydra.ext.cpp.syntax.CaseValue+caseValueValue :: Typed.TypedTerm Syntax.CaseValue -> Typed.TypedTerm Syntax.Expression+caseValueValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseValue"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the statement field of hydra.ext.cpp.syntax.CaseValue+caseValueWithStatement :: Typed.TypedTerm Syntax.CaseValue -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.CaseValue+caseValueWithStatement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseValue"),+ 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.ext.cpp.syntax.CaseValue"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.ext.cpp.syntax.CaseValue+caseValueWithValue :: Typed.TypedTerm Syntax.CaseValue -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.CaseValue+caseValueWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CaseValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ 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.ext.cpp.syntax.CaseValue"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.cpp.syntax.CharacterLiteral wrapper+characterLiteral :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.CharacterLiteral+characterLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.CharacterLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.CharacterLiteral+characterLiteralCharacterLiteral :: Typed.TypedName Syntax.CharacterLiteral+characterLiteralCharacterLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CharacterLiteral")++-- | DSL constructor for the hydra.ext.cpp.syntax.ClassBody wrapper+classBody :: Typed.TypedTerm [Syntax.MemberSpecification] -> Typed.TypedTerm Syntax.ClassBody+classBody x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassBody"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ClassBody+classBodyClassBody :: Typed.TypedName Syntax.ClassBody+classBodyClassBody = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ClassBody")++-- | DSL constructor for hydra.ext.cpp.syntax.ClassDeclaration+classDeclaration :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm (Maybe Syntax.ClassBody) -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclaration specifier body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Typed.unTypedTerm specifier)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.ClassDeclaration+classDeclarationBody :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.ClassBody)+classDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ClassDeclaration+classDeclarationClassDeclaration :: Typed.TypedName Syntax.ClassDeclaration+classDeclarationClassDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration")++-- | DSL accessor for the specifier field of hydra.ext.cpp.syntax.ClassDeclaration+classDeclarationSpecifier :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.ClassSpecifier+classDeclarationSpecifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "specifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.ClassDeclaration+classDeclarationWithBody :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.ClassBody) -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "specifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the specifier field of hydra.ext.cpp.syntax.ClassDeclaration+classDeclarationWithSpecifier :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithSpecifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ 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.ext.cpp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the class variant of hydra.ext.cpp.syntax.ClassKey+classKeyClass :: Typed.TypedTerm Syntax.ClassKey+classKeyClass =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassKey"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.ClassKey+classKeyClassKey :: Typed.TypedName Syntax.ClassKey+classKeyClassKey = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ClassKey")++-- | DSL injection for the enum variant of hydra.ext.cpp.syntax.ClassKey+classKeyEnum :: Typed.TypedTerm Syntax.ClassKey+classKeyEnum =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassKey"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the enumClass variant of hydra.ext.cpp.syntax.ClassKey+classKeyEnumClass :: Typed.TypedTerm Syntax.ClassKey+classKeyEnumClass =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassKey"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enumClass"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the struct variant of hydra.ext.cpp.syntax.ClassKey+classKeyStruct :: Typed.TypedTerm Syntax.ClassKey+classKeyStruct =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassKey"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.ClassSpecifier+classSpecifier :: Typed.TypedTerm Syntax.ClassKey -> Typed.TypedTerm String -> Typed.TypedTerm [Syntax.BaseSpecifier] -> Typed.TypedTerm Syntax.ClassSpecifier+classSpecifier key name inheritance =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Typed.unTypedTerm key)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "inheritance"),+ Model.fieldTerm = (Typed.unTypedTerm inheritance)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierClassSpecifier :: Typed.TypedName Syntax.ClassSpecifier+classSpecifierClassSpecifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier")++-- | DSL accessor for the inheritance field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierInheritance :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm [Syntax.BaseSpecifier]+classSpecifierInheritance x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "inheritance")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the key field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierKey :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm Syntax.ClassKey+classSpecifierKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierName :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm String+classSpecifierName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the inheritance field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierWithInheritance :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm [Syntax.BaseSpecifier] -> Typed.TypedTerm Syntax.ClassSpecifier+classSpecifierWithInheritance original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ 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.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "key")})),+ 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.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inheritance"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the key field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierWithKey :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm Syntax.ClassKey -> Typed.TypedTerm Syntax.ClassSpecifier+classSpecifierWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ 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.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inheritance"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "inheritance")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.ClassSpecifier+classSpecifierWithName :: Typed.TypedTerm Syntax.ClassSpecifier -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ClassSpecifier+classSpecifierWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ 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.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "inheritance"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ClassSpecifier"),+ Model.projectionFieldName = (Model.Name "inheritance")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.CommaExpression+commaExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.CommaExpression+commaExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.CommaExpression+commaExpressionCommaExpression :: Typed.TypedName Syntax.CommaExpression+commaExpressionCommaExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CommaExpression")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.CommaExpression+commaExpressionLeft :: Typed.TypedTerm Syntax.CommaExpression -> Typed.TypedTerm Syntax.Expression+commaExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.CommaExpression+commaExpressionRight :: Typed.TypedTerm Syntax.CommaExpression -> Typed.TypedTerm Syntax.AssignmentExpression+commaExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.CommaExpression+commaExpressionWithLeft :: Typed.TypedTerm Syntax.CommaExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.CommaExpression+commaExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.CommaExpression+commaExpressionWithRight :: Typed.TypedTerm Syntax.CommaExpression -> Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.CommaExpression+commaExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.CommaExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Comment+comment :: Typed.TypedTerm String -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Comment+comment text isMultiline =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "text"),+ Model.fieldTerm = (Typed.unTypedTerm text)},+ Model.Field {+ Model.fieldName = (Model.Name "isMultiline"),+ Model.fieldTerm = (Typed.unTypedTerm isMultiline)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.Comment+commentComment :: Typed.TypedName Syntax.Comment+commentComment = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Comment")++-- | DSL accessor for the isMultiline field of hydra.ext.cpp.syntax.Comment+commentIsMultiline :: Typed.TypedTerm Syntax.Comment -> Typed.TypedTerm Bool+commentIsMultiline x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.projectionFieldName = (Model.Name "isMultiline")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the text field of hydra.ext.cpp.syntax.Comment+commentText :: Typed.TypedTerm Syntax.Comment -> Typed.TypedTerm String+commentText x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.projectionFieldName = (Model.Name "text")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the isMultiline field of hydra.ext.cpp.syntax.Comment+commentWithIsMultiline :: Typed.TypedTerm Syntax.Comment -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Comment+commentWithIsMultiline original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "text"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.projectionFieldName = (Model.Name "text")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isMultiline"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the text field of hydra.ext.cpp.syntax.Comment+commentWithText :: Typed.TypedTerm Syntax.Comment -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Comment+commentWithText original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "text"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isMultiline"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Comment"),+ Model.projectionFieldName = (Model.Name "isMultiline")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.cpp.syntax.CompoundStatement wrapper+compoundStatement :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.CompoundStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.CompoundStatement+compoundStatementCompoundStatement :: Typed.TypedName Syntax.CompoundStatement+compoundStatementCompoundStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.CompoundStatement")++-- | DSL name token for hydra.ext.cpp.syntax.ConditionalExpression+conditionalExpressionConditionalExpression :: Typed.TypedName Syntax.ConditionalExpression+conditionalExpressionConditionalExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ConditionalExpression")++-- | DSL injection for the logicalOr variant of hydra.ext.cpp.syntax.ConditionalExpression+conditionalExpressionLogicalOr :: Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.ConditionalExpression+conditionalExpressionLogicalOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConditionalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalOr"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ternary variant of hydra.ext.cpp.syntax.ConditionalExpression+conditionalExpressionTernary :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.ConditionalExpression+conditionalExpressionTernary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConditionalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ternary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclaration :: Typed.TypedTerm String -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm [Syntax.MemInitializer] -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclaration name parameters initializers body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "initializers"),+ Model.fieldTerm = (Typed.unTypedTerm initializers)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationBody :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.FunctionBody+constructorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationConstructorDeclaration :: Typed.TypedName Syntax.ConstructorDeclaration+constructorDeclarationConstructorDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration")++-- | DSL accessor for the initializers field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationInitializers :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.MemInitializer]+constructorDeclarationInitializers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "initializers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationName :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm String+constructorDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationParameters :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.Parameter]+constructorDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationWithBody :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "initializers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the initializers field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationWithInitializers :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.MemInitializer] -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithInitializers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializers"),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationWithName :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "initializers")})),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.ConstructorDeclaration+constructorDeclarationWithParameters :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "initializers")})),+ 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.ext.cpp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.cpp.syntax.ContainerDeclaration+containerDeclarationContainerDeclaration :: Typed.TypedName Syntax.ContainerDeclaration+containerDeclarationContainerDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration")++-- | DSL injection for the list variant of hydra.ext.cpp.syntax.ContainerDeclaration+containerDeclarationList :: Typed.TypedTerm Syntax.ListDeclaration -> Typed.TypedTerm Syntax.ContainerDeclaration+containerDeclarationList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.cpp.syntax.ContainerDeclaration+containerDeclarationMap :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm Syntax.ContainerDeclaration+containerDeclarationMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the optional variant of hydra.ext.cpp.syntax.ContainerDeclaration+containerDeclarationOptional :: Typed.TypedTerm Syntax.OptionalDeclaration -> Typed.TypedTerm Syntax.ContainerDeclaration+containerDeclarationOptional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the set variant of hydra.ext.cpp.syntax.ContainerDeclaration+containerDeclarationSet :: Typed.TypedTerm Syntax.SetDeclaration -> Typed.TypedTerm Syntax.ContainerDeclaration+containerDeclarationSet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ContainerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the class variant of hydra.ext.cpp.syntax.Declaration+declarationClass :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.Declaration+declarationDeclaration :: Typed.TypedName Syntax.Declaration+declarationDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Declaration")++-- | DSL injection for the function variant of hydra.ext.cpp.syntax.Declaration+declarationFunction :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the namespace variant of hydra.ext.cpp.syntax.Declaration+declarationNamespace :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationNamespace x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the preprocessor variant of hydra.ext.cpp.syntax.Declaration+declarationPreprocessor :: Typed.TypedTerm Syntax.PreprocessorDirective -> Typed.TypedTerm Syntax.Declaration+declarationPreprocessor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preprocessor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the template variant of hydra.ext.cpp.syntax.Declaration+declarationTemplate :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationTemplate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "template"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typedef variant of hydra.ext.cpp.syntax.Declaration+declarationTypedef :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationTypedef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typedef"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the variable variant of hydra.ext.cpp.syntax.Declaration+declarationVariable :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Syntax.Declaration+declarationVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Declaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.DefineDirective+defineDirective :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.DefineDirective+defineDirective name parameters replacement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "replacement"),+ Model.fieldTerm = (Typed.unTypedTerm replacement)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.DefineDirective+defineDirectiveDefineDirective :: Typed.TypedName Syntax.DefineDirective+defineDirectiveDefineDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.DefineDirective")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveName :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm String+defineDirectiveName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveParameters :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm (Maybe [String])+defineDirectiveParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the replacement field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveReplacement :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm (Maybe String)+defineDirectiveReplacement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "replacement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveWithName :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.DefineDirective+defineDirectiveWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "replacement"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "replacement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveWithParameters :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm (Maybe [String]) -> Typed.TypedTerm Syntax.DefineDirective+defineDirectiveWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ 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.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "replacement"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "replacement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the replacement field of hydra.ext.cpp.syntax.DefineDirective+defineDirectiveWithReplacement :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.DefineDirective+defineDirectiveWithReplacement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ 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.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DefineDirective"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "replacement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclaration :: Typed.TypedTerm [Syntax.FunctionSpecifierPrefix] -> Typed.TypedTerm String -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix] -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.DestructorDeclaration+destructorDeclaration prefixSpecifiers name suffixSpecifiers body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm prefixSpecifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm suffixSpecifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationBody :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm Syntax.FunctionBody+destructorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationDestructorDeclaration :: Typed.TypedName Syntax.DestructorDeclaration+destructorDeclarationDestructorDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationName :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm String+destructorDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the prefixSpecifiers field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationPrefixSpecifiers :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierPrefix]+destructorDeclarationPrefixSpecifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the suffixSpecifiers field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationSuffixSpecifiers :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix]+destructorDeclarationSuffixSpecifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationWithBody :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.DestructorDeclaration+destructorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationWithName :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.DestructorDeclaration+destructorDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the prefixSpecifiers field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationWithPrefixSpecifiers :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierPrefix] -> Typed.TypedTerm Syntax.DestructorDeclaration+destructorDeclarationWithPrefixSpecifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the suffixSpecifiers field of hydra.ext.cpp.syntax.DestructorDeclaration+destructorDeclarationWithSuffixSpecifiers :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix] -> Typed.TypedTerm Syntax.DestructorDeclaration+destructorDeclarationWithSuffixSpecifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ 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.ext.cpp.syntax.DestructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.DivideOperation+divideOperation :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.DivideOperation+divideOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.DivideOperation+divideOperationDivideOperation :: Typed.TypedName Syntax.DivideOperation+divideOperationDivideOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.DivideOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.DivideOperation+divideOperationLeft :: Typed.TypedTerm Syntax.DivideOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+divideOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.DivideOperation+divideOperationRight :: Typed.TypedTerm Syntax.DivideOperation -> Typed.TypedTerm Syntax.UnaryExpression+divideOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.DivideOperation+divideOperationWithLeft :: Typed.TypedTerm Syntax.DivideOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.DivideOperation+divideOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.DivideOperation+divideOperationWithRight :: Typed.TypedTerm Syntax.DivideOperation -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.DivideOperation+divideOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DivideOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.DoStatement+doStatement :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.DoStatement+doStatement body condition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.DoStatement+doStatementBody :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.Statement+doStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.DoStatement+doStatementCondition :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.Expression+doStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.DoStatement+doStatementDoStatement :: Typed.TypedName Syntax.DoStatement+doStatementDoStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.DoStatement")++-- | DSL updater for the body field of hydra.ext.cpp.syntax.DoStatement+doStatementWithBody :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.DoStatement+doStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.DoStatement+doStatementWithCondition :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.DoStatement+doStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.DoStatement"),+ 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.ext.cpp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.ElifDirective+elifDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.ElifDirective+elifDirective condition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ElifDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)}]}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.ElifDirective+elifDirectiveCondition :: Typed.TypedTerm Syntax.ElifDirective -> Typed.TypedTerm String+elifDirectiveCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ElifDirective"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ElifDirective+elifDirectiveElifDirective :: Typed.TypedName Syntax.ElifDirective+elifDirectiveElifDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ElifDirective")++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.ElifDirective+elifDirectiveWithCondition :: Typed.TypedTerm Syntax.ElifDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ElifDirective+elifDirectiveWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ElifDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.EqualOperation+equalOperation :: Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.EqualOperation+equalOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.EqualOperation+equalOperationEqualOperation :: Typed.TypedName Syntax.EqualOperation+equalOperationEqualOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.EqualOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.EqualOperation+equalOperationLeft :: Typed.TypedTerm Syntax.EqualOperation -> Typed.TypedTerm Syntax.EqualityExpression+equalOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.EqualOperation+equalOperationRight :: Typed.TypedTerm Syntax.EqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+equalOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.EqualOperation+equalOperationWithLeft :: Typed.TypedTerm Syntax.EqualOperation -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.EqualOperation+equalOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.EqualOperation+equalOperationWithRight :: Typed.TypedTerm Syntax.EqualOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.EqualOperation+equalOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the equal variant of hydra.ext.cpp.syntax.EqualityExpression+equalityExpressionEqual :: Typed.TypedTerm Syntax.EqualOperation -> Typed.TypedTerm Syntax.EqualityExpression+equalityExpressionEqual x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualityExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.EqualityExpression+equalityExpressionEqualityExpression :: Typed.TypedName Syntax.EqualityExpression+equalityExpressionEqualityExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.EqualityExpression")++-- | DSL injection for the notEqual variant of hydra.ext.cpp.syntax.EqualityExpression+equalityExpressionNotEqual :: Typed.TypedTerm Syntax.NotEqualOperation -> Typed.TypedTerm Syntax.EqualityExpression+equalityExpressionNotEqual x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualityExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notEqual"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the relational variant of hydra.ext.cpp.syntax.EqualityExpression+equalityExpressionRelational :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.EqualityExpression+equalityExpressionRelational x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.EqualityExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "relational"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.ErrorDirective+errorDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.ErrorDirective+errorDirective message =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ErrorDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "message"),+ Model.fieldTerm = (Typed.unTypedTerm message)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.ErrorDirective+errorDirectiveErrorDirective :: Typed.TypedName Syntax.ErrorDirective+errorDirectiveErrorDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ErrorDirective")++-- | DSL accessor for the message field of hydra.ext.cpp.syntax.ErrorDirective+errorDirectiveMessage :: Typed.TypedTerm Syntax.ErrorDirective -> Typed.TypedTerm String+errorDirectiveMessage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ErrorDirective"),+ Model.projectionFieldName = (Model.Name "message")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the message field of hydra.ext.cpp.syntax.ErrorDirective+errorDirectiveWithMessage :: Typed.TypedTerm Syntax.ErrorDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ErrorDirective+errorDirectiveWithMessage original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ErrorDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "message"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the and variant of hydra.ext.cpp.syntax.ExclusiveOrExpression+exclusiveOrExpressionAnd :: Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression+exclusiveOrExpressionAnd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "and"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the bitwiseXor variant of hydra.ext.cpp.syntax.ExclusiveOrExpression+exclusiveOrExpressionBitwiseXor :: Typed.TypedTerm Syntax.BitwiseXorOperation -> Typed.TypedTerm Syntax.ExclusiveOrExpression+exclusiveOrExpressionBitwiseXor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseXor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.ExclusiveOrExpression+exclusiveOrExpressionExclusiveOrExpression :: Typed.TypedName Syntax.ExclusiveOrExpression+exclusiveOrExpressionExclusiveOrExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ExclusiveOrExpression")++-- | DSL constructor for hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignment :: Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.AssignmentOperator -> Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.ExplicitAssignment+explicitAssignment left op right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "op"),+ Model.fieldTerm = (Typed.unTypedTerm op)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentExplicitAssignment :: Typed.TypedName Syntax.ExplicitAssignment+explicitAssignmentExplicitAssignment = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentLeft :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.LogicalOrExpression+explicitAssignmentLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the op field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentOp :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.AssignmentOperator+explicitAssignmentOp x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "op")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentRight :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.AssignmentExpression+explicitAssignmentRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentWithLeft :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.ExplicitAssignment+explicitAssignmentWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "op"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "op")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the op field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentWithOp :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.AssignmentOperator -> Typed.TypedTerm Syntax.ExplicitAssignment+explicitAssignmentWithOp original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "op"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.ExplicitAssignment+explicitAssignmentWithRight :: Typed.TypedTerm Syntax.ExplicitAssignment -> Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.ExplicitAssignment+explicitAssignmentWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "op"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ExplicitAssignment"),+ Model.projectionFieldName = (Model.Name "op")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the assignment variant of hydra.ext.cpp.syntax.Expression+expressionAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression+expressionAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the comma variant of hydra.ext.cpp.syntax.Expression+expressionComma :: Typed.TypedTerm Syntax.CommaExpression -> Typed.TypedTerm Syntax.Expression+expressionComma x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "comma"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.Expression+expressionExpression :: Typed.TypedName Syntax.Expression+expressionExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Expression")++-- | DSL constructor for the hydra.ext.cpp.syntax.ExpressionStatement wrapper+expressionStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExpressionStatement+expressionStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.ExpressionStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ExpressionStatement+expressionStatementExpressionStatement :: Typed.TypedName Syntax.ExpressionStatement+expressionStatementExpressionStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ExpressionStatement")++-- | DSL constructor for the hydra.ext.cpp.syntax.FloatingLiteral wrapper+floatingLiteral :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.FloatingLiteral+floatingLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.FloatingLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.FloatingLiteral+floatingLiteralFloatingLiteral :: Typed.TypedName Syntax.FloatingLiteral+floatingLiteralFloatingLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FloatingLiteral")++-- | DSL injection for the declaration variant of hydra.ext.cpp.syntax.ForInit+forInitDeclaration :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Syntax.ForInit+forInitDeclaration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForInit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.cpp.syntax.ForInit+forInitEmpty :: Typed.TypedTerm Syntax.ForInit+forInitEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForInit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.cpp.syntax.ForInit+forInitExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ForInit+forInitExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForInit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.ForInit+forInitForInit :: Typed.TypedName Syntax.ForInit+forInitForInit = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ForInit")++-- | DSL constructor for hydra.ext.cpp.syntax.ForStatement+forStatement :: Typed.TypedTerm Syntax.ForInit -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.ForStatement+forStatement init condition increment body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "init"),+ Model.fieldTerm = (Typed.unTypedTerm init)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "increment"),+ Model.fieldTerm = (Typed.unTypedTerm increment)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.ForStatement+forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Statement+forStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.ForStatement+forStatementCondition :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Expression+forStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ForStatement+forStatementForStatement :: Typed.TypedName Syntax.ForStatement+forStatementForStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ForStatement")++-- | DSL accessor for the increment field of hydra.ext.cpp.syntax.ForStatement+forStatementIncrement :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Expression+forStatementIncrement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "increment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the init field of hydra.ext.cpp.syntax.ForStatement+forStatementInit :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.ForInit+forStatementInit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "init")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.ForStatement+forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.ForStatement+forStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "init"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "init")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "increment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "increment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.ForStatement+forStatementWithCondition :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ForStatement+forStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "init"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "init")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "increment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "increment")})),+ 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.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the increment field of hydra.ext.cpp.syntax.ForStatement+forStatementWithIncrement :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ForStatement+forStatementWithIncrement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "init"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "init")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "increment"),+ 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.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the init field of hydra.ext.cpp.syntax.ForStatement+forStatementWithInit :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.ForInit -> Typed.TypedTerm Syntax.ForStatement+forStatementWithInit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "init"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "increment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "increment")})),+ 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.ext.cpp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.FunctionApplication+functionApplication :: Typed.TypedTerm Syntax.FunctionIdentifier -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.FunctionApplication+functionApplication function arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm function)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.cpp.syntax.FunctionApplication+functionApplicationArguments :: Typed.TypedTerm Syntax.FunctionApplication -> Typed.TypedTerm [Syntax.Expression]+functionApplicationArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the function field of hydra.ext.cpp.syntax.FunctionApplication+functionApplicationFunction :: Typed.TypedTerm Syntax.FunctionApplication -> Typed.TypedTerm Syntax.FunctionIdentifier+functionApplicationFunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionApplication+functionApplicationFunctionApplication :: Typed.TypedName Syntax.FunctionApplication+functionApplicationFunctionApplication = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionApplication")++-- | DSL updater for the arguments field of hydra.ext.cpp.syntax.FunctionApplication+functionApplicationWithArguments :: Typed.TypedTerm Syntax.FunctionApplication -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.FunctionApplication+functionApplicationWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the function field of hydra.ext.cpp.syntax.FunctionApplication+functionApplicationWithFunction :: Typed.TypedTerm Syntax.FunctionApplication -> Typed.TypedTerm Syntax.FunctionIdentifier -> Typed.TypedTerm Syntax.FunctionApplication+functionApplicationWithFunction original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionApplication"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ 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.ext.cpp.syntax.FunctionApplication"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the compound variant of hydra.ext.cpp.syntax.FunctionBody+functionBodyCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.FunctionBody+functionBodyCompound x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "compound"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the declaration variant of hydra.ext.cpp.syntax.FunctionBody+functionBodyDeclaration :: Typed.TypedTerm Syntax.FunctionBody+functionBodyDeclaration =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the default variant of hydra.ext.cpp.syntax.FunctionBody+functionBodyDefault :: Typed.TypedTerm Syntax.FunctionBody+functionBodyDefault =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionBody+functionBodyFunctionBody :: Typed.TypedName Syntax.FunctionBody+functionBodyFunctionBody = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionBody")++-- | DSL injection for the pure variant of hydra.ext.cpp.syntax.FunctionBody+functionBodyPure :: Typed.TypedTerm Syntax.FunctionBody+functionBodyPure =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pure"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperation :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.FunctionCallOperation+functionCallOperation function arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm function)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperationArguments :: Typed.TypedTerm Syntax.FunctionCallOperation -> Typed.TypedTerm [Syntax.Expression]+functionCallOperationArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the function field of hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperationFunction :: Typed.TypedTerm Syntax.FunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression+functionCallOperationFunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperationFunctionCallOperation :: Typed.TypedName Syntax.FunctionCallOperation+functionCallOperationFunctionCallOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation")++-- | DSL updater for the arguments field of hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperationWithArguments :: Typed.TypedTerm Syntax.FunctionCallOperation -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.FunctionCallOperation+functionCallOperationWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the function field of hydra.ext.cpp.syntax.FunctionCallOperation+functionCallOperationWithFunction :: Typed.TypedTerm Syntax.FunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.FunctionCallOperation+functionCallOperationWithFunction original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ 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.ext.cpp.syntax.FunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclaration :: Typed.TypedTerm [Syntax.FunctionSpecifierPrefix] -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix] -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclaration prefixSpecifiers returnType name parameters suffixSpecifiers body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm prefixSpecifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm suffixSpecifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationBody :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.FunctionBody+functionDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationFunctionDeclaration :: Typed.TypedName Syntax.FunctionDeclaration+functionDeclarationFunctionDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationName :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm String+functionDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationParameters :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.Parameter]+functionDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the prefixSpecifiers field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationPrefixSpecifiers :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierPrefix]+functionDeclarationPrefixSpecifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationReturnType :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.TypeExpression+functionDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the suffixSpecifiers field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationSuffixSpecifiers :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix]+functionDeclarationSuffixSpecifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithBody :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.FunctionBody -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithName :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithParameters :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the prefixSpecifiers field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithPrefixSpecifiers :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierPrefix] -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithPrefixSpecifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithReturnType :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "suffixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the suffixSpecifiers field of hydra.ext.cpp.syntax.FunctionDeclaration+functionDeclarationWithSuffixSpecifiers :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm [Syntax.FunctionSpecifierSuffix] -> Typed.TypedTerm Syntax.FunctionDeclaration+functionDeclarationWithSuffixSpecifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "prefixSpecifiers")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "suffixSpecifiers"),+ 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.ext.cpp.syntax.FunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionIdentifier+functionIdentifierFunctionIdentifier :: Typed.TypedName Syntax.FunctionIdentifier+functionIdentifierFunctionIdentifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionIdentifier")++-- | DSL injection for the qualified variant of hydra.ext.cpp.syntax.FunctionIdentifier+functionIdentifierQualified :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm Syntax.FunctionIdentifier+functionIdentifierQualified x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionIdentifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "qualified"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.ext.cpp.syntax.FunctionIdentifier+functionIdentifierSimple :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.FunctionIdentifier+functionIdentifierSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionIdentifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the explicit variant of hydra.ext.cpp.syntax.FunctionSpecifierPrefix+functionSpecifierPrefixExplicit :: Typed.TypedTerm Syntax.FunctionSpecifierPrefix+functionSpecifierPrefixExplicit =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "explicit"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionSpecifierPrefix+functionSpecifierPrefixFunctionSpecifierPrefix :: Typed.TypedName Syntax.FunctionSpecifierPrefix+functionSpecifierPrefixFunctionSpecifierPrefix =+ Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix")++-- | DSL injection for the inline variant of hydra.ext.cpp.syntax.FunctionSpecifierPrefix+functionSpecifierPrefixInline :: Typed.TypedTerm Syntax.FunctionSpecifierPrefix+functionSpecifierPrefixInline =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.cpp.syntax.FunctionSpecifierPrefix+functionSpecifierPrefixStatic :: Typed.TypedTerm Syntax.FunctionSpecifierPrefix+functionSpecifierPrefixStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the virtual variant of hydra.ext.cpp.syntax.FunctionSpecifierPrefix+functionSpecifierPrefixVirtual :: Typed.TypedTerm Syntax.FunctionSpecifierPrefix+functionSpecifierPrefixVirtual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "virtual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the const variant of hydra.ext.cpp.syntax.FunctionSpecifierSuffix+functionSpecifierSuffixConst :: Typed.TypedTerm Syntax.FunctionSpecifierSuffix+functionSpecifierSuffixConst =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "const"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the final variant of hydra.ext.cpp.syntax.FunctionSpecifierSuffix+functionSpecifierSuffixFinal :: Typed.TypedTerm Syntax.FunctionSpecifierSuffix+functionSpecifierSuffixFinal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "final"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionSpecifierSuffix+functionSpecifierSuffixFunctionSpecifierSuffix :: Typed.TypedName Syntax.FunctionSpecifierSuffix+functionSpecifierSuffixFunctionSpecifierSuffix =+ Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix")++-- | DSL injection for the noexcept variant of hydra.ext.cpp.syntax.FunctionSpecifierSuffix+functionSpecifierSuffixNoexcept :: Typed.TypedTerm Syntax.FunctionSpecifierSuffix+functionSpecifierSuffixNoexcept =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noexcept"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the override variant of hydra.ext.cpp.syntax.FunctionSpecifierSuffix+functionSpecifierSuffixOverride :: Typed.TypedTerm Syntax.FunctionSpecifierSuffix+functionSpecifierSuffixOverride =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionSpecifierSuffix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.cpp.syntax.FunctionType+functionType :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm Syntax.FunctionType+functionType returnType parameters =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.FunctionType+functionTypeFunctionType :: Typed.TypedName Syntax.FunctionType+functionTypeFunctionType = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.FunctionType")++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.FunctionType+functionTypeParameters :: Typed.TypedTerm Syntax.FunctionType -> Typed.TypedTerm [Syntax.Parameter]+functionTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.cpp.syntax.FunctionType+functionTypeReturnType :: Typed.TypedTerm Syntax.FunctionType -> Typed.TypedTerm Syntax.TypeExpression+functionTypeReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.FunctionType+functionTypeWithParameters :: Typed.TypedTerm Syntax.FunctionType -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm Syntax.FunctionType+functionTypeWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the returnType field of hydra.ext.cpp.syntax.FunctionType+functionTypeWithReturnType :: Typed.TypedTerm Syntax.FunctionType -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.FunctionType+functionTypeWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.FunctionType"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperation :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.GreaterEqualOperation+greaterEqualOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperationGreaterEqualOperation :: Typed.TypedName Syntax.GreaterEqualOperation+greaterEqualOperationGreaterEqualOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperationLeft :: Typed.TypedTerm Syntax.GreaterEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+greaterEqualOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperationRight :: Typed.TypedTerm Syntax.GreaterEqualOperation -> Typed.TypedTerm Syntax.ShiftExpression+greaterEqualOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperationWithLeft :: Typed.TypedTerm Syntax.GreaterEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.GreaterEqualOperation+greaterEqualOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.GreaterEqualOperation+greaterEqualOperationWithRight :: Typed.TypedTerm Syntax.GreaterEqualOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.GreaterEqualOperation+greaterEqualOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.GreaterOperation+greaterOperation :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.GreaterOperation+greaterOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.GreaterOperation+greaterOperationGreaterOperation :: Typed.TypedName Syntax.GreaterOperation+greaterOperationGreaterOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.GreaterOperation")++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.GreaterOperation+greaterOperationLeft :: Typed.TypedTerm Syntax.GreaterOperation -> Typed.TypedTerm Syntax.RelationalExpression+greaterOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.GreaterOperation+greaterOperationRight :: Typed.TypedTerm Syntax.GreaterOperation -> Typed.TypedTerm Syntax.ShiftExpression+greaterOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.GreaterOperation+greaterOperationWithLeft :: Typed.TypedTerm Syntax.GreaterOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.GreaterOperation+greaterOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.GreaterOperation+greaterOperationWithRight :: Typed.TypedTerm Syntax.GreaterOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.GreaterOperation+greaterOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.GreaterOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.IfDirective+ifDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfDirective+ifDirective condition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)}]}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.IfDirective+ifDirectiveCondition :: Typed.TypedTerm Syntax.IfDirective -> Typed.TypedTerm String+ifDirectiveCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IfDirective"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.IfDirective+ifDirectiveIfDirective :: Typed.TypedName Syntax.IfDirective+ifDirectiveIfDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IfDirective")++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.IfDirective+ifDirectiveWithCondition :: Typed.TypedTerm Syntax.IfDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfDirective+ifDirectiveWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.IfdefDirective+ifdefDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfdefDirective+ifdefDirective identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfdefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL accessor for the identifier field of hydra.ext.cpp.syntax.IfdefDirective+ifdefDirectiveIdentifier :: Typed.TypedTerm Syntax.IfdefDirective -> Typed.TypedTerm String+ifdefDirectiveIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IfdefDirective"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.IfdefDirective+ifdefDirectiveIfdefDirective :: Typed.TypedName Syntax.IfdefDirective+ifdefDirectiveIfdefDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IfdefDirective")++-- | DSL updater for the identifier field of hydra.ext.cpp.syntax.IfdefDirective+ifdefDirectiveWithIdentifier :: Typed.TypedTerm Syntax.IfdefDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfdefDirective+ifdefDirectiveWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfdefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.IfndefDirective+ifndefDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfndefDirective+ifndefDirective identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfndefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL accessor for the identifier field of hydra.ext.cpp.syntax.IfndefDirective+ifndefDirectiveIdentifier :: Typed.TypedTerm Syntax.IfndefDirective -> Typed.TypedTerm String+ifndefDirectiveIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IfndefDirective"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.IfndefDirective+ifndefDirectiveIfndefDirective :: Typed.TypedName Syntax.IfndefDirective+ifndefDirectiveIfndefDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IfndefDirective")++-- | DSL updater for the identifier field of hydra.ext.cpp.syntax.IfndefDirective+ifndefDirectiveWithIdentifier :: Typed.TypedTerm Syntax.IfndefDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.IfndefDirective+ifndefDirectiveWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IfndefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.IncludeDirective+includeDirective :: Typed.TypedTerm String -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.IncludeDirective+includeDirective name isSystem =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "isSystem"),+ Model.fieldTerm = (Typed.unTypedTerm isSystem)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.IncludeDirective+includeDirectiveIncludeDirective :: Typed.TypedName Syntax.IncludeDirective+includeDirectiveIncludeDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IncludeDirective")++-- | DSL accessor for the isSystem field of hydra.ext.cpp.syntax.IncludeDirective+includeDirectiveIsSystem :: Typed.TypedTerm Syntax.IncludeDirective -> Typed.TypedTerm Bool+includeDirectiveIsSystem x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ Model.projectionFieldName = (Model.Name "isSystem")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.IncludeDirective+includeDirectiveName :: Typed.TypedTerm Syntax.IncludeDirective -> Typed.TypedTerm String+includeDirectiveName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the isSystem field of hydra.ext.cpp.syntax.IncludeDirective+includeDirectiveWithIsSystem :: Typed.TypedTerm Syntax.IncludeDirective -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.IncludeDirective+includeDirectiveWithIsSystem original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ 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.ext.cpp.syntax.IncludeDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isSystem"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.IncludeDirective+includeDirectiveWithName :: Typed.TypedTerm Syntax.IncludeDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.IncludeDirective+includeDirectiveWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isSystem"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IncludeDirective"),+ Model.projectionFieldName = (Model.Name "isSystem")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the bitwiseOr variant of hydra.ext.cpp.syntax.InclusiveOrExpression+inclusiveOrExpressionBitwiseOr :: Typed.TypedTerm Syntax.BitwiseOrOperation -> Typed.TypedTerm Syntax.InclusiveOrExpression+inclusiveOrExpressionBitwiseOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.InclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseOr"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the exclusiveOr variant of hydra.ext.cpp.syntax.InclusiveOrExpression+inclusiveOrExpressionExclusiveOr :: Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression+inclusiveOrExpressionExclusiveOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.InclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "exclusiveOr"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.InclusiveOrExpression+inclusiveOrExpressionInclusiveOrExpression :: Typed.TypedName Syntax.InclusiveOrExpression+inclusiveOrExpressionInclusiveOrExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.InclusiveOrExpression")++-- | DSL injection for the binary variant of hydra.ext.cpp.syntax.IntegerLiteral+integerLiteralBinary :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the decimal variant of hydra.ext.cpp.syntax.IntegerLiteral+integerLiteralDecimal :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralDecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the hexadecimal variant of hydra.ext.cpp.syntax.IntegerLiteral+integerLiteralHexadecimal :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralHexadecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hexadecimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.IntegerLiteral+integerLiteralIntegerLiteral :: Typed.TypedName Syntax.IntegerLiteral+integerLiteralIntegerLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IntegerLiteral")++-- | DSL injection for the octal variant of hydra.ext.cpp.syntax.IntegerLiteral+integerLiteralOctal :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralOctal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "octal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the do variant of hydra.ext.cpp.syntax.IterationStatement+iterationStatementDo :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementDo x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "do"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the for variant of hydra.ext.cpp.syntax.IterationStatement+iterationStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementFor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "for"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.IterationStatement+iterationStatementIterationStatement :: Typed.TypedName Syntax.IterationStatement+iterationStatementIterationStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.IterationStatement")++-- | DSL injection for the rangeFor variant of hydra.ext.cpp.syntax.IterationStatement+iterationStatementRangeFor :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementRangeFor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rangeFor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the while variant of hydra.ext.cpp.syntax.IterationStatement+iterationStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementWhile x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the break variant of hydra.ext.cpp.syntax.JumpStatement+jumpStatementBreak :: Typed.TypedTerm Syntax.JumpStatement+jumpStatementBreak =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "break"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the continue variant of hydra.ext.cpp.syntax.JumpStatement+jumpStatementContinue :: Typed.TypedTerm Syntax.JumpStatement+jumpStatementContinue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "continue"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.JumpStatement+jumpStatementJumpStatement :: Typed.TypedName Syntax.JumpStatement+jumpStatementJumpStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.JumpStatement")++-- | DSL injection for the returnValue variant of hydra.ext.cpp.syntax.JumpStatement+jumpStatementReturnValue :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.JumpStatement+jumpStatementReturnValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "returnValue"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the returnVoid variant of hydra.ext.cpp.syntax.JumpStatement+jumpStatementReturnVoid :: Typed.TypedTerm Syntax.JumpStatement+jumpStatementReturnVoid =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "returnVoid"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the throw variant of hydra.ext.cpp.syntax.JumpStatement+jumpStatementThrow :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.JumpStatement+jumpStatementThrow x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "throw"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.LabeledStatement+labeledStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatement label statement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ Model.fieldTerm = (Typed.unTypedTerm label)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL accessor for the label field of hydra.ext.cpp.syntax.LabeledStatement+labeledStatementLabel :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm String+labeledStatementLabel x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "label")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LabeledStatement+labeledStatementLabeledStatement :: Typed.TypedName Syntax.LabeledStatement+labeledStatementLabeledStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LabeledStatement")++-- | DSL accessor for the statement field of hydra.ext.cpp.syntax.LabeledStatement+labeledStatementStatement :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement+labeledStatementStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the label field of hydra.ext.cpp.syntax.LabeledStatement+labeledStatementWithLabel :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatementWithLabel original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ 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.ext.cpp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statement field of hydra.ext.cpp.syntax.LabeledStatement+labeledStatementWithStatement :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatementWithStatement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "label")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.LambdaExpression+lambdaExpression :: Typed.TypedTerm Syntax.CaptureList -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm (Maybe Syntax.TypeExpression) -> Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpression captures parameters returnType body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Typed.unTypedTerm captures)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionBody :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.CompoundStatement+lambdaExpressionBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the captures field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionCaptures :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.CaptureList+lambdaExpressionCaptures x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "captures")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionLambdaExpression :: Typed.TypedName Syntax.LambdaExpression+lambdaExpressionLambdaExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LambdaExpression")++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionParameters :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm [Syntax.Parameter]+lambdaExpressionParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionReturnType :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm (Maybe Syntax.TypeExpression)+lambdaExpressionReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionWithBody :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "captures")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the captures field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionWithCaptures :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.CaptureList -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithCaptures original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionWithParameters :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm [Syntax.Parameter] -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "captures")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.cpp.syntax.LambdaExpression+lambdaExpressionWithReturnType :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm (Maybe Syntax.TypeExpression) -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "captures"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "captures")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ 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.ext.cpp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperation :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.LeftShiftOperation+leftShiftOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperationLeft :: Typed.TypedTerm Syntax.LeftShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression+leftShiftOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperationLeftShiftOperation :: Typed.TypedName Syntax.LeftShiftOperation+leftShiftOperationLeftShiftOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperationRight :: Typed.TypedTerm Syntax.LeftShiftOperation -> Typed.TypedTerm Syntax.AdditiveExpression+leftShiftOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperationWithLeft :: Typed.TypedTerm Syntax.LeftShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.LeftShiftOperation+leftShiftOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.LeftShiftOperation+leftShiftOperationWithRight :: Typed.TypedTerm Syntax.LeftShiftOperation -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.LeftShiftOperation+leftShiftOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LeftShiftOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperation :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.LessEqualOperation+lessEqualOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperationLeft :: Typed.TypedTerm Syntax.LessEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+lessEqualOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperationLessEqualOperation :: Typed.TypedName Syntax.LessEqualOperation+lessEqualOperationLessEqualOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperationRight :: Typed.TypedTerm Syntax.LessEqualOperation -> Typed.TypedTerm Syntax.ShiftExpression+lessEqualOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperationWithLeft :: Typed.TypedTerm Syntax.LessEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.LessEqualOperation+lessEqualOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.LessEqualOperation+lessEqualOperationWithRight :: Typed.TypedTerm Syntax.LessEqualOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.LessEqualOperation+lessEqualOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.LessOperation+lessOperation :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.LessOperation+lessOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.LessOperation+lessOperationLeft :: Typed.TypedTerm Syntax.LessOperation -> Typed.TypedTerm Syntax.RelationalExpression+lessOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LessOperation+lessOperationLessOperation :: Typed.TypedName Syntax.LessOperation+lessOperationLessOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LessOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.LessOperation+lessOperationRight :: Typed.TypedTerm Syntax.LessOperation -> Typed.TypedTerm Syntax.ShiftExpression+lessOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.LessOperation+lessOperationWithLeft :: Typed.TypedTerm Syntax.LessOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.LessOperation+lessOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.LessOperation+lessOperationWithRight :: Typed.TypedTerm Syntax.LessOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.LessOperation+lessOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LessOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.LineDirective+lineDirective :: Typed.TypedTerm Int -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.LineDirective+lineDirective lineNumber filename =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lineNumber"),+ Model.fieldTerm = (Typed.unTypedTerm lineNumber)},+ Model.Field {+ Model.fieldName = (Model.Name "filename"),+ Model.fieldTerm = (Typed.unTypedTerm filename)}]}))++-- | DSL accessor for the filename field of hydra.ext.cpp.syntax.LineDirective+lineDirectiveFilename :: Typed.TypedTerm Syntax.LineDirective -> Typed.TypedTerm (Maybe String)+lineDirectiveFilename x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.projectionFieldName = (Model.Name "filename")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LineDirective+lineDirectiveLineDirective :: Typed.TypedName Syntax.LineDirective+lineDirectiveLineDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LineDirective")++-- | DSL accessor for the lineNumber field of hydra.ext.cpp.syntax.LineDirective+lineDirectiveLineNumber :: Typed.TypedTerm Syntax.LineDirective -> Typed.TypedTerm Int+lineDirectiveLineNumber x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.projectionFieldName = (Model.Name "lineNumber")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the filename field of hydra.ext.cpp.syntax.LineDirective+lineDirectiveWithFilename :: Typed.TypedTerm Syntax.LineDirective -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.LineDirective+lineDirectiveWithFilename original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lineNumber"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.projectionFieldName = (Model.Name "lineNumber")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "filename"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the lineNumber field of hydra.ext.cpp.syntax.LineDirective+lineDirectiveWithLineNumber :: Typed.TypedTerm Syntax.LineDirective -> Typed.TypedTerm Int -> Typed.TypedTerm Syntax.LineDirective+lineDirectiveWithLineNumber original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lineNumber"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "filename"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LineDirective"),+ Model.projectionFieldName = (Model.Name "filename")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.ListDeclaration+listDeclaration :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ListDeclaration+listDeclaration elementType name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the elementType field of hydra.ext.cpp.syntax.ListDeclaration+listDeclarationElementType :: Typed.TypedTerm Syntax.ListDeclaration -> Typed.TypedTerm Syntax.TypeExpression+listDeclarationElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ListDeclaration+listDeclarationListDeclaration :: Typed.TypedName Syntax.ListDeclaration+listDeclarationListDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ListDeclaration")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.ListDeclaration+listDeclarationName :: Typed.TypedTerm Syntax.ListDeclaration -> Typed.TypedTerm String+listDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the elementType field of hydra.ext.cpp.syntax.ListDeclaration+listDeclarationWithElementType :: Typed.TypedTerm Syntax.ListDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.ListDeclaration+listDeclarationWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ 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.ext.cpp.syntax.ListDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.ListDeclaration+listDeclarationWithName :: Typed.TypedTerm Syntax.ListDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ListDeclaration+listDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ListDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the boolean variant of hydra.ext.cpp.syntax.Literal+literalBoolean :: Typed.TypedTerm Syntax.BooleanLiteral -> Typed.TypedTerm Syntax.Literal+literalBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the character variant of hydra.ext.cpp.syntax.Literal+literalCharacter :: Typed.TypedTerm Syntax.CharacterLiteral -> Typed.TypedTerm Syntax.Literal+literalCharacter x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "character"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the floating variant of hydra.ext.cpp.syntax.Literal+literalFloating :: Typed.TypedTerm Syntax.FloatingLiteral -> Typed.TypedTerm Syntax.Literal+literalFloating x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "floating"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.ext.cpp.syntax.Literal+literalInteger :: Typed.TypedTerm Syntax.IntegerLiteral -> Typed.TypedTerm Syntax.Literal+literalInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.Literal+literalLiteral :: Typed.TypedName Syntax.Literal+literalLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Literal")++-- | DSL injection for the null variant of hydra.ext.cpp.syntax.Literal+literalNull :: Typed.TypedTerm Syntax.Literal+literalNull =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.cpp.syntax.Literal+literalString :: Typed.TypedTerm Syntax.StringLiteral -> Typed.TypedTerm Syntax.Literal+literalString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the inclusiveOr variant of hydra.ext.cpp.syntax.LogicalAndExpression+logicalAndExpressionInclusiveOr :: Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.LogicalAndExpression+logicalAndExpressionInclusiveOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inclusiveOr"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the logicalAnd variant of hydra.ext.cpp.syntax.LogicalAndExpression+logicalAndExpressionLogicalAnd :: Typed.TypedTerm Syntax.LogicalAndOperation -> Typed.TypedTerm Syntax.LogicalAndExpression+logicalAndExpressionLogicalAnd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalAnd"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.LogicalAndExpression+logicalAndExpressionLogicalAndExpression :: Typed.TypedName Syntax.LogicalAndExpression+logicalAndExpressionLogicalAndExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LogicalAndExpression")++-- | DSL constructor for hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperation :: Typed.TypedTerm Syntax.LogicalAndExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.LogicalAndOperation+logicalAndOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperationLeft :: Typed.TypedTerm Syntax.LogicalAndOperation -> Typed.TypedTerm Syntax.LogicalAndExpression+logicalAndOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperationLogicalAndOperation :: Typed.TypedName Syntax.LogicalAndOperation+logicalAndOperationLogicalAndOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperationRight :: Typed.TypedTerm Syntax.LogicalAndOperation -> Typed.TypedTerm Syntax.InclusiveOrExpression+logicalAndOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperationWithLeft :: Typed.TypedTerm Syntax.LogicalAndOperation -> Typed.TypedTerm Syntax.LogicalAndExpression -> Typed.TypedTerm Syntax.LogicalAndOperation+logicalAndOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.LogicalAndOperation+logicalAndOperationWithRight :: Typed.TypedTerm Syntax.LogicalAndOperation -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.LogicalAndOperation+logicalAndOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalAndOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the logicalAnd variant of hydra.ext.cpp.syntax.LogicalOrExpression+logicalOrExpressionLogicalAnd :: Typed.TypedTerm Syntax.LogicalAndExpression -> Typed.TypedTerm Syntax.LogicalOrExpression+logicalOrExpressionLogicalAnd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalAnd"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the logicalOr variant of hydra.ext.cpp.syntax.LogicalOrExpression+logicalOrExpressionLogicalOr :: Typed.TypedTerm Syntax.LogicalOrOperation -> Typed.TypedTerm Syntax.LogicalOrExpression+logicalOrExpressionLogicalOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalOr"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.LogicalOrExpression+logicalOrExpressionLogicalOrExpression :: Typed.TypedName Syntax.LogicalOrExpression+logicalOrExpressionLogicalOrExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LogicalOrExpression")++-- | DSL constructor for hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperation :: Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.LogicalAndExpression -> Typed.TypedTerm Syntax.LogicalOrOperation+logicalOrOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperationLeft :: Typed.TypedTerm Syntax.LogicalOrOperation -> Typed.TypedTerm Syntax.LogicalOrExpression+logicalOrOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperationLogicalOrOperation :: Typed.TypedName Syntax.LogicalOrOperation+logicalOrOperationLogicalOrOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperationRight :: Typed.TypedTerm Syntax.LogicalOrOperation -> Typed.TypedTerm Syntax.LogicalAndExpression+logicalOrOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperationWithLeft :: Typed.TypedTerm Syntax.LogicalOrOperation -> Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.LogicalOrOperation+logicalOrOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.LogicalOrOperation+logicalOrOperationWithRight :: Typed.TypedTerm Syntax.LogicalOrOperation -> Typed.TypedTerm Syntax.LogicalAndExpression -> Typed.TypedTerm Syntax.LogicalOrOperation+logicalOrOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.LogicalOrOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Map+map :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm [Syntax.MapEntry] -> Typed.TypedTerm Syntax.Map+map keyType valueType entries =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm keyType)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm valueType)},+ Model.Field {+ Model.fieldName = (Model.Name "entries"),+ Model.fieldTerm = (Typed.unTypedTerm entries)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.MapDeclaration+mapDeclaration :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.MapDeclaration+mapDeclaration keyType valueType name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm keyType)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm valueType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the keyType field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationKeyType :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm Syntax.TypeExpression+mapDeclarationKeyType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationMapDeclaration :: Typed.TypedName Syntax.MapDeclaration+mapDeclarationMapDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MapDeclaration")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationName :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm String+mapDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valueType field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationValueType :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm Syntax.TypeExpression+mapDeclarationValueType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keyType field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationWithKeyType :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.MapDeclaration+mapDeclarationWithKeyType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ 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.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationWithName :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.MapDeclaration+mapDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the valueType field of hydra.ext.cpp.syntax.MapDeclaration+mapDeclarationWithValueType :: Typed.TypedTerm Syntax.MapDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.MapDeclaration+mapDeclarationWithValueType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ 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.ext.cpp.syntax.MapDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the entries field of hydra.ext.cpp.syntax.Map+mapEntries :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm [Syntax.MapEntry]+mapEntries x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "entries")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.cpp.syntax.MapEntry+mapEntry :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.MapEntry+mapEntry key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapEntry"),+ 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.ext.cpp.syntax.MapEntry+mapEntryKey :: Typed.TypedTerm Syntax.MapEntry -> Typed.TypedTerm Syntax.Expression+mapEntryKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapEntry"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.MapEntry+mapEntryMapEntry :: Typed.TypedName Syntax.MapEntry+mapEntryMapEntry = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MapEntry")++-- | DSL accessor for the value field of hydra.ext.cpp.syntax.MapEntry+mapEntryValue :: Typed.TypedTerm Syntax.MapEntry -> Typed.TypedTerm Syntax.Expression+mapEntryValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MapEntry"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.ext.cpp.syntax.MapEntry+mapEntryWithKey :: Typed.TypedTerm Syntax.MapEntry -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.MapEntry+mapEntryWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapEntry"),+ 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.ext.cpp.syntax.MapEntry"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.cpp.syntax.MapEntry+mapEntryWithValue :: Typed.TypedTerm Syntax.MapEntry -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.MapEntry+mapEntryWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MapEntry"),+ 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.ext.cpp.syntax.MapEntry"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the keyType field of hydra.ext.cpp.syntax.Map+mapKeyType :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm Syntax.TypeExpression+mapKeyType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Map+mapMap :: Typed.TypedName Syntax.Map+mapMap = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Map")++-- | DSL accessor for the valueType field of hydra.ext.cpp.syntax.Map+mapValueType :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm Syntax.TypeExpression+mapValueType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the entries field of hydra.ext.cpp.syntax.Map+mapWithEntries :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm [Syntax.MapEntry] -> Typed.TypedTerm Syntax.Map+mapWithEntries original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "entries"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the keyType field of hydra.ext.cpp.syntax.Map+mapWithKeyType :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Map+mapWithKeyType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "entries"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "entries")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the valueType field of hydra.ext.cpp.syntax.Map+mapWithValueType :: Typed.TypedTerm Syntax.Map -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Map+mapWithValueType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "entries"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Map"),+ Model.projectionFieldName = (Model.Name "entries")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.MemInitializer+memInitializer :: Typed.TypedTerm String -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.MemInitializer+memInitializer name arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.cpp.syntax.MemInitializer+memInitializerArguments :: Typed.TypedTerm Syntax.MemInitializer -> Typed.TypedTerm [Syntax.Expression]+memInitializerArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemInitializer"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.MemInitializer+memInitializerMemInitializer :: Typed.TypedName Syntax.MemInitializer+memInitializerMemInitializer = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MemInitializer")++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.MemInitializer+memInitializerName :: Typed.TypedTerm Syntax.MemInitializer -> Typed.TypedTerm String+memInitializerName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemInitializer"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the arguments field of hydra.ext.cpp.syntax.MemInitializer+memInitializerWithArguments :: Typed.TypedTerm Syntax.MemInitializer -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.MemInitializer+memInitializerWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemInitializer"),+ 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.ext.cpp.syntax.MemInitializer"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.MemInitializer+memInitializerWithName :: Typed.TypedTerm Syntax.MemInitializer -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.MemInitializer+memInitializerWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.cpp.syntax.MemInitializer"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperation :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.MemberAccessOperation+memberAccessOperation object member =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm object)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm member)}]}))++-- | DSL accessor for the member field of hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperationMember :: Typed.TypedTerm Syntax.MemberAccessOperation -> Typed.TypedTerm String+memberAccessOperationMember x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperationMemberAccessOperation :: Typed.TypedName Syntax.MemberAccessOperation+memberAccessOperationMemberAccessOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation")++-- | DSL accessor for the object field of hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperationObject :: Typed.TypedTerm Syntax.MemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression+memberAccessOperationObject x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "object")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the member field of hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperationWithMember :: Typed.TypedTerm Syntax.MemberAccessOperation -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.MemberAccessOperation+memberAccessOperationWithMember original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "object")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the object field of hydra.ext.cpp.syntax.MemberAccessOperation+memberAccessOperationWithObject :: Typed.TypedTerm Syntax.MemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.MemberAccessOperation+memberAccessOperationWithObject original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the constructor variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationConstructor :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the destructor variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationDestructor :: Typed.TypedTerm Syntax.DestructorDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationDestructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "destructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the function variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationFunction :: Typed.TypedTerm Syntax.FunctionDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationMemberDeclaration :: Typed.TypedName Syntax.MemberDeclaration+memberDeclarationMemberDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration")++-- | DSL injection for the nestedClass variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationNestedClass :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationNestedClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nestedClass"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the template variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationTemplate :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationTemplate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "template"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the variable variant of hydra.ext.cpp.syntax.MemberDeclaration+memberDeclarationVariable :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Syntax.MemberDeclaration+memberDeclarationVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the accessLabel variant of hydra.ext.cpp.syntax.MemberSpecification+memberSpecificationAccessLabel :: Typed.TypedTerm Syntax.AccessSpecifier -> Typed.TypedTerm Syntax.MemberSpecification+memberSpecificationAccessLabel x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberSpecification"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "accessLabel"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the member variant of hydra.ext.cpp.syntax.MemberSpecification+memberSpecificationMember :: Typed.TypedTerm Syntax.MemberDeclaration -> Typed.TypedTerm Syntax.MemberSpecification+memberSpecificationMember x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MemberSpecification"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.MemberSpecification+memberSpecificationMemberSpecification :: Typed.TypedName Syntax.MemberSpecification+memberSpecificationMemberSpecification = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MemberSpecification")++-- | DSL constructor for hydra.ext.cpp.syntax.ModuloOperation+moduloOperation :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.ModuloOperation+moduloOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.ModuloOperation+moduloOperationLeft :: Typed.TypedTerm Syntax.ModuloOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+moduloOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ModuloOperation+moduloOperationModuloOperation :: Typed.TypedName Syntax.ModuloOperation+moduloOperationModuloOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ModuloOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.ModuloOperation+moduloOperationRight :: Typed.TypedTerm Syntax.ModuloOperation -> Typed.TypedTerm Syntax.UnaryExpression+moduloOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.ModuloOperation+moduloOperationWithLeft :: Typed.TypedTerm Syntax.ModuloOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.ModuloOperation+moduloOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.ModuloOperation+moduloOperationWithRight :: Typed.TypedTerm Syntax.ModuloOperation -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.ModuloOperation+moduloOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ModuloOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the divide variant of hydra.ext.cpp.syntax.MultiplicativeExpression+multiplicativeExpressionDivide :: Typed.TypedTerm Syntax.DivideOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionDivide x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divide"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the modulo variant of hydra.ext.cpp.syntax.MultiplicativeExpression+multiplicativeExpressionModulo :: Typed.TypedTerm Syntax.ModuloOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionModulo x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modulo"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.MultiplicativeExpression+multiplicativeExpressionMultiplicativeExpression :: Typed.TypedName Syntax.MultiplicativeExpression+multiplicativeExpressionMultiplicativeExpression =+ Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression")++-- | DSL injection for the multiply variant of hydra.ext.cpp.syntax.MultiplicativeExpression+multiplicativeExpressionMultiply :: Typed.TypedTerm Syntax.MultiplyOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionMultiply x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiply"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unary variant of hydra.ext.cpp.syntax.MultiplicativeExpression+multiplicativeExpressionUnary :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionUnary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperation :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.MultiplyOperation+multiplyOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperationLeft :: Typed.TypedTerm Syntax.MultiplyOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplyOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperationMultiplyOperation :: Typed.TypedName Syntax.MultiplyOperation+multiplyOperationMultiplyOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperationRight :: Typed.TypedTerm Syntax.MultiplyOperation -> Typed.TypedTerm Syntax.UnaryExpression+multiplyOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperationWithLeft :: Typed.TypedTerm Syntax.MultiplyOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplyOperation+multiplyOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.MultiplyOperation+multiplyOperationWithRight :: Typed.TypedTerm Syntax.MultiplyOperation -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.MultiplyOperation+multiplyOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.MultiplyOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclaration :: Typed.TypedTerm String -> Typed.TypedTerm [Syntax.Declaration] -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclaration name declarations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Typed.unTypedTerm declarations)}]}))++-- | DSL accessor for the declarations field of hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclarationDeclarations :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm [Syntax.Declaration]+namespaceDeclarationDeclarations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "declarations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclarationName :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm String+namespaceDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclarationNamespaceDeclaration :: Typed.TypedName Syntax.NamespaceDeclaration+namespaceDeclarationNamespaceDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration")++-- | DSL updater for the declarations field of hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclarationWithDeclarations :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm [Syntax.Declaration] -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclarationWithDeclarations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ 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.ext.cpp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.NamespaceDeclaration+namespaceDeclarationWithName :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "declarations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperation :: Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.NotEqualOperation+notEqualOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperationLeft :: Typed.TypedTerm Syntax.NotEqualOperation -> Typed.TypedTerm Syntax.EqualityExpression+notEqualOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperationNotEqualOperation :: Typed.TypedName Syntax.NotEqualOperation+notEqualOperationNotEqualOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation")++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperationRight :: Typed.TypedTerm Syntax.NotEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+notEqualOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperationWithLeft :: Typed.TypedTerm Syntax.NotEqualOperation -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.NotEqualOperation+notEqualOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.NotEqualOperation+notEqualOperationWithRight :: Typed.TypedTerm Syntax.NotEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.NotEqualOperation+notEqualOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.NotEqualOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Optional+optional :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.Optional+optional valueType value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm valueType)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclaration :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.OptionalDeclaration+optionalDeclaration valueType name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm valueType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclarationName :: Typed.TypedTerm Syntax.OptionalDeclaration -> Typed.TypedTerm String+optionalDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclarationOptionalDeclaration :: Typed.TypedName Syntax.OptionalDeclaration+optionalDeclarationOptionalDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration")++-- | DSL accessor for the valueType field of hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclarationValueType :: Typed.TypedTerm Syntax.OptionalDeclaration -> Typed.TypedTerm Syntax.TypeExpression+optionalDeclarationValueType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclarationWithName :: Typed.TypedTerm Syntax.OptionalDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.OptionalDeclaration+optionalDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the valueType field of hydra.ext.cpp.syntax.OptionalDeclaration+optionalDeclarationWithValueType :: Typed.TypedTerm Syntax.OptionalDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.OptionalDeclaration+optionalDeclarationWithValueType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.OptionalDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ 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.ext.cpp.syntax.OptionalDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.cpp.syntax.Optional+optionalOptional :: Typed.TypedName Syntax.Optional+optionalOptional = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Optional")++-- | DSL accessor for the value field of hydra.ext.cpp.syntax.Optional+optionalValue :: Typed.TypedTerm Syntax.Optional -> Typed.TypedTerm (Maybe Syntax.Expression)+optionalValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valueType field of hydra.ext.cpp.syntax.Optional+optionalValueType :: Typed.TypedTerm Syntax.Optional -> Typed.TypedTerm Syntax.TypeExpression+optionalValueType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the value field of hydra.ext.cpp.syntax.Optional+optionalWithValue :: Typed.TypedTerm Syntax.Optional -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.Optional+optionalWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the valueType field of hydra.ext.cpp.syntax.Optional+optionalWithValueType :: Typed.TypedTerm Syntax.Optional -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Optional+optionalWithValueType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Optional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ 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.ext.cpp.syntax.Optional"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.cpp.syntax.OverloadedLambdas wrapper+overloadedLambdas :: Typed.TypedTerm [Syntax.LambdaExpression] -> Typed.TypedTerm Syntax.OverloadedLambdas+overloadedLambdas x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.OverloadedLambdas"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.OverloadedLambdas+overloadedLambdasOverloadedLambdas :: Typed.TypedName Syntax.OverloadedLambdas+overloadedLambdasOverloadedLambdas = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.OverloadedLambdas")++-- | DSL constructor for hydra.ext.cpp.syntax.Parameter+parameter :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.Parameter+parameter type_ name unnamed defaultValue =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "unnamed"),+ Model.fieldTerm = (Typed.unTypedTerm unnamed)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm defaultValue)}]}))++-- | DSL accessor for the defaultValue field of hydra.ext.cpp.syntax.Parameter+parameterDefaultValue :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm (Maybe Syntax.Expression)+parameterDefaultValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.Parameter+parameterName :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm String+parameterName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Parameter+parameterParameter :: Typed.TypedName Syntax.Parameter+parameterParameter = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Parameter")++-- | DSL accessor for the type field of hydra.ext.cpp.syntax.Parameter+parameterType :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm Syntax.TypeExpression+parameterType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the unnamed field of hydra.ext.cpp.syntax.Parameter+parameterUnnamed :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm Bool+parameterUnnamed x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "unnamed")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the defaultValue field of hydra.ext.cpp.syntax.Parameter+parameterWithDefaultValue :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.Parameter+parameterWithDefaultValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unnamed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "unnamed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.Parameter+parameterWithName :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Parameter+parameterWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unnamed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "unnamed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.cpp.syntax.Parameter+parameterWithType :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Parameter+parameterWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unnamed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "unnamed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unnamed field of hydra.ext.cpp.syntax.Parameter+parameterWithUnnamed :: Typed.TypedTerm Syntax.Parameter -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Parameter+parameterWithUnnamed original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unnamed"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Parameter"),+ Model.projectionFieldName = (Model.Name "defaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.PatternMatch+patternMatch :: Typed.TypedTerm Syntax.Visitor -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PatternMatch+patternMatch visitor variant =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "visitor"),+ Model.fieldTerm = (Typed.unTypedTerm visitor)},+ Model.Field {+ Model.fieldName = (Model.Name "variant"),+ Model.fieldTerm = (Typed.unTypedTerm variant)}]}))++-- | DSL name token for hydra.ext.cpp.syntax.PatternMatch+patternMatchPatternMatch :: Typed.TypedName Syntax.PatternMatch+patternMatchPatternMatch = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PatternMatch")++-- | DSL accessor for the variant field of hydra.ext.cpp.syntax.PatternMatch+patternMatchVariant :: Typed.TypedTerm Syntax.PatternMatch -> Typed.TypedTerm Syntax.Expression+patternMatchVariant x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.projectionFieldName = (Model.Name "variant")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the visitor field of hydra.ext.cpp.syntax.PatternMatch+patternMatchVisitor :: Typed.TypedTerm Syntax.PatternMatch -> Typed.TypedTerm Syntax.Visitor+patternMatchVisitor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.projectionFieldName = (Model.Name "visitor")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the variant field of hydra.ext.cpp.syntax.PatternMatch+patternMatchWithVariant :: Typed.TypedTerm Syntax.PatternMatch -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PatternMatch+patternMatchWithVariant original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "visitor"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.projectionFieldName = (Model.Name "visitor")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variant"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the visitor field of hydra.ext.cpp.syntax.PatternMatch+patternMatchWithVisitor :: Typed.TypedTerm Syntax.PatternMatch -> Typed.TypedTerm Syntax.Visitor -> Typed.TypedTerm Syntax.PatternMatch+patternMatchWithVisitor original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "visitor"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "variant"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PatternMatch"),+ Model.projectionFieldName = (Model.Name "variant")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperation :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.PointerMemberAccessOperation+pointerMemberAccessOperation pointer member =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm pointer)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm member)}]}))++-- | DSL accessor for the member field of hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperationMember :: Typed.TypedTerm Syntax.PointerMemberAccessOperation -> Typed.TypedTerm String+pointerMemberAccessOperationMember x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pointer field of hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperationPointer :: Typed.TypedTerm Syntax.PointerMemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression+pointerMemberAccessOperationPointer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperationPointerMemberAccessOperation :: Typed.TypedName Syntax.PointerMemberAccessOperation+pointerMemberAccessOperationPointerMemberAccessOperation =+ Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation")++-- | DSL updater for the member field of hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperationWithMember :: Typed.TypedTerm Syntax.PointerMemberAccessOperation -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.PointerMemberAccessOperation+pointerMemberAccessOperationWithMember original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pointer field of hydra.ext.cpp.syntax.PointerMemberAccessOperation+pointerMemberAccessOperationWithPointer :: Typed.TypedTerm Syntax.PointerMemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.PointerMemberAccessOperation+pointerMemberAccessOperationWithPointer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PointerMemberAccessOperation"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the functionCall variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionFunctionCall :: Typed.TypedTerm Syntax.FunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionFunctionCall x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "functionCall"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the memberAccess variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionMemberAccess :: Typed.TypedTerm Syntax.MemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "memberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pointerMemberAccess variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionPointerMemberAccess :: Typed.TypedTerm Syntax.PointerMemberAccessOperation -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionPointerMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointerMemberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postDecrement variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionPostDecrement :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionPostDecrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postDecrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postIncrement variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionPostIncrement :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionPostIncrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postIncrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionPostfixExpression :: Typed.TypedName Syntax.PostfixExpression+postfixExpressionPostfixExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PostfixExpression")++-- | DSL injection for the primary variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionPrimary :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionPrimary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the subscript variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionSubscript :: Typed.TypedTerm Syntax.SubscriptOperation -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionSubscript x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subscript"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the templateFunctionCall variant of hydra.ext.cpp.syntax.PostfixExpression+postfixExpressionTemplateFunctionCall :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression+postfixExpressionTemplateFunctionCall x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PostfixExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "templateFunctionCall"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.PragmaDirective+pragmaDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.PragmaDirective+pragmaDirective content =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PragmaDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "content"),+ Model.fieldTerm = (Typed.unTypedTerm content)}]}))++-- | DSL accessor for the content field of hydra.ext.cpp.syntax.PragmaDirective+pragmaDirectiveContent :: Typed.TypedTerm Syntax.PragmaDirective -> Typed.TypedTerm String+pragmaDirectiveContent x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PragmaDirective"),+ Model.projectionFieldName = (Model.Name "content")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.PragmaDirective+pragmaDirectivePragmaDirective :: Typed.TypedName Syntax.PragmaDirective+pragmaDirectivePragmaDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PragmaDirective")++-- | DSL updater for the content field of hydra.ext.cpp.syntax.PragmaDirective+pragmaDirectiveWithContent :: Typed.TypedTerm Syntax.PragmaDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.PragmaDirective+pragmaDirectiveWithContent original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.PragmaDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "content"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the define variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveDefine :: Typed.TypedTerm Syntax.DefineDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveDefine x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "define"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the elif variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveElif :: Typed.TypedTerm Syntax.ElifDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveElif x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "elif"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the else variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveElse :: Typed.TypedTerm Syntax.ElseDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveElse x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the endif variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveEndif :: Typed.TypedTerm Syntax.EndifDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveEndif x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "endif"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the error variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveError :: Typed.TypedTerm Syntax.ErrorDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveError x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "error"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the if variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveIf :: Typed.TypedTerm Syntax.IfDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveIf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ifdef variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveIfdef :: Typed.TypedTerm Syntax.IfdefDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveIfdef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ifdef"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ifndef variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveIfndef :: Typed.TypedTerm Syntax.IfndefDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveIfndef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ifndef"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the include variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveInclude :: Typed.TypedTerm Syntax.IncludeDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveInclude x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "include"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the line variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveLine :: Typed.TypedTerm Syntax.LineDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveLine x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "line"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pragma variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectivePragma :: Typed.TypedTerm Syntax.PragmaDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectivePragma x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pragma"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectivePreprocessorDirective :: Typed.TypedName Syntax.PreprocessorDirective+preprocessorDirectivePreprocessorDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective")++-- | DSL injection for the undef variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveUndef :: Typed.TypedTerm Syntax.UndefDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveUndef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "undef"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the warning variant of hydra.ext.cpp.syntax.PreprocessorDirective+preprocessorDirectiveWarning :: Typed.TypedTerm Syntax.WarningDirective -> Typed.TypedTerm Syntax.PreprocessorDirective+preprocessorDirectiveWarning x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PreprocessorDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "warning"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the identifier variant of hydra.ext.cpp.syntax.PrimaryExpression+primaryExpressionIdentifier :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lambda variant of hydra.ext.cpp.syntax.PrimaryExpression+primaryExpressionLambda :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionLambda x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lambda"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.ext.cpp.syntax.PrimaryExpression+primaryExpressionLiteral :: Typed.TypedTerm Syntax.Literal -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parenthesized variant of hydra.ext.cpp.syntax.PrimaryExpression+primaryExpressionParenthesized :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionParenthesized x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parenthesized"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.PrimaryExpression+primaryExpressionPrimaryExpression :: Typed.TypedName Syntax.PrimaryExpression+primaryExpressionPrimaryExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.PrimaryExpression")++-- | DSL constructor for hydra.ext.cpp.syntax.ProductDeclaration+productDeclaration :: Typed.TypedTerm String -> Typed.TypedTerm [Syntax.VariableDeclaration] -> Typed.TypedTerm Syntax.ProductDeclaration+productDeclaration name fields =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)}]}))++-- | DSL accessor for the fields field of hydra.ext.cpp.syntax.ProductDeclaration+productDeclarationFields :: Typed.TypedTerm Syntax.ProductDeclaration -> Typed.TypedTerm [Syntax.VariableDeclaration]+productDeclarationFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.ProductDeclaration+productDeclarationName :: Typed.TypedTerm Syntax.ProductDeclaration -> Typed.TypedTerm String+productDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.ProductDeclaration+productDeclarationProductDeclaration :: Typed.TypedName Syntax.ProductDeclaration+productDeclarationProductDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration")++-- | DSL updater for the fields field of hydra.ext.cpp.syntax.ProductDeclaration+productDeclarationWithFields :: Typed.TypedTerm Syntax.ProductDeclaration -> Typed.TypedTerm [Syntax.VariableDeclaration] -> Typed.TypedTerm Syntax.ProductDeclaration+productDeclarationWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ 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.ext.cpp.syntax.ProductDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.ProductDeclaration+productDeclarationWithName :: Typed.TypedTerm Syntax.ProductDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.ProductDeclaration+productDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ProductDeclaration"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Program+program :: Typed.TypedTerm [Syntax.PreprocessorDirective] -> Typed.TypedTerm [Syntax.IncludeDirective] -> Typed.TypedTerm [Syntax.Declaration] -> Typed.TypedTerm Syntax.Program+program preprocessorDirectives includes declarations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "preprocessorDirectives"),+ Model.fieldTerm = (Typed.unTypedTerm preprocessorDirectives)},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Typed.unTypedTerm includes)},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Typed.unTypedTerm declarations)}]}))++-- | DSL accessor for the declarations field of hydra.ext.cpp.syntax.Program+programDeclarations :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.Declaration]+programDeclarations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "declarations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the includes field of hydra.ext.cpp.syntax.Program+programIncludes :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.IncludeDirective]+programIncludes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "includes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the preprocessorDirectives field of hydra.ext.cpp.syntax.Program+programPreprocessorDirectives :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.PreprocessorDirective]+programPreprocessorDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "preprocessorDirectives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Program+programProgram :: Typed.TypedName Syntax.Program+programProgram = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Program")++-- | DSL updater for the declarations field of hydra.ext.cpp.syntax.Program+programWithDeclarations :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.Declaration] -> Typed.TypedTerm Syntax.Program+programWithDeclarations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "preprocessorDirectives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "preprocessorDirectives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "includes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the includes field of hydra.ext.cpp.syntax.Program+programWithIncludes :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.IncludeDirective] -> Typed.TypedTerm Syntax.Program+programWithIncludes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "preprocessorDirectives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "preprocessorDirectives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "declarations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the preprocessorDirectives field of hydra.ext.cpp.syntax.Program+programWithPreprocessorDirectives :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.PreprocessorDirective] -> Typed.TypedTerm Syntax.Program+programWithPreprocessorDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "preprocessorDirectives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "includes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Program"),+ Model.projectionFieldName = (Model.Name "declarations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifier :: Typed.TypedTerm String -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.QualifiedIdentifier+qualifiedIdentifier namespace name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifierName :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm String+qualifiedIdentifierName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespace field of hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifierNamespace :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm String+qualifiedIdentifierNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifierQualifiedIdentifier :: Typed.TypedName Syntax.QualifiedIdentifier+qualifiedIdentifierQualifiedIdentifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier")++-- | DSL updater for the name field of hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifierWithName :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.QualifiedIdentifier+qualifiedIdentifierWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the namespace field of hydra.ext.cpp.syntax.QualifiedIdentifier+qualifiedIdentifierWithNamespace :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.QualifiedIdentifier+qualifiedIdentifierWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ 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.ext.cpp.syntax.QualifiedIdentifier"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.QualifiedType+qualifiedType :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.TypeQualifier -> Typed.TypedTerm Syntax.QualifiedType+qualifiedType baseType qualifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "baseType"),+ Model.fieldTerm = (Typed.unTypedTerm baseType)},+ Model.Field {+ Model.fieldName = (Model.Name "qualifier"),+ Model.fieldTerm = (Typed.unTypedTerm qualifier)}]}))++-- | DSL accessor for the baseType field of hydra.ext.cpp.syntax.QualifiedType+qualifiedTypeBaseType :: Typed.TypedTerm Syntax.QualifiedType -> Typed.TypedTerm Syntax.TypeExpression+qualifiedTypeBaseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.projectionFieldName = (Model.Name "baseType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.QualifiedType+qualifiedTypeQualifiedType :: Typed.TypedName Syntax.QualifiedType+qualifiedTypeQualifiedType = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.QualifiedType")++-- | DSL accessor for the qualifier field of hydra.ext.cpp.syntax.QualifiedType+qualifiedTypeQualifier :: Typed.TypedTerm Syntax.QualifiedType -> Typed.TypedTerm Syntax.TypeQualifier+qualifiedTypeQualifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.projectionFieldName = (Model.Name "qualifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the baseType field of hydra.ext.cpp.syntax.QualifiedType+qualifiedTypeWithBaseType :: Typed.TypedTerm Syntax.QualifiedType -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.QualifiedType+qualifiedTypeWithBaseType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "baseType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "qualifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.projectionFieldName = (Model.Name "qualifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the qualifier field of hydra.ext.cpp.syntax.QualifiedType+qualifiedTypeWithQualifier :: Typed.TypedTerm Syntax.QualifiedType -> Typed.TypedTerm Syntax.TypeQualifier -> Typed.TypedTerm Syntax.QualifiedType+qualifiedTypeWithQualifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "baseType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.QualifiedType"),+ Model.projectionFieldName = (Model.Name "baseType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "qualifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.RangeForStatement+rangeForStatement :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.RangeForStatement+rangeForStatement type_ variable range body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm variable)},+ Model.Field {+ Model.fieldName = (Model.Name "range"),+ Model.fieldTerm = (Typed.unTypedTerm range)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementBody :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.Statement+rangeForStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the range field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementRange :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.Expression+rangeForStatementRange x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "range")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementRangeForStatement :: Typed.TypedName Syntax.RangeForStatement+rangeForStatementRangeForStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.RangeForStatement")++-- | DSL accessor for the type field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementType :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.TypeExpression+rangeForStatementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the variable field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementVariable :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm String+rangeForStatementVariable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "variable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementWithBody :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.RangeForStatement+rangeForStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "variable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "range"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "range")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the range field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementWithRange :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RangeForStatement+rangeForStatementWithRange original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "variable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "range"),+ 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.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementWithType :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.RangeForStatement+rangeForStatementWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "variable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "range"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "range")})),+ 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.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the variable field of hydra.ext.cpp.syntax.RangeForStatement+rangeForStatementWithVariable :: Typed.TypedTerm Syntax.RangeForStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.RangeForStatement+rangeForStatementWithVariable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "range"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "range")})),+ 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.ext.cpp.syntax.RangeForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the greater variant of hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionGreater :: Typed.TypedTerm Syntax.GreaterOperation -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionGreater x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greater"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the greaterEqual variant of hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionGreaterEqual :: Typed.TypedTerm Syntax.GreaterEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionGreaterEqual x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterEqual"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the less variant of hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionLess :: Typed.TypedTerm Syntax.LessOperation -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionLess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "less"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lessEqual variant of hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionLessEqual :: Typed.TypedTerm Syntax.LessEqualOperation -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionLessEqual x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessEqual"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionRelationalExpression :: Typed.TypedName Syntax.RelationalExpression+relationalExpressionRelationalExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.RelationalExpression")++-- | DSL injection for the shift variant of hydra.ext.cpp.syntax.RelationalExpression+relationalExpressionShift :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionShift x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "shift"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperation :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.RightShiftOperation+rightShiftOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperationLeft :: Typed.TypedTerm Syntax.RightShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression+rightShiftOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperationRight :: Typed.TypedTerm Syntax.RightShiftOperation -> Typed.TypedTerm Syntax.AdditiveExpression+rightShiftOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperationRightShiftOperation :: Typed.TypedName Syntax.RightShiftOperation+rightShiftOperationRightShiftOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation")++-- | DSL updater for the left field of hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperationWithLeft :: Typed.TypedTerm Syntax.RightShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.RightShiftOperation+rightShiftOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.RightShiftOperation+rightShiftOperationWithRight :: Typed.TypedTerm Syntax.RightShiftOperation -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.RightShiftOperation+rightShiftOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.RightShiftOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.SelectionStatement+selectionStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm (Maybe Syntax.Statement) -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatement condition thenBranch elseBranch =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "thenBranch"),+ Model.fieldTerm = (Typed.unTypedTerm thenBranch)},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Typed.unTypedTerm elseBranch)}]}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementCondition :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.Expression+selectionStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elseBranch field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementElseBranch :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm (Maybe Syntax.Statement)+selectionStatementElseBranch x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SelectionStatement+selectionStatementSelectionStatement :: Typed.TypedName Syntax.SelectionStatement+selectionStatementSelectionStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SelectionStatement")++-- | DSL accessor for the thenBranch field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementThenBranch :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.Statement+selectionStatementThenBranch x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "thenBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementWithCondition :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "thenBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "thenBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the elseBranch field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementWithElseBranch :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm (Maybe Syntax.Statement) -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatementWithElseBranch original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ 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.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "thenBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "thenBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the thenBranch field of hydra.ext.cpp.syntax.SelectionStatement+selectionStatementWithThenBranch :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatementWithThenBranch original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ 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.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "thenBranch"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SelectionStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Set+set :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Set+set elementType elements =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm elements)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.SetDeclaration+setDeclaration :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.SetDeclaration+setDeclaration elementType name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the elementType field of hydra.ext.cpp.syntax.SetDeclaration+setDeclarationElementType :: Typed.TypedTerm Syntax.SetDeclaration -> Typed.TypedTerm Syntax.TypeExpression+setDeclarationElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.SetDeclaration+setDeclarationName :: Typed.TypedTerm Syntax.SetDeclaration -> Typed.TypedTerm String+setDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SetDeclaration+setDeclarationSetDeclaration :: Typed.TypedName Syntax.SetDeclaration+setDeclarationSetDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SetDeclaration")++-- | DSL updater for the elementType field of hydra.ext.cpp.syntax.SetDeclaration+setDeclarationWithElementType :: Typed.TypedTerm Syntax.SetDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.SetDeclaration+setDeclarationWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ 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.ext.cpp.syntax.SetDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.SetDeclaration+setDeclarationWithName :: Typed.TypedTerm Syntax.SetDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.SetDeclaration+setDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SetDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the elementType field of hydra.ext.cpp.syntax.Set+setElementType :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.TypeExpression+setElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elements field of hydra.ext.cpp.syntax.Set+setElements :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.Expression]+setElements x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Set+setSet :: Typed.TypedName Syntax.Set+setSet = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Set")++-- | DSL updater for the elementType field of hydra.ext.cpp.syntax.Set+setWithElementType :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Set+setWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the elements field of hydra.ext.cpp.syntax.Set+setWithElements :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Set+setWithElements original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Set"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the additive variant of hydra.ext.cpp.syntax.ShiftExpression+shiftExpressionAdditive :: Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionAdditive x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ShiftExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "additive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the leftShift variant of hydra.ext.cpp.syntax.ShiftExpression+shiftExpressionLeftShift :: Typed.TypedTerm Syntax.LeftShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionLeftShift x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ShiftExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShift"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the rightShift variant of hydra.ext.cpp.syntax.ShiftExpression+shiftExpressionRightShift :: Typed.TypedTerm Syntax.RightShiftOperation -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionRightShift x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.ShiftExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShift"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.ShiftExpression+shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression+shiftExpressionShiftExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.ShiftExpression")++-- | DSL constructor for the hydra.ext.cpp.syntax.SizeofExpression wrapper+sizeofExpression :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.SizeofExpression+sizeofExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.SizeofExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SizeofExpression+sizeofExpressionSizeofExpression :: Typed.TypedName Syntax.SizeofExpression+sizeofExpressionSizeofExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SizeofExpression")++-- | DSL injection for the compound variant of hydra.ext.cpp.syntax.Statement+statementCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.Statement+statementCompound x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "compound"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the declaration variant of hydra.ext.cpp.syntax.Statement+statementDeclaration :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Syntax.Statement+statementDeclaration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.cpp.syntax.Statement+statementExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+statementExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the iteration variant of hydra.ext.cpp.syntax.Statement+statementIteration :: Typed.TypedTerm Syntax.IterationStatement -> Typed.TypedTerm Syntax.Statement+statementIteration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "iteration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the jump variant of hydra.ext.cpp.syntax.Statement+statementJump :: Typed.TypedTerm Syntax.JumpStatement -> Typed.TypedTerm Syntax.Statement+statementJump x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "jump"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the labeled variant of hydra.ext.cpp.syntax.Statement+statementLabeled :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement+statementLabeled x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "labeled"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the selection variant of hydra.ext.cpp.syntax.Statement+statementSelection :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.Statement+statementSelection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "selection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.Statement+statementStatement :: Typed.TypedName Syntax.Statement+statementStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Statement")++-- | DSL injection for the switch variant of hydra.ext.cpp.syntax.Statement+statementSwitch :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.Statement+statementSwitch x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "switch"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.cpp.syntax.StringLiteral wrapper+stringLiteral :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.StringLiteral+stringLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.cpp.syntax.StringLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.StringLiteral+stringLiteralStringLiteral :: Typed.TypedName Syntax.StringLiteral+stringLiteralStringLiteral = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.StringLiteral")++-- | DSL constructor for hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperation :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SubscriptOperation+subscriptOperation array index =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm array)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm index)}]}))++-- | DSL accessor for the array field of hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperationArray :: Typed.TypedTerm Syntax.SubscriptOperation -> Typed.TypedTerm Syntax.PostfixExpression+subscriptOperationArray x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.projectionFieldName = (Model.Name "array")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the index field of hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperationIndex :: Typed.TypedTerm Syntax.SubscriptOperation -> Typed.TypedTerm Syntax.Expression+subscriptOperationIndex x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperationSubscriptOperation :: Typed.TypedName Syntax.SubscriptOperation+subscriptOperationSubscriptOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation")++-- | DSL updater for the array field of hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperationWithArray :: Typed.TypedTerm Syntax.SubscriptOperation -> Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.SubscriptOperation+subscriptOperationWithArray original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the index field of hydra.ext.cpp.syntax.SubscriptOperation+subscriptOperationWithIndex :: Typed.TypedTerm Syntax.SubscriptOperation -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SubscriptOperation+subscriptOperationWithIndex original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubscriptOperation"),+ Model.projectionFieldName = (Model.Name "array")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.SubtractOperation+subtractOperation :: Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.SubtractOperation+subtractOperation left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.cpp.syntax.SubtractOperation+subtractOperationLeft :: Typed.TypedTerm Syntax.SubtractOperation -> Typed.TypedTerm Syntax.AdditiveExpression+subtractOperationLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.cpp.syntax.SubtractOperation+subtractOperationRight :: Typed.TypedTerm Syntax.SubtractOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression+subtractOperationRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SubtractOperation+subtractOperationSubtractOperation :: Typed.TypedName Syntax.SubtractOperation+subtractOperationSubtractOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SubtractOperation")++-- | DSL updater for the left field of hydra.ext.cpp.syntax.SubtractOperation+subtractOperationWithLeft :: Typed.TypedTerm Syntax.SubtractOperation -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.SubtractOperation+subtractOperationWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.cpp.syntax.SubtractOperation+subtractOperationWithRight :: Typed.TypedTerm Syntax.SubtractOperation -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.SubtractOperation+subtractOperationWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SubtractOperation"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.SwitchStatement+switchStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.CaseStatement] -> Typed.TypedTerm Syntax.SwitchStatement+switchStatement value cases =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SwitchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Typed.unTypedTerm cases)}]}))++-- | DSL accessor for the cases field of hydra.ext.cpp.syntax.SwitchStatement+switchStatementCases :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm [Syntax.CaseStatement]+switchStatementCases x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "cases")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.SwitchStatement+switchStatementSwitchStatement :: Typed.TypedName Syntax.SwitchStatement+switchStatementSwitchStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.SwitchStatement")++-- | DSL accessor for the value field of hydra.ext.cpp.syntax.SwitchStatement+switchStatementValue :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.Expression+switchStatementValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the cases field of hydra.ext.cpp.syntax.SwitchStatement+switchStatementWithCases :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm [Syntax.CaseStatement] -> Typed.TypedTerm Syntax.SwitchStatement+switchStatementWithCases original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SwitchStatement"),+ 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.ext.cpp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.ext.cpp.syntax.SwitchStatement+switchStatementWithValue :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SwitchStatement+switchStatementWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.SwitchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ 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.ext.cpp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "cases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.cpp.syntax.TemplateArgument+templateArgumentTemplateArgument :: Typed.TypedName Syntax.TemplateArgument+templateArgumentTemplateArgument = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TemplateArgument")++-- | DSL injection for the type variant of hydra.ext.cpp.syntax.TemplateArgument+templateArgumentType :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.TemplateArgument+templateArgumentType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateArgument"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the value variant of hydra.ext.cpp.syntax.TemplateArgument+templateArgumentValue :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TemplateArgument+templateArgumentValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateArgument"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclaration :: Typed.TypedTerm Bool -> Typed.TypedTerm [String] -> Typed.TypedTerm Syntax.Declaration -> Typed.TypedTerm Syntax.TemplateDeclaration+templateDeclaration inline parameters declaration =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = (Typed.unTypedTerm inline)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm declaration)}]}))++-- | DSL accessor for the declaration field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationDeclaration :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Syntax.Declaration+templateDeclarationDeclaration x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "declaration")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the inline field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationInline :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Bool+templateDeclarationInline x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "inline")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationParameters :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm [String]+templateDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationTemplateDeclaration :: Typed.TypedName Syntax.TemplateDeclaration+templateDeclarationTemplateDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration")++-- | DSL updater for the declaration field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationWithDeclaration :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Syntax.Declaration -> Typed.TypedTerm Syntax.TemplateDeclaration+templateDeclarationWithDeclaration original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "inline")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the inline field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationWithInline :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.TemplateDeclaration+templateDeclarationWithInline original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "declaration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.cpp.syntax.TemplateDeclaration+templateDeclarationWithParameters :: Typed.TypedTerm Syntax.TemplateDeclaration -> Typed.TypedTerm [String] -> Typed.TypedTerm Syntax.TemplateDeclaration+templateDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "inline")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateDeclaration"),+ Model.projectionFieldName = (Model.Name "declaration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperation :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm [Syntax.TemplateArgument] -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.TemplateFunctionCallOperation+templateFunctionCallOperation function templateArguments arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm function)},+ Model.Field {+ Model.fieldName = (Model.Name "templateArguments"),+ Model.fieldTerm = (Typed.unTypedTerm templateArguments)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationArguments :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm [Syntax.Expression]+templateFunctionCallOperationArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the function field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationFunction :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression+templateFunctionCallOperationFunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the templateArguments field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationTemplateArguments :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm [Syntax.TemplateArgument]+templateFunctionCallOperationTemplateArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "templateArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationTemplateFunctionCallOperation :: Typed.TypedName Syntax.TemplateFunctionCallOperation+templateFunctionCallOperationTemplateFunctionCallOperation =+ Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation")++-- | DSL updater for the arguments field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithArguments :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "templateArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "templateArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the function field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithFunction :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithFunction original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "templateArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "templateArguments")})),+ 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.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the templateArguments field of hydra.ext.cpp.syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithTemplateArguments :: Typed.TypedTerm Syntax.TemplateFunctionCallOperation -> Typed.TypedTerm [Syntax.TemplateArgument] -> Typed.TypedTerm Syntax.TemplateFunctionCallOperation+templateFunctionCallOperationWithTemplateArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "templateArguments"),+ 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.ext.cpp.syntax.TemplateFunctionCallOperation"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.TemplateType+templateType :: Typed.TypedTerm String -> Typed.TypedTerm [Syntax.TemplateArgument] -> Typed.TypedTerm Syntax.TemplateType+templateType name arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.cpp.syntax.TemplateType+templateTypeArguments :: Typed.TypedTerm Syntax.TemplateType -> Typed.TypedTerm [Syntax.TemplateArgument]+templateTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateType"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.TemplateType+templateTypeName :: Typed.TypedTerm Syntax.TemplateType -> Typed.TypedTerm String+templateTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateType"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.TemplateType+templateTypeTemplateType :: Typed.TypedName Syntax.TemplateType+templateTypeTemplateType = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TemplateType")++-- | DSL updater for the arguments field of hydra.ext.cpp.syntax.TemplateType+templateTypeWithArguments :: Typed.TypedTerm Syntax.TemplateType -> Typed.TypedTerm [Syntax.TemplateArgument] -> Typed.TypedTerm Syntax.TemplateType+templateTypeWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateType"),+ 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.ext.cpp.syntax.TemplateType"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.TemplateType+templateTypeWithName :: Typed.TypedTerm Syntax.TemplateType -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.TemplateType+templateTypeWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TemplateType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.cpp.syntax.TemplateType"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.TernaryExpression+ternaryExpression :: Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ConditionalExpression -> Typed.TypedTerm Syntax.TernaryExpression+ternaryExpression condition trueExpr falseExpr =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "trueExpr"),+ Model.fieldTerm = (Typed.unTypedTerm trueExpr)},+ Model.Field {+ Model.fieldName = (Model.Name "falseExpr"),+ Model.fieldTerm = (Typed.unTypedTerm falseExpr)}]}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionCondition :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.LogicalOrExpression+ternaryExpressionCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the falseExpr field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionFalseExpr :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.ConditionalExpression+ternaryExpressionFalseExpr x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "falseExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionTernaryExpression :: Typed.TypedName Syntax.TernaryExpression+ternaryExpressionTernaryExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TernaryExpression")++-- | DSL accessor for the trueExpr field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionTrueExpr :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.Expression+ternaryExpressionTrueExpr x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "trueExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionWithCondition :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.LogicalOrExpression -> Typed.TypedTerm Syntax.TernaryExpression+ternaryExpressionWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "trueExpr"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "trueExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "falseExpr"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "falseExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the falseExpr field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionWithFalseExpr :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.ConditionalExpression -> Typed.TypedTerm Syntax.TernaryExpression+ternaryExpressionWithFalseExpr original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ 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.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "trueExpr"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "trueExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "falseExpr"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the trueExpr field of hydra.ext.cpp.syntax.TernaryExpression+ternaryExpressionWithTrueExpr :: Typed.TypedTerm Syntax.TernaryExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TernaryExpression+ternaryExpressionWithTrueExpr original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ 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.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "trueExpr"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "falseExpr"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TernaryExpression"),+ Model.projectionFieldName = (Model.Name "falseExpr")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the auto variant of hydra.ext.cpp.syntax.TypeExpression+typeExpressionAuto :: Typed.TypedTerm Syntax.TypeExpression+typeExpressionAuto =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "auto"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the basic variant of hydra.ext.cpp.syntax.TypeExpression+typeExpressionBasic :: Typed.TypedTerm Syntax.BasicType -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionBasic x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "basic"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the function variant of hydra.ext.cpp.syntax.TypeExpression+typeExpressionFunction :: Typed.TypedTerm Syntax.FunctionType -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the qualified variant of hydra.ext.cpp.syntax.TypeExpression+typeExpressionQualified :: Typed.TypedTerm Syntax.QualifiedType -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionQualified x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "qualified"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the template variant of hydra.ext.cpp.syntax.TypeExpression+typeExpressionTemplate :: Typed.TypedTerm Syntax.TemplateType -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionTemplate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "template"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.TypeExpression+typeExpressionTypeExpression :: Typed.TypedName Syntax.TypeExpression+typeExpressionTypeExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TypeExpression")++-- | DSL injection for the const variant of hydra.ext.cpp.syntax.TypeQualifier+typeQualifierConst :: Typed.TypedTerm Syntax.TypeQualifier+typeQualifierConst =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeQualifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "const"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lvalueRef variant of hydra.ext.cpp.syntax.TypeQualifier+typeQualifierLvalueRef :: Typed.TypedTerm Syntax.TypeQualifier+typeQualifierLvalueRef =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeQualifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lvalueRef"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the pointer variant of hydra.ext.cpp.syntax.TypeQualifier+typeQualifierPointer :: Typed.TypedTerm Syntax.TypeQualifier+typeQualifierPointer =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeQualifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rvalueRef variant of hydra.ext.cpp.syntax.TypeQualifier+typeQualifierRvalueRef :: Typed.TypedTerm Syntax.TypeQualifier+typeQualifierRvalueRef =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypeQualifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rvalueRef"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.TypeQualifier+typeQualifierTypeQualifier :: Typed.TypedName Syntax.TypeQualifier+typeQualifierTypeQualifier = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TypeQualifier")++-- | DSL constructor for hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclaration :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.TypedefDeclaration+typedefDeclaration name type_ isUsing =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "isUsing"),+ Model.fieldTerm = (Typed.unTypedTerm isUsing)}]}))++-- | DSL accessor for the isUsing field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationIsUsing :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm Bool+typedefDeclarationIsUsing x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "isUsing")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationName :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm String+typedefDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationType :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm Syntax.TypeExpression+typedefDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationTypedefDeclaration :: Typed.TypedName Syntax.TypedefDeclaration+typedefDeclarationTypedefDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration")++-- | DSL updater for the isUsing field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationWithIsUsing :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.TypedefDeclaration+typedefDeclarationWithIsUsing original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ 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.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUsing"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationWithName :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypedefDeclaration+typedefDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isUsing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "isUsing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.cpp.syntax.TypedefDeclaration+typedefDeclarationWithType :: Typed.TypedTerm Syntax.TypedefDeclaration -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.TypedefDeclaration+typedefDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ 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.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isUsing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.TypedefDeclaration"),+ Model.projectionFieldName = (Model.Name "isUsing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.BooleanLiteral+unBooleanLiteral :: Typed.TypedTerm Syntax.BooleanLiteral -> Typed.TypedTerm Bool+unBooleanLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.BooleanLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.CharacterLiteral+unCharacterLiteral :: Typed.TypedTerm Syntax.CharacterLiteral -> Typed.TypedTerm String+unCharacterLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.CharacterLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.ClassBody+unClassBody :: Typed.TypedTerm Syntax.ClassBody -> Typed.TypedTerm [Syntax.MemberSpecification]+unClassBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.ClassBody")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.CompoundStatement+unCompoundStatement :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm [Syntax.Statement]+unCompoundStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.CompoundStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.ExpressionStatement+unExpressionStatement :: Typed.TypedTerm Syntax.ExpressionStatement -> Typed.TypedTerm Syntax.Expression+unExpressionStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.ExpressionStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.FloatingLiteral+unFloatingLiteral :: Typed.TypedTerm Syntax.FloatingLiteral -> Typed.TypedTerm Double+unFloatingLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.FloatingLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.OverloadedLambdas+unOverloadedLambdas :: Typed.TypedTerm Syntax.OverloadedLambdas -> Typed.TypedTerm [Syntax.LambdaExpression]+unOverloadedLambdas x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.OverloadedLambdas")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.SizeofExpression+unSizeofExpression :: Typed.TypedTerm Syntax.SizeofExpression -> Typed.TypedTerm Syntax.TypeExpression+unSizeofExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.SizeofExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.cpp.syntax.StringLiteral+unStringLiteral :: Typed.TypedTerm Syntax.StringLiteral -> Typed.TypedTerm String+unStringLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.cpp.syntax.StringLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the postfix variant of hydra.ext.cpp.syntax.UnaryExpression+unaryExpressionPostfix :: Typed.TypedTerm Syntax.PostfixExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPostfix x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postfix"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sizeof variant of hydra.ext.cpp.syntax.UnaryExpression+unaryExpressionSizeof :: Typed.TypedTerm Syntax.SizeofExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionSizeof x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sizeof"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.UnaryExpression+unaryExpressionUnaryExpression :: Typed.TypedName Syntax.UnaryExpression+unaryExpressionUnaryExpression = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.UnaryExpression")++-- | DSL injection for the unaryOp variant of hydra.ext.cpp.syntax.UnaryExpression+unaryExpressionUnaryOp :: Typed.TypedTerm Syntax.UnaryOperation -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionUnaryOp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unaryOp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.cpp.syntax.UnaryOperation+unaryOperation :: Typed.TypedTerm Syntax.UnaryOperator -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryOperation+unaryOperation operator operand =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm operand)}]}))++-- | DSL accessor for the operand field of hydra.ext.cpp.syntax.UnaryOperation+unaryOperationOperand :: Typed.TypedTerm Syntax.UnaryOperation -> Typed.TypedTerm Syntax.UnaryExpression+unaryOperationOperand x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.cpp.syntax.UnaryOperation+unaryOperationOperator :: Typed.TypedTerm Syntax.UnaryOperation -> Typed.TypedTerm Syntax.UnaryOperator+unaryOperationOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.UnaryOperation+unaryOperationUnaryOperation :: Typed.TypedName Syntax.UnaryOperation+unaryOperationUnaryOperation = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.UnaryOperation")++-- | DSL updater for the operand field of hydra.ext.cpp.syntax.UnaryOperation+unaryOperationWithOperand :: Typed.TypedTerm Syntax.UnaryOperation -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryOperation+unaryOperationWithOperand original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ 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.ext.cpp.syntax.UnaryOperation"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the operator field of hydra.ext.cpp.syntax.UnaryOperation+unaryOperationWithOperator :: Typed.TypedTerm Syntax.UnaryOperation -> Typed.TypedTerm Syntax.UnaryOperator -> Typed.TypedTerm Syntax.UnaryOperation+unaryOperationWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperation"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the addressOf variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorAddressOf :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorAddressOf =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "addressOf"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bitwiseNot variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorBitwiseNot :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorBitwiseNot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseNot"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dereference variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorDereference :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorDereference =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dereference"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the logicalNot variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorLogicalNot :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorLogicalNot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "logicalNot"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minus variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorMinus :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorPlus :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preDecrement variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorPreDecrement :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorPreDecrement =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preDecrement"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preIncrement variant of hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorPreIncrement :: Typed.TypedTerm Syntax.UnaryOperator+unaryOperatorPreIncrement =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preIncrement"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.cpp.syntax.UnaryOperator+unaryOperatorUnaryOperator :: Typed.TypedName Syntax.UnaryOperator+unaryOperatorUnaryOperator = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.UnaryOperator")++-- | DSL constructor for hydra.ext.cpp.syntax.UndefDirective+undefDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.UndefDirective+undefDirective name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.UndefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.UndefDirective+undefDirectiveName :: Typed.TypedTerm Syntax.UndefDirective -> Typed.TypedTerm String+undefDirectiveName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.UndefDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.UndefDirective+undefDirectiveUndefDirective :: Typed.TypedName Syntax.UndefDirective+undefDirectiveUndefDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.UndefDirective")++-- | DSL updater for the name field of hydra.ext.cpp.syntax.UndefDirective+undefDirectiveWithName :: Typed.TypedTerm Syntax.UndefDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.UndefDirective+undefDirectiveWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.UndefDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.VariableDeclaration+variableDeclaration :: Typed.TypedTerm (Maybe Syntax.TypeExpression) -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.VariableDeclaration+variableDeclaration type_ name initializer isAuto =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)},+ Model.Field {+ Model.fieldName = (Model.Name "isAuto"),+ Model.fieldTerm = (Typed.unTypedTerm isAuto)}]}))++-- | DSL accessor for the initializer field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationInitializer :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm (Maybe Syntax.Expression)+variableDeclarationInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isAuto field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationIsAuto :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Bool+variableDeclarationIsAuto x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "isAuto")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationName :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm String+variableDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationType :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeExpression)+variableDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationVariableDeclaration :: Typed.TypedName Syntax.VariableDeclaration+variableDeclarationVariableDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration")++-- | DSL updater for the initializer field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationWithInitializer :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.VariableDeclaration+variableDeclarationWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isAuto"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "isAuto")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isAuto field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationWithIsAuto :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.VariableDeclaration+variableDeclarationWithIsAuto original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isAuto"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationWithName :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.VariableDeclaration+variableDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isAuto"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "isAuto")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.cpp.syntax.VariableDeclaration+variableDeclarationWithType :: Typed.TypedTerm Syntax.VariableDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeExpression) -> Typed.TypedTerm Syntax.VariableDeclaration+variableDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isAuto"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariableDeclaration"),+ Model.projectionFieldName = (Model.Name "isAuto")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.VariantDeclaration+variantDeclaration :: Typed.TypedTerm [Syntax.TypeExpression] -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.VariantDeclaration+variantDeclaration types name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Typed.unTypedTerm types)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.ext.cpp.syntax.VariantDeclaration+variantDeclarationName :: Typed.TypedTerm Syntax.VariantDeclaration -> Typed.TypedTerm String+variantDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the types field of hydra.ext.cpp.syntax.VariantDeclaration+variantDeclarationTypes :: Typed.TypedTerm Syntax.VariantDeclaration -> Typed.TypedTerm [Syntax.TypeExpression]+variantDeclarationTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.VariantDeclaration+variantDeclarationVariantDeclaration :: Typed.TypedName Syntax.VariantDeclaration+variantDeclarationVariantDeclaration = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration")++-- | DSL updater for the name field of hydra.ext.cpp.syntax.VariantDeclaration+variantDeclarationWithName :: Typed.TypedTerm Syntax.VariantDeclaration -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.VariantDeclaration+variantDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the types field of hydra.ext.cpp.syntax.VariantDeclaration+variantDeclarationWithTypes :: Typed.TypedTerm Syntax.VariantDeclaration -> Typed.TypedTerm [Syntax.TypeExpression] -> Typed.TypedTerm Syntax.VariantDeclaration+variantDeclarationWithTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.VariantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ 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.ext.cpp.syntax.VariantDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.Vector+vector :: Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Vector+vector elementType elements =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm elements)}]}))++-- | DSL accessor for the elementType field of hydra.ext.cpp.syntax.Vector+vectorElementType :: Typed.TypedTerm Syntax.Vector -> Typed.TypedTerm Syntax.TypeExpression+vectorElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elements field of hydra.ext.cpp.syntax.Vector+vectorElements :: Typed.TypedTerm Syntax.Vector -> Typed.TypedTerm [Syntax.Expression]+vectorElements x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.Vector+vectorVector :: Typed.TypedName Syntax.Vector+vectorVector = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Vector")++-- | DSL updater for the elementType field of hydra.ext.cpp.syntax.Vector+vectorWithElementType :: Typed.TypedTerm Syntax.Vector -> Typed.TypedTerm Syntax.TypeExpression -> Typed.TypedTerm Syntax.Vector+vectorWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the elements field of hydra.ext.cpp.syntax.Vector+vectorWithElements :: Typed.TypedTerm Syntax.Vector -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Vector+vectorWithElements original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Vector"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the lambda variant of hydra.ext.cpp.syntax.Visitor+visitorLambda :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.Visitor+visitorLambda x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Visitor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lambda"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the overloaded variant of hydra.ext.cpp.syntax.Visitor+visitorOverloaded :: Typed.TypedTerm Syntax.OverloadedLambdas -> Typed.TypedTerm Syntax.Visitor+visitorOverloaded x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.cpp.syntax.Visitor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "overloaded"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.cpp.syntax.Visitor+visitorVisitor :: Typed.TypedName Syntax.Visitor+visitorVisitor = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.Visitor")++-- | DSL constructor for hydra.ext.cpp.syntax.WarningDirective+warningDirective :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.WarningDirective+warningDirective message =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.WarningDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "message"),+ Model.fieldTerm = (Typed.unTypedTerm message)}]}))++-- | DSL accessor for the message field of hydra.ext.cpp.syntax.WarningDirective+warningDirectiveMessage :: Typed.TypedTerm Syntax.WarningDirective -> Typed.TypedTerm String+warningDirectiveMessage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.WarningDirective"),+ Model.projectionFieldName = (Model.Name "message")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.WarningDirective+warningDirectiveWarningDirective :: Typed.TypedName Syntax.WarningDirective+warningDirectiveWarningDirective = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.WarningDirective")++-- | DSL updater for the message field of hydra.ext.cpp.syntax.WarningDirective+warningDirectiveWithMessage :: Typed.TypedTerm Syntax.WarningDirective -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.WarningDirective+warningDirectiveWithMessage original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.syntax.WarningDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "message"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.cpp.syntax.WhileStatement+whileStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.WhileStatement+whileStatement condition body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.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)}]}))++-- | DSL accessor for the body field of hydra.ext.cpp.syntax.WhileStatement+whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Statement+whileStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.ext.cpp.syntax.WhileStatement+whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Expression+whileStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.cpp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.cpp.syntax.WhileStatement+whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement+whileStatementWhileStatement = Typed.TypedName (Model.Name "hydra.ext.cpp.syntax.WhileStatement")++-- | DSL updater for the body field of hydra.ext.cpp.syntax.WhileStatement+whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.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.ext.cpp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the condition field of hydra.ext.cpp.syntax.WhileStatement+whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.cpp.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.ext.cpp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Csharp/Syntax.hs view
@@ -0,0 +1,26317 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.csharp.syntax++module Hydra.Ext.Dsl.Csharp.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Csharp.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.ext.csharp.syntax.AccessorBody+accessorBodyAccessorBody :: Typed.TypedName Syntax.AccessorBody+accessorBodyAccessorBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AccessorBody")++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.AccessorBody+accessorBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AccessorBody+accessorBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.AccessorBody+accessorBodyEmpty :: Typed.TypedTerm Syntax.AccessorBody+accessorBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.AccessorBody+accessorBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AccessorBody+accessorBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.AccessorModifier) -> Typed.TypedTerm Syntax.AccessorBody -> Typed.TypedTerm Syntax.AccessorDeclaration+accessorDeclaration attributes modifier body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Typed.unTypedTerm modifier)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationAccessorDeclaration :: Typed.TypedName Syntax.AccessorDeclaration+accessorDeclarationAccessorDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration")++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationAttributes :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+accessorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationBody :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm Syntax.AccessorBody+accessorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifier field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationModifier :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.AccessorModifier)+accessorDeclarationModifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationWithAttributes :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.AccessorDeclaration+accessorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationWithBody :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm Syntax.AccessorBody -> Typed.TypedTerm Syntax.AccessorDeclaration+accessorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifier field of hydra.ext.csharp.syntax.AccessorDeclaration+accessorDeclarationWithModifier :: Typed.TypedTerm Syntax.AccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.AccessorModifier) -> Typed.TypedTerm Syntax.AccessorDeclaration+accessorDeclarationWithModifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ 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.ext.csharp.syntax.AccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AccessorDeclarations+accessorDeclarationsAccessorDeclarations :: Typed.TypedName Syntax.AccessorDeclarations+accessorDeclarationsAccessorDeclarations = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AccessorDeclarations")++-- | DSL injection for the get variant of hydra.ext.csharp.syntax.AccessorDeclarations+accessorDeclarationsGet :: Typed.TypedTerm (Maybe Syntax.AccessorDeclaration) -> Typed.TypedTerm Syntax.AccessorDeclarations+accessorDeclarationsGet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclarations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "get"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the set variant of hydra.ext.csharp.syntax.AccessorDeclarations+accessorDeclarationsSet :: Typed.TypedTerm (Maybe Syntax.AccessorDeclaration) -> Typed.TypedTerm Syntax.AccessorDeclarations+accessorDeclarationsSet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorDeclarations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.AccessorModifier+accessorModifierAccessorModifier :: Typed.TypedName Syntax.AccessorModifier+accessorModifierAccessorModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AccessorModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierInternal :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the internalProtected variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierInternalProtected :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierInternalProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internalProtected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierPrivate :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the privateProtected variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierPrivateProtected :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierPrivateProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "privateProtected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierProtected :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protectedInternal variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierProtectedInternal :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierProtectedInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protectedInternal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protectedPrivate variant of hydra.ext.csharp.syntax.AccessorModifier+accessorModifierProtectedPrivate :: Typed.TypedTerm Syntax.AccessorModifier+accessorModifierProtectedPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protectedPrivate"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.EventModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.EventAccessorDeclarations -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclaration attributes modifiers type_ name accessors =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm accessors)}]}))++-- | DSL accessor for the accessors field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationAccessors :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.EventAccessorDeclarations+accessorsEventDeclarationAccessors x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationAccessorsEventDeclaration :: Typed.TypedName Syntax.AccessorsEventDeclaration+accessorsEventDeclarationAccessorsEventDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration")++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationAttributes :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+accessorsEventDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationModifiers :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm [Syntax.EventModifier]+accessorsEventDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationName :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.MemberName+accessorsEventDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationType :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.Type+accessorsEventDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the accessors field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithAccessors :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.EventAccessorDeclarations -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithAccessors original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithAttributes :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithModifiers :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm [Syntax.EventModifier] -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithName :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithType :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.AccessorsEventDeclaration+accessorsEventDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AccessorsEventDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclaration attributes body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationAddRemoveAccessorDeclaration :: Typed.TypedName Syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationAddRemoveAccessorDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration")++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationAttributes :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+addRemoveAccessorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationBody :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm Syntax.Block+addRemoveAccessorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationWithAttributes :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ 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.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationWithBody :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration+addRemoveAccessorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AddRemoveAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AdditiveExpression+additiveExpressionAdditiveExpression :: Typed.TypedName Syntax.AdditiveExpression+additiveExpressionAdditiveExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AdditiveExpression")++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.AdditiveExpression+additiveExpressionBinary :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.AdditiveExpression+additiveExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AdditiveExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.AdditiveExpression+additiveExpressionSimple :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.AdditiveExpression+additiveExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AdditiveExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.AdditiveOperator+additiveOperatorAdditiveOperator :: Typed.TypedName Syntax.AdditiveOperator+additiveOperatorAdditiveOperator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AdditiveOperator")++-- | DSL injection for the minus variant of hydra.ext.csharp.syntax.AdditiveOperator+additiveOperatorMinus :: Typed.TypedTerm Syntax.AdditiveOperator+additiveOperatorMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AdditiveOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.ext.csharp.syntax.AdditiveOperator+additiveOperatorPlus :: Typed.TypedTerm Syntax.AdditiveOperator+additiveOperatorPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AdditiveOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.AndExpression+andExpressionAndExpression :: Typed.TypedName Syntax.AndExpression+andExpressionAndExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AndExpression")++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.AndExpression+andExpressionBinary :: Typed.TypedTerm Syntax.BinaryAndExpression -> Typed.TypedTerm Syntax.AndExpression+andExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.AndExpression+andExpressionSimple :: Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.AndExpression+andExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.AnonymousFunctionBody+anonymousFunctionBodyAnonymousFunctionBody :: Typed.TypedName Syntax.AnonymousFunctionBody+anonymousFunctionBodyAnonymousFunctionBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody")++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.AnonymousFunctionBody+anonymousFunctionBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AnonymousFunctionBody+anonymousFunctionBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.AnonymousFunctionBody+anonymousFunctionBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AnonymousFunctionBody+anonymousFunctionBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nullConditionalInvocation variant of hydra.ext.csharp.syntax.AnonymousFunctionBody+anonymousFunctionBodyNullConditionalInvocation :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.AnonymousFunctionBody+anonymousFunctionBodyNullConditionalInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalInvocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.AnonymousFunctionBody+anonymousFunctionBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.AnonymousFunctionBody+anonymousFunctionBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierAnonymousFunctionParameterModifier :: Typed.TypedName Syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierAnonymousFunctionParameterModifier =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier")++-- | DSL injection for the in variant of hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierIn :: Typed.TypedTerm Syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierIn =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the out variant of hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierOut :: Typed.TypedTerm Syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierOut =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "out"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierRef :: Typed.TypedTerm Syntax.AnonymousFunctionParameterModifier+anonymousFunctionParameterModifierRef =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionParameterModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.AnonymousFunctionSignature+anonymousFunctionSignatureAnonymousFunctionSignature :: Typed.TypedName Syntax.AnonymousFunctionSignature+anonymousFunctionSignatureAnonymousFunctionSignature =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionSignature")++-- | DSL injection for the explicit variant of hydra.ext.csharp.syntax.AnonymousFunctionSignature+anonymousFunctionSignatureExplicit :: Typed.TypedTerm [Syntax.ExplicitAnonymousFunctionParameter] -> Typed.TypedTerm Syntax.AnonymousFunctionSignature+anonymousFunctionSignatureExplicit x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionSignature"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "explicit"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the implicit variant of hydra.ext.csharp.syntax.AnonymousFunctionSignature+anonymousFunctionSignatureImplicit :: Typed.TypedTerm [Syntax.Identifier] -> Typed.TypedTerm Syntax.AnonymousFunctionSignature+anonymousFunctionSignatureImplicit x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousFunctionSignature"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "implicit"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpression :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.ExplicitAnonymousFunctionParameter] -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AnonymousMethodExpression+anonymousMethodExpression async signature body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Typed.unTypedTerm signature)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionAnonymousMethodExpression :: Typed.TypedName Syntax.AnonymousMethodExpression+anonymousMethodExpressionAnonymousMethodExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression")++-- | DSL accessor for the async field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionAsync :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm Bool+anonymousMethodExpressionAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionBody :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm Syntax.Block+anonymousMethodExpressionBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the signature field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionSignature :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm [Syntax.ExplicitAnonymousFunctionParameter]+anonymousMethodExpressionSignature x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionWithAsync :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AnonymousMethodExpression+anonymousMethodExpressionWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ 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.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionWithBody :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.AnonymousMethodExpression+anonymousMethodExpressionWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ 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.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the signature field of hydra.ext.csharp.syntax.AnonymousMethodExpression+anonymousMethodExpressionWithSignature :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm [Syntax.ExplicitAnonymousFunctionParameter] -> Typed.TypedTerm Syntax.AnonymousMethodExpression+anonymousMethodExpressionWithSignature original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AnonymousMethodExpression"),+ 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.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ 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.ext.csharp.syntax.AnonymousMethodExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.Argument+argument :: Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.ArgumentValue -> Typed.TypedTerm Syntax.Argument+argument name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Argument"),+ 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.ext.csharp.syntax.Argument+argumentArgument :: Typed.TypedName Syntax.Argument+argumentArgument = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Argument")++-- | DSL constructor for the hydra.ext.csharp.syntax.ArgumentList wrapper+argumentList :: Typed.TypedTerm [Syntax.Argument] -> Typed.TypedTerm Syntax.ArgumentList+argumentList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ArgumentList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ArgumentList+argumentListArgumentList :: Typed.TypedName Syntax.ArgumentList+argumentListArgumentList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArgumentList")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.Argument+argumentName :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm (Maybe Syntax.Identifier)+argumentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the value field of hydra.ext.csharp.syntax.Argument+argumentValue :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.ArgumentValue+argumentValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ArgumentValue+argumentValueArgumentValue :: Typed.TypedName Syntax.ArgumentValue+argumentValueArgumentValue = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArgumentValue")++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.ArgumentValue+argumentValueExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ArgumentValue+argumentValueExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArgumentValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the in variant of hydra.ext.csharp.syntax.ArgumentValue+argumentValueIn :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.ArgumentValue+argumentValueIn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArgumentValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the out variant of hydra.ext.csharp.syntax.ArgumentValue+argumentValueOut :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.ArgumentValue+argumentValueOut x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArgumentValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "out"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.ArgumentValue+argumentValueRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.ArgumentValue+argumentValueRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArgumentValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.Argument+argumentWithName :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.Argument+argumentWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Argument"),+ 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.ext.csharp.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.csharp.syntax.Argument+argumentWithValue :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.ArgumentValue -> Typed.TypedTerm Syntax.Argument+argumentWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Argument"),+ 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.ext.csharp.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ArrayCreationExpression+arrayCreationExpressionArrayCreationExpression :: Typed.TypedName Syntax.ArrayCreationExpression+arrayCreationExpressionArrayCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArrayCreationExpression")++-- | DSL injection for the arrayType variant of hydra.ext.csharp.syntax.ArrayCreationExpression+arrayCreationExpressionArrayType :: Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayCreationExpression+arrayCreationExpressionArrayType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "arrayType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nonArrayType variant of hydra.ext.csharp.syntax.ArrayCreationExpression+arrayCreationExpressionNonArrayType :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayCreationExpression+arrayCreationExpressionNonArrayType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nonArrayType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the rankSpecifier variant of hydra.ext.csharp.syntax.ArrayCreationExpression+arrayCreationExpressionRankSpecifier :: Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayCreationExpression+arrayCreationExpressionRankSpecifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rankSpecifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.ArrayInitializer wrapper+arrayInitializer :: Typed.TypedTerm [Syntax.VariableInitializer] -> Typed.TypedTerm Syntax.ArrayInitializer+arrayInitializer x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayInitializer"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ArrayInitializer+arrayInitializerArrayInitializer :: Typed.TypedName Syntax.ArrayInitializer+arrayInitializerArrayInitializer = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArrayInitializer")++-- | DSL constructor for hydra.ext.csharp.syntax.ArrayType+arrayType :: Typed.TypedTerm Syntax.NonArrayType -> Typed.TypedTerm [Syntax.RankSpecifier] -> Typed.TypedTerm Syntax.ArrayType+arrayType type_ rank =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "rank"),+ Model.fieldTerm = (Typed.unTypedTerm rank)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpression :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpression type_ initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionArrayTypeArrayCreationExpression :: Typed.TypedName Syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionArrayTypeArrayCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression")++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionInitializer :: Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayInitializer+arrayTypeArrayCreationExpressionInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionType :: Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayType+arrayTypeArrayCreationExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionWithInitializer :: Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionWithType :: Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.ArrayTypeArrayCreationExpression+arrayTypeArrayCreationExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ArrayType+arrayTypeArrayType :: Typed.TypedName Syntax.ArrayType+arrayTypeArrayType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ArrayType")++-- | DSL accessor for the rank field of hydra.ext.csharp.syntax.ArrayType+arrayTypeRank :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm [Syntax.RankSpecifier]+arrayTypeRank x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.projectionFieldName = (Model.Name "rank")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ArrayType+arrayTypeType :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.NonArrayType+arrayTypeType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the rank field of hydra.ext.csharp.syntax.ArrayType+arrayTypeWithRank :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm [Syntax.RankSpecifier] -> Typed.TypedTerm Syntax.ArrayType+arrayTypeWithRank original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rank"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ArrayType+arrayTypeWithType :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.NonArrayType -> Typed.TypedTerm Syntax.ArrayType+arrayTypeWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rank"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ArrayType"),+ Model.projectionFieldName = (Model.Name "rank")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpression :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.AsTypeExpression+asTypeExpression expression type_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpressionAsTypeExpression :: Typed.TypedName Syntax.AsTypeExpression+asTypeExpressionAsTypeExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpressionExpression :: Typed.TypedTerm Syntax.AsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression+asTypeExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpressionType :: Typed.TypedTerm Syntax.AsTypeExpression -> Typed.TypedTerm Syntax.Type+asTypeExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpressionWithExpression :: Typed.TypedTerm Syntax.AsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.AsTypeExpression+asTypeExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.AsTypeExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.AsTypeExpression+asTypeExpressionWithType :: Typed.TypedTerm Syntax.AsTypeExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.AsTypeExpression+asTypeExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AsTypeExpression"),+ 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.ext.csharp.syntax.AsTypeExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.Assignment+assignment :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.AssignmentOperator -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Assignment+assignment left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.Assignment+assignmentAssignment :: Typed.TypedName Syntax.Assignment+assignmentAssignment = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Assignment")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.Assignment+assignmentLeft :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.UnaryExpression+assignmentLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentMemberDeclarator+assignmentMemberDeclarator identifier expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorAssignmentMemberDeclarator :: Typed.TypedName Syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorAssignmentMemberDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorExpression :: Typed.TypedTerm Syntax.AssignmentMemberDeclarator -> Typed.TypedTerm Syntax.Expression+assignmentMemberDeclaratorExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorIdentifier :: Typed.TypedTerm Syntax.AssignmentMemberDeclarator -> Typed.TypedTerm Syntax.Identifier+assignmentMemberDeclaratorIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorWithExpression :: Typed.TypedTerm Syntax.AssignmentMemberDeclarator -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorWithIdentifier :: Typed.TypedTerm Syntax.AssignmentMemberDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.AssignmentMemberDeclarator+assignmentMemberDeclaratorWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.AssignmentMemberDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.Assignment+assignmentOperator :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the andEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorAndEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorAndEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "andEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorAssignmentOperator :: Typed.TypedName Syntax.AssignmentOperator+assignmentOperatorAssignmentOperator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator")++-- | DSL injection for the divideEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorDivideEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorDivideEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divideEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShiftEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorLeftShiftEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorLeftShiftEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShiftEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minusEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorMinusEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorMinusEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minusEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the modEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorModEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorModEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the orEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorOrEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorOrEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "orEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plusEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorPlusEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorPlusEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plusEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightShiftEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorRightShiftEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorRightShiftEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShiftEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorSimple :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the timesEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorTimesEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorTimesEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timesEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the xorEquals variant of hydra.ext.csharp.syntax.AssignmentOperator+assignmentOperatorXorEquals :: Typed.TypedTerm Syntax.AssignmentOperator+assignmentOperatorXorEquals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AssignmentOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "xorEquals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.Assignment+assignmentRight :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Expression+assignmentRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.Assignment+assignmentWithLeft :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.Assignment+assignmentWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.Assignment+assignmentWithOperator :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.AssignmentOperator -> Typed.TypedTerm Syntax.Assignment+assignmentWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.Assignment+assignmentWithRight :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Assignment+assignmentWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Assignment"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.Attribute+attribute :: Typed.TypedTerm Syntax.AttributeName -> Typed.TypedTerm (Maybe Syntax.AttributeArguments) -> Typed.TypedTerm Syntax.Attribute+attribute name arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Attribute"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.AttributeArgumentExpression wrapper+attributeArgumentExpression :: Typed.TypedTerm Syntax.NonAssignmentExpression -> Typed.TypedTerm Syntax.AttributeArgumentExpression+attributeArgumentExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArgumentExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeArgumentExpression+attributeArgumentExpressionAttributeArgumentExpression :: Typed.TypedName Syntax.AttributeArgumentExpression+attributeArgumentExpressionAttributeArgumentExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeArgumentExpression")++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.Attribute+attributeArguments :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm (Maybe Syntax.AttributeArguments)+attributeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Attribute"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.AttributeArguments+attributeArguments2 :: Typed.TypedTerm (Maybe Syntax.PositionalArgumentList) -> Typed.TypedTerm (Maybe Syntax.NamedArgumentList) -> Typed.TypedTerm Syntax.AttributeArguments+attributeArguments2 positonal named =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positonal"),+ Model.fieldTerm = (Typed.unTypedTerm positonal)},+ Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm named)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeArguments+attributeArgumentsAttributeArguments :: Typed.TypedName Syntax.AttributeArguments+attributeArgumentsAttributeArguments = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeArguments")++-- | DSL accessor for the named field of hydra.ext.csharp.syntax.AttributeArguments+attributeArgumentsNamed :: Typed.TypedTerm Syntax.AttributeArguments -> Typed.TypedTerm (Maybe Syntax.NamedArgumentList)+attributeArgumentsNamed x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.projectionFieldName = (Model.Name "named")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the positonal field of hydra.ext.csharp.syntax.AttributeArguments+attributeArgumentsPositonal :: Typed.TypedTerm Syntax.AttributeArguments -> Typed.TypedTerm (Maybe Syntax.PositionalArgumentList)+attributeArgumentsPositonal x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.projectionFieldName = (Model.Name "positonal")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the named field of hydra.ext.csharp.syntax.AttributeArguments+attributeArgumentsWithNamed :: Typed.TypedTerm Syntax.AttributeArguments -> Typed.TypedTerm (Maybe Syntax.NamedArgumentList) -> Typed.TypedTerm Syntax.AttributeArguments+attributeArgumentsWithNamed original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positonal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.projectionFieldName = (Model.Name "positonal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the positonal field of hydra.ext.csharp.syntax.AttributeArguments+attributeArgumentsWithPositonal :: Typed.TypedTerm Syntax.AttributeArguments -> Typed.TypedTerm (Maybe Syntax.PositionalArgumentList) -> Typed.TypedTerm Syntax.AttributeArguments+attributeArgumentsWithPositonal original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positonal"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeArguments"),+ Model.projectionFieldName = (Model.Name "named")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.Attribute+attributeAttribute :: Typed.TypedName Syntax.Attribute+attributeAttribute = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Attribute")++-- | DSL constructor for the hydra.ext.csharp.syntax.AttributeList wrapper+attributeList :: Typed.TypedTerm [Syntax.Attribute] -> Typed.TypedTerm Syntax.AttributeList+attributeList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeList+attributeListAttributeList :: Typed.TypedName Syntax.AttributeList+attributeListAttributeList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeList")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.Attribute+attributeName :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.AttributeName+attributeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Attribute"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.csharp.syntax.AttributeName wrapper+attributeName2 :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.AttributeName+attributeName2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeName+attributeNameAttributeName :: Typed.TypedName Syntax.AttributeName+attributeNameAttributeName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeName")++-- | DSL constructor for hydra.ext.csharp.syntax.AttributeSection+attributeSection :: Typed.TypedTerm (Maybe Syntax.AttributeTarget) -> Typed.TypedTerm Syntax.AttributeList -> Typed.TypedTerm Syntax.AttributeSection+attributeSection target attributes =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeSection+attributeSectionAttributeSection :: Typed.TypedName Syntax.AttributeSection+attributeSectionAttributeSection = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeSection")++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.AttributeSection+attributeSectionAttributes :: Typed.TypedTerm Syntax.AttributeSection -> Typed.TypedTerm Syntax.AttributeList+attributeSectionAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the target field of hydra.ext.csharp.syntax.AttributeSection+attributeSectionTarget :: Typed.TypedTerm Syntax.AttributeSection -> Typed.TypedTerm (Maybe Syntax.AttributeTarget)+attributeSectionTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.AttributeSection+attributeSectionWithAttributes :: Typed.TypedTerm Syntax.AttributeSection -> Typed.TypedTerm Syntax.AttributeList -> Typed.TypedTerm Syntax.AttributeSection+attributeSectionWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the target field of hydra.ext.csharp.syntax.AttributeSection+attributeSectionWithTarget :: Typed.TypedTerm Syntax.AttributeSection -> Typed.TypedTerm (Maybe Syntax.AttributeTarget) -> Typed.TypedTerm Syntax.AttributeSection+attributeSectionWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeSection"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.AttributeTarget+attributeTargetAttributeTarget :: Typed.TypedName Syntax.AttributeTarget+attributeTargetAttributeTarget = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.AttributeTarget")++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.AttributeTarget+attributeTargetIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.AttributeTarget+attributeTargetIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the keyword variant of hydra.ext.csharp.syntax.AttributeTarget+attributeTargetKeyword :: Typed.TypedTerm Syntax.Keyword -> Typed.TypedTerm Syntax.AttributeTarget+attributeTargetKeyword x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.AttributeTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "keyword"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.Attribute+attributeWithArguments :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm (Maybe Syntax.AttributeArguments) -> Typed.TypedTerm Syntax.Attribute+attributeWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Attribute"),+ 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.ext.csharp.syntax.Attribute"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.Attribute+attributeWithName :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.AttributeName -> Typed.TypedTerm Syntax.Attribute+attributeWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Attribute"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.Attribute"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.Attributes wrapper+attributes :: Typed.TypedTerm [Syntax.AttributeSection] -> Typed.TypedTerm Syntax.Attributes+attributes x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.Attributes"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Attributes+attributesAttributes :: Typed.TypedName Syntax.Attributes+attributesAttributes = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Attributes")++-- | DSL injection for the arguments variant of hydra.ext.csharp.syntax.BaseAccess+baseAccessArguments :: Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.BaseAccess+baseAccessArguments x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccess"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.BaseAccess+baseAccessBaseAccess :: Typed.TypedName Syntax.BaseAccess+baseAccessBaseAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BaseAccess")++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.BaseAccess+baseAccessIdentifier :: Typed.TypedTerm Syntax.BaseAccessWithIdentifier -> Typed.TypedTerm Syntax.BaseAccess+baseAccessIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccess"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.BaseAccessWithIdentifier+baseAccessWithIdentifier identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierBaseAccessWithIdentifier :: Typed.TypedName Syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierBaseAccessWithIdentifier =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierIdentifier :: Typed.TypedTerm Syntax.BaseAccessWithIdentifier -> Typed.TypedTerm Syntax.Identifier+baseAccessWithIdentifierIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierTypeArguments :: Typed.TypedTerm Syntax.BaseAccessWithIdentifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+baseAccessWithIdentifierTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierWithIdentifier :: Typed.TypedTerm Syntax.BaseAccessWithIdentifier -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierWithTypeArguments :: Typed.TypedTerm Syntax.BaseAccessWithIdentifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.BaseAccessWithIdentifier+baseAccessWithIdentifierWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BaseAccessWithIdentifier"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpression :: Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.AdditiveOperator -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.BinaryAdditiveExpression+binaryAdditiveExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionBinaryAdditiveExpression :: Typed.TypedName Syntax.BinaryAdditiveExpression+binaryAdditiveExpressionBinaryAdditiveExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionLeft :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.AdditiveExpression+binaryAdditiveExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionOperator :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.AdditiveOperator+binaryAdditiveExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionRight :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression+binaryAdditiveExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithOperator :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.AdditiveOperator -> Typed.TypedTerm Syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithRight :: Typed.TypedTerm Syntax.BinaryAdditiveExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.BinaryAdditiveExpression+binaryAdditiveExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAdditiveExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpression :: Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.BinaryAndExpression+binaryAndExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpressionBinaryAndExpression :: Typed.TypedName Syntax.BinaryAndExpression+binaryAndExpressionBinaryAndExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpressionLeft :: Typed.TypedTerm Syntax.BinaryAndExpression -> Typed.TypedTerm Syntax.AndExpression+binaryAndExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpressionRight :: Typed.TypedTerm Syntax.BinaryAndExpression -> Typed.TypedTerm Syntax.EqualityExpression+binaryAndExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryAndExpression -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BinaryAndExpression+binaryAndExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryAndExpression+binaryAndExpressionWithRight :: Typed.TypedTerm Syntax.BinaryAndExpression -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.BinaryAndExpression+binaryAndExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryAndExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpression :: Typed.TypedTerm Syntax.ConditionalAndExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryConditionalAndExpression+binaryConditionalAndExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionBinaryConditionalAndExpression :: Typed.TypedName Syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionBinaryConditionalAndExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionLeft :: Typed.TypedTerm Syntax.BinaryConditionalAndExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression+binaryConditionalAndExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionRight :: Typed.TypedTerm Syntax.BinaryConditionalAndExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression+binaryConditionalAndExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryConditionalAndExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression -> Typed.TypedTerm Syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionWithRight :: Typed.TypedTerm Syntax.BinaryConditionalAndExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryConditionalAndExpression+binaryConditionalAndExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalAndExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpression :: Typed.TypedTerm Syntax.ConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression -> Typed.TypedTerm Syntax.BinaryConditionalOrExpression+binaryConditionalOrExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionBinaryConditionalOrExpression :: Typed.TypedName Syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionBinaryConditionalOrExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionLeft :: Typed.TypedTerm Syntax.BinaryConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression+binaryConditionalOrExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionRight :: Typed.TypedTerm Syntax.BinaryConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression+binaryConditionalOrExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression -> Typed.TypedTerm Syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionWithRight :: Typed.TypedTerm Syntax.BinaryConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression -> Typed.TypedTerm Syntax.BinaryConditionalOrExpression+binaryConditionalOrExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryConditionalOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpression :: Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.EqualityOperator -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.BinaryEqualityExpression+binaryEqualityExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionBinaryEqualityExpression :: Typed.TypedName Syntax.BinaryEqualityExpression+binaryEqualityExpressionBinaryEqualityExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionLeft :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.EqualityExpression+binaryEqualityExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionOperator :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.EqualityOperator+binaryEqualityExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionRight :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.RelationalExpression+binaryEqualityExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.EqualityExpression -> Typed.TypedTerm Syntax.BinaryEqualityExpression+binaryEqualityExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionWithOperator :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.EqualityOperator -> Typed.TypedTerm Syntax.BinaryEqualityExpression+binaryEqualityExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryEqualityExpression+binaryEqualityExpressionWithRight :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.BinaryEqualityExpression+binaryEqualityExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryEqualityExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpression :: Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionBinaryExclusiveOrExpression :: Typed.TypedName Syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionBinaryExclusiveOrExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionLeft :: Typed.TypedTerm Syntax.BinaryExclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression+binaryExclusiveOrExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionRight :: Typed.TypedTerm Syntax.BinaryExclusiveOrExpression -> Typed.TypedTerm Syntax.AndExpression+binaryExclusiveOrExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryExclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionWithRight :: Typed.TypedTerm Syntax.BinaryExclusiveOrExpression -> Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.BinaryExclusiveOrExpression+binaryExclusiveOrExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryExclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpression :: Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionBinaryInclusiveOrExpression :: Typed.TypedName Syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionBinaryInclusiveOrExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionLeft :: Typed.TypedTerm Syntax.BinaryInclusiveOrExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression+binaryInclusiveOrExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionRight :: Typed.TypedTerm Syntax.BinaryInclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression+binaryInclusiveOrExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryInclusiveOrExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionWithRight :: Typed.TypedTerm Syntax.BinaryInclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.BinaryInclusiveOrExpression+binaryInclusiveOrExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryInclusiveOrExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpression :: Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeOperator -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionBinaryMultiplicativeExpression :: Typed.TypedName Syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionBinaryMultiplicativeExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionLeft :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression+binaryMultiplicativeExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionOperator :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeOperator+binaryMultiplicativeExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionRight :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.UnaryExpression+binaryMultiplicativeExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression -> Typed.TypedTerm Syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithOperator :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeOperator -> Typed.TypedTerm Syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithRight :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.BinaryMultiplicativeExpression+binaryMultiplicativeExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryMultiplicativeExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpression :: Typed.TypedTerm Syntax.ConditionalOrExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpression left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionBinaryNullCoalescingExpression :: Typed.TypedName Syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionBinaryNullCoalescingExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionLeft :: Typed.TypedTerm Syntax.BinaryNullCoalescingExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression+binaryNullCoalescingExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionRight :: Typed.TypedTerm Syntax.BinaryNullCoalescingExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+binaryNullCoalescingExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryNullCoalescingExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression -> Typed.TypedTerm Syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionWithRight :: Typed.TypedTerm Syntax.BinaryNullCoalescingExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.BinaryNullCoalescingExpression+binaryNullCoalescingExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryNullCoalescingExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclarator :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.OverloadableBinaryOperator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.BinaryOperatorDeclarator+binaryOperatorDeclarator type_ operator left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorBinaryOperatorDeclarator :: Typed.TypedName Syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorBinaryOperatorDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorLeft :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter+binaryOperatorDeclaratorLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorOperator :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.OverloadableBinaryOperator+binaryOperatorDeclaratorOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorRight :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter+binaryOperatorDeclaratorRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorType :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.Type+binaryOperatorDeclaratorType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithLeft :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithOperator :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.OverloadableBinaryOperator -> Typed.TypedTerm Syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithRight :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithType :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.BinaryOperatorDeclarator+binaryOperatorDeclaratorWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpression :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.RelationalOperator -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BinaryRelationalExpression+binaryRelationalExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionBinaryRelationalExpression :: Typed.TypedName Syntax.BinaryRelationalExpression+binaryRelationalExpressionBinaryRelationalExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionLeft :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.RelationalExpression+binaryRelationalExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionOperator :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.RelationalOperator+binaryRelationalExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionRight :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression+binaryRelationalExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.BinaryRelationalExpression+binaryRelationalExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionWithOperator :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.RelationalOperator -> Typed.TypedTerm Syntax.BinaryRelationalExpression+binaryRelationalExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryRelationalExpression+binaryRelationalExpressionWithRight :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BinaryRelationalExpression+binaryRelationalExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryRelationalExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpression :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftOperator -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.BinaryShiftExpression+binaryShiftExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionBinaryShiftExpression :: Typed.TypedName Syntax.BinaryShiftExpression+binaryShiftExpressionBinaryShiftExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression")++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionLeft :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.ShiftExpression+binaryShiftExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionOperator :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.ShiftOperator+binaryShiftExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionRight :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.AdditiveExpression+binaryShiftExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionWithLeft :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BinaryShiftExpression+binaryShiftExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionWithOperator :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.ShiftOperator -> Typed.TypedTerm Syntax.BinaryShiftExpression+binaryShiftExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.BinaryShiftExpression+binaryShiftExpressionWithRight :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.BinaryShiftExpression+binaryShiftExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BinaryShiftExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.Block wrapper+block :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.Block+block x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.Block"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Block+blockBlock :: Typed.TypedName Syntax.Block+blockBlock = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Block")++-- | DSL constructor for hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBody :: Typed.TypedTerm Syntax.AccessorDeclarations -> Typed.TypedTerm (Maybe Syntax.VariableInitializer) -> Typed.TypedTerm Syntax.BlockPropertyBody+blockPropertyBody accessors initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm accessors)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the accessors field of hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBodyAccessors :: Typed.TypedTerm Syntax.BlockPropertyBody -> Typed.TypedTerm Syntax.AccessorDeclarations+blockPropertyBodyAccessors x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBodyBlockPropertyBody :: Typed.TypedName Syntax.BlockPropertyBody+blockPropertyBodyBlockPropertyBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody")++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBodyInitializer :: Typed.TypedTerm Syntax.BlockPropertyBody -> Typed.TypedTerm (Maybe Syntax.VariableInitializer)+blockPropertyBodyInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the accessors field of hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBodyWithAccessors :: Typed.TypedTerm Syntax.BlockPropertyBody -> Typed.TypedTerm Syntax.AccessorDeclarations -> Typed.TypedTerm Syntax.BlockPropertyBody+blockPropertyBodyWithAccessors original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.BlockPropertyBody+blockPropertyBodyWithInitializer :: Typed.TypedTerm Syntax.BlockPropertyBody -> Typed.TypedTerm (Maybe Syntax.VariableInitializer) -> Typed.TypedTerm Syntax.BlockPropertyBody+blockPropertyBodyWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.BlockPropertyBody"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.BooleanExpression wrapper+booleanExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.BooleanExpression+booleanExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.BooleanExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.BooleanExpression+booleanExpressionBooleanExpression :: Typed.TypedName Syntax.BooleanExpression+booleanExpressionBooleanExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.BooleanExpression")++-- | DSL constructor for hydra.ext.csharp.syntax.CastExpression+castExpression :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.CastExpression+castExpression type_ expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.CastExpression+castExpressionCastExpression :: Typed.TypedName Syntax.CastExpression+castExpressionCastExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.CastExpression")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.CastExpression+castExpressionExpression :: Typed.TypedTerm Syntax.CastExpression -> Typed.TypedTerm Syntax.UnaryExpression+castExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.CastExpression+castExpressionType :: Typed.TypedTerm Syntax.CastExpression -> Typed.TypedTerm Syntax.Type+castExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.CastExpression+castExpressionWithExpression :: Typed.TypedTerm Syntax.CastExpression -> Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.CastExpression+castExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.CastExpression+castExpressionWithType :: Typed.TypedTerm Syntax.CastExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.CastExpression+castExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CastExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.CastExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.CatchClauses+catchClausesCatchClauses :: Typed.TypedName Syntax.CatchClauses+catchClausesCatchClauses = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.CatchClauses")++-- | DSL injection for the general variant of hydra.ext.csharp.syntax.CatchClauses+catchClausesGeneral :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CatchClauses+catchClausesGeneral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CatchClauses"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "general"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the specific variant of hydra.ext.csharp.syntax.CatchClauses+catchClausesSpecific :: Typed.TypedTerm [Syntax.SpecificCatchClause] -> Typed.TypedTerm Syntax.CatchClauses+catchClausesSpecific x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CatchClauses"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "specific"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the class variant of hydra.ext.csharp.syntax.ClassBase+classBaseClass :: Typed.TypedTerm (Maybe Syntax.ClassType) -> Typed.TypedTerm Syntax.ClassBase+classBaseClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassBase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassBase+classBaseClassBase :: Typed.TypedName Syntax.ClassBase+classBaseClassBase = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassBase")++-- | DSL injection for the interfaces variant of hydra.ext.csharp.syntax.ClassBase+classBaseInterfaces :: Typed.TypedTerm [Syntax.InterfaceType] -> Typed.TypedTerm Syntax.ClassBase+classBaseInterfaces x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassBase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.ClassBody wrapper+classBody :: Typed.TypedTerm [Syntax.ClassMemberDeclaration] -> Typed.TypedTerm Syntax.ClassBody+classBody x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassBody"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassBody+classBodyClassBody :: Typed.TypedName Syntax.ClassBody+classBodyClassBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassBody")++-- | DSL constructor for hydra.ext.csharp.syntax.ClassDeclaration+classDeclaration :: Typed.TypedTerm [Syntax.AttributeSection] -> Typed.TypedTerm [Syntax.ClassModifier] -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm (Maybe Syntax.ClassBase) -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.ClassBody -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclaration attributes modifiers partial name parameters base constraints body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Typed.unTypedTerm partial)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm base)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationAttributes :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.AttributeSection]+classDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the base field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationBase :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.ClassBase)+classDeclarationBase x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationBody :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.ClassBody+classDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationClassDeclaration :: Typed.TypedName Syntax.ClassDeclaration+classDeclarationClassDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration")++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationConstraints :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+classDeclarationConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationModifiers :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.ClassModifier]+classDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationName :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.Identifier+classDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationParameters :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeParameterList)+classDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the partial field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationPartial :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Bool+classDeclarationPartial x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithAttributes :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.AttributeSection] -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the base field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithBase :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.ClassBase) -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithBase original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithBody :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.ClassBody -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithConstraints :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithModifiers :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm [Syntax.ClassModifier] -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithName :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithParameters :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the partial field of hydra.ext.csharp.syntax.ClassDeclaration+classDeclarationWithPartial :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ClassDeclaration+classDeclarationWithPartial original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.ClassDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationClassMemberDeclaration :: Typed.TypedName Syntax.ClassMemberDeclaration+classMemberDeclarationClassMemberDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration")++-- | DSL injection for the constant variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationConstant :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationConstant x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constant"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the constructor variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationConstructor :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the event variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationEvent :: Typed.TypedTerm Syntax.EventDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationEvent x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "event"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the field variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationField :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationField x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "field"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the finalizer variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationFinalizer :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationFinalizer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "finalizer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the indexer variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationIndexer :: Typed.TypedTerm Syntax.IndexerDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationIndexer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "indexer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the method variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationMethod :: Typed.TypedTerm Syntax.MethodDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "method"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the operator variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationOperator :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationOperator x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the property variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationProperty :: Typed.TypedTerm Syntax.PropertyDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationProperty x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the staticConstructor variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationStaticConstructor :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationStaticConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "staticConstructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.ClassMemberDeclaration+classMemberDeclarationType :: Typed.TypedTerm Syntax.TypeDeclaration -> Typed.TypedTerm Syntax.ClassMemberDeclaration+classMemberDeclarationType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the abstract variant of hydra.ext.csharp.syntax.ClassModifier+classModifierAbstract :: Typed.TypedTerm Syntax.ClassModifier+classModifierAbstract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "abstract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassModifier+classModifierClassModifier :: Typed.TypedName Syntax.ClassModifier+classModifierClassModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.ClassModifier+classModifierInternal :: Typed.TypedTerm Syntax.ClassModifier+classModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.ClassModifier+classModifierNew :: Typed.TypedTerm Syntax.ClassModifier+classModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.ClassModifier+classModifierPrivate :: Typed.TypedTerm Syntax.ClassModifier+classModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.ClassModifier+classModifierProtected :: Typed.TypedTerm Syntax.ClassModifier+classModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.ClassModifier+classModifierPublic :: Typed.TypedTerm Syntax.ClassModifier+classModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sealed variant of hydra.ext.csharp.syntax.ClassModifier+classModifierSealed :: Typed.TypedTerm Syntax.ClassModifier+classModifierSealed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sealed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.ClassModifier+classModifierStatic :: Typed.TypedTerm Syntax.ClassModifier+classModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.ClassModifier+classModifierUnsafe :: Typed.TypedTerm Syntax.ClassModifier+classModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.ClassType+classTypeClassType :: Typed.TypedName Syntax.ClassType+classTypeClassType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ClassType")++-- | DSL injection for the object variant of hydra.ext.csharp.syntax.ClassType+classTypeObject :: Typed.TypedTerm Syntax.ClassType+classTypeObject =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.csharp.syntax.ClassType+classTypeString :: Typed.TypedTerm Syntax.ClassType+classTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the typeName variant of hydra.ext.csharp.syntax.ClassType+classTypeTypeName :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.ClassType+classTypeTypeName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ClassType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.CompilationUnit+compilationUnit :: Typed.TypedTerm [Syntax.ExternAliasDirective] -> Typed.TypedTerm [Syntax.UsingDirective] -> Typed.TypedTerm [Syntax.GlobalAttributeSection] -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration] -> Typed.TypedTerm Syntax.CompilationUnit+compilationUnit externs usings attributes members =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Typed.unTypedTerm externs)},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Typed.unTypedTerm usings)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Typed.unTypedTerm members)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitAttributes :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.GlobalAttributeSection]+compilationUnitAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.CompilationUnit+compilationUnitCompilationUnit :: Typed.TypedName Syntax.CompilationUnit+compilationUnitCompilationUnit = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.CompilationUnit")++-- | DSL accessor for the externs field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitExterns :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.ExternAliasDirective]+compilationUnitExterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the members field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitMembers :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration]+compilationUnitMembers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usings field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitUsings :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.UsingDirective]+compilationUnitUsings x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitWithAttributes :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.GlobalAttributeSection] -> Typed.TypedTerm Syntax.CompilationUnit+compilationUnitWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the externs field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitWithExterns :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.ExternAliasDirective] -> Typed.TypedTerm Syntax.CompilationUnit+compilationUnitWithExterns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the members field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitWithMembers :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration] -> Typed.TypedTerm Syntax.CompilationUnit+compilationUnitWithMembers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the usings field of hydra.ext.csharp.syntax.CompilationUnit+compilationUnitWithUsings :: Typed.TypedTerm Syntax.CompilationUnit -> Typed.TypedTerm [Syntax.UsingDirective] -> Typed.TypedTerm Syntax.CompilationUnit+compilationUnitWithUsings original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.CompilationUnit"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.ConditionalAndExpression+conditionalAndExpressionBinary :: Typed.TypedTerm Syntax.BinaryConditionalAndExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression+conditionalAndExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalAndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConditionalAndExpression+conditionalAndExpressionConditionalAndExpression :: Typed.TypedName Syntax.ConditionalAndExpression+conditionalAndExpressionConditionalAndExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConditionalAndExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ConditionalAndExpression+conditionalAndExpressionSimple :: Typed.TypedTerm Syntax.InclusiveOrExpression -> Typed.TypedTerm Syntax.ConditionalAndExpression+conditionalAndExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalAndExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConditionalExpression+conditionalExpressionConditionalExpression :: Typed.TypedName Syntax.ConditionalExpression+conditionalExpressionConditionalExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConditionalExpression")++-- | DSL injection for the refConditional variant of hydra.ext.csharp.syntax.ConditionalExpression+conditionalExpressionRefConditional :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.ConditionalExpression+conditionalExpressionRefConditional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "refConditional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ConditionalExpression+conditionalExpressionSimple :: Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.ConditionalExpression+conditionalExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simpleConditional variant of hydra.ext.csharp.syntax.ConditionalExpression+conditionalExpressionSimpleConditional :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.ConditionalExpression+conditionalExpressionSimpleConditional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simpleConditional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.ConditionalOrExpression+conditionalOrExpressionBinary :: Typed.TypedTerm Syntax.BinaryConditionalOrExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression+conditionalOrExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConditionalOrExpression+conditionalOrExpressionConditionalOrExpression :: Typed.TypedName Syntax.ConditionalOrExpression+conditionalOrExpressionConditionalOrExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConditionalOrExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ConditionalOrExpression+conditionalOrExpressionSimple :: Typed.TypedTerm Syntax.ConditionalAndExpression -> Typed.TypedTerm Syntax.ConditionalOrExpression+conditionalOrExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConditionalOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.ConstantModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.ConstantDeclarator] -> Typed.TypedTerm Syntax.ConstantDeclaration+constantDeclaration attributes modifiers type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationAttributes :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+constantDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationConstantDeclaration :: Typed.TypedName Syntax.ConstantDeclaration+constantDeclarationConstantDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration")++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationDeclarators :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantDeclarator]+constantDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationModifiers :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantModifier]+constantDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationType :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm Syntax.Type+constantDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationWithAttributes :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.ConstantDeclaration+constantDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationWithDeclarators :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantDeclarator] -> Typed.TypedTerm Syntax.ConstantDeclaration+constantDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationWithModifiers :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantModifier] -> Typed.TypedTerm Syntax.ConstantDeclaration+constantDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ConstantDeclaration+constantDeclarationWithType :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ConstantDeclaration+constantDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.ConstantDeclarator+constantDeclarator identifier expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclaratorConstantDeclarator :: Typed.TypedName Syntax.ConstantDeclarator+constantDeclaratorConstantDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclaratorExpression :: Typed.TypedTerm Syntax.ConstantDeclarator -> Typed.TypedTerm Syntax.ConstantExpression+constantDeclaratorExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclaratorIdentifier :: Typed.TypedTerm Syntax.ConstantDeclarator -> Typed.TypedTerm Syntax.Identifier+constantDeclaratorIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclaratorWithExpression :: Typed.TypedTerm Syntax.ConstantDeclarator -> Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.ConstantDeclarator+constantDeclaratorWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ConstantDeclarator+constantDeclaratorWithIdentifier :: Typed.TypedTerm Syntax.ConstantDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ConstantDeclarator+constantDeclaratorWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.ConstantDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.ConstantExpression wrapper+constantExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ConstantExpression+constantExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstantExpression+constantExpressionConstantExpression :: Typed.TypedName Syntax.ConstantExpression+constantExpressionConstantExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstantExpression")++-- | DSL name token for hydra.ext.csharp.syntax.ConstantModifier+constantModifierConstantModifier :: Typed.TypedName Syntax.ConstantModifier+constantModifierConstantModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstantModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.ConstantModifier+constantModifierInternal :: Typed.TypedTerm Syntax.ConstantModifier+constantModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.ConstantModifier+constantModifierNew :: Typed.TypedTerm Syntax.ConstantModifier+constantModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.ConstantModifier+constantModifierPrivate :: Typed.TypedTerm Syntax.ConstantModifier+constantModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.ConstantModifier+constantModifierProtected :: Typed.TypedTerm Syntax.ConstantModifier+constantModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.ConstantModifier+constantModifierPublic :: Typed.TypedTerm Syntax.ConstantModifier+constantModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstantModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.ConstructorBody+constructorBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ConstructorBody+constructorBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstructorBody+constructorBodyConstructorBody :: Typed.TypedName Syntax.ConstructorBody+constructorBodyConstructorBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstructorBody")++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.ConstructorBody+constructorBodyEmpty :: Typed.TypedTerm Syntax.ConstructorBody+constructorBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.ConstructorBody+constructorBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ConstructorBody+constructorBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.ConstructorModifier] -> Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm Syntax.ConstructorBody -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclaration attributes modifiers declarator body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm declarator)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationAttributes :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+constructorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationBody :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.ConstructorBody+constructorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationConstructorDeclaration :: Typed.TypedName Syntax.ConstructorDeclaration+constructorDeclarationConstructorDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration")++-- | DSL accessor for the declarator field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationDeclarator :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.ConstructorDeclarator+constructorDeclarationDeclarator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationModifiers :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.ConstructorModifier]+constructorDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationWithAttributes :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationWithBody :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.ConstructorBody -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the declarator field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationWithDeclarator :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithDeclarator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ 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.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.ConstructorDeclaration+constructorDeclarationWithModifiers :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm [Syntax.ConstructorModifier] -> Typed.TypedTerm Syntax.ConstructorDeclaration+constructorDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.ConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm (Maybe Syntax.ConstructorInitializer) -> Typed.TypedTerm Syntax.ConstructorDeclarator+constructorDeclarator name parameters initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorConstructorDeclarator :: Typed.TypedName Syntax.ConstructorDeclarator+constructorDeclaratorConstructorDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator")++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorInitializer :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm (Maybe Syntax.ConstructorInitializer)+constructorDeclaratorInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorName :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm Syntax.Identifier+constructorDeclaratorName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorParameters :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm (Maybe Syntax.FormalParameterList)+constructorDeclaratorParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorWithInitializer :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm (Maybe Syntax.ConstructorInitializer) -> Typed.TypedTerm Syntax.ConstructorDeclarator+constructorDeclaratorWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ 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.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorWithName :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ConstructorDeclarator+constructorDeclaratorWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.ConstructorDeclarator+constructorDeclaratorWithParameters :: Typed.TypedTerm Syntax.ConstructorDeclarator -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm Syntax.ConstructorDeclarator+constructorDeclaratorWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ 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.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the base variant of hydra.ext.csharp.syntax.ConstructorInitializer+constructorInitializerBase :: Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.ConstructorInitializer+constructorInitializerBase x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstructorInitializer+constructorInitializerConstructorInitializer :: Typed.TypedName Syntax.ConstructorInitializer+constructorInitializerConstructorInitializer =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstructorInitializer")++-- | DSL injection for the this variant of hydra.ext.csharp.syntax.ConstructorInitializer+constructorInitializerThis :: Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.ConstructorInitializer+constructorInitializerThis x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "this"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierConstructorModifier :: Typed.TypedName Syntax.ConstructorModifier+constructorModifierConstructorModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier")++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierExtern :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierInternal :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierPrivate :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierProtected :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierPublic :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.ConstructorModifier+constructorModifierUnsafe :: Typed.TypedTerm Syntax.ConstructorModifier+constructorModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConstructorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.ConversionKind+conversionKindConversionKind :: Typed.TypedName Syntax.ConversionKind+conversionKindConversionKind = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConversionKind")++-- | DSL injection for the explicit variant of hydra.ext.csharp.syntax.ConversionKind+conversionKindExplicit :: Typed.TypedTerm Syntax.ConversionKind+conversionKindExplicit =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "explicit"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the implicit variant of hydra.ext.csharp.syntax.ConversionKind+conversionKindImplicit :: Typed.TypedTerm Syntax.ConversionKind+conversionKindImplicit =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "implicit"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclarator :: Typed.TypedTerm Syntax.ConversionKind -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.ConversionOperatorDeclarator+conversionOperatorDeclarator kind type_ parameter =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm kind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm parameter)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorConversionOperatorDeclarator :: Typed.TypedName Syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorConversionOperatorDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator")++-- | DSL accessor for the kind field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorKind :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.ConversionKind+conversionOperatorDeclaratorKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameter field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorParameter :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter+conversionOperatorDeclaratorParameter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorType :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.Type+conversionOperatorDeclaratorType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the kind field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithKind :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.ConversionKind -> Typed.TypedTerm Syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ 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.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameter field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithParameter :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithParameter original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithType :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ConversionOperatorDeclarator+conversionOperatorDeclaratorWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ConversionOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.DeclarationExpression+declarationExpression :: Typed.TypedTerm Syntax.LocalVariableType -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.DeclarationExpression+declarationExpression type_ identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.DeclarationExpression+declarationExpressionDeclarationExpression :: Typed.TypedName Syntax.DeclarationExpression+declarationExpressionDeclarationExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.DeclarationExpression+declarationExpressionIdentifier :: Typed.TypedTerm Syntax.DeclarationExpression -> Typed.TypedTerm Syntax.Identifier+declarationExpressionIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.DeclarationExpression+declarationExpressionType :: Typed.TypedTerm Syntax.DeclarationExpression -> Typed.TypedTerm Syntax.LocalVariableType+declarationExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.DeclarationExpression+declarationExpressionWithIdentifier :: Typed.TypedTerm Syntax.DeclarationExpression -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.DeclarationExpression+declarationExpressionWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.DeclarationExpression+declarationExpressionWithType :: Typed.TypedTerm Syntax.DeclarationExpression -> Typed.TypedTerm Syntax.LocalVariableType -> Typed.TypedTerm Syntax.DeclarationExpression+declarationExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationExpression"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.DeclarationPattern+declarationPattern :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.Designation -> Typed.TypedTerm Syntax.DeclarationPattern+declarationPattern type_ designation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "designation"),+ Model.fieldTerm = (Typed.unTypedTerm designation)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.DeclarationPattern+declarationPatternDeclarationPattern :: Typed.TypedName Syntax.DeclarationPattern+declarationPatternDeclarationPattern = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern")++-- | DSL accessor for the designation field of hydra.ext.csharp.syntax.DeclarationPattern+declarationPatternDesignation :: Typed.TypedTerm Syntax.DeclarationPattern -> Typed.TypedTerm Syntax.Designation+declarationPatternDesignation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.projectionFieldName = (Model.Name "designation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.DeclarationPattern+declarationPatternType :: Typed.TypedTerm Syntax.DeclarationPattern -> Typed.TypedTerm Syntax.Type+declarationPatternType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the designation field of hydra.ext.csharp.syntax.DeclarationPattern+declarationPatternWithDesignation :: Typed.TypedTerm Syntax.DeclarationPattern -> Typed.TypedTerm Syntax.Designation -> Typed.TypedTerm Syntax.DeclarationPattern+declarationPatternWithDesignation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "designation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.DeclarationPattern+declarationPatternWithType :: Typed.TypedTerm Syntax.DeclarationPattern -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.DeclarationPattern+declarationPatternWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "designation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationPattern"),+ Model.projectionFieldName = (Model.Name "designation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the constant variant of hydra.ext.csharp.syntax.DeclarationStatement+declarationStatementConstant :: Typed.TypedTerm Syntax.LocalConstantDeclaration -> Typed.TypedTerm Syntax.DeclarationStatement+declarationStatementConstant x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constant"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.DeclarationStatement+declarationStatementDeclarationStatement :: Typed.TypedName Syntax.DeclarationStatement+declarationStatementDeclarationStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DeclarationStatement")++-- | DSL injection for the function variant of hydra.ext.csharp.syntax.DeclarationStatement+declarationStatementFunction :: Typed.TypedTerm Syntax.LocalFunctionDeclaration -> Typed.TypedTerm Syntax.DeclarationStatement+declarationStatementFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the variable variant of hydra.ext.csharp.syntax.DeclarationStatement+declarationStatementVariable :: Typed.TypedTerm Syntax.LocalVariableDeclaration -> Typed.TypedTerm Syntax.DeclarationStatement+declarationStatementVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeclarationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.DeconstructionElement+deconstructionElementDeconstructionElement :: Typed.TypedName Syntax.DeconstructionElement+deconstructionElementDeconstructionElement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DeconstructionElement")++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.DeconstructionElement+deconstructionElementIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.DeconstructionElement+deconstructionElementIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeconstructionElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the tuple variant of hydra.ext.csharp.syntax.DeconstructionElement+deconstructionElementTuple :: Typed.TypedTerm Syntax.DeconstructionTuple -> Typed.TypedTerm Syntax.DeconstructionElement+deconstructionElementTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DeconstructionElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.DeconstructionTuple wrapper+deconstructionTuple :: Typed.TypedTerm [Syntax.DeconstructionElement] -> Typed.TypedTerm Syntax.DeconstructionTuple+deconstructionTuple x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.DeconstructionTuple"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.DeconstructionTuple+deconstructionTupleDeconstructionTuple :: Typed.TypedName Syntax.DeconstructionTuple+deconstructionTupleDeconstructionTuple = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DeconstructionTuple")++-- | DSL injection for the defaultLiteral variant of hydra.ext.csharp.syntax.DefaultValueExpression+defaultValueExpressionDefaultLiteral :: Typed.TypedTerm Syntax.DefaultValueExpression+defaultValueExpressionDefaultLiteral =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DefaultValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "defaultLiteral"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.DefaultValueExpression+defaultValueExpressionDefaultValueExpression :: Typed.TypedName Syntax.DefaultValueExpression+defaultValueExpressionDefaultValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DefaultValueExpression")++-- | DSL injection for the explicitlyTyped variant of hydra.ext.csharp.syntax.DefaultValueExpression+defaultValueExpressionExplicitlyTyped :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.DefaultValueExpression+defaultValueExpressionExplicitlyTyped x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DefaultValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "explicitlyTyped"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpression :: Typed.TypedTerm Syntax.DelegateType -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.DelegateCreationExpression+delegateCreationExpression type_ expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpressionDelegateCreationExpression :: Typed.TypedName Syntax.DelegateCreationExpression+delegateCreationExpressionDelegateCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpressionExpression :: Typed.TypedTerm Syntax.DelegateCreationExpression -> Typed.TypedTerm Syntax.Expression+delegateCreationExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpressionType :: Typed.TypedTerm Syntax.DelegateCreationExpression -> Typed.TypedTerm Syntax.DelegateType+delegateCreationExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpressionWithExpression :: Typed.TypedTerm Syntax.DelegateCreationExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.DelegateCreationExpression+delegateCreationExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.DelegateCreationExpression+delegateCreationExpressionWithType :: Typed.TypedTerm Syntax.DelegateCreationExpression -> Typed.TypedTerm Syntax.DelegateType -> Typed.TypedTerm Syntax.DelegateCreationExpression+delegateCreationExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.DelegateCreationExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.DelegateModifier] -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclaration attributes modifiers returnType refKind refReturnType header =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Typed.unTypedTerm refReturnType)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationAttributes :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+delegateDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationDelegateDeclaration :: Typed.TypedName Syntax.DelegateDeclaration+delegateDeclarationDelegateDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration")++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationHeader :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm Syntax.DelegateHeader+delegateDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationModifiers :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm [Syntax.DelegateModifier]+delegateDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationRefKind :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind)+delegateDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refReturnType field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationRefReturnType :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.Type)+delegateDeclarationRefReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationReturnType :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm Syntax.ReturnType+delegateDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithAttributes :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithHeader :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithModifiers :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm [Syntax.DelegateModifier] -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithRefKind :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refReturnType field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithRefReturnType :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithRefReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.DelegateDeclaration+delegateDeclarationWithReturnType :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.DelegateDeclaration+delegateDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refReturnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "refReturnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.DelegateHeader+delegateHeader :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters) -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.DelegateHeader+delegateHeader name typeParameters parameters constraints =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm typeParameters)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)}]}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderConstraints :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+delegateHeaderConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderDelegateHeader :: Typed.TypedName Syntax.DelegateHeader+delegateHeaderDelegateHeader = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DelegateHeader")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderName :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm Syntax.Identifier+delegateHeaderName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderParameters :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList)+delegateHeaderParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParameters field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderTypeParameters :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters)+delegateHeaderTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderWithConstraints :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.DelegateHeader+delegateHeaderWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ 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.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderWithName :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.DelegateHeader+delegateHeaderWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderWithParameters :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm Syntax.DelegateHeader+delegateHeaderWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ 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.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParameters field of hydra.ext.csharp.syntax.DelegateHeader+delegateHeaderWithTypeParameters :: Typed.TypedTerm Syntax.DelegateHeader -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters) -> Typed.TypedTerm Syntax.DelegateHeader+delegateHeaderWithTypeParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ 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.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.DelegateModifier+delegateModifierDelegateModifier :: Typed.TypedName Syntax.DelegateModifier+delegateModifierDelegateModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DelegateModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierInternal :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierNew :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierPrivate :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierProtected :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierPublic :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.DelegateModifier+delegateModifierUnsafe :: Typed.TypedTerm Syntax.DelegateModifier+delegateModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.DelegateType wrapper+delegateType :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.DelegateType+delegateType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.DelegateType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.DelegateType+delegateTypeDelegateType :: Typed.TypedName Syntax.DelegateType+delegateTypeDelegateType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DelegateType")++-- | DSL name token for hydra.ext.csharp.syntax.DependentAccess+dependentAccessDependentAccess :: Typed.TypedName Syntax.DependentAccess+dependentAccessDependentAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DependentAccess")++-- | DSL injection for the elementAccess variant of hydra.ext.csharp.syntax.DependentAccess+dependentAccessElementAccess :: Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.DependentAccess+dependentAccessElementAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccess"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "elementAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMember :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.DependentAccessForMember+dependentAccessForMember identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMemberDependentAccessForMember :: Typed.TypedName Syntax.DependentAccessForMember+dependentAccessForMemberDependentAccessForMember =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMemberIdentifier :: Typed.TypedTerm Syntax.DependentAccessForMember -> Typed.TypedTerm Syntax.Identifier+dependentAccessForMemberIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMemberTypeArguments :: Typed.TypedTerm Syntax.DependentAccessForMember -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+dependentAccessForMemberTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMemberWithIdentifier :: Typed.TypedTerm Syntax.DependentAccessForMember -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.DependentAccessForMember+dependentAccessForMemberWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.DependentAccessForMember+dependentAccessForMemberWithTypeArguments :: Typed.TypedTerm Syntax.DependentAccessForMember -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.DependentAccessForMember+dependentAccessForMemberWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccessForMember"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the invocation variant of hydra.ext.csharp.syntax.DependentAccess+dependentAccessInvocation :: Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.DependentAccess+dependentAccessInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccess"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "invocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the memberAccess variant of hydra.ext.csharp.syntax.DependentAccess+dependentAccessMemberAccess :: Typed.TypedTerm Syntax.DependentAccessForMember -> Typed.TypedTerm Syntax.DependentAccess+dependentAccessMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DependentAccess"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "memberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.Designation wrapper+designation :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Designation+designation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.Designation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Designation+designationDesignation :: Typed.TypedName Syntax.Designation+designationDesignation = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Designation")++-- | DSL constructor for hydra.ext.csharp.syntax.DoStatement+doStatement :: Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.DoStatement+doStatement body while =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Typed.unTypedTerm while)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.DoStatement+doStatementBody :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+doStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.DoStatement+doStatementDoStatement :: Typed.TypedName Syntax.DoStatement+doStatementDoStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.DoStatement")++-- | DSL accessor for the while field of hydra.ext.csharp.syntax.DoStatement+doStatementWhile :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.BooleanExpression+doStatementWhile x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "while")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.DoStatement+doStatementWithBody :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.DoStatement+doStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "while")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the while field of hydra.ext.csharp.syntax.DoStatement+doStatementWithWhile :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.DoStatement+doStatementWithWhile original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.DoStatement"),+ 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.ext.csharp.syntax.DoStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ElementAccess+elementAccess :: Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.ElementAccess+elementAccess expression arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.ElementAccess+elementAccessArguments :: Typed.TypedTerm Syntax.ElementAccess -> Typed.TypedTerm Syntax.ArgumentList+elementAccessArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementAccess"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ElementAccess+elementAccessElementAccess :: Typed.TypedName Syntax.ElementAccess+elementAccessElementAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ElementAccess")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.ElementAccess+elementAccessExpression :: Typed.TypedTerm Syntax.ElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+elementAccessExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.ElementAccess+elementAccessWithArguments :: Typed.TypedTerm Syntax.ElementAccess -> Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.ElementAccess+elementAccessWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementAccess"),+ 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.ext.csharp.syntax.ElementAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.ElementAccess+elementAccessWithExpression :: Typed.TypedTerm Syntax.ElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.ElementAccess+elementAccessWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.ElementAccess"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ElementInitializer+elementInitializerElementInitializer :: Typed.TypedName Syntax.ElementInitializer+elementInitializerElementInitializer = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ElementInitializer")++-- | DSL injection for the list variant of hydra.ext.csharp.syntax.ElementInitializer+elementInitializerList :: Typed.TypedTerm Syntax.ExpressionList -> Typed.TypedTerm Syntax.ElementInitializer+elementInitializerList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the single variant of hydra.ext.csharp.syntax.ElementInitializer+elementInitializerSingle :: Typed.TypedTerm Syntax.NonAssignmentExpression -> Typed.TypedTerm Syntax.ElementInitializer+elementInitializerSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ElementInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the checked variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementChecked :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementChecked x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "checked"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementEmbeddedStatement :: Typed.TypedName Syntax.EmbeddedStatement+embeddedStatementEmbeddedStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement")++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementEmpty :: Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementExpression :: Typed.TypedTerm Syntax.StatementExpression -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the fixed variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementFixed :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementFixed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the iteration variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementIteration :: Typed.TypedTerm Syntax.IterationStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementIteration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "iteration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the jump variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementJump :: Typed.TypedTerm Syntax.JumpStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementJump x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "jump"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lock variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementLock :: Typed.TypedTerm Syntax.LockStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementLock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lock"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the selection variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementSelection :: Typed.TypedTerm Syntax.SelectionStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementSelection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "selection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the try variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementTry :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementTry x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "try"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unchecked variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementUnchecked :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementUnchecked x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unchecked"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementUnsafe :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementUnsafe x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the using variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementUsing :: Typed.TypedTerm Syntax.UsingStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementUsing x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "using"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the yield variant of hydra.ext.csharp.syntax.EmbeddedStatement+embeddedStatementYield :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+embeddedStatementYield x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EmbeddedStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "yield"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumBase+enumBaseEnumBase :: Typed.TypedName Syntax.EnumBase+enumBaseEnumBase = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumBase")++-- | DSL injection for the name variant of hydra.ext.csharp.syntax.EnumBase+enumBaseName :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.EnumBase+enumBaseName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumBase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.EnumBase+enumBaseType :: Typed.TypedTerm Syntax.IntegralType -> Typed.TypedTerm Syntax.EnumBase+enumBaseType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumBase"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.EnumBody wrapper+enumBody :: Typed.TypedTerm [Syntax.EnumMemberDeclaration] -> Typed.TypedTerm Syntax.EnumBody+enumBody x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumBody"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumBody+enumBodyEnumBody :: Typed.TypedName Syntax.EnumBody+enumBodyEnumBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumBody")++-- | DSL constructor for hydra.ext.csharp.syntax.EnumDeclaration+enumDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.EnumModifier] -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.EnumBase) -> Typed.TypedTerm (Maybe Syntax.EnumBody) -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclaration attributes modifiers name base body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm base)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationAttributes :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+enumDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the base field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationBase :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.EnumBase)+enumDeclarationBase x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationBody :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.EnumBody)+enumDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationEnumDeclaration :: Typed.TypedName Syntax.EnumDeclaration+enumDeclarationEnumDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration")++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationModifiers :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm [Syntax.EnumModifier]+enumDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationName :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm Syntax.Identifier+enumDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationWithAttributes :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the base field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationWithBase :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.EnumBase) -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclarationWithBase original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationWithBody :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm (Maybe Syntax.EnumBody) -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationWithModifiers :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm [Syntax.EnumModifier] -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.EnumDeclaration+enumDeclarationWithName :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.EnumDeclaration+enumDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ 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.ext.csharp.syntax.EnumDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm Syntax.EnumMemberDeclaration+enumMemberDeclaration attributes name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ 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 accessor for the attributes field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationAttributes :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+enumMemberDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationEnumMemberDeclaration :: Typed.TypedName Syntax.EnumMemberDeclaration+enumMemberDeclarationEnumMemberDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationName :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm Syntax.Identifier+enumMemberDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the value field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationValue :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm (Maybe Syntax.ConstantExpression)+enumMemberDeclarationValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationWithAttributes :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.EnumMemberDeclaration+enumMemberDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ 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.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationWithName :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.EnumMemberDeclaration+enumMemberDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ 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.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.csharp.syntax.EnumMemberDeclaration+enumMemberDeclarationWithValue :: Typed.TypedTerm Syntax.EnumMemberDeclaration -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm Syntax.EnumMemberDeclaration+enumMemberDeclarationWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ 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.ext.csharp.syntax.EnumMemberDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumModifier+enumModifierEnumModifier :: Typed.TypedName Syntax.EnumModifier+enumModifierEnumModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.EnumModifier+enumModifierInternal :: Typed.TypedTerm Syntax.EnumModifier+enumModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.EnumModifier+enumModifierNew :: Typed.TypedTerm Syntax.EnumModifier+enumModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.EnumModifier+enumModifierPrivate :: Typed.TypedTerm Syntax.EnumModifier+enumModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.EnumModifier+enumModifierProtected :: Typed.TypedTerm Syntax.EnumModifier+enumModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.EnumModifier+enumModifierPublic :: Typed.TypedTerm Syntax.EnumModifier+enumModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.EnumType wrapper+enumType :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.EnumType+enumType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.EnumType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.EnumType+enumTypeEnumType :: Typed.TypedName Syntax.EnumType+enumTypeEnumType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EnumType")++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.EqualityExpression+equalityExpressionBinary :: Typed.TypedTerm Syntax.BinaryEqualityExpression -> Typed.TypedTerm Syntax.EqualityExpression+equalityExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EqualityExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.EqualityExpression+equalityExpressionEqualityExpression :: Typed.TypedName Syntax.EqualityExpression+equalityExpressionEqualityExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EqualityExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.EqualityExpression+equalityExpressionSimple :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.EqualityExpression+equalityExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EqualityExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the equal variant of hydra.ext.csharp.syntax.EqualityOperator+equalityOperatorEqual :: Typed.TypedTerm Syntax.EqualityOperator+equalityOperatorEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EqualityOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.EqualityOperator+equalityOperatorEqualityOperator :: Typed.TypedName Syntax.EqualityOperator+equalityOperatorEqualityOperator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EqualityOperator")++-- | DSL injection for the notEqual variant of hydra.ext.csharp.syntax.EqualityOperator+equalityOperatorNotEqual :: Typed.TypedTerm Syntax.EqualityOperator+equalityOperatorNotEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EqualityOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the add variant of hydra.ext.csharp.syntax.EventAccessorDeclarations+eventAccessorDeclarationsAdd :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm Syntax.EventAccessorDeclarations+eventAccessorDeclarationsAdd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventAccessorDeclarations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "add"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.EventAccessorDeclarations+eventAccessorDeclarationsEventAccessorDeclarations :: Typed.TypedName Syntax.EventAccessorDeclarations+eventAccessorDeclarationsEventAccessorDeclarations =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EventAccessorDeclarations")++-- | DSL injection for the remove variant of hydra.ext.csharp.syntax.EventAccessorDeclarations+eventAccessorDeclarationsRemove :: Typed.TypedTerm Syntax.AddRemoveAccessorDeclaration -> Typed.TypedTerm Syntax.EventAccessorDeclarations+eventAccessorDeclarationsRemove x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventAccessorDeclarations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "remove"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the accessors variant of hydra.ext.csharp.syntax.EventDeclaration+eventDeclarationAccessors :: Typed.TypedTerm Syntax.AccessorsEventDeclaration -> Typed.TypedTerm Syntax.EventDeclaration+eventDeclarationAccessors x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.EventDeclaration+eventDeclarationEventDeclaration :: Typed.TypedName Syntax.EventDeclaration+eventDeclarationEventDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EventDeclaration")++-- | DSL injection for the standard variant of hydra.ext.csharp.syntax.EventDeclaration+eventDeclarationStandard :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm Syntax.EventDeclaration+eventDeclarationStandard x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "standard"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the abstract variant of hydra.ext.csharp.syntax.EventModifier+eventModifierAbstract :: Typed.TypedTerm Syntax.EventModifier+eventModifierAbstract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "abstract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.EventModifier+eventModifierEventModifier :: Typed.TypedName Syntax.EventModifier+eventModifierEventModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.EventModifier")++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.EventModifier+eventModifierExtern :: Typed.TypedTerm Syntax.EventModifier+eventModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.EventModifier+eventModifierInternal :: Typed.TypedTerm Syntax.EventModifier+eventModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.EventModifier+eventModifierNew :: Typed.TypedTerm Syntax.EventModifier+eventModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the override variant of hydra.ext.csharp.syntax.EventModifier+eventModifierOverride :: Typed.TypedTerm Syntax.EventModifier+eventModifierOverride =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.EventModifier+eventModifierPrivate :: Typed.TypedTerm Syntax.EventModifier+eventModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.EventModifier+eventModifierProtected :: Typed.TypedTerm Syntax.EventModifier+eventModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.EventModifier+eventModifierPublic :: Typed.TypedTerm Syntax.EventModifier+eventModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sealed variant of hydra.ext.csharp.syntax.EventModifier+eventModifierSealed :: Typed.TypedTerm Syntax.EventModifier+eventModifierSealed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sealed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.EventModifier+eventModifierStatic :: Typed.TypedTerm Syntax.EventModifier+eventModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.EventModifier+eventModifierUnsafe :: Typed.TypedTerm Syntax.EventModifier+eventModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the virtual variant of hydra.ext.csharp.syntax.EventModifier+eventModifierVirtual :: Typed.TypedTerm Syntax.EventModifier+eventModifierVirtual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.EventModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "virtual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifier :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.ExceptionSpecifier+exceptionSpecifier type_ identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifierExceptionSpecifier :: Typed.TypedName Syntax.ExceptionSpecifier+exceptionSpecifierExceptionSpecifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifierIdentifier :: Typed.TypedTerm Syntax.ExceptionSpecifier -> Typed.TypedTerm (Maybe Syntax.Identifier)+exceptionSpecifierIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifierType :: Typed.TypedTerm Syntax.ExceptionSpecifier -> Typed.TypedTerm Syntax.Type+exceptionSpecifierType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifierWithIdentifier :: Typed.TypedTerm Syntax.ExceptionSpecifier -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.ExceptionSpecifier+exceptionSpecifierWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ExceptionSpecifier+exceptionSpecifierWithType :: Typed.TypedTerm Syntax.ExceptionSpecifier -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ExceptionSpecifier+exceptionSpecifierWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExceptionSpecifier"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.ExclusiveOrExpression+exclusiveOrExpressionBinary :: Typed.TypedTerm Syntax.BinaryExclusiveOrExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression+exclusiveOrExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ExclusiveOrExpression+exclusiveOrExpressionExclusiveOrExpression :: Typed.TypedName Syntax.ExclusiveOrExpression+exclusiveOrExpressionExclusiveOrExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExclusiveOrExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ExclusiveOrExpression+exclusiveOrExpressionSimple :: Typed.TypedTerm Syntax.AndExpression -> Typed.TypedTerm Syntax.ExclusiveOrExpression+exclusiveOrExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameter :: Typed.TypedTerm (Maybe Syntax.AnonymousFunctionParameterModifier) -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameter modifier type_ identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Typed.unTypedTerm modifier)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterExplicitAnonymousFunctionParameter :: Typed.TypedName Syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterExplicitAnonymousFunctionParameter =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterIdentifier :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm Syntax.Identifier+explicitAnonymousFunctionParameterIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifier field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterModifier :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm (Maybe Syntax.AnonymousFunctionParameterModifier)+explicitAnonymousFunctionParameterModifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterType :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm Syntax.Type+explicitAnonymousFunctionParameterType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithIdentifier :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifier field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithModifier :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm (Maybe Syntax.AnonymousFunctionParameterModifier) -> Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithModifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ 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.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithType :: Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ExplicitAnonymousFunctionParameter+explicitAnonymousFunctionParameterWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitAnonymousFunctionParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclaration :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.ExplicitlyTypedLocalVariableDeclarator] -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclaration type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationDeclarators :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm [Syntax.ExplicitlyTypedLocalVariableDeclarator]+explicitlyTypedLocalVariableDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationExplicitlyTypedLocalVariableDeclaration :: Typed.TypedName Syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationExplicitlyTypedLocalVariableDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationType :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.Type+explicitlyTypedLocalVariableDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationWithDeclarators :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm [Syntax.ExplicitlyTypedLocalVariableDeclarator] -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationWithType :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration+explicitlyTypedLocalVariableDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.LocalVariableInitializer) -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclarator identifier initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorExplicitlyTypedLocalVariableDeclarator :: Typed.TypedName Syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorExplicitlyTypedLocalVariableDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorIdentifier :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier+explicitlyTypedLocalVariableDeclaratorIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorInitializer :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm (Maybe Syntax.LocalVariableInitializer)+explicitlyTypedLocalVariableDeclaratorInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorWithIdentifier :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorWithInitializer :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm (Maybe Syntax.LocalVariableInitializer) -> Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclarator+explicitlyTypedLocalVariableDeclaratorWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ExplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the assignment variant of hydra.ext.csharp.syntax.Expression+expressionAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Expression+expressionAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.Expression+expressionExpression :: Typed.TypedName Syntax.Expression+expressionExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Expression")++-- | DSL constructor for the hydra.ext.csharp.syntax.ExpressionList wrapper+expressionList :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.ExpressionList+expressionList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ExpressionList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ExpressionList+expressionListExpressionList :: Typed.TypedName Syntax.ExpressionList+expressionListExpressionList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExpressionList")++-- | DSL injection for the nonAssignment variant of hydra.ext.csharp.syntax.Expression+expressionNonAssignment :: Typed.TypedTerm Syntax.NonAssignmentExpression -> Typed.TypedTerm Syntax.Expression+expressionNonAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nonAssignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.ExternAliasDirective wrapper+externAliasDirective :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ExternAliasDirective+externAliasDirective x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.ExternAliasDirective"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ExternAliasDirective+externAliasDirectiveExternAliasDirective :: Typed.TypedName Syntax.ExternAliasDirective+externAliasDirectiveExternAliasDirective = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ExternAliasDirective")++-- | DSL constructor for hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.FieldModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.VariableDeclarator] -> Typed.TypedTerm Syntax.FieldDeclaration+fieldDeclaration attributes modifiers type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationAttributes :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+fieldDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationDeclarators :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm [Syntax.VariableDeclarator]+fieldDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationFieldDeclaration :: Typed.TypedName Syntax.FieldDeclaration+fieldDeclarationFieldDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration")++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationModifiers :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm [Syntax.FieldModifier]+fieldDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationType :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm Syntax.Type+fieldDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationWithAttributes :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.FieldDeclaration+fieldDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationWithDeclarators :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm [Syntax.VariableDeclarator] -> Typed.TypedTerm Syntax.FieldDeclaration+fieldDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationWithModifiers :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm [Syntax.FieldModifier] -> Typed.TypedTerm Syntax.FieldDeclaration+fieldDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.FieldDeclaration+fieldDeclarationWithType :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FieldDeclaration+fieldDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.FieldModifier+fieldModifierFieldModifier :: Typed.TypedName Syntax.FieldModifier+fieldModifierFieldModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FieldModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierInternal :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierNew :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierPrivate :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierProtected :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierPublic :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the readonly variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierReadonly :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierReadonly =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "readonly"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierStatic :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierUnsafe :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the volatile variant of hydra.ext.csharp.syntax.FieldModifier+fieldModifierVolatile :: Typed.TypedTerm Syntax.FieldModifier+fieldModifierVolatile =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FieldModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "volatile"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.FinalizerBody+finalizerBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FinalizerBody+finalizerBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.FinalizerBody+finalizerBodyEmpty :: Typed.TypedTerm Syntax.FinalizerBody+finalizerBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.FinalizerBody+finalizerBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.FinalizerBody+finalizerBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.FinalizerBody+finalizerBodyFinalizerBody :: Typed.TypedName Syntax.FinalizerBody+finalizerBodyFinalizerBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FinalizerBody")++-- | DSL constructor for hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.FinalizerBody -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclaration attributes extern unsafe name body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Typed.unTypedTerm extern)},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Typed.unTypedTerm unsafe)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationAttributes :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+finalizerDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationBody :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Syntax.FinalizerBody+finalizerDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the extern field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationExtern :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Bool+finalizerDeclarationExtern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationFinalizerDeclaration :: Typed.TypedName Syntax.FinalizerDeclaration+finalizerDeclarationFinalizerDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationName :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Syntax.Identifier+finalizerDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the unsafe field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationUnsafe :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Bool+finalizerDeclarationUnsafe x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationWithAttributes :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationWithBody :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Syntax.FinalizerBody -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the extern field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationWithExtern :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclarationWithExtern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationWithName :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unsafe field of hydra.ext.csharp.syntax.FinalizerDeclaration+finalizerDeclarationWithUnsafe :: Typed.TypedTerm Syntax.FinalizerDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FinalizerDeclaration+finalizerDeclarationWithUnsafe original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.FinalizerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.FixedParameter+fixedParameter :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.ParameterModifier) -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FixedParameter+fixedParameter attributes modifier type_ identifier defaultArgument =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Typed.unTypedTerm modifier)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Typed.unTypedTerm defaultArgument)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterAttributes :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.Attributes)+fixedParameterAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the defaultArgument field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterDefaultArgument :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+fixedParameterDefaultArgument x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "defaultArgument")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedParameter+fixedParameterFixedParameter :: Typed.TypedName Syntax.FixedParameter+fixedParameterFixedParameter = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedParameter")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterIdentifier :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.Identifier+fixedParameterIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifier field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterModifier :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.ParameterModifier)+fixedParameterModifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterType :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.Type+fixedParameterType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterWithAttributes :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.FixedParameter+fixedParameterWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "defaultArgument")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the defaultArgument field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterWithDefaultArgument :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FixedParameter+fixedParameterWithDefaultArgument original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterWithIdentifier :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.FixedParameter+fixedParameterWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "defaultArgument")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifier field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterWithModifier :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm (Maybe Syntax.ParameterModifier) -> Typed.TypedTerm Syntax.FixedParameter+fixedParameterWithModifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ 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.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "defaultArgument")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.FixedParameter+fixedParameterWithType :: Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FixedParameter+fixedParameterWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultArgument"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedParameter"),+ Model.projectionFieldName = (Model.Name "defaultArgument")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.FixedPointerDeclarator+fixedPointerDeclaratorExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.FixedPointerDeclarator+fixedPointerDeclaratorExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedPointerDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedPointerDeclarator+fixedPointerDeclaratorFixedPointerDeclarator :: Typed.TypedName Syntax.FixedPointerDeclarator+fixedPointerDeclaratorFixedPointerDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedPointerDeclarator")++-- | DSL injection for the reference variant of hydra.ext.csharp.syntax.FixedPointerDeclarator+fixedPointerDeclaratorReference :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.FixedPointerDeclarator+fixedPointerDeclaratorReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedPointerDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.FixedSizeBufferModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.FixedSizeBufferDeclarator] -> Typed.TypedTerm Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclaration attributes modifiers elementType declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationAttributes :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+fixedSizeBufferDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationDeclarators :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm [Syntax.FixedSizeBufferDeclarator]+fixedSizeBufferDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elementType field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationElementType :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm Syntax.Type+fixedSizeBufferDeclarationElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationFixedSizeBufferDeclaration :: Typed.TypedName Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationFixedSizeBufferDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration")++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationModifiers :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm [Syntax.FixedSizeBufferModifier]+fixedSizeBufferDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithAttributes :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithDeclarators :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm [Syntax.FixedSizeBufferDeclarator] -> Typed.TypedTerm Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the elementType field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithElementType :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithModifiers :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm [Syntax.FixedSizeBufferModifier] -> Typed.TypedTerm Syntax.FixedSizeBufferDeclaration+fixedSizeBufferDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclarator name size =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "size"),+ Model.fieldTerm = (Typed.unTypedTerm size)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorFixedSizeBufferDeclarator :: Typed.TypedName Syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorFixedSizeBufferDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorName :: Typed.TypedTerm Syntax.FixedSizeBufferDeclarator -> Typed.TypedTerm Syntax.Identifier+fixedSizeBufferDeclaratorName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the size field of hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorSize :: Typed.TypedTerm Syntax.FixedSizeBufferDeclarator -> Typed.TypedTerm Syntax.ConstantExpression+fixedSizeBufferDeclaratorSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.projectionFieldName = (Model.Name "size")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorWithName :: Typed.TypedTerm Syntax.FixedSizeBufferDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "size"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.projectionFieldName = (Model.Name "size")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the size field of hydra.ext.csharp.syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorWithSize :: Typed.TypedTerm Syntax.FixedSizeBufferDeclarator -> Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.FixedSizeBufferDeclarator+fixedSizeBufferDeclaratorWithSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ 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.ext.csharp.syntax.FixedSizeBufferDeclarator"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "size"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierFixedSizeBufferModifier :: Typed.TypedName Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierFixedSizeBufferModifier =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierInternal :: Typed.TypedTerm Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierNew :: Typed.TypedTerm Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierPrivate :: Typed.TypedTerm Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierPublic :: Typed.TypedTerm Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.FixedSizeBufferModifier+fixedSizeBufferModifierUnsafe :: Typed.TypedTerm Syntax.FixedSizeBufferModifier+fixedSizeBufferModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedSizeBufferModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.FixedStatement+fixedStatement :: Typed.TypedTerm Syntax.PointerType -> Typed.TypedTerm [Syntax.FixedPointerDeclarator] -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.FixedStatement+fixedStatement pointerType declarators statement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointerType"),+ Model.fieldTerm = (Typed.unTypedTerm pointerType)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementDeclarators :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm [Syntax.FixedPointerDeclarator]+fixedStatementDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FixedStatement+fixedStatementFixedStatement :: Typed.TypedName Syntax.FixedStatement+fixedStatementFixedStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FixedStatement")++-- | DSL accessor for the pointerType field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementPointerType :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm Syntax.PointerType+fixedStatementPointerType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "pointerType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statement field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementStatement :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+fixedStatementStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementWithDeclarators :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm [Syntax.FixedPointerDeclarator] -> Typed.TypedTerm Syntax.FixedStatement+fixedStatementWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointerType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "pointerType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ 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.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pointerType field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementWithPointerType :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm Syntax.PointerType -> Typed.TypedTerm Syntax.FixedStatement+fixedStatementWithPointerType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointerType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statement field of hydra.ext.csharp.syntax.FixedStatement+fixedStatementWithStatement :: Typed.TypedTerm Syntax.FixedStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.FixedStatement+fixedStatementWithStatement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointerType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "pointerType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FixedStatement"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the double variant of hydra.ext.csharp.syntax.FloatingPointType+floatingPointTypeDouble :: Typed.TypedTerm Syntax.FloatingPointType+floatingPointTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FloatingPointType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.csharp.syntax.FloatingPointType+floatingPointTypeFloat :: Typed.TypedTerm Syntax.FloatingPointType+floatingPointTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FloatingPointType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.FloatingPointType+floatingPointTypeFloatingPointType :: Typed.TypedName Syntax.FloatingPointType+floatingPointTypeFloatingPointType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FloatingPointType")++-- | DSL name token for hydra.ext.csharp.syntax.ForInitializer+forInitializerForInitializer :: Typed.TypedName Syntax.ForInitializer+forInitializerForInitializer = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ForInitializer")++-- | DSL injection for the statements variant of hydra.ext.csharp.syntax.ForInitializer+forInitializerStatements :: Typed.TypedTerm Syntax.StatementExpressionList -> Typed.TypedTerm Syntax.ForInitializer+forInitializerStatements x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "statements"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the variable variant of hydra.ext.csharp.syntax.ForInitializer+forInitializerVariable :: Typed.TypedTerm Syntax.LocalVariableDeclaration -> Typed.TypedTerm Syntax.ForInitializer+forInitializerVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ForStatement+forStatement :: Typed.TypedTerm (Maybe Syntax.ForInitializer) -> Typed.TypedTerm (Maybe Syntax.BooleanExpression) -> Typed.TypedTerm (Maybe Syntax.StatementExpressionList) -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.ForStatement+forStatement initializer condition iterator body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "iterator"),+ Model.fieldTerm = (Typed.unTypedTerm iterator)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.ForStatement+forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+forStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.ext.csharp.syntax.ForStatement+forStatementCondition :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.BooleanExpression)+forStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ForStatement+forStatementForStatement :: Typed.TypedName Syntax.ForStatement+forStatementForStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ForStatement")++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.ForStatement+forStatementInitializer :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.ForInitializer)+forStatementInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the iterator field of hydra.ext.csharp.syntax.ForStatement+forStatementIterator :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.StatementExpressionList)+forStatementIterator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "iterator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.ForStatement+forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.ForStatement+forStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "iterator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "iterator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the condition field of hydra.ext.csharp.syntax.ForStatement+forStatementWithCondition :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.BooleanExpression) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "iterator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "iterator")})),+ 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.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.ForStatement+forStatementWithInitializer :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.ForInitializer) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "iterator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "iterator")})),+ 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.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the iterator field of hydra.ext.csharp.syntax.ForStatement+forStatementWithIterator :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.StatementExpressionList) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithIterator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "iterator"),+ 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.ext.csharp.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.ForeachStatement+foreachStatement :: Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.LocalVariableType -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatement kind type_ identifier expression body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm kind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ 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.ext.csharp.syntax.ForeachStatement+foreachStatementBody :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+foreachStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementExpression :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.Expression+foreachStatementExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ForeachStatement+foreachStatementForeachStatement :: Typed.TypedName Syntax.ForeachStatement+foreachStatementForeachStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ForeachStatement")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementIdentifier :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.Identifier+foreachStatementIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kind field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementKind :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm (Maybe Syntax.RefKind)+foreachStatementKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementType :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.LocalVariableType+foreachStatementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementWithBody :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ 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.ext.csharp.syntax.ForeachStatement+foreachStatementWithExpression :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatementWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementWithIdentifier :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatementWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the kind field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementWithKind :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatementWithKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ForeachStatement+foreachStatementWithType :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.LocalVariableType -> Typed.TypedTerm Syntax.ForeachStatement+foreachStatementWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ 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.ext.csharp.syntax.ForeachStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.FormalParameterList+formalParameterList :: Typed.TypedTerm [Syntax.FixedParameter] -> Typed.TypedTerm (Maybe Syntax.ParameterArray) -> Typed.TypedTerm Syntax.FormalParameterList+formalParameterList fixed array =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm fixed)},+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm array)}]}))++-- | DSL accessor for the array field of hydra.ext.csharp.syntax.FormalParameterList+formalParameterListArray :: Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm (Maybe Syntax.ParameterArray)+formalParameterListArray x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.projectionFieldName = (Model.Name "array")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the fixed field of hydra.ext.csharp.syntax.FormalParameterList+formalParameterListFixed :: Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm [Syntax.FixedParameter]+formalParameterListFixed x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.projectionFieldName = (Model.Name "fixed")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.FormalParameterList+formalParameterListFormalParameterList :: Typed.TypedName Syntax.FormalParameterList+formalParameterListFormalParameterList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FormalParameterList")++-- | DSL updater for the array field of hydra.ext.csharp.syntax.FormalParameterList+formalParameterListWithArray :: Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm (Maybe Syntax.ParameterArray) -> Typed.TypedTerm Syntax.FormalParameterList+formalParameterListWithArray original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.projectionFieldName = (Model.Name "fixed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the fixed field of hydra.ext.csharp.syntax.FormalParameterList+formalParameterListWithFixed :: Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm [Syntax.FixedParameter] -> Typed.TypedTerm Syntax.FormalParameterList+formalParameterListWithFixed original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FormalParameterList"),+ Model.projectionFieldName = (Model.Name "array")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.FromClause+fromClause :: Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.FromClause+fromClause type_ identifier in_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm in_)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.FromClause+fromClauseFromClause :: Typed.TypedName Syntax.FromClause+fromClauseFromClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.FromClause")++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.FromClause+fromClauseIdentifier :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.Identifier+fromClauseIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the in field of hydra.ext.csharp.syntax.FromClause+fromClauseIn :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.Expression+fromClauseIn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.FromClause+fromClauseType :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm (Maybe Syntax.Type)+fromClauseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.FromClause+fromClauseWithIdentifier :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.FromClause+fromClauseWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the in field of hydra.ext.csharp.syntax.FromClause+fromClauseWithIn :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.FromClause+fromClauseWithIn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.FromClause+fromClauseWithType :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.FromClause+fromClauseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.FromClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSection :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.AttributeList -> Typed.TypedTerm Syntax.GlobalAttributeSection+globalAttributeSection target attributes =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSectionAttributes :: Typed.TypedTerm Syntax.GlobalAttributeSection -> Typed.TypedTerm Syntax.AttributeList+globalAttributeSectionAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSectionGlobalAttributeSection :: Typed.TypedName Syntax.GlobalAttributeSection+globalAttributeSectionGlobalAttributeSection =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection")++-- | DSL accessor for the target field of hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSectionTarget :: Typed.TypedTerm Syntax.GlobalAttributeSection -> Typed.TypedTerm Syntax.Identifier+globalAttributeSectionTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSectionWithAttributes :: Typed.TypedTerm Syntax.GlobalAttributeSection -> Typed.TypedTerm Syntax.AttributeList -> Typed.TypedTerm Syntax.GlobalAttributeSection+globalAttributeSectionWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the target field of hydra.ext.csharp.syntax.GlobalAttributeSection+globalAttributeSectionWithTarget :: Typed.TypedTerm Syntax.GlobalAttributeSection -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.GlobalAttributeSection+globalAttributeSectionWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GlobalAttributeSection"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the case variant of hydra.ext.csharp.syntax.GotoStatement+gotoStatementCase :: Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.GotoStatement+gotoStatementCase x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GotoStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "case"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the default variant of hydra.ext.csharp.syntax.GotoStatement+gotoStatementDefault :: Typed.TypedTerm Syntax.GotoStatement+gotoStatementDefault =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GotoStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.GotoStatement+gotoStatementGotoStatement :: Typed.TypedName Syntax.GotoStatement+gotoStatementGotoStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.GotoStatement")++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.GotoStatement+gotoStatementIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.GotoStatement+gotoStatementIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GotoStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.GroupClause+groupClause :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GroupClause+groupClause grouped by =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "grouped"),+ Model.fieldTerm = (Typed.unTypedTerm grouped)},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Typed.unTypedTerm by)}]}))++-- | DSL accessor for the by field of hydra.ext.csharp.syntax.GroupClause+groupClauseBy :: Typed.TypedTerm Syntax.GroupClause -> Typed.TypedTerm Syntax.Expression+groupClauseBy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.projectionFieldName = (Model.Name "by")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.GroupClause+groupClauseGroupClause :: Typed.TypedName Syntax.GroupClause+groupClauseGroupClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.GroupClause")++-- | DSL accessor for the grouped field of hydra.ext.csharp.syntax.GroupClause+groupClauseGrouped :: Typed.TypedTerm Syntax.GroupClause -> Typed.TypedTerm Syntax.Expression+groupClauseGrouped x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.projectionFieldName = (Model.Name "grouped")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the by field of hydra.ext.csharp.syntax.GroupClause+groupClauseWithBy :: Typed.TypedTerm Syntax.GroupClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GroupClause+groupClauseWithBy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "grouped"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.projectionFieldName = (Model.Name "grouped")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the grouped field of hydra.ext.csharp.syntax.GroupClause+groupClauseWithGrouped :: Typed.TypedTerm Syntax.GroupClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GroupClause+groupClauseWithGrouped original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "grouped"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.GroupClause"),+ Model.projectionFieldName = (Model.Name "by")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.Identifier wrapper+identifier :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Identifier+identifier x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.Identifier"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Identifier+identifierIdentifier :: Typed.TypedName Syntax.Identifier+identifierIdentifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Identifier")++-- | DSL constructor for hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeName :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeName identifier arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameArguments :: Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+identifierNamespaceOrTypeNameArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameIdentifier :: Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName -> Typed.TypedTerm Syntax.Identifier+identifierNamespaceOrTypeNameIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameIdentifierNamespaceOrTypeName :: Typed.TypedName Syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameIdentifierNamespaceOrTypeName =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName")++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameWithArguments :: Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameWithIdentifier :: Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName+identifierNamespaceOrTypeNameWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.IdentifierNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.IfStatement+ifStatement :: Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.IfStatement+ifStatement condition ifBranch elseBranch =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "ifBranch"),+ Model.fieldTerm = (Typed.unTypedTerm ifBranch)},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Typed.unTypedTerm elseBranch)}]}))++-- | DSL accessor for the condition field of hydra.ext.csharp.syntax.IfStatement+ifStatementCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.BooleanExpression+ifStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elseBranch field of hydra.ext.csharp.syntax.IfStatement+ifStatementElseBranch :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+ifStatementElseBranch x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ifBranch field of hydra.ext.csharp.syntax.IfStatement+ifStatementIfBranch :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+ifStatementIfBranch x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "ifBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.IfStatement+ifStatementIfStatement :: Typed.TypedName Syntax.IfStatement+ifStatementIfStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IfStatement")++-- | DSL updater for the condition field of hydra.ext.csharp.syntax.IfStatement+ifStatementWithCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ifBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "ifBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the elseBranch field of hydra.ext.csharp.syntax.IfStatement+ifStatementWithElseBranch :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithElseBranch original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.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.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ifBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "ifBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ifBranch field of hydra.ext.csharp.syntax.IfStatement+ifStatementWithIfBranch :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithIfBranch original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.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.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ifBranch"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elseBranch"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "elseBranch")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationImplicitlyTypedLocalVariableDeclaration :: Typed.TypedName Syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationImplicitlyTypedLocalVariableDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration")++-- | DSL injection for the refVar variant of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationRefVar :: Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationRefVar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "refVar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the var variant of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationVar :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclaration+implicitlyTypedLocalVariableDeclarationVar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "var"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclarator identifier expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorExpression :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Expression+implicitlyTypedLocalVariableDeclaratorExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorIdentifier :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier+implicitlyTypedLocalVariableDeclaratorIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorImplicitlyTypedLocalVariableDeclarator :: Typed.TypedName Syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorImplicitlyTypedLocalVariableDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator")++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorWithExpression :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorWithIdentifier :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclarator+implicitlyTypedLocalVariableDeclaratorWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.ImplicitlyTypedLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.InclusiveOrExpression+inclusiveOrExpressionBinary :: Typed.TypedTerm Syntax.BinaryInclusiveOrExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression+inclusiveOrExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.InclusiveOrExpression+inclusiveOrExpressionInclusiveOrExpression :: Typed.TypedName Syntax.InclusiveOrExpression+inclusiveOrExpressionInclusiveOrExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InclusiveOrExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.InclusiveOrExpression+inclusiveOrExpressionSimple :: Typed.TypedTerm Syntax.ExclusiveOrExpression -> Typed.TypedTerm Syntax.InclusiveOrExpression+inclusiveOrExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InclusiveOrExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.IndexerBody+indexerBodyBlock :: Typed.TypedTerm Syntax.AccessorDeclarations -> Typed.TypedTerm Syntax.IndexerBody+indexerBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.IndexerBody+indexerBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.IndexerBody+indexerBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.IndexerBody+indexerBodyIndexerBody :: Typed.TypedName Syntax.IndexerBody+indexerBodyIndexerBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IndexerBody")++-- | DSL name token for hydra.ext.csharp.syntax.IndexerDeclaration+indexerDeclarationIndexerDeclaration :: Typed.TypedName Syntax.IndexerDeclaration+indexerDeclarationIndexerDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IndexerDeclaration")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.IndexerDeclaration+indexerDeclarationRef :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclaration+indexerDeclarationRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the standard variant of hydra.ext.csharp.syntax.IndexerDeclaration+indexerDeclarationStandard :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclaration+indexerDeclarationStandard x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "standard"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclarator :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.InterfaceType) -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm Syntax.IndexerDeclarator+indexerDeclarator type_ interface parameters =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm interface)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorIndexerDeclarator :: Typed.TypedName Syntax.IndexerDeclarator+indexerDeclaratorIndexerDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator")++-- | DSL accessor for the interface field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorInterface :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm (Maybe Syntax.InterfaceType)+indexerDeclaratorInterface x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "interface")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorParameters :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.FormalParameterList+indexerDeclaratorParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorType :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.Type+indexerDeclaratorType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the interface field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorWithInterface :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm (Maybe Syntax.InterfaceType) -> Typed.TypedTerm Syntax.IndexerDeclarator+indexerDeclaratorWithInterface original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorWithParameters :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm Syntax.IndexerDeclarator+indexerDeclaratorWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "interface")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.IndexerDeclarator+indexerDeclaratorWithType :: Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.IndexerDeclarator+indexerDeclaratorWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "interface")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerDeclarator"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the abstract variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierAbstract :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierAbstract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "abstract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierExtern :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.IndexerModifier+indexerModifierIndexerModifier :: Typed.TypedName Syntax.IndexerModifier+indexerModifierIndexerModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IndexerModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierInternal :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierNew :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the override variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierOverride :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierOverride =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierPrivate :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierProtected :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierPublic :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sealed variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierSealed :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierSealed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sealed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierUnsafe :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the virtual variant of hydra.ext.csharp.syntax.IndexerModifier+indexerModifierVirtual :: Typed.TypedTerm Syntax.IndexerModifier+indexerModifierVirtual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IndexerModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "virtual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the arguments variant of hydra.ext.csharp.syntax.InitializerTarget+initializerTargetArguments :: Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.InitializerTarget+initializerTargetArguments x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InitializerTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.InitializerTarget+initializerTargetIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InitializerTarget+initializerTargetIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InitializerTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.InitializerTarget+initializerTargetInitializerTarget :: Typed.TypedName Syntax.InitializerTarget+initializerTargetInitializerTarget = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InitializerTarget")++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.InitializerValue+initializerValueExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.InitializerValue+initializerValueExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InitializerValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.InitializerValue+initializerValueInitializerValue :: Typed.TypedName Syntax.InitializerValue+initializerValueInitializerValue = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InitializerValue")++-- | DSL injection for the objectOrCollection variant of hydra.ext.csharp.syntax.InitializerValue+initializerValueObjectOrCollection :: Typed.TypedTerm Syntax.ObjectOrCollectionInitializer -> Typed.TypedTerm Syntax.InitializerValue+initializerValueObjectOrCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InitializerValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "objectOrCollection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.IntegerLiteral+integerLiteralBinary :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the decimal variant of hydra.ext.csharp.syntax.IntegerLiteral+integerLiteralDecimal :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralDecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the hexadecimal variant of hydra.ext.csharp.syntax.IntegerLiteral+integerLiteralHexadecimal :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntegerLiteral+integerLiteralHexadecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegerLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hexadecimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.IntegerLiteral+integerLiteralIntegerLiteral :: Typed.TypedName Syntax.IntegerLiteral+integerLiteralIntegerLiteral = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IntegerLiteral")++-- | DSL injection for the byte variant of hydra.ext.csharp.syntax.IntegralType+integralTypeByte :: Typed.TypedTerm Syntax.IntegralType+integralTypeByte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "byte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the char variant of hydra.ext.csharp.syntax.IntegralType+integralTypeChar :: Typed.TypedTerm Syntax.IntegralType+integralTypeChar =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "char"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int variant of hydra.ext.csharp.syntax.IntegralType+integralTypeInt :: Typed.TypedTerm Syntax.IntegralType+integralTypeInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.IntegralType+integralTypeIntegralType :: Typed.TypedName Syntax.IntegralType+integralTypeIntegralType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IntegralType")++-- | DSL injection for the long variant of hydra.ext.csharp.syntax.IntegralType+integralTypeLong :: Typed.TypedTerm Syntax.IntegralType+integralTypeLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sbyte variant of hydra.ext.csharp.syntax.IntegralType+integralTypeSbyte :: Typed.TypedTerm Syntax.IntegralType+integralTypeSbyte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sbyte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the short variant of hydra.ext.csharp.syntax.IntegralType+integralTypeShort :: Typed.TypedTerm Syntax.IntegralType+integralTypeShort =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "short"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uint variant of hydra.ext.csharp.syntax.IntegralType+integralTypeUint :: Typed.TypedTerm Syntax.IntegralType+integralTypeUint =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uint"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ulong variant of hydra.ext.csharp.syntax.IntegralType+integralTypeUlong :: Typed.TypedTerm Syntax.IntegralType+integralTypeUlong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ulong"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ushort variant of hydra.ext.csharp.syntax.IntegralType+integralTypeUshort :: Typed.TypedTerm Syntax.IntegralType+integralTypeUshort =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IntegralType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ushort"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessors :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceAccessors+interfaceAccessors attributes get set =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "get"),+ Model.fieldTerm = (Typed.unTypedTerm get)},+ Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Typed.unTypedTerm set)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsAttributes :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceAccessorsAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the get field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsGet :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceAccessorsGet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "get")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsInterfaceAccessors :: Typed.TypedName Syntax.InterfaceAccessors+interfaceAccessorsInterfaceAccessors = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors")++-- | DSL accessor for the set field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsSet :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceAccessorsSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "set")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsWithAttributes :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceAccessors+interfaceAccessorsWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "get"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "get")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "set")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the get field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsWithGet :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceAccessors+interfaceAccessorsWithGet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "get"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "set")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the set field of hydra.ext.csharp.syntax.InterfaceAccessors+interfaceAccessorsWithSet :: Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceAccessors+interfaceAccessorsWithSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "get"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceAccessors"),+ Model.projectionFieldName = (Model.Name "get")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.InterfaceModifier] -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters) -> Typed.TypedTerm [Syntax.InterfaceType] -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm [Syntax.InterfaceMemberDeclaration] -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclaration attributes modifiers partial name parameters base constraints body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Typed.unTypedTerm partial)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm base)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationAttributes :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the base field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationBase :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceType]+interfaceDeclarationBase x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationBody :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceMemberDeclaration]+interfaceDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationConstraints :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+interfaceDeclarationConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationInterfaceDeclaration :: Typed.TypedName Syntax.InterfaceDeclaration+interfaceDeclarationInterfaceDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration")++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationModifiers :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceModifier]+interfaceDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationName :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm Syntax.Identifier+interfaceDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationParameters :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters)+interfaceDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the partial field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationPartial :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm Bool+interfaceDeclarationPartial x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithAttributes :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the base field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithBase :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceType] -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithBase original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithBody :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceMemberDeclaration] -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithConstraints :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithModifiers :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm [Syntax.InterfaceModifier] -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithName :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithParameters :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm (Maybe Syntax.VariantTypeParameters) -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the partial field of hydra.ext.csharp.syntax.InterfaceDeclaration+interfaceDeclarationWithPartial :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.InterfaceDeclaration+interfaceDeclarationWithPartial original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "base")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.InterfaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfaceEventDeclaration+interfaceEventDeclaration attributes new type_ name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm new)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationAttributes :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceEventDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationInterfaceEventDeclaration :: Typed.TypedName Syntax.InterfaceEventDeclaration+interfaceEventDeclarationInterfaceEventDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationName :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Syntax.Identifier+interfaceEventDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the new field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationNew :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Bool+interfaceEventDeclarationNew x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationType :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Syntax.Type+interfaceEventDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithAttributes :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithName :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the new field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithNew :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithNew original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithType :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.InterfaceEventDeclaration+interfaceEventDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.InterfaceEventDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclaration attributes new refKind type_ parameters accessors =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm new)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm accessors)}]}))++-- | DSL accessor for the accessors field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationAccessors :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.InterfaceAccessors+interfaceIndexerDeclarationAccessors x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationAttributes :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceIndexerDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationInterfaceIndexerDeclaration :: Typed.TypedName Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationInterfaceIndexerDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration")++-- | DSL accessor for the new field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationNew :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Bool+interfaceIndexerDeclarationNew x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationParameters :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.FormalParameterList+interfaceIndexerDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationRefKind :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind)+interfaceIndexerDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationType :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.Type+interfaceIndexerDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the accessors field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithAccessors :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithAccessors original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithAttributes :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the new field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithNew :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithNew original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithParameters :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithRefKind :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ 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.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithType :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.InterfaceIndexerDeclaration+interfaceIndexerDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the event variant of hydra.ext.csharp.syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationEvent :: Typed.TypedTerm Syntax.InterfaceEventDeclaration -> Typed.TypedTerm Syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationEvent x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "event"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the indexer variant of hydra.ext.csharp.syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationIndexer :: Typed.TypedTerm Syntax.InterfaceIndexerDeclaration -> Typed.TypedTerm Syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationIndexer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "indexer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationInterfaceMemberDeclaration :: Typed.TypedName Syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationInterfaceMemberDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration")++-- | DSL injection for the method variant of hydra.ext.csharp.syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationMethod :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "method"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the property variant of hydra.ext.csharp.syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationProperty :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.InterfaceMemberDeclaration+interfaceMemberDeclarationProperty x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclaration attributes new returnType refKind header =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm new)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationAttributes :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfaceMethodDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationHeader :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationInterfaceMethodDeclaration :: Typed.TypedName Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationInterfaceMethodDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration")++-- | DSL accessor for the new field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationNew :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Bool+interfaceMethodDeclarationNew x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationRefKind :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind)+interfaceMethodDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationReturnType :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType+interfaceMethodDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithAttributes :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ 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.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithHeader :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ 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.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the new field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithNew :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithNew original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ 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.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithRefKind :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ 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.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithReturnType :: Typed.TypedTerm Syntax.InterfaceMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.InterfaceMethodDeclaration+interfaceMethodDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeader :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodHeader name parameters typeParameters constraints =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm typeParameters)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)}]}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderConstraints :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+interfaceMethodHeaderConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderInterfaceMethodHeader :: Typed.TypedName Syntax.InterfaceMethodHeader+interfaceMethodHeaderInterfaceMethodHeader = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderName :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm Syntax.Identifier+interfaceMethodHeaderName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderParameters :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList)+interfaceMethodHeaderParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParameters field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderTypeParameters :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList)+interfaceMethodHeaderTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderWithConstraints :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodHeaderWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ 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.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderWithName :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodHeaderWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderWithParameters :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodHeaderWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ 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.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParameters field of hydra.ext.csharp.syntax.InterfaceMethodHeader+interfaceMethodHeaderWithTypeParameters :: Typed.TypedTerm Syntax.InterfaceMethodHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.InterfaceMethodHeader+interfaceMethodHeaderWithTypeParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ 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.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceMethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierInterfaceModifier :: Typed.TypedName Syntax.InterfaceModifier+interfaceModifierInterfaceModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier")++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierInternal :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierNew :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierPrivate :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierProtected :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierPublic :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.InterfaceModifier+interfaceModifierUnsafe :: Typed.TypedTerm Syntax.InterfaceModifier+interfaceModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclaration attributes new refKind type_ name accessors =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm new)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm accessors)}]}))++-- | DSL accessor for the accessors field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationAccessors :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.InterfaceAccessors+interfacePropertyDeclarationAccessors x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationAttributes :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+interfacePropertyDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationInterfacePropertyDeclaration :: Typed.TypedName Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationInterfacePropertyDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationName :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.Identifier+interfacePropertyDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the new field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationNew :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Bool+interfacePropertyDeclarationNew x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationRefKind :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind)+interfacePropertyDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationType :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.Type+interfacePropertyDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the accessors field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithAccessors :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.InterfaceAccessors -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithAccessors original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithAttributes :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithName :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the new field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithNew :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithNew original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithRefKind :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.RefKind) -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithType :: Typed.TypedTerm Syntax.InterfacePropertyDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.InterfacePropertyDeclaration+interfacePropertyDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "new")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "accessors"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfacePropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "accessors")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.InterfaceType wrapper+interfaceType :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.InterfaceType+interfaceType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.InterfaceType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterfaceType+interfaceTypeInterfaceType :: Typed.TypedName Syntax.InterfaceType+interfaceTypeInterfaceType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterfaceType")++-- | DSL constructor for the hydra.ext.csharp.syntax.InterpolatedRegularStringExpression wrapper+interpolatedRegularStringExpression :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.InterpolatedRegularStringExpression+interpolatedRegularStringExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.InterpolatedRegularStringExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterpolatedRegularStringExpression+interpolatedRegularStringExpressionInterpolatedRegularStringExpression :: Typed.TypedName Syntax.InterpolatedRegularStringExpression+interpolatedRegularStringExpressionInterpolatedRegularStringExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterpolatedRegularStringExpression")++-- | DSL name token for hydra.ext.csharp.syntax.InterpolatedStringExpression+interpolatedStringExpressionInterpolatedStringExpression :: Typed.TypedName Syntax.InterpolatedStringExpression+interpolatedStringExpressionInterpolatedStringExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterpolatedStringExpression")++-- | DSL injection for the regular variant of hydra.ext.csharp.syntax.InterpolatedStringExpression+interpolatedStringExpressionRegular :: Typed.TypedTerm Syntax.InterpolatedRegularStringExpression -> Typed.TypedTerm Syntax.InterpolatedStringExpression+interpolatedStringExpressionRegular x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterpolatedStringExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "regular"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the verbatim variant of hydra.ext.csharp.syntax.InterpolatedStringExpression+interpolatedStringExpressionVerbatim :: Typed.TypedTerm Syntax.InterpolatedVerbatimStringExpression -> Typed.TypedTerm Syntax.InterpolatedStringExpression+interpolatedStringExpressionVerbatim x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InterpolatedStringExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "verbatim"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression wrapper+interpolatedVerbatimStringExpression :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.InterpolatedVerbatimStringExpression+interpolatedVerbatimStringExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression+interpolatedVerbatimStringExpressionInterpolatedVerbatimStringExpression :: Typed.TypedName Syntax.InterpolatedVerbatimStringExpression+interpolatedVerbatimStringExpressionInterpolatedVerbatimStringExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression")++-- | DSL constructor for hydra.ext.csharp.syntax.InvocationExpression+invocationExpression :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.InvocationExpression+invocationExpression expression arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InvocationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.InvocationExpression+invocationExpressionArguments :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList)+invocationExpressionArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InvocationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.InvocationExpression+invocationExpressionExpression :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm Syntax.PrimaryExpression+invocationExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.InvocationExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.InvocationExpression+invocationExpressionInvocationExpression :: Typed.TypedName Syntax.InvocationExpression+invocationExpressionInvocationExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.InvocationExpression")++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.InvocationExpression+invocationExpressionWithArguments :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.InvocationExpression+invocationExpressionWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InvocationExpression"),+ 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.ext.csharp.syntax.InvocationExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.InvocationExpression+invocationExpressionWithExpression :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.InvocationExpression+invocationExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.InvocationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.InvocationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpression :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.IsPatternExpression+isPatternExpression expression pattern =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm pattern)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpressionExpression :: Typed.TypedTerm Syntax.IsPatternExpression -> Typed.TypedTerm Syntax.RelationalExpression+isPatternExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpressionIsPatternExpression :: Typed.TypedName Syntax.IsPatternExpression+isPatternExpressionIsPatternExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression")++-- | DSL accessor for the pattern field of hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpressionPattern :: Typed.TypedTerm Syntax.IsPatternExpression -> Typed.TypedTerm Syntax.Pattern+isPatternExpressionPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpressionWithExpression :: Typed.TypedTerm Syntax.IsPatternExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.IsPatternExpression+isPatternExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.IsPatternExpression"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pattern field of hydra.ext.csharp.syntax.IsPatternExpression+isPatternExpressionWithPattern :: Typed.TypedTerm Syntax.IsPatternExpression -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.IsPatternExpression+isPatternExpressionWithPattern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsPatternExpression"),+ 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.ext.csharp.syntax.IsPatternExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpression :: Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.IsTypeExpression+isTypeExpression expression type_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpressionExpression :: Typed.TypedTerm Syntax.IsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression+isTypeExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpressionIsTypeExpression :: Typed.TypedName Syntax.IsTypeExpression+isTypeExpressionIsTypeExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpressionType :: Typed.TypedTerm Syntax.IsTypeExpression -> Typed.TypedTerm Syntax.Type+isTypeExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpressionWithExpression :: Typed.TypedTerm Syntax.IsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression -> Typed.TypedTerm Syntax.IsTypeExpression+isTypeExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.IsTypeExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.IsTypeExpression+isTypeExpressionWithType :: Typed.TypedTerm Syntax.IsTypeExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.IsTypeExpression+isTypeExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.IsTypeExpression"),+ 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.ext.csharp.syntax.IsTypeExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the do variant of hydra.ext.csharp.syntax.IterationStatement+iterationStatementDo :: Typed.TypedTerm Syntax.DoStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementDo x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "do"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the for variant of hydra.ext.csharp.syntax.IterationStatement+iterationStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementFor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "for"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the foreach variant of hydra.ext.csharp.syntax.IterationStatement+iterationStatementForeach :: Typed.TypedTerm Syntax.ForeachStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementForeach x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "foreach"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.IterationStatement+iterationStatementIterationStatement :: Typed.TypedName Syntax.IterationStatement+iterationStatementIterationStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.IterationStatement")++-- | DSL injection for the while variant of hydra.ext.csharp.syntax.IterationStatement+iterationStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.IterationStatement+iterationStatementWhile x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.IterationStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.JoinClause+joinClause :: Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.JoinClause+joinClause type_ identifier in_ on equals into =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm in_)},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Typed.unTypedTerm on)},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Typed.unTypedTerm equals)},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Typed.unTypedTerm into)}]}))++-- | DSL accessor for the equals field of hydra.ext.csharp.syntax.JoinClause+joinClauseEquals :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression+joinClauseEquals x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.JoinClause+joinClauseIdentifier :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Identifier+joinClauseIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the in field of hydra.ext.csharp.syntax.JoinClause+joinClauseIn :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression+joinClauseIn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the into field of hydra.ext.csharp.syntax.JoinClause+joinClauseInto :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm (Maybe Syntax.Identifier)+joinClauseInto x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.JoinClause+joinClauseJoinClause :: Typed.TypedName Syntax.JoinClause+joinClauseJoinClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.JoinClause")++-- | DSL accessor for the on field of hydra.ext.csharp.syntax.JoinClause+joinClauseOn :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression+joinClauseOn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.JoinClause+joinClauseType :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm (Maybe Syntax.Type)+joinClauseType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the equals field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithEquals :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithEquals original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithIdentifier :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the in field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithIn :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithIn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the into field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithInto :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithInto original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the on field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithOn :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithOn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.JoinClause+joinClauseWithType :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm (Maybe Syntax.Type) -> Typed.TypedTerm Syntax.JoinClause+joinClauseWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "equals"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "equals")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JoinClause"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the break variant of hydra.ext.csharp.syntax.JumpStatement+jumpStatementBreak :: Typed.TypedTerm Syntax.JumpStatement+jumpStatementBreak =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "break"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the continue variant of hydra.ext.csharp.syntax.JumpStatement+jumpStatementContinue :: Typed.TypedTerm Syntax.JumpStatement+jumpStatementContinue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "continue"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the goto variant of hydra.ext.csharp.syntax.JumpStatement+jumpStatementGoto :: Typed.TypedTerm Syntax.GotoStatement -> Typed.TypedTerm Syntax.JumpStatement+jumpStatementGoto x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "goto"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.JumpStatement+jumpStatementJumpStatement :: Typed.TypedName Syntax.JumpStatement+jumpStatementJumpStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.JumpStatement")++-- | DSL injection for the return variant of hydra.ext.csharp.syntax.JumpStatement+jumpStatementReturn :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm Syntax.JumpStatement+jumpStatementReturn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "return"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the throw variant of hydra.ext.csharp.syntax.JumpStatement+jumpStatementThrow :: Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.JumpStatement+jumpStatementThrow x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.JumpStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "throw"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.Keyword wrapper+keyword :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Keyword+keyword x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.Keyword"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Keyword+keywordKeyword :: Typed.TypedName Syntax.Keyword+keywordKeyword = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Keyword")++-- | DSL constructor for hydra.ext.csharp.syntax.LabeledStatement+labeledStatement :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatement label statement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ Model.fieldTerm = (Typed.unTypedTerm label)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL accessor for the label field of hydra.ext.csharp.syntax.LabeledStatement+labeledStatementLabel :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Identifier+labeledStatementLabel x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "label")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LabeledStatement+labeledStatementLabeledStatement :: Typed.TypedName Syntax.LabeledStatement+labeledStatementLabeledStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LabeledStatement")++-- | DSL accessor for the statement field of hydra.ext.csharp.syntax.LabeledStatement+labeledStatementStatement :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement+labeledStatementStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the label field of hydra.ext.csharp.syntax.LabeledStatement+labeledStatementWithLabel :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatementWithLabel original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ 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.ext.csharp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statement field of hydra.ext.csharp.syntax.LabeledStatement+labeledStatementWithStatement :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.LabeledStatement+labeledStatementWithStatement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "label"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LabeledStatement"),+ Model.projectionFieldName = (Model.Name "label")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.LambdaExpression+lambdaExpression :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AnonymousFunctionSignature -> Typed.TypedTerm Syntax.AnonymousFunctionBody -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpression async signature body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Typed.unTypedTerm signature)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the async field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionAsync :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Bool+lambdaExpressionAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionBody :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.AnonymousFunctionBody+lambdaExpressionBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionLambdaExpression :: Typed.TypedName Syntax.LambdaExpression+lambdaExpressionLambdaExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LambdaExpression")++-- | DSL accessor for the signature field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionSignature :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.AnonymousFunctionSignature+lambdaExpressionSignature x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionWithAsync :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ 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.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionWithBody :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.AnonymousFunctionBody -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ 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.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "signature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the signature field of hydra.ext.csharp.syntax.LambdaExpression+lambdaExpressionWithSignature :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.AnonymousFunctionSignature -> Typed.TypedTerm Syntax.LambdaExpression+lambdaExpressionWithSignature original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LambdaExpression"),+ 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.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "signature"),+ 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.ext.csharp.syntax.LambdaExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.LetClause+letClause :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.LetClause+letClause left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.LetClause+letClauseLeft :: Typed.TypedTerm Syntax.LetClause -> Typed.TypedTerm Syntax.Identifier+letClauseLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LetClause+letClauseLetClause :: Typed.TypedName Syntax.LetClause+letClauseLetClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LetClause")++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.LetClause+letClauseRight :: Typed.TypedTerm Syntax.LetClause -> Typed.TypedTerm Syntax.Expression+letClauseRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.LetClause+letClauseWithLeft :: Typed.TypedTerm Syntax.LetClause -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.LetClause+letClauseWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.LetClause+letClauseWithRight :: Typed.TypedTerm Syntax.LetClause -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.LetClause+letClauseWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LetClause"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the boolean variant of hydra.ext.csharp.syntax.Literal+literalBoolean :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Literal+literalBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the character variant of hydra.ext.csharp.syntax.Literal+literalCharacter :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Literal+literalCharacter x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "character"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.ext.csharp.syntax.Literal+literalInteger :: Typed.TypedTerm Syntax.IntegerLiteral -> Typed.TypedTerm Syntax.Literal+literalInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.Literal+literalLiteral :: Typed.TypedName Syntax.Literal+literalLiteral = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Literal")++-- | DSL injection for the null variant of hydra.ext.csharp.syntax.Literal+literalNull :: Typed.TypedTerm Syntax.Literal+literalNull =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the real variant of hydra.ext.csharp.syntax.Literal+literalReal :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Literal+literalReal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.csharp.syntax.Literal+literalString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Literal+literalString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclaration :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.ConstantDeclarator] -> Typed.TypedTerm Syntax.LocalConstantDeclaration+localConstantDeclaration type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclarationDeclarators :: Typed.TypedTerm Syntax.LocalConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantDeclarator]+localConstantDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclarationLocalConstantDeclaration :: Typed.TypedName Syntax.LocalConstantDeclaration+localConstantDeclarationLocalConstantDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclarationType :: Typed.TypedTerm Syntax.LocalConstantDeclaration -> Typed.TypedTerm Syntax.Type+localConstantDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclarationWithDeclarators :: Typed.TypedTerm Syntax.LocalConstantDeclaration -> Typed.TypedTerm [Syntax.ConstantDeclarator] -> Typed.TypedTerm Syntax.LocalConstantDeclaration+localConstantDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.LocalConstantDeclaration+localConstantDeclarationWithType :: Typed.TypedTerm Syntax.LocalConstantDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.LocalConstantDeclaration+localConstantDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalConstantDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.LocalFunctionBody+localFunctionBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.LocalFunctionBody+localFunctionBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.LocalFunctionBody+localFunctionBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.LocalFunctionBody+localFunctionBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalFunctionBody+localFunctionBodyLocalFunctionBody :: Typed.TypedName Syntax.LocalFunctionBody+localFunctionBodyLocalFunctionBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalFunctionBody")++-- | DSL injection for the nullConditionalInvocation variant of hydra.ext.csharp.syntax.LocalFunctionBody+localFunctionBodyNullConditionalInvocation :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.LocalFunctionBody+localFunctionBodyNullConditionalInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalInvocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalFunctionDeclaration+localFunctionDeclarationLocalFunctionDeclaration :: Typed.TypedName Syntax.LocalFunctionDeclaration+localFunctionDeclarationLocalFunctionDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalFunctionDeclaration")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.LocalFunctionDeclaration+localFunctionDeclarationRef :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionDeclaration+localFunctionDeclarationRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the standard variant of hydra.ext.csharp.syntax.LocalFunctionDeclaration+localFunctionDeclarationStandard :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionDeclaration+localFunctionDeclarationStandard x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "standard"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeader :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.LocalFunctionHeader+localFunctionHeader identifier typeParameters parameters constraints =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm typeParameters)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)}]}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderConstraints :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+localFunctionHeaderConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderIdentifier :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.Identifier+localFunctionHeaderIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderLocalFunctionHeader :: Typed.TypedName Syntax.LocalFunctionHeader+localFunctionHeaderLocalFunctionHeader = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader")++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderParameters :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.FormalParameterList+localFunctionHeaderParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParameters field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderTypeParameters :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList)+localFunctionHeaderTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderWithConstraints :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.LocalFunctionHeader+localFunctionHeaderWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderWithIdentifier :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.LocalFunctionHeader+localFunctionHeaderWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderWithParameters :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.FormalParameterList -> Typed.TypedTerm Syntax.LocalFunctionHeader+localFunctionHeaderWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParameters field of hydra.ext.csharp.syntax.LocalFunctionHeader+localFunctionHeaderWithTypeParameters :: Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.LocalFunctionHeader+localFunctionHeaderWithTypeParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the async variant of hydra.ext.csharp.syntax.LocalFunctionModifier+localFunctionModifierAsync :: Typed.TypedTerm Syntax.LocalFunctionModifier+localFunctionModifierAsync =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalFunctionModifier+localFunctionModifierLocalFunctionModifier :: Typed.TypedName Syntax.LocalFunctionModifier+localFunctionModifierLocalFunctionModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalFunctionModifier")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.LocalFunctionModifier+localFunctionModifierRef :: Typed.TypedTerm Syntax.RefLocalFunctionModifier -> Typed.TypedTerm Syntax.LocalFunctionModifier+localFunctionModifierRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalFunctionModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the explicitlyTyped variant of hydra.ext.csharp.syntax.LocalVariableDeclaration+localVariableDeclarationExplicitlyTyped :: Typed.TypedTerm Syntax.ExplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.LocalVariableDeclaration+localVariableDeclarationExplicitlyTyped x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "explicitlyTyped"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the implicitlyTyped variant of hydra.ext.csharp.syntax.LocalVariableDeclaration+localVariableDeclarationImplicitlyTyped :: Typed.TypedTerm Syntax.ImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.LocalVariableDeclaration+localVariableDeclarationImplicitlyTyped x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "implicitlyTyped"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalVariableDeclaration+localVariableDeclarationLocalVariableDeclaration :: Typed.TypedName Syntax.LocalVariableDeclaration+localVariableDeclarationLocalVariableDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalVariableDeclaration")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.LocalVariableDeclaration+localVariableDeclarationRef :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm Syntax.LocalVariableDeclaration+localVariableDeclarationRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.LocalVariableInitializer+localVariableInitializerExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.LocalVariableInitializer+localVariableInitializerExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the initializer variant of hydra.ext.csharp.syntax.LocalVariableInitializer+localVariableInitializerInitializer :: Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.LocalVariableInitializer+localVariableInitializerInitializer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.LocalVariableInitializer+localVariableInitializerLocalVariableInitializer :: Typed.TypedName Syntax.LocalVariableInitializer+localVariableInitializerLocalVariableInitializer =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalVariableInitializer")++-- | DSL name token for hydra.ext.csharp.syntax.LocalVariableType+localVariableTypeLocalVariableType :: Typed.TypedName Syntax.LocalVariableType+localVariableTypeLocalVariableType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LocalVariableType")++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.LocalVariableType+localVariableTypeType :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.LocalVariableType+localVariableTypeType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the var variant of hydra.ext.csharp.syntax.LocalVariableType+localVariableTypeVar :: Typed.TypedTerm Syntax.LocalVariableType+localVariableTypeVar =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LocalVariableType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "var"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.LockStatement+lockStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.LockStatement+lockStatement expression body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LockStatement"),+ 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.ext.csharp.syntax.LockStatement+lockStatementBody :: Typed.TypedTerm Syntax.LockStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+lockStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LockStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.LockStatement+lockStatementExpression :: Typed.TypedTerm Syntax.LockStatement -> Typed.TypedTerm Syntax.Expression+lockStatementExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.LockStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.LockStatement+lockStatementLockStatement :: Typed.TypedName Syntax.LockStatement+lockStatementLockStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.LockStatement")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.LockStatement+lockStatementWithBody :: Typed.TypedTerm Syntax.LockStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.LockStatement+lockStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LockStatement"),+ 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.ext.csharp.syntax.LockStatement"),+ 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.ext.csharp.syntax.LockStatement+lockStatementWithExpression :: Typed.TypedTerm Syntax.LockStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.LockStatement+lockStatementWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.LockStatement"),+ 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.ext.csharp.syntax.LockStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.MemberAccess+memberAccess :: Typed.TypedTerm Syntax.MemberAccessHead -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.MemberAccess+memberAccess head identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm head)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL accessor for the head field of hydra.ext.csharp.syntax.MemberAccess+memberAccessHead :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.MemberAccessHead+memberAccessHead x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberAccessHead+memberAccessHeadMemberAccessHead :: Typed.TypedName Syntax.MemberAccessHead+memberAccessHeadMemberAccessHead = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberAccessHead")++-- | DSL injection for the predefined variant of hydra.ext.csharp.syntax.MemberAccessHead+memberAccessHeadPredefined :: Typed.TypedTerm Syntax.PredefinedType -> Typed.TypedTerm Syntax.MemberAccessHead+memberAccessHeadPredefined x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccessHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predefined"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primary variant of hydra.ext.csharp.syntax.MemberAccessHead+memberAccessHeadPrimary :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.MemberAccessHead+memberAccessHeadPrimary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccessHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the qualifiedAlias variant of hydra.ext.csharp.syntax.MemberAccessHead+memberAccessHeadQualifiedAlias :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.MemberAccessHead+memberAccessHeadQualifiedAlias x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccessHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "qualifiedAlias"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.MemberAccess+memberAccessIdentifier :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.Identifier+memberAccessIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberAccess+memberAccessMemberAccess :: Typed.TypedName Syntax.MemberAccess+memberAccessMemberAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberAccess")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.MemberAccess+memberAccessTypeArguments :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+memberAccessTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.ext.csharp.syntax.MemberAccess+memberAccessWithHead :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.MemberAccessHead -> Typed.TypedTerm Syntax.MemberAccess+memberAccessWithHead original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.MemberAccess+memberAccessWithIdentifier :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.MemberAccess+memberAccessWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ 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.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.MemberAccess+memberAccessWithTypeArguments :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.MemberAccess+memberAccessWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ 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.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the assignment variant of hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorAssignment :: Typed.TypedTerm Syntax.AssignmentMemberDeclarator -> Typed.TypedTerm Syntax.MemberDeclarator+memberDeclaratorAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the baseAccess variant of hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorBaseAccess :: Typed.TypedTerm Syntax.BaseAccess -> Typed.TypedTerm Syntax.MemberDeclarator+memberDeclaratorBaseAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "baseAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.MemberDeclaratorList wrapper+memberDeclaratorList :: Typed.TypedTerm [Syntax.MemberDeclarator] -> Typed.TypedTerm Syntax.MemberDeclaratorList+memberDeclaratorList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclaratorList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberDeclaratorList+memberDeclaratorListMemberDeclaratorList :: Typed.TypedName Syntax.MemberDeclaratorList+memberDeclaratorListMemberDeclaratorList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberDeclaratorList")++-- | DSL injection for the memberAccess variant of hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorMemberAccess :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.MemberDeclarator+memberDeclaratorMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "memberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorMemberDeclarator :: Typed.TypedName Syntax.MemberDeclarator+memberDeclaratorMemberDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator")++-- | DSL injection for the name variant of hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorName :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm Syntax.MemberDeclarator+memberDeclaratorName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nullConditionalProjectionInitializer variant of hydra.ext.csharp.syntax.MemberDeclarator+memberDeclaratorNullConditionalProjectionInitializer :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm Syntax.MemberDeclarator+memberDeclaratorNullConditionalProjectionInitializer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalProjectionInitializer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.MemberInitializer+memberInitializer :: Typed.TypedTerm Syntax.InitializerTarget -> Typed.TypedTerm Syntax.InitializerValue -> Typed.TypedTerm Syntax.MemberInitializer+memberInitializer target value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberInitializer+memberInitializerMemberInitializer :: Typed.TypedName Syntax.MemberInitializer+memberInitializerMemberInitializer = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberInitializer")++-- | DSL accessor for the target field of hydra.ext.csharp.syntax.MemberInitializer+memberInitializerTarget :: Typed.TypedTerm Syntax.MemberInitializer -> Typed.TypedTerm Syntax.InitializerTarget+memberInitializerTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the value field of hydra.ext.csharp.syntax.MemberInitializer+memberInitializerValue :: Typed.TypedTerm Syntax.MemberInitializer -> Typed.TypedTerm Syntax.InitializerValue+memberInitializerValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the target field of hydra.ext.csharp.syntax.MemberInitializer+memberInitializerWithTarget :: Typed.TypedTerm Syntax.MemberInitializer -> Typed.TypedTerm Syntax.InitializerTarget -> Typed.TypedTerm Syntax.MemberInitializer+memberInitializerWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ 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.ext.csharp.syntax.MemberInitializer"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.csharp.syntax.MemberInitializer+memberInitializerWithValue :: Typed.TypedTerm Syntax.MemberInitializer -> Typed.TypedTerm Syntax.InitializerValue -> Typed.TypedTerm Syntax.MemberInitializer+memberInitializerWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberInitializer"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.MemberName+memberName :: Typed.TypedTerm (Maybe Syntax.TypeName) -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.MemberName+memberName interfaceType identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "interfaceType"),+ Model.fieldTerm = (Typed.unTypedTerm interfaceType)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.MemberName+memberNameIdentifier :: Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.Identifier+memberNameIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the interfaceType field of hydra.ext.csharp.syntax.MemberName+memberNameInterfaceType :: Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm (Maybe Syntax.TypeName)+memberNameInterfaceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.projectionFieldName = (Model.Name "interfaceType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.MemberName+memberNameMemberName :: Typed.TypedName Syntax.MemberName+memberNameMemberName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MemberName")++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.MemberName+memberNameWithIdentifier :: Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.MemberName+memberNameWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "interfaceType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.projectionFieldName = (Model.Name "interfaceType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the interfaceType field of hydra.ext.csharp.syntax.MemberName+memberNameWithInterfaceType :: Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm (Maybe Syntax.TypeName) -> Typed.TypedTerm Syntax.MemberName+memberNameWithInterfaceType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "interfaceType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MemberName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.MethodBody+methodBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.MethodBody+methodBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.MethodBody+methodBodyEmpty :: Typed.TypedTerm Syntax.MethodBody+methodBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.MethodBody+methodBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.MethodBody+methodBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.MethodBody+methodBodyMethodBody :: Typed.TypedName Syntax.MethodBody+methodBodyMethodBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MethodBody")++-- | DSL injection for the nullConditionalInvocation variant of hydra.ext.csharp.syntax.MethodBody+methodBodyNullConditionalInvocation :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.MethodBody+methodBodyNullConditionalInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalInvocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.MethodDeclaration+methodDeclarationMethodDeclaration :: Typed.TypedName Syntax.MethodDeclaration+methodDeclarationMethodDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MethodDeclaration")++-- | DSL injection for the refReturn variant of hydra.ext.csharp.syntax.MethodDeclaration+methodDeclarationRefReturn :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.MethodDeclaration+methodDeclarationRefReturn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "refReturn"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the standard variant of hydra.ext.csharp.syntax.MethodDeclaration+methodDeclarationStandard :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.MethodDeclaration+methodDeclarationStandard x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "standard"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.MethodHeader+methodHeader :: Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.MethodHeader+methodHeader name typeParameters parameters constraints =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm typeParameters)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)}]}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderConstraints :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+methodHeaderConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.MethodHeader+methodHeaderMethodHeader :: Typed.TypedName Syntax.MethodHeader+methodHeaderMethodHeader = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MethodHeader")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderName :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.MemberName+methodHeaderName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderParameters :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList)+methodHeaderParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParameters field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderTypeParameters :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList)+methodHeaderTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderWithConstraints :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.MethodHeader+methodHeaderWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ 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.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderWithName :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.MethodHeader+methodHeaderWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderWithParameters :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm (Maybe Syntax.FormalParameterList) -> Typed.TypedTerm Syntax.MethodHeader+methodHeaderWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ 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.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "typeParameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParameters field of hydra.ext.csharp.syntax.MethodHeader+methodHeaderWithTypeParameters :: Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.MethodHeader+methodHeaderWithTypeParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ 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.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodHeader"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the async variant of hydra.ext.csharp.syntax.MethodModifier+methodModifierAsync :: Typed.TypedTerm Syntax.MethodModifier+methodModifierAsync =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.MethodModifier+methodModifierMethodModifier :: Typed.TypedName Syntax.MethodModifier+methodModifierMethodModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MethodModifier")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.MethodModifier+methodModifierRef :: Typed.TypedTerm Syntax.RefMethodModifier -> Typed.TypedTerm Syntax.MethodModifier+methodModifierRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.MethodModifiers+methodModifiers :: Typed.TypedTerm [Syntax.MethodModifier] -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.MethodModifiers+methodModifiers modifiers partial =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Typed.unTypedTerm partial)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.MethodModifiers+methodModifiersMethodModifiers :: Typed.TypedName Syntax.MethodModifiers+methodModifiersMethodModifiers = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MethodModifiers")++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.MethodModifiers+methodModifiersModifiers :: Typed.TypedTerm Syntax.MethodModifiers -> Typed.TypedTerm [Syntax.MethodModifier]+methodModifiersModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the partial field of hydra.ext.csharp.syntax.MethodModifiers+methodModifiersPartial :: Typed.TypedTerm Syntax.MethodModifiers -> Typed.TypedTerm Bool+methodModifiersPartial x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.MethodModifiers+methodModifiersWithModifiers :: Typed.TypedTerm Syntax.MethodModifiers -> Typed.TypedTerm [Syntax.MethodModifier] -> Typed.TypedTerm Syntax.MethodModifiers+methodModifiersWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the partial field of hydra.ext.csharp.syntax.MethodModifiers+methodModifiersWithPartial :: Typed.TypedTerm Syntax.MethodModifiers -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.MethodModifiers+methodModifiersWithPartial original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MethodModifiers"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.MultiplicativeExpression+multiplicativeExpressionBinary :: Typed.TypedTerm Syntax.BinaryMultiplicativeExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.MultiplicativeExpression+multiplicativeExpressionMultiplicativeExpression :: Typed.TypedName Syntax.MultiplicativeExpression+multiplicativeExpressionMultiplicativeExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MultiplicativeExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.MultiplicativeExpression+multiplicativeExpressionSimple :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.MultiplicativeExpression+multiplicativeExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MultiplicativeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the divide variant of hydra.ext.csharp.syntax.MultiplicativeOperator+multiplicativeOperatorDivide :: Typed.TypedTerm Syntax.MultiplicativeOperator+multiplicativeOperatorDivide =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MultiplicativeOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divide"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the modulo variant of hydra.ext.csharp.syntax.MultiplicativeOperator+multiplicativeOperatorModulo :: Typed.TypedTerm Syntax.MultiplicativeOperator+multiplicativeOperatorModulo =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MultiplicativeOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modulo"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.MultiplicativeOperator+multiplicativeOperatorMultiplicativeOperator :: Typed.TypedName Syntax.MultiplicativeOperator+multiplicativeOperatorMultiplicativeOperator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.MultiplicativeOperator")++-- | DSL injection for the times variant of hydra.ext.csharp.syntax.MultiplicativeOperator+multiplicativeOperatorTimes :: Typed.TypedTerm Syntax.MultiplicativeOperator+multiplicativeOperatorTimes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.MultiplicativeOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "times"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.NamedArgument+namedArgument :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.AttributeArgumentExpression -> Typed.TypedTerm Syntax.NamedArgument+namedArgument name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgument"),+ 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 constructor for the hydra.ext.csharp.syntax.NamedArgumentList wrapper+namedArgumentList :: Typed.TypedTerm [Syntax.NamedArgument] -> Typed.TypedTerm Syntax.NamedArgumentList+namedArgumentList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgumentList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamedArgumentList+namedArgumentListNamedArgumentList :: Typed.TypedName Syntax.NamedArgumentList+namedArgumentListNamedArgumentList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamedArgumentList")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.NamedArgument+namedArgumentName :: Typed.TypedTerm Syntax.NamedArgument -> Typed.TypedTerm Syntax.Identifier+namedArgumentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgument"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamedArgument+namedArgumentNamedArgument :: Typed.TypedName Syntax.NamedArgument+namedArgumentNamedArgument = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamedArgument")++-- | DSL accessor for the value field of hydra.ext.csharp.syntax.NamedArgument+namedArgumentValue :: Typed.TypedTerm Syntax.NamedArgument -> Typed.TypedTerm Syntax.AttributeArgumentExpression+namedArgumentValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.NamedArgument+namedArgumentWithName :: Typed.TypedTerm Syntax.NamedArgument -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.NamedArgument+namedArgumentWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgument"),+ 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.ext.csharp.syntax.NamedArgument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.csharp.syntax.NamedArgument+namedArgumentWithValue :: Typed.TypedTerm Syntax.NamedArgument -> Typed.TypedTerm Syntax.AttributeArgumentExpression -> Typed.TypedTerm Syntax.NamedArgument+namedArgumentWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedArgument"),+ 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.ext.csharp.syntax.NamedArgument"),+ 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.ext.csharp.syntax.NamedEntity+namedEntity :: Typed.TypedTerm Syntax.NamedEntityTarget -> Typed.TypedTerm [Syntax.NamedEntityPart] -> Typed.TypedTerm Syntax.NamedEntity+namedEntity target parts =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "parts"),+ Model.fieldTerm = (Typed.unTypedTerm parts)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.NamedEntity+namedEntityNamedEntity :: Typed.TypedName Syntax.NamedEntity+namedEntityNamedEntity = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamedEntity")++-- | DSL constructor for hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPart :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.NamedEntityPart+namedEntityPart identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPartIdentifier :: Typed.TypedTerm Syntax.NamedEntityPart -> Typed.TypedTerm Syntax.Identifier+namedEntityPartIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPartNamedEntityPart :: Typed.TypedName Syntax.NamedEntityPart+namedEntityPartNamedEntityPart = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPartTypeArguments :: Typed.TypedTerm Syntax.NamedEntityPart -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+namedEntityPartTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPartWithIdentifier :: Typed.TypedTerm Syntax.NamedEntityPart -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.NamedEntityPart+namedEntityPartWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.NamedEntityPart+namedEntityPartWithTypeArguments :: Typed.TypedTerm Syntax.NamedEntityPart -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.NamedEntityPart+namedEntityPartWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityPart"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the parts field of hydra.ext.csharp.syntax.NamedEntity+namedEntityParts :: Typed.TypedTerm Syntax.NamedEntity -> Typed.TypedTerm [Syntax.NamedEntityPart]+namedEntityParts x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.projectionFieldName = (Model.Name "parts")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the target field of hydra.ext.csharp.syntax.NamedEntity+namedEntityTarget :: Typed.TypedTerm Syntax.NamedEntity -> Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the base variant of hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetBase :: Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTargetBase =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the name variant of hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetName :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTargetName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetNamedEntityTarget :: Typed.TypedName Syntax.NamedEntityTarget+namedEntityTargetNamedEntityTarget = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget")++-- | DSL injection for the predefinedType variant of hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetPredefinedType :: Typed.TypedTerm Syntax.PredefinedType -> Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTargetPredefinedType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predefinedType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the qualifiedAliasMember variant of hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetQualifiedAliasMember :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTargetQualifiedAliasMember x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "qualifiedAliasMember"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the this variant of hydra.ext.csharp.syntax.NamedEntityTarget+namedEntityTargetThis :: Typed.TypedTerm Syntax.NamedEntityTarget+namedEntityTargetThis =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntityTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "this"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL updater for the parts field of hydra.ext.csharp.syntax.NamedEntity+namedEntityWithParts :: Typed.TypedTerm Syntax.NamedEntity -> Typed.TypedTerm [Syntax.NamedEntityPart] -> Typed.TypedTerm Syntax.NamedEntity+namedEntityWithParts original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parts"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the target field of hydra.ext.csharp.syntax.NamedEntity+namedEntityWithTarget :: Typed.TypedTerm Syntax.NamedEntity -> Typed.TypedTerm Syntax.NamedEntityTarget -> Typed.TypedTerm Syntax.NamedEntity+namedEntityWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamedEntity"),+ Model.projectionFieldName = (Model.Name "parts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.NamespaceBody+namespaceBody :: Typed.TypedTerm [Syntax.ExternAliasDirective] -> Typed.TypedTerm [Syntax.UsingDirective] -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration] -> Typed.TypedTerm Syntax.NamespaceBody+namespaceBody externs usings members =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Typed.unTypedTerm externs)},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Typed.unTypedTerm usings)},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Typed.unTypedTerm members)}]}))++-- | DSL accessor for the externs field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyExterns :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.ExternAliasDirective]+namespaceBodyExterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the members field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyMembers :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration]+namespaceBodyMembers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyNamespaceBody :: Typed.TypedName Syntax.NamespaceBody+namespaceBodyNamespaceBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamespaceBody")++-- | DSL accessor for the usings field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyUsings :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.UsingDirective]+namespaceBodyUsings x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the externs field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyWithExterns :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.ExternAliasDirective] -> Typed.TypedTerm Syntax.NamespaceBody+namespaceBodyWithExterns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the members field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyWithMembers :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.NamespaceMemberDeclaration] -> Typed.TypedTerm Syntax.NamespaceBody+namespaceBodyWithMembers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "usings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the usings field of hydra.ext.csharp.syntax.NamespaceBody+namespaceBodyWithUsings :: Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm [Syntax.UsingDirective] -> Typed.TypedTerm Syntax.NamespaceBody+namespaceBodyWithUsings original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "externs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "externs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usings"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "members"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceBody"),+ Model.projectionFieldName = (Model.Name "members")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclaration :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclaration name body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclarationBody :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.NamespaceBody+namespaceDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclarationName :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.QualifiedIdentifier+namespaceDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclarationNamespaceDeclaration :: Typed.TypedName Syntax.NamespaceDeclaration+namespaceDeclarationNamespaceDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclarationWithBody :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.NamespaceBody -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"),+ 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.ext.csharp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.NamespaceDeclaration+namespaceDeclarationWithName :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm Syntax.NamespaceDeclaration+namespaceDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.NamespaceDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the namespace variant of hydra.ext.csharp.syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationNamespace :: Typed.TypedTerm Syntax.NamespaceDeclaration -> Typed.TypedTerm Syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationNamespace x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationNamespaceMemberDeclaration :: Typed.TypedName Syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationNamespaceMemberDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamespaceMemberDeclaration")++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationType :: Typed.TypedTerm Syntax.TypeDeclaration -> Typed.TypedTerm Syntax.NamespaceMemberDeclaration+namespaceMemberDeclarationType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.NamespaceName wrapper+namespaceName :: Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.NamespaceName+namespaceName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NamespaceName+namespaceNameNamespaceName :: Typed.TypedName Syntax.NamespaceName+namespaceNameNamespaceName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamespaceName")++-- | DSL injection for the alias variant of hydra.ext.csharp.syntax.NamespaceOrTypeName+namespaceOrTypeNameAlias :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.NamespaceOrTypeName+namespaceOrTypeNameAlias x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceOrTypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the identifier variant of hydra.ext.csharp.syntax.NamespaceOrTypeName+namespaceOrTypeNameIdentifier :: Typed.TypedTerm Syntax.IdentifierNamespaceOrTypeName -> Typed.TypedTerm Syntax.NamespaceOrTypeName+namespaceOrTypeNameIdentifier x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceOrTypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NamespaceOrTypeName+namespaceOrTypeNameNamespaceOrTypeName :: Typed.TypedName Syntax.NamespaceOrTypeName+namespaceOrTypeNameNamespaceOrTypeName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NamespaceOrTypeName")++-- | DSL injection for the qualified variant of hydra.ext.csharp.syntax.NamespaceOrTypeName+namespaceOrTypeNameQualified :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm Syntax.NamespaceOrTypeName+namespaceOrTypeNameQualified x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NamespaceOrTypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "qualified"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpression :: Typed.TypedTerm Syntax.NonArrayType -> Typed.TypedTerm Syntax.ExpressionList -> Typed.TypedTerm [Syntax.RankSpecifier] -> Typed.TypedTerm (Maybe Syntax.ArrayInitializer) -> Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpression type_ expressions rankSpecifiers initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Typed.unTypedTerm expressions)},+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm rankSpecifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the expressions field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionExpressions :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ExpressionList+nonArrayTypeArrayCreationExpressionExpressions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionInitializer :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm (Maybe Syntax.ArrayInitializer)+nonArrayTypeArrayCreationExpressionInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionNonArrayTypeArrayCreationExpression :: Typed.TypedName Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionNonArrayTypeArrayCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression")++-- | DSL accessor for the rankSpecifiers field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionRankSpecifiers :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm [Syntax.RankSpecifier]+nonArrayTypeArrayCreationExpressionRankSpecifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionType :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeArrayCreationExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expressions field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithExpressions :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.ExpressionList -> Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithExpressions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithInitializer :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm (Maybe Syntax.ArrayInitializer) -> Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the rankSpecifiers field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithRankSpecifiers :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm [Syntax.RankSpecifier] -> Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithRankSpecifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithType :: Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression -> Typed.TypedTerm Syntax.NonArrayType -> Typed.TypedTerm Syntax.NonArrayTypeArrayCreationExpression+nonArrayTypeArrayCreationExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayTypeArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the class variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeClass :: Typed.TypedTerm Syntax.ClassType -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delegate variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeDelegate :: Typed.TypedTerm Syntax.DelegateType -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeDelegate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delegate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dynamic variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeDynamic :: Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeDynamic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dynamic"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the interface variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeInterface :: Typed.TypedTerm Syntax.InterfaceType -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeNonArrayType :: Typed.TypedName Syntax.NonArrayType+nonArrayTypeNonArrayType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NonArrayType")++-- | DSL injection for the parameter variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeParameter :: Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeParameter x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pointer variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypePointer :: Typed.TypedTerm Syntax.PointerType -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypePointer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the value variant of hydra.ext.csharp.syntax.NonArrayType+nonArrayTypeValue :: Typed.TypedTerm Syntax.ValueType -> Typed.TypedTerm Syntax.NonArrayType+nonArrayTypeValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonArrayType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the conditional variant of hydra.ext.csharp.syntax.NonAssignmentExpression+nonAssignmentExpressionConditional :: Typed.TypedTerm Syntax.ConditionalExpression -> Typed.TypedTerm Syntax.NonAssignmentExpression+nonAssignmentExpressionConditional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "conditional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the declaration variant of hydra.ext.csharp.syntax.NonAssignmentExpression+nonAssignmentExpressionDeclaration :: Typed.TypedTerm Syntax.DeclarationExpression -> Typed.TypedTerm Syntax.NonAssignmentExpression+nonAssignmentExpressionDeclaration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lambda variant of hydra.ext.csharp.syntax.NonAssignmentExpression+nonAssignmentExpressionLambda :: Typed.TypedTerm Syntax.LambdaExpression -> Typed.TypedTerm Syntax.NonAssignmentExpression+nonAssignmentExpressionLambda x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lambda"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NonAssignmentExpression+nonAssignmentExpressionNonAssignmentExpression :: Typed.TypedName Syntax.NonAssignmentExpression+nonAssignmentExpressionNonAssignmentExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression")++-- | DSL injection for the query variant of hydra.ext.csharp.syntax.NonAssignmentExpression+nonAssignmentExpressionQuery :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.NonAssignmentExpression+nonAssignmentExpressionQuery x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NonAssignmentExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "query"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.NullCoalescingExpression+nullCoalescingExpressionBinary :: Typed.TypedTerm Syntax.BinaryNullCoalescingExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+nullCoalescingExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullCoalescingExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NullCoalescingExpression+nullCoalescingExpressionNullCoalescingExpression :: Typed.TypedName Syntax.NullCoalescingExpression+nullCoalescingExpressionNullCoalescingExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullCoalescingExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.NullCoalescingExpression+nullCoalescingExpressionSimple :: Typed.TypedTerm Syntax.ConditionalOrExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+nullCoalescingExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullCoalescingExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the throw variant of hydra.ext.csharp.syntax.NullCoalescingExpression+nullCoalescingExpressionThrow :: Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+nullCoalescingExpressionThrow x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullCoalescingExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "throw"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccess :: Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm [Syntax.DependentAccess] -> Typed.TypedTerm Syntax.NullConditionalElementAccess+nullConditionalElementAccess expression arguments dependentAccess =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Typed.unTypedTerm dependentAccess)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessArguments :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.ArgumentList+nullConditionalElementAccessArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dependentAccess field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessDependentAccess :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm [Syntax.DependentAccess]+nullConditionalElementAccessDependentAccess x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessExpression :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+nullConditionalElementAccessExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessNullConditionalElementAccess :: Typed.TypedName Syntax.NullConditionalElementAccess+nullConditionalElementAccessNullConditionalElementAccess =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess")++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessWithArguments :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm Syntax.NullConditionalElementAccess+nullConditionalElementAccessWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ 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.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dependentAccess field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessWithDependentAccess :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm [Syntax.DependentAccess] -> Typed.TypedTerm Syntax.NullConditionalElementAccess+nullConditionalElementAccessWithDependentAccess original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ 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.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ 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.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.NullConditionalElementAccess+nullConditionalElementAccessWithExpression :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.NullConditionalElementAccess+nullConditionalElementAccessWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ 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.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalElementAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpression :: Typed.TypedTerm Syntax.NullConditionalInvocationExpressionHead -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpression head arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm head)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionArguments :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList)+nullConditionalInvocationExpressionArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the head field of hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionHead :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHead x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the element variant of hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadElement :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadElement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "element"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the member variant of hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadMember :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadMember x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadNullConditionalInvocationExpressionHead :: Typed.TypedName Syntax.NullConditionalInvocationExpressionHead+nullConditionalInvocationExpressionHeadNullConditionalInvocationExpressionHead =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpressionHead")++-- | DSL name token for hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionNullConditionalInvocationExpression :: Typed.TypedName Syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionNullConditionalInvocationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression")++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionWithArguments :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"),+ 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.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the head field of hydra.ext.csharp.syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionWithHead :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.NullConditionalInvocationExpressionHead -> Typed.TypedTerm Syntax.NullConditionalInvocationExpression+nullConditionalInvocationExpressionWithHead original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ 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.ext.csharp.syntax.NullConditionalInvocationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccess :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm [Syntax.DependentAccess] -> Typed.TypedTerm Syntax.NullConditionalMemberAccess+nullConditionalMemberAccess expression identifier typeArguments dependentAccess =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Typed.unTypedTerm dependentAccess)}]}))++-- | DSL accessor for the dependentAccess field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessDependentAccess :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm [Syntax.DependentAccess]+nullConditionalMemberAccessDependentAccess x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessExpression :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.PrimaryExpression+nullConditionalMemberAccessExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessIdentifier :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.Identifier+nullConditionalMemberAccessIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessNullConditionalMemberAccess :: Typed.TypedName Syntax.NullConditionalMemberAccess+nullConditionalMemberAccessNullConditionalMemberAccess =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessTypeArguments :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+nullConditionalMemberAccessTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the dependentAccess field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithDependentAccess :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm [Syntax.DependentAccess] -> Typed.TypedTerm Syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithDependentAccess original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ 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.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithExpression :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithIdentifier :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ 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.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithTypeArguments :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.NullConditionalMemberAccess+nullConditionalMemberAccessWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ 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.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dependentAccess"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalMemberAccess"),+ Model.projectionFieldName = (Model.Name "dependentAccess")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializer :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializer expression identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerExpression :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm Syntax.PrimaryExpression+nullConditionalProjectionInitializerExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerIdentifier :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm Syntax.Identifier+nullConditionalProjectionInitializerIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerNullConditionalProjectionInitializer :: Typed.TypedName Syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerNullConditionalProjectionInitializer =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerTypeArguments :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+nullConditionalProjectionInitializerTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithExpression :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithIdentifier :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ 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.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithTypeArguments :: Typed.TypedTerm Syntax.NullConditionalProjectionInitializer -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.NullConditionalProjectionInitializer+nullConditionalProjectionInitializerWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ 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.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NullConditionalProjectionInitializer"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the decimal variant of hydra.ext.csharp.syntax.NumericType+numericTypeDecimal :: Typed.TypedTerm Syntax.NumericType+numericTypeDecimal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the floatingPoint variant of hydra.ext.csharp.syntax.NumericType+numericTypeFloatingPoint :: Typed.TypedTerm Syntax.FloatingPointType -> Typed.TypedTerm Syntax.NumericType+numericTypeFloatingPoint x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "floatingPoint"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integral variant of hydra.ext.csharp.syntax.NumericType+numericTypeIntegral :: Typed.TypedTerm Syntax.IntegralType -> Typed.TypedTerm Syntax.NumericType+numericTypeIntegral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.NumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integral"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.NumericType+numericTypeNumericType :: Typed.TypedName Syntax.NumericType+numericTypeNumericType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.NumericType")++-- | DSL constructor for hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpression :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm (Maybe Syntax.ObjectOrCollectionInitializer) -> Typed.TypedTerm Syntax.ObjectCreationExpression+objectCreationExpression type_ arguments initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionArguments :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList)+objectCreationExpressionArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionInitializer :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm (Maybe Syntax.ObjectOrCollectionInitializer)+objectCreationExpressionInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionObjectCreationExpression :: Typed.TypedName Syntax.ObjectCreationExpression+objectCreationExpressionObjectCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionType :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm Syntax.Type+objectCreationExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionWithArguments :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm (Maybe Syntax.ArgumentList) -> Typed.TypedTerm Syntax.ObjectCreationExpression+objectCreationExpressionWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionWithInitializer :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm (Maybe Syntax.ObjectOrCollectionInitializer) -> Typed.TypedTerm Syntax.ObjectCreationExpression+objectCreationExpressionWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ObjectCreationExpression+objectCreationExpressionWithType :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ObjectCreationExpression+objectCreationExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the collection variant of hydra.ext.csharp.syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerCollection :: Typed.TypedTerm [Syntax.ElementInitializer] -> Typed.TypedTerm Syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectOrCollectionInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.csharp.syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerObject :: Typed.TypedTerm [Syntax.MemberInitializer] -> Typed.TypedTerm Syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ObjectOrCollectionInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerObjectOrCollectionInitializer :: Typed.TypedName Syntax.ObjectOrCollectionInitializer+objectOrCollectionInitializerObjectOrCollectionInitializer =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ObjectOrCollectionInitializer")++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.OperatorBody+operatorBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.OperatorBody+operatorBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.OperatorBody+operatorBodyEmpty :: Typed.TypedTerm Syntax.OperatorBody+operatorBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.OperatorBody+operatorBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.OperatorBody+operatorBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.OperatorBody+operatorBodyOperatorBody :: Typed.TypedName Syntax.OperatorBody+operatorBodyOperatorBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OperatorBody")++-- | DSL constructor for hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.OperatorModifier] -> Typed.TypedTerm Syntax.OperatorDeclarator -> Typed.TypedTerm Syntax.OperatorBody -> Typed.TypedTerm Syntax.OperatorDeclaration+operatorDeclaration attributes modifiers declarator body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm declarator)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationAttributes :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+operatorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationBody :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.OperatorBody+operatorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarator field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationDeclarator :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.OperatorDeclarator+operatorDeclarationDeclarator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationModifiers :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm [Syntax.OperatorModifier]+operatorDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationOperatorDeclaration :: Typed.TypedName Syntax.OperatorDeclaration+operatorDeclarationOperatorDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationWithAttributes :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.OperatorDeclaration+operatorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationWithBody :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.OperatorBody -> Typed.TypedTerm Syntax.OperatorDeclaration+operatorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the declarator field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationWithDeclarator :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.OperatorDeclarator -> Typed.TypedTerm Syntax.OperatorDeclaration+operatorDeclarationWithDeclarator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ 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.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.OperatorDeclaration+operatorDeclarationWithModifiers :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm [Syntax.OperatorModifier] -> Typed.TypedTerm Syntax.OperatorDeclaration+operatorDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.OperatorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.OperatorDeclarator+operatorDeclaratorBinary :: Typed.TypedTerm Syntax.BinaryOperatorDeclarator -> Typed.TypedTerm Syntax.OperatorDeclarator+operatorDeclaratorBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the conversion variant of hydra.ext.csharp.syntax.OperatorDeclarator+operatorDeclaratorConversion :: Typed.TypedTerm Syntax.ConversionOperatorDeclarator -> Typed.TypedTerm Syntax.OperatorDeclarator+operatorDeclaratorConversion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "conversion"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.OperatorDeclarator+operatorDeclaratorOperatorDeclarator :: Typed.TypedName Syntax.OperatorDeclarator+operatorDeclaratorOperatorDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OperatorDeclarator")++-- | DSL injection for the unary variant of hydra.ext.csharp.syntax.OperatorDeclarator+operatorDeclaratorUnary :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.OperatorDeclarator+operatorDeclaratorUnary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorDeclarator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.OperatorModifier+operatorModifierExtern :: Typed.TypedTerm Syntax.OperatorModifier+operatorModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.OperatorModifier+operatorModifierOperatorModifier :: Typed.TypedName Syntax.OperatorModifier+operatorModifierOperatorModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OperatorModifier")++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.OperatorModifier+operatorModifierPublic :: Typed.TypedTerm Syntax.OperatorModifier+operatorModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.OperatorModifier+operatorModifierStatic :: Typed.TypedTerm Syntax.OperatorModifier+operatorModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.OperatorModifier+operatorModifierUnsafe :: Typed.TypedTerm Syntax.OperatorModifier+operatorModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OperatorModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.Ordering+ordering :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.OrderingDirection) -> Typed.TypedTerm Syntax.Ordering+ordering expression direction =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "direction"),+ Model.fieldTerm = (Typed.unTypedTerm direction)}]}))++-- | DSL accessor for the direction field of hydra.ext.csharp.syntax.Ordering+orderingDirection :: Typed.TypedTerm Syntax.Ordering -> Typed.TypedTerm (Maybe Syntax.OrderingDirection)+orderingDirection x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ Model.projectionFieldName = (Model.Name "direction")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the ascending variant of hydra.ext.csharp.syntax.OrderingDirection+orderingDirectionAscending :: Typed.TypedTerm Syntax.OrderingDirection+orderingDirectionAscending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OrderingDirection"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ascending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the descending variant of hydra.ext.csharp.syntax.OrderingDirection+orderingDirectionDescending :: Typed.TypedTerm Syntax.OrderingDirection+orderingDirectionDescending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OrderingDirection"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.OrderingDirection+orderingDirectionOrderingDirection :: Typed.TypedName Syntax.OrderingDirection+orderingDirectionOrderingDirection = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OrderingDirection")++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.Ordering+orderingExpression :: Typed.TypedTerm Syntax.Ordering -> Typed.TypedTerm Syntax.Expression+orderingExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.Ordering+orderingOrdering :: Typed.TypedName Syntax.Ordering+orderingOrdering = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Ordering")++-- | DSL updater for the direction field of hydra.ext.csharp.syntax.Ordering+orderingWithDirection :: Typed.TypedTerm Syntax.Ordering -> Typed.TypedTerm (Maybe Syntax.OrderingDirection) -> Typed.TypedTerm Syntax.Ordering+orderingWithDirection original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ 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.ext.csharp.syntax.Ordering"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "direction"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.Ordering+orderingWithExpression :: Typed.TypedTerm Syntax.Ordering -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Ordering+orderingWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "direction"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Ordering"),+ Model.projectionFieldName = (Model.Name "direction")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the add variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorAdd :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorAdd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "add"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the and variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorAnd :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorAnd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "and"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the divide variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorDivide :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorDivide =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divide"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the equal variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorEqual :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greaterThan variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorGreaterThan :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorGreaterThan =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterThan"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greaterThanOrEqual variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorGreaterThanOrEqual :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorGreaterThanOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterThanOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShift variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLeftShift :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLeftShift =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShift"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessThan variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLessThan :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLessThan =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessThan"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessThanOrEqual variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLessThanOrEqual :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorLessThanOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessThanOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the modulus variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorModulus :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorModulus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modulus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the multiply variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorMultiply :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorMultiply =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiply"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the notEqual variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorNotEqual :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorNotEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the or variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorOr :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorOr =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "or"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorOverloadableBinaryOperator :: Typed.TypedName Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorOverloadableBinaryOperator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator")++-- | DSL injection for the rightShift variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorRightShift :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorRightShift =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShift"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the subtract variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorSubtract :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorSubtract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subtract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the xor variant of hydra.ext.csharp.syntax.OverloadableBinaryOperator+overloadableBinaryOperatorXor :: Typed.TypedTerm Syntax.OverloadableBinaryOperator+overloadableBinaryOperatorXor =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableBinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "xor"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the complement variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorComplement :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorComplement =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "complement"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the decrement variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorDecrement :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorDecrement =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decrement"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the false variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorFalse :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorFalse =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the increment variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorIncrement :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorIncrement =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "increment"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minus variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorMinus :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the not variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorNot :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorNot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorOverloadableUnaryOperator :: Typed.TypedName Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorOverloadableUnaryOperator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator")++-- | DSL injection for the plus variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorPlus :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the true variant of hydra.ext.csharp.syntax.OverloadableUnaryOperator+overloadableUnaryOperatorTrue :: Typed.TypedTerm Syntax.OverloadableUnaryOperator+overloadableUnaryOperatorTrue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.OverloadableUnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.ParameterArray+parameterArray :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ParameterArray+parameterArray attributes type_ identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayAttributes :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm (Maybe Syntax.Attributes)+parameterArrayAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayIdentifier :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm Syntax.Identifier+parameterArrayIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.ParameterArray+parameterArrayParameterArray :: Typed.TypedName Syntax.ParameterArray+parameterArrayParameterArray = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ParameterArray")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayType :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm Syntax.ArrayType+parameterArrayType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayWithAttributes :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.ParameterArray+parameterArrayWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ 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.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayWithIdentifier :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.ParameterArray+parameterArrayWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ 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.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.ParameterArray+parameterArrayWithType :: Typed.TypedTerm Syntax.ParameterArray -> Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.ParameterArray+parameterArrayWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterArray"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the in variant of hydra.ext.csharp.syntax.ParameterModeModifier+parameterModeModifierIn :: Typed.TypedTerm Syntax.ParameterModeModifier+parameterModeModifierIn =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterModeModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the out variant of hydra.ext.csharp.syntax.ParameterModeModifier+parameterModeModifierOut :: Typed.TypedTerm Syntax.ParameterModeModifier+parameterModeModifierOut =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterModeModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "out"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.ParameterModeModifier+parameterModeModifierParameterModeModifier :: Typed.TypedName Syntax.ParameterModeModifier+parameterModeModifierParameterModeModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ParameterModeModifier")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.ParameterModeModifier+parameterModeModifierRef :: Typed.TypedTerm Syntax.ParameterModeModifier+parameterModeModifierRef =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterModeModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mode variant of hydra.ext.csharp.syntax.ParameterModifier+parameterModifierMode :: Typed.TypedTerm Syntax.ParameterModeModifier -> Typed.TypedTerm Syntax.ParameterModifier+parameterModifierMode x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mode"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ParameterModifier+parameterModifierParameterModifier :: Typed.TypedName Syntax.ParameterModifier+parameterModifierParameterModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ParameterModifier")++-- | DSL injection for the this variant of hydra.ext.csharp.syntax.ParameterModifier+parameterModifierThis :: Typed.TypedTerm Syntax.ParameterModifier+parameterModifierThis =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ParameterModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "this"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the constant variant of hydra.ext.csharp.syntax.Pattern+patternConstant :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Pattern+patternConstant x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Pattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constant"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the declaration variant of hydra.ext.csharp.syntax.Pattern+patternDeclaration :: Typed.TypedTerm Syntax.DeclarationPattern -> Typed.TypedTerm Syntax.Pattern+patternDeclaration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Pattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.Pattern+patternPattern :: Typed.TypedName Syntax.Pattern+patternPattern = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Pattern")++-- | DSL injection for the var variant of hydra.ext.csharp.syntax.Pattern+patternVar :: Typed.TypedTerm Syntax.Designation -> Typed.TypedTerm Syntax.Pattern+patternVar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Pattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "var"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccess :: Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PointerElementAccess+pointerElementAccess pointer index =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm pointer)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm index)}]}))++-- | DSL accessor for the index field of hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccessIndex :: Typed.TypedTerm Syntax.PointerElementAccess -> Typed.TypedTerm Syntax.Expression+pointerElementAccessIndex x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pointer field of hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccessPointer :: Typed.TypedTerm Syntax.PointerElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+pointerElementAccessPointer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccessPointerElementAccess :: Typed.TypedName Syntax.PointerElementAccess+pointerElementAccessPointerElementAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess")++-- | DSL updater for the index field of hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccessWithIndex :: Typed.TypedTerm Syntax.PointerElementAccess -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PointerElementAccess+pointerElementAccessWithIndex original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pointer field of hydra.ext.csharp.syntax.PointerElementAccess+pointerElementAccessWithPointer :: Typed.TypedTerm Syntax.PointerElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.PointerElementAccess+pointerElementAccessWithPointer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerElementAccess"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccess :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.PointerMemberAccess+pointerMemberAccess pointer member typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm pointer)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm member)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL accessor for the member field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessMember :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm Syntax.Identifier+pointerMemberAccessMember x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pointer field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessPointer :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm Syntax.PrimaryExpression+pointerMemberAccessPointer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessPointerMemberAccess :: Typed.TypedName Syntax.PointerMemberAccess+pointerMemberAccessPointerMemberAccess = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessTypeArguments :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+pointerMemberAccessTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the member field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessWithMember :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.PointerMemberAccess+pointerMemberAccessWithMember original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pointer field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessWithPointer :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.PointerMemberAccess+pointerMemberAccessWithPointer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.PointerMemberAccess+pointerMemberAccessWithTypeArguments :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.PointerMemberAccess+pointerMemberAccessWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "pointer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerMemberAccess"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the pointerDepth variant of hydra.ext.csharp.syntax.PointerType+pointerTypePointerDepth :: Typed.TypedTerm Int -> Typed.TypedTerm Syntax.PointerType+pointerTypePointerDepth x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointerDepth"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.PointerType+pointerTypePointerType :: Typed.TypedName Syntax.PointerType+pointerTypePointerType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PointerType")++-- | DSL injection for the valueType variant of hydra.ext.csharp.syntax.PointerType+pointerTypeValueType :: Typed.TypedTerm (Maybe Syntax.ValueType) -> Typed.TypedTerm Syntax.PointerType+pointerTypeValueType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PointerType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.PositionalArgument+positionalArgument :: Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.AttributeArgumentExpression -> Typed.TypedTerm Syntax.PositionalArgument+positionalArgument name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgument"),+ 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 constructor for the hydra.ext.csharp.syntax.PositionalArgumentList wrapper+positionalArgumentList :: Typed.TypedTerm [Syntax.PositionalArgument] -> Typed.TypedTerm Syntax.PositionalArgumentList+positionalArgumentList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgumentList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.PositionalArgumentList+positionalArgumentListPositionalArgumentList :: Typed.TypedName Syntax.PositionalArgumentList+positionalArgumentListPositionalArgumentList =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PositionalArgumentList")++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.PositionalArgument+positionalArgumentName :: Typed.TypedTerm Syntax.PositionalArgument -> Typed.TypedTerm (Maybe Syntax.Identifier)+positionalArgumentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgument"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.PositionalArgument+positionalArgumentPositionalArgument :: Typed.TypedName Syntax.PositionalArgument+positionalArgumentPositionalArgument = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PositionalArgument")++-- | DSL accessor for the value field of hydra.ext.csharp.syntax.PositionalArgument+positionalArgumentValue :: Typed.TypedTerm Syntax.PositionalArgument -> Typed.TypedTerm Syntax.AttributeArgumentExpression+positionalArgumentValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.PositionalArgument+positionalArgumentWithName :: Typed.TypedTerm Syntax.PositionalArgument -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.PositionalArgument+positionalArgumentWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgument"),+ 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.ext.csharp.syntax.PositionalArgument"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.csharp.syntax.PositionalArgument+positionalArgumentWithValue :: Typed.TypedTerm Syntax.PositionalArgument -> Typed.TypedTerm Syntax.AttributeArgumentExpression -> Typed.TypedTerm Syntax.PositionalArgument+positionalArgumentWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.PositionalArgument"),+ 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.ext.csharp.syntax.PositionalArgument"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the bool variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeBool :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeBool =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bool"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the byte variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeByte :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeByte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "byte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the char variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeChar :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeChar =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "char"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the decimal variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeDecimal :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeDecimal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeDouble :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeFloat :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeInt :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the long variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeLong :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the object variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeObject :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeObject =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.PredefinedType+predefinedTypePredefinedType :: Typed.TypedName Syntax.PredefinedType+predefinedTypePredefinedType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PredefinedType")++-- | DSL injection for the sbyte variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeSbyte :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeSbyte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sbyte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the short variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeShort :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeShort =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "short"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeString :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uint variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeUint :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeUint =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uint"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ulong variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeUlong :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeUlong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ulong"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ushort variant of hydra.ext.csharp.syntax.PredefinedType+predefinedTypeUshort :: Typed.TypedTerm Syntax.PredefinedType+predefinedTypeUshort =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ushort"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the class variant of hydra.ext.csharp.syntax.PrimaryConstraint+primaryConstraintClass :: Typed.TypedTerm Syntax.PrimaryConstraint+primaryConstraintClass =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the classType variant of hydra.ext.csharp.syntax.PrimaryConstraint+primaryConstraintClassType :: Typed.TypedTerm Syntax.ClassType -> Typed.TypedTerm Syntax.PrimaryConstraint+primaryConstraintClassType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "classType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.PrimaryConstraint+primaryConstraintPrimaryConstraint :: Typed.TypedName Syntax.PrimaryConstraint+primaryConstraintPrimaryConstraint = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint")++-- | DSL injection for the struct variant of hydra.ext.csharp.syntax.PrimaryConstraint+primaryConstraintStruct :: Typed.TypedTerm Syntax.PrimaryConstraint+primaryConstraintStruct =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unmanaged variant of hydra.ext.csharp.syntax.PrimaryConstraint+primaryConstraintUnmanaged :: Typed.TypedTerm Syntax.PrimaryConstraint+primaryConstraintUnmanaged =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unmanaged"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the array variant of hydra.ext.csharp.syntax.PrimaryExpression+primaryExpressionArray :: Typed.TypedTerm Syntax.ArrayCreationExpression -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the noArray variant of hydra.ext.csharp.syntax.PrimaryExpression+primaryExpressionNoArray :: Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression -> Typed.TypedTerm Syntax.PrimaryExpression+primaryExpressionNoArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noArray"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.PrimaryExpression+primaryExpressionPrimaryExpression :: Typed.TypedName Syntax.PrimaryExpression+primaryExpressionPrimaryExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PrimaryExpression")++-- | DSL injection for the anonymousMethod variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionAnonymousMethod :: Typed.TypedTerm Syntax.AnonymousMethodExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionAnonymousMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "anonymousMethod"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the anonymousObjectCreation variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionAnonymousObjectCreation :: Typed.TypedTerm (Maybe Syntax.MemberDeclaratorList) -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionAnonymousObjectCreation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "anonymousObjectCreation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the baseAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionBaseAccess :: Typed.TypedTerm Syntax.BaseAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionBaseAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "baseAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the checked variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionChecked :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionChecked x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "checked"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the defaultValue variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionDefaultValue :: Typed.TypedTerm Syntax.DefaultValueExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionDefaultValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "defaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delegateCreation variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionDelegateCreation :: Typed.TypedTerm Syntax.DelegateCreationExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionDelegateCreation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delegateCreation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the elementAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionElementAccess :: Typed.TypedTerm Syntax.ElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionElementAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "elementAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interpolatedString variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionInterpolatedString :: Typed.TypedTerm Syntax.InterpolatedStringExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionInterpolatedString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interpolatedString"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the invocation variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionInvocation :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "invocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionLiteral :: Typed.TypedTerm Syntax.Literal -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the memberAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionMemberAccess :: Typed.TypedTerm Syntax.MemberAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "memberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nameof variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNameof :: Typed.TypedTerm Syntax.NamedEntity -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNameof x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nameof"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nullConditionalElementAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNullConditionalElementAccess :: Typed.TypedTerm Syntax.NullConditionalElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNullConditionalElementAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalElementAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nullConditionalMemberAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNullConditionalMemberAccess :: Typed.TypedTerm Syntax.NullConditionalMemberAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionNullConditionalMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalMemberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the objectCreation variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionObjectCreation :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionObjectCreation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "objectCreation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parenthesized variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionParenthesized :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionParenthesized x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parenthesized"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pointerElementAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPointerElementAccess :: Typed.TypedTerm Syntax.PointerElementAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPointerElementAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointerElementAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pointerMemberAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPointerMemberAccess :: Typed.TypedTerm Syntax.PointerMemberAccess -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPointerMemberAccess x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointerMemberAccess"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postDecrement variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPostDecrement :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPostDecrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postDecrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postIncrement variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPostIncrement :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPostIncrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postIncrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPrimaryNoArrayCreationExpression :: Typed.TypedName Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionPrimaryNoArrayCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression")++-- | DSL injection for the simpleName variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionSimpleName :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionSimpleName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simpleName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sizeof variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionSizeof :: Typed.TypedTerm Syntax.UnmanagedType -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionSizeof x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sizeof"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the stackalloc variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionStackalloc :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionStackalloc x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "stackalloc"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the thisAccess variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionThisAccess :: Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionThisAccess =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "thisAccess"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tuple variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionTuple :: Typed.TypedTerm Syntax.TupleExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeof variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionTypeof :: Typed.TypedTerm Syntax.TypeofExpression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionTypeof x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeof"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unchecked variant of hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionUnchecked :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PrimaryNoArrayCreationExpression+primaryNoArrayCreationExpressionUnchecked x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PrimaryNoArrayCreationExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unchecked"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.PropertyBody+propertyBodyBlock :: Typed.TypedTerm Syntax.BlockPropertyBody -> Typed.TypedTerm Syntax.PropertyBody+propertyBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.PropertyBody+propertyBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PropertyBody+propertyBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.PropertyBody+propertyBodyPropertyBody :: Typed.TypedName Syntax.PropertyBody+propertyBodyPropertyBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PropertyBody")++-- | DSL name token for hydra.ext.csharp.syntax.PropertyDeclaration+propertyDeclarationPropertyDeclaration :: Typed.TypedName Syntax.PropertyDeclaration+propertyDeclarationPropertyDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PropertyDeclaration")++-- | DSL injection for the refReturn variant of hydra.ext.csharp.syntax.PropertyDeclaration+propertyDeclarationRefReturn :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.PropertyDeclaration+propertyDeclarationRefReturn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "refReturn"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the standard variant of hydra.ext.csharp.syntax.PropertyDeclaration+propertyDeclarationStandard :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.PropertyDeclaration+propertyDeclarationStandard x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "standard"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the abstract variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierAbstract :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierAbstract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "abstract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierExtern :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierInternal :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierNew :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the override variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierOverride :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierOverride =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierPrivate :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.PropertyModifier+propertyModifierPropertyModifier :: Typed.TypedName Syntax.PropertyModifier+propertyModifierPropertyModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.PropertyModifier")++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierProtected :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierPublic :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sealed variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierSealed :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierSealed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sealed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierStatic :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierUnsafe :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the virtual variant of hydra.ext.csharp.syntax.PropertyModifier+propertyModifierVirtual :: Typed.TypedTerm Syntax.PropertyModifier+propertyModifierVirtual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.PropertyModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "virtual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMember :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.QualifiedAliasMember+qualifiedAliasMember alias member arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Typed.unTypedTerm member)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the alias field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberAlias :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.Identifier+qualifiedAliasMemberAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberArguments :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+qualifiedAliasMemberArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the member field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberMember :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.Identifier+qualifiedAliasMemberMember x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberQualifiedAliasMember :: Typed.TypedName Syntax.QualifiedAliasMember+qualifiedAliasMemberQualifiedAliasMember = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember")++-- | DSL updater for the alias field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberWithAlias :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.QualifiedAliasMember+qualifiedAliasMemberWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "member")})),+ 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.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberWithArguments :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.QualifiedAliasMember+qualifiedAliasMemberWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "member")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the member field of hydra.ext.csharp.syntax.QualifiedAliasMember+qualifiedAliasMemberWithMember :: Typed.TypedTerm Syntax.QualifiedAliasMember -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.QualifiedAliasMember+qualifiedAliasMemberWithMember original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "member"),+ 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.ext.csharp.syntax.QualifiedAliasMember"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.QualifiedIdentifier wrapper+qualifiedIdentifier :: Typed.TypedTerm [Syntax.Identifier] -> Typed.TypedTerm Syntax.QualifiedIdentifier+qualifiedIdentifier x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedIdentifier"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QualifiedIdentifier+qualifiedIdentifierQualifiedIdentifier :: Typed.TypedName Syntax.QualifiedIdentifier+qualifiedIdentifierQualifiedIdentifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QualifiedIdentifier")++-- | DSL constructor for hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeName :: Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeName namespaceOrType identifier arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaceOrType"),+ Model.fieldTerm = (Typed.unTypedTerm namespaceOrType)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameArguments :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+qualifiedNamespaceOrTypeNameArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameIdentifier :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm Syntax.Identifier+qualifiedNamespaceOrTypeNameIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespaceOrType field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameNamespaceOrType :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm Syntax.NamespaceOrTypeName+qualifiedNamespaceOrTypeNameNamespaceOrType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "namespaceOrType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameQualifiedNamespaceOrTypeName :: Typed.TypedName Syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameQualifiedNamespaceOrTypeName =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName")++-- | DSL updater for the arguments field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithArguments :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaceOrType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "namespaceOrType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithIdentifier :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaceOrType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "namespaceOrType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ 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.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespaceOrType field of hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithNamespaceOrType :: Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName -> Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.QualifiedNamespaceOrTypeName+qualifiedNamespaceOrTypeNameWithNamespaceOrType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaceOrType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ 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.ext.csharp.syntax.QualifiedNamespaceOrTypeName"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.QueryBody+queryBody :: Typed.TypedTerm [Syntax.QueryBodyClause] -> Typed.TypedTerm Syntax.SelectOrGroupClause -> Typed.TypedTerm (Maybe Syntax.QueryContinuation) -> Typed.TypedTerm Syntax.QueryBody+queryBody clauses selectOrGroup continuation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "clauses"),+ Model.fieldTerm = (Typed.unTypedTerm clauses)},+ Model.Field {+ Model.fieldName = (Model.Name "selectOrGroup"),+ Model.fieldTerm = (Typed.unTypedTerm selectOrGroup)},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Typed.unTypedTerm continuation)}]}))++-- | DSL injection for the from variant of hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseFrom :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.QueryBodyClause+queryBodyClauseFrom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the join variant of hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseJoin :: Typed.TypedTerm Syntax.JoinClause -> Typed.TypedTerm Syntax.QueryBodyClause+queryBodyClauseJoin x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "join"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the let variant of hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseLet :: Typed.TypedTerm Syntax.LetClause -> Typed.TypedTerm Syntax.QueryBodyClause+queryBodyClauseLet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "let"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the orderby variant of hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseOrderby :: Typed.TypedTerm [Syntax.Ordering] -> Typed.TypedTerm Syntax.QueryBodyClause+queryBodyClauseOrderby x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "orderby"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseQueryBodyClause :: Typed.TypedName Syntax.QueryBodyClause+queryBodyClauseQueryBodyClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause")++-- | DSL injection for the where variant of hydra.ext.csharp.syntax.QueryBodyClause+queryBodyClauseWhere :: Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.QueryBodyClause+queryBodyClauseWhere x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBodyClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "where"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the clauses field of hydra.ext.csharp.syntax.QueryBody+queryBodyClauses :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm [Syntax.QueryBodyClause]+queryBodyClauses x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "clauses")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the continuation field of hydra.ext.csharp.syntax.QueryBody+queryBodyContinuation :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm (Maybe Syntax.QueryContinuation)+queryBodyContinuation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QueryBody+queryBodyQueryBody :: Typed.TypedName Syntax.QueryBody+queryBodyQueryBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QueryBody")++-- | DSL accessor for the selectOrGroup field of hydra.ext.csharp.syntax.QueryBody+queryBodySelectOrGroup :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.SelectOrGroupClause+queryBodySelectOrGroup x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "selectOrGroup")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the clauses field of hydra.ext.csharp.syntax.QueryBody+queryBodyWithClauses :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm [Syntax.QueryBodyClause] -> Typed.TypedTerm Syntax.QueryBody+queryBodyWithClauses original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "clauses"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "selectOrGroup"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "selectOrGroup")})),+ 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.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the continuation field of hydra.ext.csharp.syntax.QueryBody+queryBodyWithContinuation :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm (Maybe Syntax.QueryContinuation) -> Typed.TypedTerm Syntax.QueryBody+queryBodyWithContinuation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "clauses"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "clauses")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "selectOrGroup"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "selectOrGroup")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the selectOrGroup field of hydra.ext.csharp.syntax.QueryBody+queryBodyWithSelectOrGroup :: Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.SelectOrGroupClause -> Typed.TypedTerm Syntax.QueryBody+queryBodyWithSelectOrGroup original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "clauses"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "clauses")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "selectOrGroup"),+ 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.ext.csharp.syntax.QueryBody"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.QueryContinuation+queryContinuation :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.QueryContinuation+queryContinuation into body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Typed.unTypedTerm into)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.QueryContinuation+queryContinuationBody :: Typed.TypedTerm Syntax.QueryContinuation -> Typed.TypedTerm Syntax.QueryBody+queryContinuationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the into field of hydra.ext.csharp.syntax.QueryContinuation+queryContinuationInto :: Typed.TypedTerm Syntax.QueryContinuation -> Typed.TypedTerm Syntax.Identifier+queryContinuationInto x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QueryContinuation+queryContinuationQueryContinuation :: Typed.TypedName Syntax.QueryContinuation+queryContinuationQueryContinuation = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QueryContinuation")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.QueryContinuation+queryContinuationWithBody :: Typed.TypedTerm Syntax.QueryContinuation -> Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.QueryContinuation+queryContinuationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.projectionFieldName = (Model.Name "into")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the into field of hydra.ext.csharp.syntax.QueryContinuation+queryContinuationWithInto :: Typed.TypedTerm Syntax.QueryContinuation -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.QueryContinuation+queryContinuationWithInto original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryContinuation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "into"),+ 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.ext.csharp.syntax.QueryContinuation"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.QueryExpression+queryExpression :: Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.QueryExpression+queryExpression from body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm from)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.QueryExpression+queryExpressionBody :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.QueryBody+queryExpressionBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the from field of hydra.ext.csharp.syntax.QueryExpression+queryExpressionFrom :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.FromClause+queryExpressionFrom x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.projectionFieldName = (Model.Name "from")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.QueryExpression+queryExpressionQueryExpression :: Typed.TypedName Syntax.QueryExpression+queryExpressionQueryExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.QueryExpression")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.QueryExpression+queryExpressionWithBody :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.QueryBody -> Typed.TypedTerm Syntax.QueryExpression+queryExpressionWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.projectionFieldName = (Model.Name "from")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the from field of hydra.ext.csharp.syntax.QueryExpression+queryExpressionWithFrom :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.FromClause -> Typed.TypedTerm Syntax.QueryExpression+queryExpressionWithFrom original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.QueryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ 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.ext.csharp.syntax.QueryExpression"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.RankSpecifier wrapper+rankSpecifier :: Typed.TypedTerm Int -> Typed.TypedTerm Syntax.RankSpecifier+rankSpecifier x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifier"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpression :: Typed.TypedTerm Syntax.RankSpecifier -> Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpression rankSpecifier initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifier"),+ Model.fieldTerm = (Typed.unTypedTerm rankSpecifier)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionInitializer :: Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayInitializer+rankSpecifierArrayCreationExpressionInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rankSpecifier field of hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionRankSpecifier :: Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression -> Typed.TypedTerm Syntax.RankSpecifier+rankSpecifierArrayCreationExpressionRankSpecifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionRankSpecifierArrayCreationExpression :: Typed.TypedName Syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionRankSpecifierArrayCreationExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression")++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionWithInitializer :: Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression -> Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "rankSpecifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the rankSpecifier field of hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionWithRankSpecifier :: Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression -> Typed.TypedTerm Syntax.RankSpecifier -> Typed.TypedTerm Syntax.RankSpecifierArrayCreationExpression+rankSpecifierArrayCreationExpressionWithRankSpecifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "rankSpecifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RankSpecifierArrayCreationExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.RankSpecifier+rankSpecifierRankSpecifier :: Typed.TypedName Syntax.RankSpecifier+rankSpecifierRankSpecifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RankSpecifier")++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.RefAccessorBody+refAccessorBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.RefAccessorBody+refAccessorBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefAccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.RefAccessorBody+refAccessorBodyEmpty :: Typed.TypedTerm Syntax.RefAccessorBody+refAccessorBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefAccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefAccessorBody+refAccessorBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefAccessorBody+refAccessorBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefAccessorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefAccessorBody+refAccessorBodyRefAccessorBody :: Typed.TypedName Syntax.RefAccessorBody+refAccessorBodyRefAccessorBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefAccessorBody")++-- | DSL constructor for hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpression :: Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefConditionalExpression+refConditionalExpression condition true false =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Typed.unTypedTerm true)},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Typed.unTypedTerm false)}]}))++-- | DSL accessor for the condition field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionCondition :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+refConditionalExpressionCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the false field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionFalse :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.VariableReference+refConditionalExpressionFalse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionRefConditionalExpression :: Typed.TypedName Syntax.RefConditionalExpression+refConditionalExpressionRefConditionalExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression")++-- | DSL accessor for the true field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionTrue :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.VariableReference+refConditionalExpressionTrue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the condition field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionWithCondition :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.RefConditionalExpression+refConditionalExpressionWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the false field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionWithFalse :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefConditionalExpression+refConditionalExpressionWithFalse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ 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.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the true field of hydra.ext.csharp.syntax.RefConditionalExpression+refConditionalExpressionWithTrue :: Typed.TypedTerm Syntax.RefConditionalExpression -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefConditionalExpression+refConditionalExpressionWithTrue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ 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.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.AccessorModifier) -> Typed.TypedTerm Syntax.RefAccessorBody -> Typed.TypedTerm Syntax.RefGetAccessorDeclaration+refGetAccessorDeclaration attributes modifier body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Typed.unTypedTerm modifier)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationAttributes :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+refGetAccessorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationBody :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm Syntax.RefAccessorBody+refGetAccessorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifier field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationModifier :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.AccessorModifier)+refGetAccessorDeclarationModifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationRefGetAccessorDeclaration :: Typed.TypedName Syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationRefGetAccessorDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithAttributes :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ 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.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithBody :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm Syntax.RefAccessorBody -> Typed.TypedTerm Syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifier field of hydra.ext.csharp.syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithModifier :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm (Maybe Syntax.AccessorModifier) -> Typed.TypedTerm Syntax.RefGetAccessorDeclaration+refGetAccessorDeclarationWithModifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifier"),+ 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.ext.csharp.syntax.RefGetAccessorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.RefIndexerBody+refIndexerBodyBlock :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm Syntax.RefIndexerBody+refIndexerBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefIndexerBody+refIndexerBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefIndexerBody+refIndexerBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefIndexerBody+refIndexerBodyRefIndexerBody :: Typed.TypedName Syntax.RefIndexerBody+refIndexerBodyRefIndexerBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefIndexerBody")++-- | DSL constructor for hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.IndexerModifier] -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.RefIndexerBody -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclaration attributes modifiers refKind declarator body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm declarator)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationAttributes :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+refIndexerDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationBody :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.RefIndexerBody+refIndexerDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarator field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationDeclarator :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclarator+refIndexerDeclarationDeclarator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationModifiers :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm [Syntax.IndexerModifier]+refIndexerDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationRefIndexerDeclaration :: Typed.TypedName Syntax.RefIndexerDeclaration+refIndexerDeclarationRefIndexerDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration")++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationRefKind :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.RefKind+refIndexerDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationWithAttributes :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationWithBody :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.RefIndexerBody -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the declarator field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationWithDeclarator :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclarationWithDeclarator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ 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.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationWithModifiers :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm [Syntax.IndexerModifier] -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.RefIndexerDeclaration+refIndexerDeclarationWithRefKind :: Typed.TypedTerm Syntax.RefIndexerDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefIndexerDeclaration+refIndexerDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.RefIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefKind+refKindRef :: Typed.TypedTerm Syntax.RefKind+refKindRef =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefKind+refKindRefKind :: Typed.TypedName Syntax.RefKind+refKindRefKind = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefKind")++-- | DSL injection for the refReadonly variant of hydra.ext.csharp.syntax.RefKind+refKindRefReadonly :: Typed.TypedTerm Syntax.RefKind+refKindRefReadonly =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "refReadonly"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.RefLocalFunctionBody+refLocalFunctionBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.RefLocalFunctionBody+refLocalFunctionBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefLocalFunctionBody+refLocalFunctionBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefLocalFunctionBody+refLocalFunctionBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefLocalFunctionBody+refLocalFunctionBodyRefLocalFunctionBody :: Typed.TypedName Syntax.RefLocalFunctionBody+refLocalFunctionBodyRefLocalFunctionBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionBody")++-- | DSL constructor for hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclaration :: Typed.TypedTerm [Syntax.RefLocalFunctionModifier] -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.RefLocalFunctionBody -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclaration modifiers refKind returnType header body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationBody :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.RefLocalFunctionBody+refLocalFunctionDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationHeader :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionHeader+refLocalFunctionDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationModifiers :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm [Syntax.RefLocalFunctionModifier]+refLocalFunctionDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationRefKind :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.RefKind+refLocalFunctionDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationRefLocalFunctionDeclaration :: Typed.TypedName Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationRefLocalFunctionDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration")++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationReturnType :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.Type+refLocalFunctionDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithBody :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.RefLocalFunctionBody -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithHeader :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithModifiers :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm [Syntax.RefLocalFunctionModifier] -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithRefKind :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithReturnType :: Typed.TypedTerm Syntax.RefLocalFunctionDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.RefLocalFunctionDeclaration+refLocalFunctionDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.RefLocalFunctionModifier+refLocalFunctionModifierRefLocalFunctionModifier :: Typed.TypedName Syntax.RefLocalFunctionModifier+refLocalFunctionModifierRefLocalFunctionModifier =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionModifier")++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.RefLocalFunctionModifier+refLocalFunctionModifierStatic :: Typed.TypedTerm Syntax.RefLocalFunctionModifier+refLocalFunctionModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.RefLocalFunctionModifier+refLocalFunctionModifierUnsafe :: Typed.TypedTerm Syntax.RefLocalFunctionModifier+refLocalFunctionModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalFunctionModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclaration :: Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm [Syntax.RefLocalVariableDeclarator] -> Typed.TypedTerm Syntax.RefLocalVariableDeclaration+refLocalVariableDeclaration refKind type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationDeclarators :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm [Syntax.RefLocalVariableDeclarator]+refLocalVariableDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationRefKind :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefKind+refLocalVariableDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationRefLocalVariableDeclaration :: Typed.TypedName Syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationRefLocalVariableDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationType :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm Syntax.Type+refLocalVariableDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithDeclarators :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm [Syntax.RefLocalVariableDeclarator] -> Typed.TypedTerm Syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithRefKind :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ 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.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithType :: Typed.TypedTerm Syntax.RefLocalVariableDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.RefLocalVariableDeclaration+refLocalVariableDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator+refLocalVariableDeclarator left right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL accessor for the left field of hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorLeft :: Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier+refLocalVariableDeclaratorLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorRefLocalVariableDeclarator :: Typed.TypedName Syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorRefLocalVariableDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator")++-- | DSL accessor for the right field of hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorRight :: Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.VariableReference+refLocalVariableDeclaratorRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorWithLeft :: Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.csharp.syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorWithRight :: Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator+refLocalVariableDeclaratorWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefLocalVariableDeclarator"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.RefMethodBody+refMethodBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.RefMethodBody+refMethodBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.RefMethodBody+refMethodBodyEmpty :: Typed.TypedTerm Syntax.RefMethodBody+refMethodBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefMethodBody+refMethodBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefMethodBody+refMethodBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefMethodBody+refMethodBodyRefMethodBody :: Typed.TypedName Syntax.RefMethodBody+refMethodBodyRefMethodBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefMethodBody")++-- | DSL injection for the abstract variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierAbstract :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierAbstract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "abstract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the extern variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierExtern :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierExtern =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierInternal :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierNew :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the override variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierOverride :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierOverride =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierPrivate :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierProtected :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierPublic :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierRefMethodModifier :: Typed.TypedName Syntax.RefMethodModifier+refMethodModifierRefMethodModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier")++-- | DSL injection for the sealed variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierSealed :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierSealed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sealed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierStatic :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierStatic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierUnsafe :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the virtual variant of hydra.ext.csharp.syntax.RefMethodModifier+refMethodModifierVirtual :: Typed.TypedTerm Syntax.RefMethodModifier+refMethodModifierVirtual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefMethodModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "virtual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.RefPropertyBody+refPropertyBodyBlock :: Typed.TypedTerm Syntax.RefGetAccessorDeclaration -> Typed.TypedTerm Syntax.RefPropertyBody+refPropertyBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefPropertyBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.RefPropertyBody+refPropertyBodyRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.RefPropertyBody+refPropertyBodyRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefPropertyBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RefPropertyBody+refPropertyBodyRefPropertyBody :: Typed.TypedName Syntax.RefPropertyBody+refPropertyBodyRefPropertyBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefPropertyBody")++-- | DSL constructor for hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.RefMethodModifier] -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.RefMethodBody -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclaration attributes modifiers kind returnType header body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm kind)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationAttributes :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+refReturnMethodDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationBody :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.RefMethodBody+refReturnMethodDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationHeader :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.MethodHeader+refReturnMethodDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kind field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationKind :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.RefKind+refReturnMethodDeclarationKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationModifiers :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm [Syntax.RefMethodModifier]+refReturnMethodDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationRefReturnMethodDeclaration :: Typed.TypedName Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationRefReturnMethodDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration")++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationReturnType :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType+refReturnMethodDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithAttributes :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithBody :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.RefMethodBody -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithHeader :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the kind field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithKind :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithModifiers :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm [Syntax.RefMethodModifier] -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithReturnType :: Typed.TypedTerm Syntax.RefReturnMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.RefReturnMethodDeclaration+refReturnMethodDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.RefReturnMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.PropertyModifier] -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.RefPropertyBody -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclaration attributes modifiers refKind type_ name body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationAttributes :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+refReturnPropertyDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationBody :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.RefPropertyBody+refReturnPropertyDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationModifiers :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm [Syntax.PropertyModifier]+refReturnPropertyDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationName :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.MemberName+refReturnPropertyDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationRefKind :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.RefKind+refReturnPropertyDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationRefReturnPropertyDeclaration :: Typed.TypedName Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationRefReturnPropertyDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationType :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.Type+refReturnPropertyDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithAttributes :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithBody :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.RefPropertyBody -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithModifiers :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm [Syntax.PropertyModifier] -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithName :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithRefKind :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithType :: Typed.TypedTerm Syntax.RefReturnPropertyDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.RefReturnPropertyDeclaration+refReturnPropertyDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.RefReturnPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclaration :: Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclaration refKind declarator =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm refKind)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm declarator)}]}))++-- | DSL accessor for the declarator field of hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationDeclarator :: Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator+refVarImplicitlyTypedLocalVariableDeclarationDeclarator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refKind field of hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationRefKind :: Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefKind+refVarImplicitlyTypedLocalVariableDeclarationRefKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationRefVarImplicitlyTypedLocalVariableDeclaration :: Typed.TypedName Syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationRefVarImplicitlyTypedLocalVariableDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration")++-- | DSL updater for the declarator field of hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationWithDeclarator :: Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefLocalVariableDeclarator -> Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationWithDeclarator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "refKind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the refKind field of hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationWithRefKind :: Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration -> Typed.TypedTerm Syntax.RefKind -> Typed.TypedTerm Syntax.RefVarImplicitlyTypedLocalVariableDeclaration+refVarImplicitlyTypedLocalVariableDeclarationWithRefKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "refKind"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RefVarImplicitlyTypedLocalVariableDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the array variant of hydra.ext.csharp.syntax.ReferenceType+referenceTypeArray :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.ReferenceType+referenceTypeArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReferenceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the class variant of hydra.ext.csharp.syntax.ReferenceType+referenceTypeClass :: Typed.TypedTerm Syntax.ClassType -> Typed.TypedTerm Syntax.ReferenceType+referenceTypeClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReferenceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delegate variant of hydra.ext.csharp.syntax.ReferenceType+referenceTypeDelegate :: Typed.TypedTerm Syntax.DelegateType -> Typed.TypedTerm Syntax.ReferenceType+referenceTypeDelegate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReferenceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delegate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dynamic variant of hydra.ext.csharp.syntax.ReferenceType+referenceTypeDynamic :: Typed.TypedTerm Syntax.ReferenceType+referenceTypeDynamic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReferenceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dynamic"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the interface variant of hydra.ext.csharp.syntax.ReferenceType+referenceTypeInterface :: Typed.TypedTerm Syntax.InterfaceType -> Typed.TypedTerm Syntax.ReferenceType+referenceTypeInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReferenceType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ReferenceType+referenceTypeReferenceType :: Typed.TypedName Syntax.ReferenceType+referenceTypeReferenceType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ReferenceType")++-- | DSL constructor for hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.RegularInterpolation+regularInterpolation expression width format =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Typed.unTypedTerm width)},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Typed.unTypedTerm format)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationExpression :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm Syntax.Expression+regularInterpolationExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the format field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationFormat :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm (Maybe String)+regularInterpolationFormat x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationRegularInterpolation :: Typed.TypedName Syntax.RegularInterpolation+regularInterpolationRegularInterpolation = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation")++-- | DSL accessor for the width field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationWidth :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm (Maybe Syntax.Expression)+regularInterpolationWidth x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationWithExpression :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RegularInterpolation+regularInterpolationWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the format field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationWithFormat :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.RegularInterpolation+regularInterpolationWithFormat original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ 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.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the width field of hydra.ext.csharp.syntax.RegularInterpolation+regularInterpolationWithWidth :: Typed.TypedTerm Syntax.RegularInterpolation -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RegularInterpolation+regularInterpolationWithWidth original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ 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.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RegularInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the asType variant of hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionAsType :: Typed.TypedTerm Syntax.AsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionAsType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "asType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionBinary :: Typed.TypedTerm Syntax.BinaryRelationalExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the isPattern variant of hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionIsPattern :: Typed.TypedTerm Syntax.IsPatternExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionIsPattern x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "isPattern"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the isType variant of hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionIsType :: Typed.TypedTerm Syntax.IsTypeExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionIsType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "isType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionRelationalExpression :: Typed.TypedName Syntax.RelationalExpression+relationalExpressionRelationalExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RelationalExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.RelationalExpression+relationalExpressionSimple :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.RelationalExpression+relationalExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the greaterThan variant of hydra.ext.csharp.syntax.RelationalOperator+relationalOperatorGreaterThan :: Typed.TypedTerm Syntax.RelationalOperator+relationalOperatorGreaterThan =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterThan"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greaterThanOrEqual variant of hydra.ext.csharp.syntax.RelationalOperator+relationalOperatorGreaterThanOrEqual :: Typed.TypedTerm Syntax.RelationalOperator+relationalOperatorGreaterThanOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterThanOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessThan variant of hydra.ext.csharp.syntax.RelationalOperator+relationalOperatorLessThan :: Typed.TypedTerm Syntax.RelationalOperator+relationalOperatorLessThan =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessThan"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessThanOrEqual variant of hydra.ext.csharp.syntax.RelationalOperator+relationalOperatorLessThanOrEqual :: Typed.TypedTerm Syntax.RelationalOperator+relationalOperatorLessThanOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.RelationalOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessThanOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.RelationalOperator+relationalOperatorRelationalOperator :: Typed.TypedName Syntax.RelationalOperator+relationalOperatorRelationalOperator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.RelationalOperator")++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.ResourceAcquisition+resourceAcquisitionExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ResourceAcquisition+resourceAcquisitionExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ResourceAcquisition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the local variant of hydra.ext.csharp.syntax.ResourceAcquisition+resourceAcquisitionLocal :: Typed.TypedTerm Syntax.LocalVariableDeclaration -> Typed.TypedTerm Syntax.ResourceAcquisition+resourceAcquisitionLocal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ResourceAcquisition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "local"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ResourceAcquisition+resourceAcquisitionResourceAcquisition :: Typed.TypedName Syntax.ResourceAcquisition+resourceAcquisitionResourceAcquisition = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ResourceAcquisition")++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.ReturnStatement+returnStatementRef :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.ReturnStatement+returnStatementRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReturnStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ReturnStatement+returnStatementReturnStatement :: Typed.TypedName Syntax.ReturnStatement+returnStatementReturnStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ReturnStatement")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ReturnStatement+returnStatementSimple :: Typed.TypedTerm Syntax.ReturnStatement+returnStatementSimple =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReturnStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the value variant of hydra.ext.csharp.syntax.ReturnStatement+returnStatementValue :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ReturnStatement+returnStatementValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReturnStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ref variant of hydra.ext.csharp.syntax.ReturnType+returnTypeRef :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ReturnType+returnTypeRef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReturnType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ReturnType+returnTypeReturnType :: Typed.TypedName Syntax.ReturnType+returnTypeReturnType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ReturnType")++-- | DSL injection for the void variant of hydra.ext.csharp.syntax.ReturnType+returnTypeVoid :: Typed.TypedTerm Syntax.ReturnType+returnTypeVoid =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ReturnType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "void"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the interface variant of hydra.ext.csharp.syntax.SecondaryConstraint+secondaryConstraintInterface :: Typed.TypedTerm Syntax.InterfaceType -> Typed.TypedTerm Syntax.SecondaryConstraint+secondaryConstraintInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parameter variant of hydra.ext.csharp.syntax.SecondaryConstraint+secondaryConstraintParameter :: Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.SecondaryConstraint+secondaryConstraintParameter x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraint"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.SecondaryConstraint+secondaryConstraintSecondaryConstraint :: Typed.TypedName Syntax.SecondaryConstraint+secondaryConstraintSecondaryConstraint = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraint")++-- | DSL constructor for the hydra.ext.csharp.syntax.SecondaryConstraints wrapper+secondaryConstraints :: Typed.TypedTerm [Syntax.SecondaryConstraint] -> Typed.TypedTerm Syntax.SecondaryConstraints+secondaryConstraints x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraints"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SecondaryConstraints+secondaryConstraintsSecondaryConstraints :: Typed.TypedName Syntax.SecondaryConstraints+secondaryConstraintsSecondaryConstraints = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraints")++-- | DSL injection for the group variant of hydra.ext.csharp.syntax.SelectOrGroupClause+selectOrGroupClauseGroup :: Typed.TypedTerm Syntax.GroupClause -> Typed.TypedTerm Syntax.SelectOrGroupClause+selectOrGroupClauseGroup x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SelectOrGroupClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "group"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the select variant of hydra.ext.csharp.syntax.SelectOrGroupClause+selectOrGroupClauseSelect :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SelectOrGroupClause+selectOrGroupClauseSelect x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SelectOrGroupClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "select"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.SelectOrGroupClause+selectOrGroupClauseSelectOrGroupClause :: Typed.TypedName Syntax.SelectOrGroupClause+selectOrGroupClauseSelectOrGroupClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SelectOrGroupClause")++-- | DSL injection for the if variant of hydra.ext.csharp.syntax.SelectionStatement+selectionStatementIf :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatementIf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SelectionStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.SelectionStatement+selectionStatementSelectionStatement :: Typed.TypedName Syntax.SelectionStatement+selectionStatementSelectionStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SelectionStatement")++-- | DSL injection for the switch variant of hydra.ext.csharp.syntax.SelectionStatement+selectionStatementSwitch :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.SelectionStatement+selectionStatementSwitch x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SelectionStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "switch"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.csharp.syntax.ShiftExpression+shiftExpressionBinary :: Typed.TypedTerm Syntax.BinaryShiftExpression -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ShiftExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ShiftExpression+shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression+shiftExpressionShiftExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ShiftExpression")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.ShiftExpression+shiftExpressionSimple :: Typed.TypedTerm Syntax.AdditiveExpression -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ShiftExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the left variant of hydra.ext.csharp.syntax.ShiftOperator+shiftOperatorLeft :: Typed.TypedTerm Syntax.ShiftOperator+shiftOperatorLeft =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ShiftOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the right variant of hydra.ext.csharp.syntax.ShiftOperator+shiftOperatorRight :: Typed.TypedTerm Syntax.ShiftOperator+shiftOperatorRight =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ShiftOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.ShiftOperator+shiftOperatorShiftOperator :: Typed.TypedName Syntax.ShiftOperator+shiftOperatorShiftOperator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ShiftOperator")++-- | DSL constructor for hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpression :: Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleConditionalExpression+simpleConditionalExpression condition true false =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Typed.unTypedTerm true)},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Typed.unTypedTerm false)}]}))++-- | DSL accessor for the condition field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionCondition :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression+simpleConditionalExpressionCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the false field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionFalse :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.Expression+simpleConditionalExpressionFalse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionSimpleConditionalExpression :: Typed.TypedName Syntax.SimpleConditionalExpression+simpleConditionalExpressionSimpleConditionalExpression =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression")++-- | DSL accessor for the true field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionTrue :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.Expression+simpleConditionalExpressionTrue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the condition field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionWithCondition :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.NullCoalescingExpression -> Typed.TypedTerm Syntax.SimpleConditionalExpression+simpleConditionalExpressionWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the false field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionWithFalse :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleConditionalExpression+simpleConditionalExpressionWithFalse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ 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.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "true")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the true field of hydra.ext.csharp.syntax.SimpleConditionalExpression+simpleConditionalExpressionWithTrue :: Typed.TypedTerm Syntax.SimpleConditionalExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleConditionalExpression+simpleConditionalExpressionWithTrue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ 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.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleConditionalExpression"),+ Model.projectionFieldName = (Model.Name "false")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.SimpleName+simpleName :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.SimpleName+simpleName identifier typeArguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm typeArguments)}]}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.SimpleName+simpleNameIdentifier :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm Syntax.Identifier+simpleNameIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SimpleName+simpleNameSimpleName :: Typed.TypedName Syntax.SimpleName+simpleNameSimpleName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SimpleName")++-- | DSL accessor for the typeArguments field of hydra.ext.csharp.syntax.SimpleName+simpleNameTypeArguments :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList)+simpleNameTypeArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.SimpleName+simpleNameWithIdentifier :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.SimpleName+simpleNameWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.projectionFieldName = (Model.Name "typeArguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeArguments field of hydra.ext.csharp.syntax.SimpleName+simpleNameWithTypeArguments :: Typed.TypedTerm Syntax.SimpleName -> Typed.TypedTerm (Maybe Syntax.TypeArgumentList) -> Typed.TypedTerm Syntax.SimpleName+simpleNameWithTypeArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleName"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeArguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the bool variant of hydra.ext.csharp.syntax.SimpleType+simpleTypeBool :: Typed.TypedTerm Syntax.SimpleType+simpleTypeBool =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bool"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the numeric variant of hydra.ext.csharp.syntax.SimpleType+simpleTypeNumeric :: Typed.TypedTerm Syntax.NumericType -> Typed.TypedTerm Syntax.SimpleType+simpleTypeNumeric x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SimpleType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "numeric"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.SimpleType+simpleTypeSimpleType :: Typed.TypedName Syntax.SimpleType+simpleTypeSimpleType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SimpleType")++-- | DSL constructor for hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClause :: Typed.TypedTerm (Maybe Syntax.ExceptionSpecifier) -> Typed.TypedTerm (Maybe Syntax.BooleanExpression) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.SpecificCatchClause+specificCatchClause specifier filter body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Typed.unTypedTerm specifier)},+ Model.Field {+ Model.fieldName = (Model.Name "filter"),+ Model.fieldTerm = (Typed.unTypedTerm filter)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseBody :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm Syntax.Block+specificCatchClauseBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the filter field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseFilter :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm (Maybe Syntax.BooleanExpression)+specificCatchClauseFilter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "filter")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseSpecificCatchClause :: Typed.TypedName Syntax.SpecificCatchClause+specificCatchClauseSpecificCatchClause = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause")++-- | DSL accessor for the specifier field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseSpecifier :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm (Maybe Syntax.ExceptionSpecifier)+specificCatchClauseSpecifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "specifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseWithBody :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.SpecificCatchClause+specificCatchClauseWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "specifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "filter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "filter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the filter field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseWithFilter :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm (Maybe Syntax.BooleanExpression) -> Typed.TypedTerm Syntax.SpecificCatchClause+specificCatchClauseWithFilter original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "specifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "filter"),+ 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.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the specifier field of hydra.ext.csharp.syntax.SpecificCatchClause+specificCatchClauseWithSpecifier :: Typed.TypedTerm Syntax.SpecificCatchClause -> Typed.TypedTerm (Maybe Syntax.ExceptionSpecifier) -> Typed.TypedTerm Syntax.SpecificCatchClause+specificCatchClauseWithSpecifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "specifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "filter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "filter")})),+ 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.ext.csharp.syntax.SpecificCatchClause"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StackallocExpression+stackallocExpression :: Typed.TypedTerm (Maybe Syntax.UnmanagedType) -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.StackallocExpression+stackallocExpression type_ expression initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionExpression :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm (Maybe Syntax.ConstantExpression)+stackallocExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionInitializer :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm [Syntax.Expression]+stackallocExpressionInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionStackallocExpression :: Typed.TypedName Syntax.StackallocExpression+stackallocExpressionStackallocExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StackallocExpression")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionType :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm (Maybe Syntax.UnmanagedType)+stackallocExpressionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionWithExpression :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm Syntax.StackallocExpression+stackallocExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionWithInitializer :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.StackallocExpression+stackallocExpressionWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.StackallocExpression+stackallocExpressionWithType :: Typed.TypedTerm Syntax.StackallocExpression -> Typed.TypedTerm (Maybe Syntax.UnmanagedType) -> Typed.TypedTerm Syntax.StackallocExpression+stackallocExpressionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StackallocExpression"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.EventModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.VariableDeclarators -> Typed.TypedTerm Syntax.StandardEventDeclaration+standardEventDeclaration attributes modifiers type_ declarators =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm declarators)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationAttributes :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+standardEventDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarators field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationDeclarators :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm Syntax.VariableDeclarators+standardEventDeclarationDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationModifiers :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm [Syntax.EventModifier]+standardEventDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationStandardEventDeclaration :: Typed.TypedName Syntax.StandardEventDeclaration+standardEventDeclarationStandardEventDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationType :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm Syntax.Type+standardEventDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationWithAttributes :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StandardEventDeclaration+standardEventDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the declarators field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationWithDeclarators :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm Syntax.VariableDeclarators -> Typed.TypedTerm Syntax.StandardEventDeclaration+standardEventDeclarationWithDeclarators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationWithModifiers :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm [Syntax.EventModifier] -> Typed.TypedTerm Syntax.StandardEventDeclaration+standardEventDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.StandardEventDeclaration+standardEventDeclarationWithType :: Typed.TypedTerm Syntax.StandardEventDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.StandardEventDeclaration+standardEventDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardEventDeclaration"),+ Model.projectionFieldName = (Model.Name "declarators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.IndexerModifier] -> Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.IndexerBody -> Typed.TypedTerm Syntax.StandardIndexerDeclaration+standardIndexerDeclaration attributes modifiers declarator body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Typed.unTypedTerm declarator)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationAttributes :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+standardIndexerDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationBody :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerBody+standardIndexerDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the declarator field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationDeclarator :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclarator+standardIndexerDeclarationDeclarator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationModifiers :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm [Syntax.IndexerModifier]+standardIndexerDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationStandardIndexerDeclaration :: Typed.TypedName Syntax.StandardIndexerDeclaration+standardIndexerDeclarationStandardIndexerDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithAttributes :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithBody :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerBody -> Typed.TypedTerm Syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the declarator field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithDeclarator :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm Syntax.IndexerDeclarator -> Typed.TypedTerm Syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithDeclarator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ 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.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithModifiers :: Typed.TypedTerm Syntax.StandardIndexerDeclaration -> Typed.TypedTerm [Syntax.IndexerModifier] -> Typed.TypedTerm Syntax.StandardIndexerDeclaration+standardIndexerDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "declarator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "declarator")})),+ 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.ext.csharp.syntax.StandardIndexerDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclaration :: Typed.TypedTerm [Syntax.LocalFunctionModifier] -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.LocalFunctionBody -> Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclaration modifiers returnType header body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationBody :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionBody+standardLocalFunctionDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationHeader :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionHeader+standardLocalFunctionDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationModifiers :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm [Syntax.LocalFunctionModifier]+standardLocalFunctionDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationReturnType :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.ReturnType+standardLocalFunctionDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationStandardLocalFunctionDeclaration :: Typed.TypedName Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationStandardLocalFunctionDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithBody :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionBody -> Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithHeader :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.LocalFunctionHeader -> Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithModifiers :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm [Syntax.LocalFunctionModifier] -> Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithReturnType :: Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.StandardLocalFunctionDeclaration+standardLocalFunctionDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.StandardLocalFunctionDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.MethodModifier] -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.MethodBody -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclaration attributes modifiers returnType header body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Typed.unTypedTerm header)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationAttributes :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+standardMethodDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationBody :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.MethodBody+standardMethodDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the header field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationHeader :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.MethodHeader+standardMethodDeclarationHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationModifiers :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm [Syntax.MethodModifier]+standardMethodDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationReturnType :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType+standardMethodDeclarationReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationStandardMethodDeclaration :: Typed.TypedName Syntax.StandardMethodDeclaration+standardMethodDeclarationStandardMethodDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationWithAttributes :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationWithBody :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.MethodBody -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the header field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationWithHeader :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.MethodHeader -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclarationWithHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationWithModifiers :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm [Syntax.MethodModifier] -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.ext.csharp.syntax.StandardMethodDeclaration+standardMethodDeclarationWithReturnType :: Typed.TypedTerm Syntax.StandardMethodDeclaration -> Typed.TypedTerm Syntax.ReturnType -> Typed.TypedTerm Syntax.StandardMethodDeclaration+standardMethodDeclarationWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "header"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "header")})),+ 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.ext.csharp.syntax.StandardMethodDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.PropertyModifier] -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.PropertyBody -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclaration attributes modifiers type_ name body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationAttributes :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+standardPropertyDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationBody :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.PropertyBody+standardPropertyDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationModifiers :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm [Syntax.PropertyModifier]+standardPropertyDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationName :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.MemberName+standardPropertyDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationStandardPropertyDeclaration :: Typed.TypedName Syntax.StandardPropertyDeclaration+standardPropertyDeclarationStandardPropertyDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationType :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.Type+standardPropertyDeclarationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithAttributes :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithBody :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.PropertyBody -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithModifiers :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm [Syntax.PropertyModifier] -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithName :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.MemberName -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithType :: Typed.TypedTerm Syntax.StandardPropertyDeclaration -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.StandardPropertyDeclaration+standardPropertyDeclarationWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.StandardPropertyDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the declaration variant of hydra.ext.csharp.syntax.Statement+statementDeclaration :: Typed.TypedTerm Syntax.DeclarationStatement -> Typed.TypedTerm Syntax.Statement+statementDeclaration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "declaration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the embedded variant of hydra.ext.csharp.syntax.Statement+statementEmbedded :: Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.Statement+statementEmbedded x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "embedded"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the assignment variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the await variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionAwait :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionAwait x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "await"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the invocation variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionInvocation :: Typed.TypedTerm Syntax.InvocationExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "invocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.StatementExpressionList wrapper+statementExpressionList :: Typed.TypedTerm [Syntax.StatementExpression] -> Typed.TypedTerm Syntax.StatementExpressionList+statementExpressionList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpressionList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StatementExpressionList+statementExpressionListStatementExpressionList :: Typed.TypedName Syntax.StatementExpressionList+statementExpressionListStatementExpressionList =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StatementExpressionList")++-- | DSL injection for the nullConditionalInvocation variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionNullConditionalInvocation :: Typed.TypedTerm Syntax.NullConditionalInvocationExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionNullConditionalInvocation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullConditionalInvocation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the objectCreation variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionObjectCreation :: Typed.TypedTerm Syntax.ObjectCreationExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionObjectCreation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "objectCreation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postDecrement variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionPostDecrement :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionPostDecrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postDecrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the postIncrement variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionPostIncrement :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionPostIncrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "postIncrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the preDecrement variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionPreDecrement :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionPreDecrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preDecrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the preIncrement variant of hydra.ext.csharp.syntax.StatementExpression+statementExpressionPreIncrement :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.StatementExpression+statementExpressionPreIncrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StatementExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preIncrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.StatementExpression+statementExpressionStatementExpression :: Typed.TypedName Syntax.StatementExpression+statementExpressionStatementExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StatementExpression")++-- | DSL injection for the labeled variant of hydra.ext.csharp.syntax.Statement+statementLabeled :: Typed.TypedTerm Syntax.LabeledStatement -> Typed.TypedTerm Syntax.Statement+statementLabeled x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "labeled"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.Statement+statementStatement :: Typed.TypedName Syntax.Statement+statementStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Statement")++-- | DSL injection for the block variant of hydra.ext.csharp.syntax.StaticConstructorBody+staticConstructorBodyBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.StaticConstructorBody+staticConstructorBodyBlock x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the empty variant of hydra.ext.csharp.syntax.StaticConstructorBody+staticConstructorBodyEmpty :: Typed.TypedTerm Syntax.StaticConstructorBody+staticConstructorBodyEmpty =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "empty"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.StaticConstructorBody+staticConstructorBodyExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StaticConstructorBody+staticConstructorBodyExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorBody"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.StaticConstructorBody+staticConstructorBodyStaticConstructorBody :: Typed.TypedName Syntax.StaticConstructorBody+staticConstructorBodyStaticConstructorBody = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StaticConstructorBody")++-- | DSL constructor for hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.StaticConstructorBody -> Typed.TypedTerm Syntax.StaticConstructorDeclaration+staticConstructorDeclaration attributes modifiers name body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationAttributes :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+staticConstructorDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationBody :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.StaticConstructorBody+staticConstructorDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationModifiers :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.StaticConstructorModifiers+staticConstructorDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationName :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.Identifier+staticConstructorDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationStaticConstructorDeclaration :: Typed.TypedName Syntax.StaticConstructorDeclaration+staticConstructorDeclarationStaticConstructorDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithAttributes :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithBody :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.StaticConstructorBody -> Typed.TypedTerm Syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithModifiers :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithName :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.StaticConstructorDeclaration+staticConstructorDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ 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.ext.csharp.syntax.StaticConstructorDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiers :: Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.StaticConstructorModifiers+staticConstructorModifiers extern unsafe =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Typed.unTypedTerm extern)},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Typed.unTypedTerm unsafe)}]}))++-- | DSL accessor for the extern field of hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiersExtern :: Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Bool+staticConstructorModifiersExtern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiersStaticConstructorModifiers :: Typed.TypedName Syntax.StaticConstructorModifiers+staticConstructorModifiersStaticConstructorModifiers =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers")++-- | DSL accessor for the unsafe field of hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiersUnsafe :: Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Bool+staticConstructorModifiersUnsafe x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the extern field of hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiersWithExtern :: Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.StaticConstructorModifiers+staticConstructorModifiersWithExtern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.projectionFieldName = (Model.Name "unsafe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unsafe field of hydra.ext.csharp.syntax.StaticConstructorModifiers+staticConstructorModifiersWithUnsafe :: Typed.TypedTerm Syntax.StaticConstructorModifiers -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.StaticConstructorModifiers+staticConstructorModifiersWithUnsafe original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "extern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StaticConstructorModifiers"),+ Model.projectionFieldName = (Model.Name "extern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.StructDeclaration+structDeclaration :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm [Syntax.StructModifier] -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm [Syntax.InterfaceType] -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm [Syntax.StructMemberDeclaration] -> Typed.TypedTerm Syntax.StructDeclaration+structDeclaration attributes modifiers ref partial name parameters interfaces constraints body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm modifiers)},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm ref)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Typed.unTypedTerm partial)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Typed.unTypedTerm interfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationAttributes :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes)+structDeclarationAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationBody :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.StructMemberDeclaration]+structDeclarationBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationConstraints :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause]+structDeclarationConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the interfaces field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationInterfaces :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.InterfaceType]+structDeclarationInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modifiers field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationModifiers :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.StructModifier]+structDeclarationModifiers x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationName :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Syntax.Identifier+structDeclarationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationParameters :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeParameterList)+structDeclarationParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the partial field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationPartial :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Bool+structDeclarationPartial x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ref field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationRef :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Bool+structDeclarationRef x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.StructDeclaration+structDeclarationStructDeclaration :: Typed.TypedName Syntax.StructDeclaration+structDeclarationStructDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StructDeclaration")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithAttributes :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithBody :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.StructMemberDeclaration] -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithConstraints :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.TypeParameterConstraintsClause] -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the interfaces field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithInterfaces :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.InterfaceType] -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modifiers field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithModifiers :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm [Syntax.StructModifier] -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithModifiers original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithName :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithParameters :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm (Maybe Syntax.TypeParameterList) -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the partial field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithPartial :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithPartial original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "ref")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ref field of hydra.ext.csharp.syntax.StructDeclaration+structDeclarationWithRef :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.StructDeclaration+structDeclarationWithRef original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modifiers"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "modifiers")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ref"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "partial"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "partial")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "interfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "interfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ 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.ext.csharp.syntax.StructDeclaration"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the constant variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationConstant :: Typed.TypedTerm Syntax.ConstantDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationConstant x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constant"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the constructor variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationConstructor :: Typed.TypedTerm Syntax.ConstructorDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the event variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationEvent :: Typed.TypedTerm Syntax.EventDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationEvent x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "event"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the field variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationField :: Typed.TypedTerm Syntax.FieldDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationField x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "field"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the fixedSizeBuffer variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationFixedSizeBuffer :: Typed.TypedTerm Syntax.FixedSizeBufferDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationFixedSizeBuffer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixedSizeBuffer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the indexer variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationIndexer :: Typed.TypedTerm Syntax.IndexerDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationIndexer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "indexer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the method variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationMethod :: Typed.TypedTerm Syntax.MethodDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "method"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the operator variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationOperator :: Typed.TypedTerm Syntax.OperatorDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationOperator x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the property variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationProperty :: Typed.TypedTerm Syntax.PropertyDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationProperty x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the staticConstructor variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationStaticConstructor :: Typed.TypedTerm Syntax.StaticConstructorDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationStaticConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "staticConstructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationStructMemberDeclaration :: Typed.TypedName Syntax.StructMemberDeclaration+structMemberDeclarationStructMemberDeclaration =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration")++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.StructMemberDeclaration+structMemberDeclarationType :: Typed.TypedTerm Syntax.TypeDeclaration -> Typed.TypedTerm Syntax.StructMemberDeclaration+structMemberDeclarationType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructMemberDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the internal variant of hydra.ext.csharp.syntax.StructModifier+structModifierInternal :: Typed.TypedTerm Syntax.StructModifier+structModifierInternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "internal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the new variant of hydra.ext.csharp.syntax.StructModifier+structModifierNew :: Typed.TypedTerm Syntax.StructModifier+structModifierNew =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the private variant of hydra.ext.csharp.syntax.StructModifier+structModifierPrivate :: Typed.TypedTerm Syntax.StructModifier+structModifierPrivate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "private"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the protected variant of hydra.ext.csharp.syntax.StructModifier+structModifierProtected :: Typed.TypedTerm Syntax.StructModifier+structModifierProtected =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "protected"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the public variant of hydra.ext.csharp.syntax.StructModifier+structModifierPublic :: Typed.TypedTerm Syntax.StructModifier+structModifierPublic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "public"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the readonly variant of hydra.ext.csharp.syntax.StructModifier+structModifierReadonly :: Typed.TypedTerm Syntax.StructModifier+structModifierReadonly =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "readonly"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.StructModifier+structModifierStructModifier :: Typed.TypedName Syntax.StructModifier+structModifierStructModifier = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StructModifier")++-- | DSL injection for the unsafe variant of hydra.ext.csharp.syntax.StructModifier+structModifierUnsafe :: Typed.TypedTerm Syntax.StructModifier+structModifierUnsafe =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructModifier"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsafe"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the enum variant of hydra.ext.csharp.syntax.StructOrEnumType+structOrEnumTypeEnum :: Typed.TypedTerm Syntax.EnumType -> Typed.TypedTerm Syntax.StructOrEnumType+structOrEnumTypeEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructOrEnumType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the struct variant of hydra.ext.csharp.syntax.StructOrEnumType+structOrEnumTypeStruct :: Typed.TypedTerm Syntax.StructType -> Typed.TypedTerm Syntax.StructOrEnumType+structOrEnumTypeStruct x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructOrEnumType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.StructOrEnumType+structOrEnumTypeStructOrEnumType :: Typed.TypedName Syntax.StructOrEnumType+structOrEnumTypeStructOrEnumType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StructOrEnumType")++-- | DSL injection for the simple variant of hydra.ext.csharp.syntax.StructType+structTypeSimple :: Typed.TypedTerm Syntax.SimpleType -> Typed.TypedTerm Syntax.StructType+structTypeSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.StructType+structTypeStructType :: Typed.TypedName Syntax.StructType+structTypeStructType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.StructType")++-- | DSL injection for the tuple variant of hydra.ext.csharp.syntax.StructType+structTypeTuple :: Typed.TypedTerm Syntax.TupleType -> Typed.TypedTerm Syntax.StructType+structTypeTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeName variant of hydra.ext.csharp.syntax.StructType+structTypeTypeName :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.StructType+structTypeTypeName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.StructType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.SwitchBranch+switchBranch :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SwitchBranch+switchBranch pattern guard =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchBranch"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm pattern)},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Typed.unTypedTerm guard)}]}))++-- | DSL accessor for the guard field of hydra.ext.csharp.syntax.SwitchBranch+switchBranchGuard :: Typed.TypedTerm Syntax.SwitchBranch -> Typed.TypedTerm (Maybe Syntax.Expression)+switchBranchGuard x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchBranch"),+ Model.projectionFieldName = (Model.Name "guard")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pattern field of hydra.ext.csharp.syntax.SwitchBranch+switchBranchPattern :: Typed.TypedTerm Syntax.SwitchBranch -> Typed.TypedTerm Syntax.Pattern+switchBranchPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchBranch"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SwitchBranch+switchBranchSwitchBranch :: Typed.TypedName Syntax.SwitchBranch+switchBranchSwitchBranch = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SwitchBranch")++-- | DSL updater for the guard field of hydra.ext.csharp.syntax.SwitchBranch+switchBranchWithGuard :: Typed.TypedTerm Syntax.SwitchBranch -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SwitchBranch+switchBranchWithGuard original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchBranch"),+ 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.ext.csharp.syntax.SwitchBranch"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pattern field of hydra.ext.csharp.syntax.SwitchBranch+switchBranchWithPattern :: Typed.TypedTerm Syntax.SwitchBranch -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.SwitchBranch+switchBranchWithPattern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchBranch"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ 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.ext.csharp.syntax.SwitchBranch"),+ Model.projectionFieldName = (Model.Name "guard")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the branch variant of hydra.ext.csharp.syntax.SwitchLabel+switchLabelBranch :: Typed.TypedTerm Syntax.SwitchBranch -> Typed.TypedTerm Syntax.SwitchLabel+switchLabelBranch x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchLabel"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "branch"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the default variant of hydra.ext.csharp.syntax.SwitchLabel+switchLabelDefault :: Typed.TypedTerm Syntax.SwitchLabel+switchLabelDefault =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchLabel"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.SwitchLabel+switchLabelSwitchLabel :: Typed.TypedName Syntax.SwitchLabel+switchLabelSwitchLabel = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SwitchLabel")++-- | DSL constructor for hydra.ext.csharp.syntax.SwitchSection+switchSection :: Typed.TypedTerm [Syntax.SwitchLabel] -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.SwitchSection+switchSection labels statements =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "labels"),+ Model.fieldTerm = (Typed.unTypedTerm labels)},+ Model.Field {+ Model.fieldName = (Model.Name "statements"),+ Model.fieldTerm = (Typed.unTypedTerm statements)}]}))++-- | DSL accessor for the labels field of hydra.ext.csharp.syntax.SwitchSection+switchSectionLabels :: Typed.TypedTerm Syntax.SwitchSection -> Typed.TypedTerm [Syntax.SwitchLabel]+switchSectionLabels x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.projectionFieldName = (Model.Name "labels")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statements field of hydra.ext.csharp.syntax.SwitchSection+switchSectionStatements :: Typed.TypedTerm Syntax.SwitchSection -> Typed.TypedTerm [Syntax.Statement]+switchSectionStatements x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.projectionFieldName = (Model.Name "statements")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SwitchSection+switchSectionSwitchSection :: Typed.TypedName Syntax.SwitchSection+switchSectionSwitchSection = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SwitchSection")++-- | DSL updater for the labels field of hydra.ext.csharp.syntax.SwitchSection+switchSectionWithLabels :: Typed.TypedTerm Syntax.SwitchSection -> Typed.TypedTerm [Syntax.SwitchLabel] -> Typed.TypedTerm Syntax.SwitchSection+switchSectionWithLabels original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "labels"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "statements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.projectionFieldName = (Model.Name "statements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statements field of hydra.ext.csharp.syntax.SwitchSection+switchSectionWithStatements :: Typed.TypedTerm Syntax.SwitchSection -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.SwitchSection+switchSectionWithStatements original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "labels"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchSection"),+ Model.projectionFieldName = (Model.Name "labels")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statements"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.SwitchStatement+switchStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.SwitchSection] -> Typed.TypedTerm Syntax.SwitchStatement+switchStatement expression branches =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "branches"),+ Model.fieldTerm = (Typed.unTypedTerm branches)}]}))++-- | DSL accessor for the branches field of hydra.ext.csharp.syntax.SwitchStatement+switchStatementBranches :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm [Syntax.SwitchSection]+switchStatementBranches x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "branches")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.SwitchStatement+switchStatementExpression :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.Expression+switchStatementExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.SwitchStatement+switchStatementSwitchStatement :: Typed.TypedName Syntax.SwitchStatement+switchStatementSwitchStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.SwitchStatement")++-- | DSL updater for the branches field of hydra.ext.csharp.syntax.SwitchStatement+switchStatementWithBranches :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm [Syntax.SwitchSection] -> Typed.TypedTerm Syntax.SwitchStatement+switchStatementWithBranches original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ 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.ext.csharp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "branches"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.SwitchStatement+switchStatementWithExpression :: Typed.TypedTerm Syntax.SwitchStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SwitchStatement+switchStatementWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "branches"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.SwitchStatement"),+ Model.projectionFieldName = (Model.Name "branches")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.TryStatement+tryStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CatchClauses -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryStatement+tryStatement body catches finally =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "catches"),+ Model.fieldTerm = (Typed.unTypedTerm catches)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.TryStatement+tryStatementBody :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.Block+tryStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the catches field of hydra.ext.csharp.syntax.TryStatement+tryStatementCatches :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CatchClauses+tryStatementCatches x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "catches")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.ext.csharp.syntax.TryStatement+tryStatementFinally :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryStatementFinally x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TryStatement+tryStatementTryStatement :: Typed.TypedName Syntax.TryStatement+tryStatementTryStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TryStatement")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.TryStatement+tryStatementWithBody :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryStatement+tryStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "catches"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "catches")})),+ 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.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the catches field of hydra.ext.csharp.syntax.TryStatement+tryStatementWithCatches :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CatchClauses -> Typed.TypedTerm Syntax.TryStatement+tryStatementWithCatches original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ 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.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "catches"),+ 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.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.ext.csharp.syntax.TryStatement+tryStatementWithFinally :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryStatement+tryStatementWithFinally original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ 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.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "catches"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TryStatement"),+ Model.projectionFieldName = (Model.Name "catches")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.TupleElement+tupleElement :: Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TupleElement+tupleElement name expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleElement"),+ 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 accessor for the expression field of hydra.ext.csharp.syntax.TupleElement+tupleElementExpression :: Typed.TypedTerm Syntax.TupleElement -> Typed.TypedTerm Syntax.Expression+tupleElementExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleElement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.TupleElement+tupleElementName :: Typed.TypedTerm Syntax.TupleElement -> Typed.TypedTerm (Maybe Syntax.Identifier)+tupleElementName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TupleElement+tupleElementTupleElement :: Typed.TypedName Syntax.TupleElement+tupleElementTupleElement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TupleElement")++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.TupleElement+tupleElementWithExpression :: Typed.TypedTerm Syntax.TupleElement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TupleElement+tupleElementWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleElement"),+ 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.ext.csharp.syntax.TupleElement"),+ 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.ext.csharp.syntax.TupleElement+tupleElementWithName :: Typed.TypedTerm Syntax.TupleElement -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.TupleElement+tupleElementWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleElement"),+ 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.ext.csharp.syntax.TupleElement"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the deconstruction variant of hydra.ext.csharp.syntax.TupleExpression+tupleExpressionDeconstruction :: Typed.TypedTerm Syntax.DeconstructionTuple -> Typed.TypedTerm Syntax.TupleExpression+tupleExpressionDeconstruction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "deconstruction"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the elements variant of hydra.ext.csharp.syntax.TupleExpression+tupleExpressionElements :: Typed.TypedTerm [Syntax.TupleElement] -> Typed.TypedTerm Syntax.TupleExpression+tupleExpressionElements x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.TupleExpression+tupleExpressionTupleExpression :: Typed.TypedName Syntax.TupleExpression+tupleExpressionTupleExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TupleExpression")++-- | DSL constructor for the hydra.ext.csharp.syntax.TupleType wrapper+tupleType :: Typed.TypedTerm [Syntax.TupleTypeElement] -> Typed.TypedTerm Syntax.TupleType+tupleType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElement :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.TupleTypeElement+tupleTypeElement type_ identifier =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)}]}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElementIdentifier :: Typed.TypedTerm Syntax.TupleTypeElement -> Typed.TypedTerm (Maybe Syntax.Identifier)+tupleTypeElementIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElementTupleTypeElement :: Typed.TypedName Syntax.TupleTypeElement+tupleTypeElementTupleTypeElement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement")++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElementType :: Typed.TypedTerm Syntax.TupleTypeElement -> Typed.TypedTerm Syntax.Type+tupleTypeElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElementWithIdentifier :: Typed.TypedTerm Syntax.TupleTypeElement -> Typed.TypedTerm (Maybe Syntax.Identifier) -> Typed.TypedTerm Syntax.TupleTypeElement+tupleTypeElementWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.TupleTypeElement+tupleTypeElementWithType :: Typed.TypedTerm Syntax.TupleTypeElement -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.TupleTypeElement+tupleTypeElementWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TupleTypeElement"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.TupleType+tupleTypeTupleType :: Typed.TypedName Syntax.TupleType+tupleTypeTupleType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TupleType")++-- | DSL constructor for the hydra.ext.csharp.syntax.TypeArgumentList wrapper+typeArgumentList :: Typed.TypedTerm [Syntax.Type] -> Typed.TypedTerm Syntax.TypeArgumentList+typeArgumentList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeArgumentList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeArgumentList+typeArgumentListTypeArgumentList :: Typed.TypedName Syntax.TypeArgumentList+typeArgumentListTypeArgumentList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeArgumentList")++-- | DSL injection for the class variant of hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationClass :: Typed.TypedTerm Syntax.ClassDeclaration -> Typed.TypedTerm Syntax.TypeDeclaration+typeDeclarationClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delegate variant of hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationDelegate :: Typed.TypedTerm Syntax.DelegateDeclaration -> Typed.TypedTerm Syntax.TypeDeclaration+typeDeclarationDelegate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delegate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationEnum :: Typed.TypedTerm Syntax.EnumDeclaration -> Typed.TypedTerm Syntax.TypeDeclaration+typeDeclarationEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interface variant of hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationInterface :: Typed.TypedTerm Syntax.InterfaceDeclaration -> Typed.TypedTerm Syntax.TypeDeclaration+typeDeclarationInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the struct variant of hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationStruct :: Typed.TypedTerm Syntax.StructDeclaration -> Typed.TypedTerm Syntax.TypeDeclaration+typeDeclarationStruct x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeDeclaration+typeDeclarationTypeDeclaration :: Typed.TypedName Syntax.TypeDeclaration+typeDeclarationTypeDeclaration = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeDeclaration")++-- | DSL constructor for the hydra.ext.csharp.syntax.TypeName wrapper+typeName :: Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.TypeName+typeName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeName+typeNameTypeName :: Typed.TypedName Syntax.TypeName+typeNameTypeName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeName")++-- | DSL injection for the param variant of hydra.ext.csharp.syntax.Type+typeParam :: Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.Type+typeParam x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.csharp.syntax.TypeParameter wrapper+typeParameter :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.TypeParameter+typeParameter x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameter"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraints :: Typed.TypedTerm (Maybe Syntax.PrimaryConstraint) -> Typed.TypedTerm (Maybe Syntax.SecondaryConstraints) -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.TypeParameterConstraints+typeParameterConstraints primary secondary constructor =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "secondary"),+ Model.fieldTerm = (Typed.unTypedTerm secondary)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm constructor)}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClause :: Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm [Syntax.TypeParameterConstraints] -> Typed.TypedTerm Syntax.TypeParameterConstraintsClause+typeParameterConstraintsClause parameter constraints =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm parameter)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)}]}))++-- | DSL accessor for the constraints field of hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseConstraints :: Typed.TypedTerm Syntax.TypeParameterConstraintsClause -> Typed.TypedTerm [Syntax.TypeParameterConstraints]+typeParameterConstraintsClauseConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameter field of hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseParameter :: Typed.TypedTerm Syntax.TypeParameterConstraintsClause -> Typed.TypedTerm Syntax.TypeParameter+typeParameterConstraintsClauseParameter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseTypeParameterConstraintsClause :: Typed.TypedName Syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseTypeParameterConstraintsClause =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause")++-- | DSL updater for the constraints field of hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseWithConstraints :: Typed.TypedTerm Syntax.TypeParameterConstraintsClause -> Typed.TypedTerm [Syntax.TypeParameterConstraints] -> Typed.TypedTerm Syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the parameter field of hydra.ext.csharp.syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseWithParameter :: Typed.TypedTerm Syntax.TypeParameterConstraintsClause -> Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.TypeParameterConstraintsClause+typeParameterConstraintsClauseWithParameter original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraintsClause"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the constructor field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsConstructor :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm Bool+typeParameterConstraintsConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsPrimary :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm (Maybe Syntax.PrimaryConstraint)+typeParameterConstraintsPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the secondary field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsSecondary :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm (Maybe Syntax.SecondaryConstraints)+typeParameterConstraintsSecondary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "secondary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsTypeParameterConstraints :: Typed.TypedName Syntax.TypeParameterConstraints+typeParameterConstraintsTypeParameterConstraints =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints")++-- | DSL updater for the constructor field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsWithConstructor :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.TypeParameterConstraints+typeParameterConstraintsWithConstructor original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ 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.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "secondary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "secondary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsWithPrimary :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm (Maybe Syntax.PrimaryConstraint) -> Typed.TypedTerm Syntax.TypeParameterConstraints+typeParameterConstraintsWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "secondary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "secondary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the secondary field of hydra.ext.csharp.syntax.TypeParameterConstraints+typeParameterConstraintsWithSecondary :: Typed.TypedTerm Syntax.TypeParameterConstraints -> Typed.TypedTerm (Maybe Syntax.SecondaryConstraints) -> Typed.TypedTerm Syntax.TypeParameterConstraints+typeParameterConstraintsWithSecondary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ 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.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "secondary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterConstraints"),+ Model.projectionFieldName = (Model.Name "constructor")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.TypeParameterList wrapper+typeParameterList :: Typed.TypedTerm [Syntax.TypeParameterPart] -> Typed.TypedTerm Syntax.TypeParameterList+typeParameterList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeParameterList+typeParameterListTypeParameterList :: Typed.TypedName Syntax.TypeParameterList+typeParameterListTypeParameterList = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeParameterList")++-- | DSL constructor for hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPart :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.TypeParameterPart+typeParameterPart attributes name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPartAttributes :: Typed.TypedTerm Syntax.TypeParameterPart -> Typed.TypedTerm (Maybe Syntax.Attributes)+typeParameterPartAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPartName :: Typed.TypedTerm Syntax.TypeParameterPart -> Typed.TypedTerm Syntax.TypeParameter+typeParameterPartName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPartTypeParameterPart :: Typed.TypedName Syntax.TypeParameterPart+typeParameterPartTypeParameterPart = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPartWithAttributes :: Typed.TypedTerm Syntax.TypeParameterPart -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.TypeParameterPart+typeParameterPartWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ 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.ext.csharp.syntax.TypeParameterPart"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.TypeParameterPart+typeParameterPartWithName :: Typed.TypedTerm Syntax.TypeParameterPart -> Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.TypeParameterPart+typeParameterPartWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeParameterPart"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeParameter+typeParameterTypeParameter :: Typed.TypedName Syntax.TypeParameter+typeParameterTypeParameter = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeParameter")++-- | DSL injection for the pointer variant of hydra.ext.csharp.syntax.Type+typePointer :: Typed.TypedTerm Syntax.PointerType -> Typed.TypedTerm Syntax.Type+typePointer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the reference variant of hydra.ext.csharp.syntax.Type+typeReference :: Typed.TypedTerm Syntax.ReferenceType -> Typed.TypedTerm Syntax.Type+typeReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.Type+typeType :: Typed.TypedName Syntax.Type+typeType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.Type")++-- | DSL injection for the value variant of hydra.ext.csharp.syntax.Type+typeValue :: Typed.TypedTerm Syntax.ValueType -> Typed.TypedTerm Syntax.Type+typeValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.csharp.syntax.TypeofExpression+typeofExpressionType :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.TypeofExpression+typeofExpressionType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeofExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.TypeofExpression+typeofExpressionTypeofExpression :: Typed.TypedName Syntax.TypeofExpression+typeofExpressionTypeofExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.TypeofExpression")++-- | DSL injection for the unboundTypeName variant of hydra.ext.csharp.syntax.TypeofExpression+typeofExpressionUnboundTypeName :: Typed.TypedTerm Syntax.UnboundTypeName -> Typed.TypedTerm Syntax.TypeofExpression+typeofExpressionUnboundTypeName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeofExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unboundTypeName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the void variant of hydra.ext.csharp.syntax.TypeofExpression+typeofExpressionVoid :: Typed.TypedTerm Syntax.TypeofExpression+typeofExpressionVoid =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.TypeofExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "void"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ArgumentList+unArgumentList :: Typed.TypedTerm Syntax.ArgumentList -> Typed.TypedTerm [Syntax.Argument]+unArgumentList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ArgumentList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ArrayInitializer+unArrayInitializer :: Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm [Syntax.VariableInitializer]+unArrayInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ArrayInitializer")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.AttributeArgumentExpression+unAttributeArgumentExpression :: Typed.TypedTerm Syntax.AttributeArgumentExpression -> Typed.TypedTerm Syntax.NonAssignmentExpression+unAttributeArgumentExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.AttributeArgumentExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.AttributeList+unAttributeList :: Typed.TypedTerm Syntax.AttributeList -> Typed.TypedTerm [Syntax.Attribute]+unAttributeList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.AttributeList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.AttributeName+unAttributeName :: Typed.TypedTerm Syntax.AttributeName -> Typed.TypedTerm Syntax.TypeName+unAttributeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.AttributeName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.Attributes+unAttributes :: Typed.TypedTerm Syntax.Attributes -> Typed.TypedTerm [Syntax.AttributeSection]+unAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.Attributes")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.Block+unBlock :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.Statement]+unBlock x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.Block")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.BooleanExpression+unBooleanExpression :: Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.Expression+unBooleanExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.BooleanExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ClassBody+unClassBody :: Typed.TypedTerm Syntax.ClassBody -> Typed.TypedTerm [Syntax.ClassMemberDeclaration]+unClassBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ClassBody")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ConstantExpression+unConstantExpression :: Typed.TypedTerm Syntax.ConstantExpression -> Typed.TypedTerm Syntax.Expression+unConstantExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ConstantExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.DeconstructionTuple+unDeconstructionTuple :: Typed.TypedTerm Syntax.DeconstructionTuple -> Typed.TypedTerm [Syntax.DeconstructionElement]+unDeconstructionTuple x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.DeconstructionTuple")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.DelegateType+unDelegateType :: Typed.TypedTerm Syntax.DelegateType -> Typed.TypedTerm Syntax.TypeName+unDelegateType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.DelegateType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.Designation+unDesignation :: Typed.TypedTerm Syntax.Designation -> Typed.TypedTerm Syntax.Identifier+unDesignation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.Designation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.EnumBody+unEnumBody :: Typed.TypedTerm Syntax.EnumBody -> Typed.TypedTerm [Syntax.EnumMemberDeclaration]+unEnumBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.EnumBody")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.EnumType+unEnumType :: Typed.TypedTerm Syntax.EnumType -> Typed.TypedTerm Syntax.TypeName+unEnumType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.EnumType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ExpressionList+unExpressionList :: Typed.TypedTerm Syntax.ExpressionList -> Typed.TypedTerm [Syntax.Expression]+unExpressionList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ExpressionList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.ExternAliasDirective+unExternAliasDirective :: Typed.TypedTerm Syntax.ExternAliasDirective -> Typed.TypedTerm Syntax.Identifier+unExternAliasDirective x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.ExternAliasDirective")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.Identifier+unIdentifier :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm String+unIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.Identifier")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.InterfaceType+unInterfaceType :: Typed.TypedTerm Syntax.InterfaceType -> Typed.TypedTerm Syntax.TypeName+unInterfaceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.InterfaceType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.InterpolatedRegularStringExpression+unInterpolatedRegularStringExpression :: Typed.TypedTerm Syntax.InterpolatedRegularStringExpression -> Typed.TypedTerm String+unInterpolatedRegularStringExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.InterpolatedRegularStringExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression+unInterpolatedVerbatimStringExpression :: Typed.TypedTerm Syntax.InterpolatedVerbatimStringExpression -> Typed.TypedTerm String+unInterpolatedVerbatimStringExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.InterpolatedVerbatimStringExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.Keyword+unKeyword :: Typed.TypedTerm Syntax.Keyword -> Typed.TypedTerm String+unKeyword x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.Keyword")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.MemberDeclaratorList+unMemberDeclaratorList :: Typed.TypedTerm Syntax.MemberDeclaratorList -> Typed.TypedTerm [Syntax.MemberDeclarator]+unMemberDeclaratorList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.MemberDeclaratorList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.NamedArgumentList+unNamedArgumentList :: Typed.TypedTerm Syntax.NamedArgumentList -> Typed.TypedTerm [Syntax.NamedArgument]+unNamedArgumentList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.NamedArgumentList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.NamespaceName+unNamespaceName :: Typed.TypedTerm Syntax.NamespaceName -> Typed.TypedTerm Syntax.NamespaceOrTypeName+unNamespaceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.NamespaceName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.PositionalArgumentList+unPositionalArgumentList :: Typed.TypedTerm Syntax.PositionalArgumentList -> Typed.TypedTerm [Syntax.PositionalArgument]+unPositionalArgumentList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.PositionalArgumentList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.QualifiedIdentifier+unQualifiedIdentifier :: Typed.TypedTerm Syntax.QualifiedIdentifier -> Typed.TypedTerm [Syntax.Identifier]+unQualifiedIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.QualifiedIdentifier")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.RankSpecifier+unRankSpecifier :: Typed.TypedTerm Syntax.RankSpecifier -> Typed.TypedTerm Int+unRankSpecifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.RankSpecifier")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.SecondaryConstraints+unSecondaryConstraints :: Typed.TypedTerm Syntax.SecondaryConstraints -> Typed.TypedTerm [Syntax.SecondaryConstraint]+unSecondaryConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.SecondaryConstraints")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.StatementExpressionList+unStatementExpressionList :: Typed.TypedTerm Syntax.StatementExpressionList -> Typed.TypedTerm [Syntax.StatementExpression]+unStatementExpressionList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.StatementExpressionList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.TupleType+unTupleType :: Typed.TypedTerm Syntax.TupleType -> Typed.TypedTerm [Syntax.TupleTypeElement]+unTupleType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.TupleType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.TypeArgumentList+unTypeArgumentList :: Typed.TypedTerm Syntax.TypeArgumentList -> Typed.TypedTerm [Syntax.Type]+unTypeArgumentList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.TypeArgumentList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.TypeName+unTypeName :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.NamespaceOrTypeName+unTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.TypeName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.TypeParameter+unTypeParameter :: Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.Identifier+unTypeParameter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.TypeParameter")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.TypeParameterList+unTypeParameterList :: Typed.TypedTerm Syntax.TypeParameterList -> Typed.TypedTerm [Syntax.TypeParameterPart]+unTypeParameterList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.TypeParameterList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.UnboundTypeName+unUnboundTypeName :: Typed.TypedTerm Syntax.UnboundTypeName -> Typed.TypedTerm [Syntax.UnboundTypeNamePart]+unUnboundTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.UnboundTypeName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.VariableDeclarators+unVariableDeclarators :: Typed.TypedTerm Syntax.VariableDeclarators -> Typed.TypedTerm [Syntax.VariableDeclarator]+unVariableDeclarators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.VariableDeclarators")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.VariableReference+unVariableReference :: Typed.TypedTerm Syntax.VariableReference -> Typed.TypedTerm Syntax.Expression+unVariableReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.VariableReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.csharp.syntax.VariantTypeParameters+unVariantTypeParameters :: Typed.TypedTerm Syntax.VariantTypeParameters -> Typed.TypedTerm [Syntax.VariantTypeParameter]+unVariantTypeParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameters")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the addressOf variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionAddressOf :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionAddressOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "addressOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the await variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionAwait :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionAwait x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "await"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the bitwiseComplement variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionBitwiseComplement :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionBitwiseComplement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitwiseComplement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the cast variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionCast :: Typed.TypedTerm Syntax.CastExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionCast x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "cast"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minus variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionMinus :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionMinus x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the not variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionNot :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionNot x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the plus variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionPlus :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPlus x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pointerIndirection variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionPointerIndirection :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPointerIndirection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointerIndirection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the preDecrement variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionPreDecrement :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPreDecrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preDecrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the preIncrement variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionPreIncrement :: Typed.TypedTerm Syntax.UnaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPreIncrement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preIncrement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primary variant of hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionPrimary :: Typed.TypedTerm Syntax.PrimaryExpression -> Typed.TypedTerm Syntax.UnaryExpression+unaryExpressionPrimary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.UnaryExpression+unaryExpressionUnaryExpression :: Typed.TypedName Syntax.UnaryExpression+unaryExpressionUnaryExpression = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UnaryExpression")++-- | DSL constructor for hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclarator :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.OverloadableUnaryOperator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.UnaryOperatorDeclarator+unaryOperatorDeclarator type_ operator parameter =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm parameter)}]}))++-- | DSL accessor for the operator field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorOperator :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.OverloadableUnaryOperator+unaryOperatorDeclaratorOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameter field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorParameter :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter+unaryOperatorDeclaratorParameter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorType :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.Type+unaryOperatorDeclaratorType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorUnaryOperatorDeclarator :: Typed.TypedName Syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorUnaryOperatorDeclarator =+ Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator")++-- | DSL updater for the operator field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithOperator :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.OverloadableUnaryOperator -> Typed.TypedTerm Syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameter field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithParameter :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.FixedParameter -> Typed.TypedTerm Syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithParameter original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.csharp.syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithType :: Typed.TypedTerm Syntax.UnaryOperatorDeclarator -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.UnaryOperatorDeclarator+unaryOperatorDeclaratorWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ 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.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnaryOperatorDeclarator"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.UnboundTypeName wrapper+unboundTypeName :: Typed.TypedTerm [Syntax.UnboundTypeNamePart] -> Typed.TypedTerm Syntax.UnboundTypeName+unboundTypeName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePart :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Syntax.UnboundTypeNamePart+unboundTypeNamePart identifier aliased dimension =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "aliased"),+ Model.fieldTerm = (Typed.unTypedTerm aliased)},+ Model.Field {+ Model.fieldName = (Model.Name "dimension"),+ Model.fieldTerm = (Typed.unTypedTerm dimension)}]}))++-- | DSL accessor for the aliased field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartAliased :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm Bool+unboundTypeNamePartAliased x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "aliased")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dimension field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartDimension :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm (Maybe Int)+unboundTypeNamePartDimension x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "dimension")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartIdentifier :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm Syntax.Identifier+unboundTypeNamePartIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartUnboundTypeNamePart :: Typed.TypedName Syntax.UnboundTypeNamePart+unboundTypeNamePartUnboundTypeNamePart = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart")++-- | DSL updater for the aliased field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartWithAliased :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.UnboundTypeNamePart+unboundTypeNamePartWithAliased original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliased"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dimension"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "dimension")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dimension field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartWithDimension :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Syntax.UnboundTypeNamePart+unboundTypeNamePartWithDimension original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliased"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "aliased")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dimension"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.UnboundTypeNamePart+unboundTypeNamePartWithIdentifier :: Typed.TypedTerm Syntax.UnboundTypeNamePart -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.UnboundTypeNamePart+unboundTypeNamePartWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aliased"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "aliased")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dimension"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnboundTypeNamePart"),+ Model.projectionFieldName = (Model.Name "dimension")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.csharp.syntax.UnboundTypeName+unboundTypeNameUnboundTypeName :: Typed.TypedName Syntax.UnboundTypeName+unboundTypeNameUnboundTypeName = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UnboundTypeName")++-- | DSL injection for the pointer variant of hydra.ext.csharp.syntax.UnmanagedType+unmanagedTypePointer :: Typed.TypedTerm Syntax.PointerType -> Typed.TypedTerm Syntax.UnmanagedType+unmanagedTypePointer x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnmanagedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pointer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.UnmanagedType+unmanagedTypeUnmanagedType :: Typed.TypedName Syntax.UnmanagedType+unmanagedTypeUnmanagedType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UnmanagedType")++-- | DSL injection for the value variant of hydra.ext.csharp.syntax.UnmanagedType+unmanagedTypeValue :: Typed.TypedTerm Syntax.ValueType -> Typed.TypedTerm Syntax.UnmanagedType+unmanagedTypeValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UnmanagedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirective :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.UsingAliasDirective+usingAliasDirective alias name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the alias field of hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirectiveAlias :: Typed.TypedTerm Syntax.UsingAliasDirective -> Typed.TypedTerm Syntax.Identifier+usingAliasDirectiveAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirectiveName :: Typed.TypedTerm Syntax.UsingAliasDirective -> Typed.TypedTerm Syntax.NamespaceOrTypeName+usingAliasDirectiveName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirectiveUsingAliasDirective :: Typed.TypedName Syntax.UsingAliasDirective+usingAliasDirectiveUsingAliasDirective = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective")++-- | DSL updater for the alias field of hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirectiveWithAlias :: Typed.TypedTerm Syntax.UsingAliasDirective -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.UsingAliasDirective+usingAliasDirectiveWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ 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.ext.csharp.syntax.UsingAliasDirective"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.csharp.syntax.UsingAliasDirective+usingAliasDirectiveWithName :: Typed.TypedTerm Syntax.UsingAliasDirective -> Typed.TypedTerm Syntax.NamespaceOrTypeName -> Typed.TypedTerm Syntax.UsingAliasDirective+usingAliasDirectiveWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingAliasDirective"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the alias variant of hydra.ext.csharp.syntax.UsingDirective+usingDirectiveAlias :: Typed.TypedTerm Syntax.UsingAliasDirective -> Typed.TypedTerm Syntax.UsingDirective+usingDirectiveAlias x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the namespace variant of hydra.ext.csharp.syntax.UsingDirective+usingDirectiveNamespace :: Typed.TypedTerm Syntax.NamespaceName -> Typed.TypedTerm Syntax.UsingDirective+usingDirectiveNamespace x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the static variant of hydra.ext.csharp.syntax.UsingDirective+usingDirectiveStatic :: Typed.TypedTerm Syntax.TypeName -> Typed.TypedTerm Syntax.UsingDirective+usingDirectiveStatic x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingDirective"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "static"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.UsingDirective+usingDirectiveUsingDirective :: Typed.TypedName Syntax.UsingDirective+usingDirectiveUsingDirective = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UsingDirective")++-- | DSL constructor for hydra.ext.csharp.syntax.UsingStatement+usingStatement :: Typed.TypedTerm Syntax.ResourceAcquisition -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.UsingStatement+usingStatement acquisition body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "acquisition"),+ Model.fieldTerm = (Typed.unTypedTerm acquisition)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the acquisition field of hydra.ext.csharp.syntax.UsingStatement+usingStatementAcquisition :: Typed.TypedTerm Syntax.UsingStatement -> Typed.TypedTerm Syntax.ResourceAcquisition+usingStatementAcquisition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.projectionFieldName = (Model.Name "acquisition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.UsingStatement+usingStatementBody :: Typed.TypedTerm Syntax.UsingStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+usingStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.UsingStatement+usingStatementUsingStatement :: Typed.TypedName Syntax.UsingStatement+usingStatementUsingStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.UsingStatement")++-- | DSL updater for the acquisition field of hydra.ext.csharp.syntax.UsingStatement+usingStatementWithAcquisition :: Typed.TypedTerm Syntax.UsingStatement -> Typed.TypedTerm Syntax.ResourceAcquisition -> Typed.TypedTerm Syntax.UsingStatement+usingStatementWithAcquisition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "acquisition"),+ 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.ext.csharp.syntax.UsingStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.ext.csharp.syntax.UsingStatement+usingStatementWithBody :: Typed.TypedTerm Syntax.UsingStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.UsingStatement+usingStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "acquisition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.UsingStatement"),+ Model.projectionFieldName = (Model.Name "acquisition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the nonNullable variant of hydra.ext.csharp.syntax.ValueType+valueTypeNonNullable :: Typed.TypedTerm Syntax.StructOrEnumType -> Typed.TypedTerm Syntax.ValueType+valueTypeNonNullable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ValueType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nonNullable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nullable variant of hydra.ext.csharp.syntax.ValueType+valueTypeNullable :: Typed.TypedTerm Syntax.StructOrEnumType -> Typed.TypedTerm Syntax.ValueType+valueTypeNullable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.ValueType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nullable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.ValueType+valueTypeValueType :: Typed.TypedName Syntax.ValueType+valueTypeValueType = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.ValueType")++-- | DSL constructor for hydra.ext.csharp.syntax.VariableDeclarator+variableDeclarator :: Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm (Maybe Syntax.VariableInitializer) -> Typed.TypedTerm Syntax.VariableDeclarator+variableDeclarator identifier initializer =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm identifier)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm initializer)}]}))++-- | DSL accessor for the identifier field of hydra.ext.csharp.syntax.VariableDeclarator+variableDeclaratorIdentifier :: Typed.TypedTerm Syntax.VariableDeclarator -> Typed.TypedTerm Syntax.Identifier+variableDeclaratorIdentifier x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the initializer field of hydra.ext.csharp.syntax.VariableDeclarator+variableDeclaratorInitializer :: Typed.TypedTerm Syntax.VariableDeclarator -> Typed.TypedTerm (Maybe Syntax.VariableInitializer)+variableDeclaratorInitializer x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VariableDeclarator+variableDeclaratorVariableDeclarator :: Typed.TypedName Syntax.VariableDeclarator+variableDeclaratorVariableDeclarator = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator")++-- | DSL updater for the identifier field of hydra.ext.csharp.syntax.VariableDeclarator+variableDeclaratorWithIdentifier :: Typed.TypedTerm Syntax.VariableDeclarator -> Typed.TypedTerm Syntax.Identifier -> Typed.TypedTerm Syntax.VariableDeclarator+variableDeclaratorWithIdentifier original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.projectionFieldName = (Model.Name "initializer")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the initializer field of hydra.ext.csharp.syntax.VariableDeclarator+variableDeclaratorWithInitializer :: Typed.TypedTerm Syntax.VariableDeclarator -> Typed.TypedTerm (Maybe Syntax.VariableInitializer) -> Typed.TypedTerm Syntax.VariableDeclarator+variableDeclaratorWithInitializer original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "identifier"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarator"),+ Model.projectionFieldName = (Model.Name "identifier")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "initializer"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.VariableDeclarators wrapper+variableDeclarators :: Typed.TypedTerm [Syntax.VariableDeclarator] -> Typed.TypedTerm Syntax.VariableDeclarators+variableDeclarators x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableDeclarators"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VariableDeclarators+variableDeclaratorsVariableDeclarators :: Typed.TypedName Syntax.VariableDeclarators+variableDeclaratorsVariableDeclarators = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariableDeclarators")++-- | DSL injection for the array variant of hydra.ext.csharp.syntax.VariableInitializer+variableInitializerArray :: Typed.TypedTerm Syntax.ArrayInitializer -> Typed.TypedTerm Syntax.VariableInitializer+variableInitializerArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.ext.csharp.syntax.VariableInitializer+variableInitializerExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.VariableInitializer+variableInitializerExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableInitializer"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.VariableInitializer+variableInitializerVariableInitializer :: Typed.TypedName Syntax.VariableInitializer+variableInitializerVariableInitializer = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariableInitializer")++-- | DSL constructor for the hydra.ext.csharp.syntax.VariableReference wrapper+variableReference :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.VariableReference+variableReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.VariableReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VariableReference+variableReferenceVariableReference :: Typed.TypedName Syntax.VariableReference+variableReferenceVariableReference = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariableReference")++-- | DSL injection for the in variant of hydra.ext.csharp.syntax.VarianceAnnotation+varianceAnnotationIn :: Typed.TypedTerm Syntax.VarianceAnnotation+varianceAnnotationIn =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VarianceAnnotation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the out variant of hydra.ext.csharp.syntax.VarianceAnnotation+varianceAnnotationOut :: Typed.TypedTerm Syntax.VarianceAnnotation+varianceAnnotationOut =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VarianceAnnotation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "out"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.csharp.syntax.VarianceAnnotation+varianceAnnotationVarianceAnnotation :: Typed.TypedName Syntax.VarianceAnnotation+varianceAnnotationVarianceAnnotation = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VarianceAnnotation")++-- | DSL constructor for hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameter :: Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm (Maybe Syntax.VarianceAnnotation) -> Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.VariantTypeParameter+variantTypeParameter attributes variance parameter =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm attributes)},+ Model.Field {+ Model.fieldName = (Model.Name "variance"),+ Model.fieldTerm = (Typed.unTypedTerm variance)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm parameter)}]}))++-- | DSL accessor for the attributes field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterAttributes :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm (Maybe Syntax.Attributes)+variantTypeParameterAttributes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameter field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterParameter :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+variantTypeParameterParameter x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the variance field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterVariance :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm (Maybe Syntax.VarianceAnnotation)+variantTypeParameterVariance x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "variance")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterVariantTypeParameter :: Typed.TypedName Syntax.VariantTypeParameter+variantTypeParameterVariantTypeParameter = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter")++-- | DSL updater for the attributes field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterWithAttributes :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm (Maybe Syntax.Attributes) -> Typed.TypedTerm Syntax.VariantTypeParameter+variantTypeParameterWithAttributes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "variance"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "variance")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameter field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterWithParameter :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm Syntax.TypeParameter -> Typed.TypedTerm Syntax.VariantTypeParameter+variantTypeParameterWithParameter original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variance"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "variance")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the variance field of hydra.ext.csharp.syntax.VariantTypeParameter+variantTypeParameterWithVariance :: Typed.TypedTerm Syntax.VariantTypeParameter -> Typed.TypedTerm (Maybe Syntax.VarianceAnnotation) -> Typed.TypedTerm Syntax.VariantTypeParameter+variantTypeParameterWithVariance original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "attributes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "attributes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "variance"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "parameter"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameter"),+ Model.projectionFieldName = (Model.Name "parameter")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.csharp.syntax.VariantTypeParameters wrapper+variantTypeParameters :: Typed.TypedTerm [Syntax.VariantTypeParameter] -> Typed.TypedTerm Syntax.VariantTypeParameters+variantTypeParameters x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameters"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VariantTypeParameters+variantTypeParametersVariantTypeParameters :: Typed.TypedName Syntax.VariantTypeParameters+variantTypeParametersVariantTypeParameters = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VariantTypeParameters")++-- | DSL constructor for hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.VerbatimInterpolation+verbatimInterpolation expression width format =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Typed.unTypedTerm width)},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Typed.unTypedTerm format)}]}))++-- | DSL accessor for the expression field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationExpression :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm Syntax.Expression+verbatimInterpolationExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the format field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationFormat :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm (Maybe String)+verbatimInterpolationFormat x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationVerbatimInterpolation :: Typed.TypedName Syntax.VerbatimInterpolation+verbatimInterpolationVerbatimInterpolation = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation")++-- | DSL accessor for the width field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationWidth :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm (Maybe Syntax.ConstantExpression)+verbatimInterpolationWidth x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationWithExpression :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.VerbatimInterpolation+verbatimInterpolationWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the format field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationWithFormat :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.VerbatimInterpolation+verbatimInterpolationWithFormat original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ 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.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "width")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the width field of hydra.ext.csharp.syntax.VerbatimInterpolation+verbatimInterpolationWithWidth :: Typed.TypedTerm Syntax.VerbatimInterpolation -> Typed.TypedTerm (Maybe Syntax.ConstantExpression) -> Typed.TypedTerm Syntax.VerbatimInterpolation+verbatimInterpolationWithWidth original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ 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.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "width"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "format"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.VerbatimInterpolation"),+ Model.projectionFieldName = (Model.Name "format")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.csharp.syntax.WhileStatement+whileStatement :: Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.WhileStatement+whileStatement condition body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.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)}]}))++-- | DSL accessor for the body field of hydra.ext.csharp.syntax.WhileStatement+whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.EmbeddedStatement+whileStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.ext.csharp.syntax.WhileStatement+whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.BooleanExpression+whileStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.csharp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.csharp.syntax.WhileStatement+whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement+whileStatementWhileStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.WhileStatement")++-- | DSL updater for the body field of hydra.ext.csharp.syntax.WhileStatement+whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.EmbeddedStatement -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.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.ext.csharp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the condition field of hydra.ext.csharp.syntax.WhileStatement+whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.BooleanExpression -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.csharp.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.ext.csharp.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the break variant of hydra.ext.csharp.syntax.YieldStatement+yieldStatementBreak :: Typed.TypedTerm Syntax.YieldStatement+yieldStatementBreak =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.YieldStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "break"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the return variant of hydra.ext.csharp.syntax.YieldStatement+yieldStatementReturn :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.YieldStatement+yieldStatementReturn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.csharp.syntax.YieldStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "return"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.csharp.syntax.YieldStatement+yieldStatementYieldStatement :: Typed.TypedName Syntax.YieldStatement+yieldStatementYieldStatement = Typed.TypedName (Model.Name "hydra.ext.csharp.syntax.YieldStatement")
+ src/main/haskell/Hydra/Ext/Dsl/Datalog/Syntax.hs view
@@ -0,0 +1,608 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.datalog.syntax++module Hydra.Ext.Dsl.Datalog.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Datalog.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 constructor for hydra.ext.datalog.syntax.Atom+atom :: Typed.TypedTerm Syntax.Relation -> Typed.TypedTerm Syntax.TermList -> Typed.TypedTerm Syntax.Atom+atom relation termList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Typed.unTypedTerm relation)},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Typed.unTypedTerm termList)}]}))++-- | DSL name token for hydra.ext.datalog.syntax.Atom+atomAtom :: Typed.TypedName Syntax.Atom+atomAtom = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Atom")++-- | DSL name token for hydra.ext.datalog.syntax.AtomList+atomListAtomList :: Typed.TypedName Syntax.AtomList+atomListAtomList = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.AtomList")++-- | DSL injection for the many variant of hydra.ext.datalog.syntax.AtomList+atomListMany :: Typed.TypedTerm Syntax.AtomListMultiple -> Typed.TypedTerm Syntax.AtomList+atomListMany x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "many"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.datalog.syntax.AtomListMultiple+atomListMultiple :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.AtomList -> Typed.TypedTerm Syntax.AtomListMultiple+atomListMultiple atom atomList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Typed.unTypedTerm atom)},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Typed.unTypedTerm atomList)}]}))++-- | DSL accessor for the Atom field of hydra.ext.datalog.syntax.AtomListMultiple+atomListMultipleAtom :: Typed.TypedTerm Syntax.AtomListMultiple -> Typed.TypedTerm Syntax.Atom+atomListMultipleAtom x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.projectionFieldName = (Model.Name "Atom")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the AtomList field of hydra.ext.datalog.syntax.AtomListMultiple+atomListMultipleAtomList :: Typed.TypedTerm Syntax.AtomListMultiple -> Typed.TypedTerm Syntax.AtomList+atomListMultipleAtomList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.projectionFieldName = (Model.Name "AtomList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.AtomListMultiple+atomListMultipleAtomListMultiple :: Typed.TypedName Syntax.AtomListMultiple+atomListMultipleAtomListMultiple = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple")++-- | DSL updater for the Atom field of hydra.ext.datalog.syntax.AtomListMultiple+atomListMultipleWithAtom :: Typed.TypedTerm Syntax.AtomListMultiple -> Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.AtomListMultiple+atomListMultipleWithAtom original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.projectionFieldName = (Model.Name "AtomList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the AtomList field of hydra.ext.datalog.syntax.AtomListMultiple+atomListMultipleWithAtomList :: Typed.TypedTerm Syntax.AtomListMultiple -> Typed.TypedTerm Syntax.AtomList -> Typed.TypedTerm Syntax.AtomListMultiple+atomListMultipleWithAtomList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomListMultiple"),+ Model.projectionFieldName = (Model.Name "Atom")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the single variant of hydra.ext.datalog.syntax.AtomList+atomListSingle :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.AtomList+atomListSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.AtomList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the Relation field of hydra.ext.datalog.syntax.Atom+atomRelation :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Relation+atomRelation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.projectionFieldName = (Model.Name "Relation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the TermList field of hydra.ext.datalog.syntax.Atom+atomTermList :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TermList+atomTermList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.projectionFieldName = (Model.Name "TermList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Relation field of hydra.ext.datalog.syntax.Atom+atomWithRelation :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Relation -> Typed.TypedTerm Syntax.Atom+atomWithRelation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.projectionFieldName = (Model.Name "TermList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the TermList field of hydra.ext.datalog.syntax.Atom+atomWithTermList :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TermList -> Typed.TypedTerm Syntax.Atom+atomWithTermList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Atom"),+ Model.projectionFieldName = (Model.Name "Relation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.datalog.syntax.Constant wrapper+constant :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Constant+constant x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.datalog.syntax.Constant"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.Constant+constantConstant :: Typed.TypedName Syntax.Constant+constantConstant = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Constant")++-- | DSL name token for hydra.ext.datalog.syntax.ConstantList+constantListConstantList :: Typed.TypedName Syntax.ConstantList+constantListConstantList = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.ConstantList")++-- | DSL injection for the many variant of hydra.ext.datalog.syntax.ConstantList+constantListMany :: Typed.TypedTerm Syntax.ConstantListMultiple -> Typed.TypedTerm Syntax.ConstantList+constantListMany x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "many"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultiple :: Typed.TypedTerm Syntax.Constant -> Typed.TypedTerm Syntax.ConstantList -> Typed.TypedTerm Syntax.ConstantListMultiple+constantListMultiple constant constantList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Constant"),+ Model.fieldTerm = (Typed.unTypedTerm constant)},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Typed.unTypedTerm constantList)}]}))++-- | DSL accessor for the Constant field of hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultipleConstant :: Typed.TypedTerm Syntax.ConstantListMultiple -> Typed.TypedTerm Syntax.Constant+constantListMultipleConstant x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.projectionFieldName = (Model.Name "Constant")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ConstantList field of hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultipleConstantList :: Typed.TypedTerm Syntax.ConstantListMultiple -> Typed.TypedTerm Syntax.ConstantList+constantListMultipleConstantList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.projectionFieldName = (Model.Name "ConstantList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultipleConstantListMultiple :: Typed.TypedName Syntax.ConstantListMultiple+constantListMultipleConstantListMultiple = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple")++-- | DSL updater for the Constant field of hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultipleWithConstant :: Typed.TypedTerm Syntax.ConstantListMultiple -> Typed.TypedTerm Syntax.Constant -> Typed.TypedTerm Syntax.ConstantListMultiple+constantListMultipleWithConstant original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Constant"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.projectionFieldName = (Model.Name "ConstantList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ConstantList field of hydra.ext.datalog.syntax.ConstantListMultiple+constantListMultipleWithConstantList :: Typed.TypedTerm Syntax.ConstantListMultiple -> Typed.TypedTerm Syntax.ConstantList -> Typed.TypedTerm Syntax.ConstantListMultiple+constantListMultipleWithConstantList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Constant"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantListMultiple"),+ Model.projectionFieldName = (Model.Name "Constant")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the single variant of hydra.ext.datalog.syntax.ConstantList+constantListSingle :: Typed.TypedTerm Syntax.Constant -> Typed.TypedTerm Syntax.ConstantList+constantListSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ConstantList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.datalog.syntax.Fact+fact :: Typed.TypedTerm Syntax.Relation -> Typed.TypedTerm Syntax.ConstantList -> Typed.TypedTerm Syntax.Fact+fact relation constantList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Typed.unTypedTerm relation)},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Typed.unTypedTerm constantList)}]}))++-- | DSL accessor for the ConstantList field of hydra.ext.datalog.syntax.Fact+factConstantList :: Typed.TypedTerm Syntax.Fact -> Typed.TypedTerm Syntax.ConstantList+factConstantList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.projectionFieldName = (Model.Name "ConstantList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.Fact+factFact :: Typed.TypedName Syntax.Fact+factFact = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Fact")++-- | DSL accessor for the Relation field of hydra.ext.datalog.syntax.Fact+factRelation :: Typed.TypedTerm Syntax.Fact -> Typed.TypedTerm Syntax.Relation+factRelation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.projectionFieldName = (Model.Name "Relation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ConstantList field of hydra.ext.datalog.syntax.Fact+factWithConstantList :: Typed.TypedTerm Syntax.Fact -> Typed.TypedTerm Syntax.ConstantList -> Typed.TypedTerm Syntax.Fact+factWithConstantList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.projectionFieldName = (Model.Name "Relation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Relation field of hydra.ext.datalog.syntax.Fact+factWithRelation :: Typed.TypedTerm Syntax.Fact -> Typed.TypedTerm Syntax.Relation -> Typed.TypedTerm Syntax.Fact+factWithRelation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Relation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ConstantList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Fact"),+ Model.projectionFieldName = (Model.Name "ConstantList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.datalog.syntax.Program wrapper+program :: Typed.TypedTerm [Syntax.ProgramElmt] -> Typed.TypedTerm Syntax.Program+program x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.datalog.syntax.Program"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL injection for the Fact variant of hydra.ext.datalog.syntax.ProgramElmt+programElmtFact :: Typed.TypedTerm Syntax.Fact -> Typed.TypedTerm Syntax.ProgramElmt+programElmtFact x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ProgramElmt"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Fact"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.datalog.syntax.ProgramElmt+programElmtProgramElmt :: Typed.TypedName Syntax.ProgramElmt+programElmtProgramElmt = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.ProgramElmt")++-- | DSL injection for the Rule variant of hydra.ext.datalog.syntax.ProgramElmt+programElmtRule :: Typed.TypedTerm Syntax.Rule -> Typed.TypedTerm Syntax.ProgramElmt+programElmtRule x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.ProgramElmt"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Rule"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.datalog.syntax.Program+programProgram :: Typed.TypedName Syntax.Program+programProgram = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Program")++-- | DSL constructor for the hydra.ext.datalog.syntax.Relation wrapper+relation :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Relation+relation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.datalog.syntax.Relation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.Relation+relationRelation :: Typed.TypedName Syntax.Relation+relationRelation = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Relation")++-- | DSL constructor for hydra.ext.datalog.syntax.Rule+rule :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.AtomList -> Typed.TypedTerm Syntax.Rule+rule atom atomList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Typed.unTypedTerm atom)},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Typed.unTypedTerm atomList)}]}))++-- | DSL accessor for the Atom field of hydra.ext.datalog.syntax.Rule+ruleAtom :: Typed.TypedTerm Syntax.Rule -> Typed.TypedTerm Syntax.Atom+ruleAtom x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.projectionFieldName = (Model.Name "Atom")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the AtomList field of hydra.ext.datalog.syntax.Rule+ruleAtomList :: Typed.TypedTerm Syntax.Rule -> Typed.TypedTerm Syntax.AtomList+ruleAtomList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.projectionFieldName = (Model.Name "AtomList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.Rule+ruleRule :: Typed.TypedName Syntax.Rule+ruleRule = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Rule")++-- | DSL updater for the Atom field of hydra.ext.datalog.syntax.Rule+ruleWithAtom :: Typed.TypedTerm Syntax.Rule -> Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Rule+ruleWithAtom original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.projectionFieldName = (Model.Name "AtomList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the AtomList field of hydra.ext.datalog.syntax.Rule+ruleWithAtomList :: Typed.TypedTerm Syntax.Rule -> Typed.TypedTerm Syntax.AtomList -> Typed.TypedTerm Syntax.Rule+ruleWithAtomList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Atom"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Rule"),+ Model.projectionFieldName = (Model.Name "Atom")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "AtomList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the Constant variant of hydra.ext.datalog.syntax.Term+termConstant :: Typed.TypedTerm Syntax.Constant -> Typed.TypedTerm Syntax.Term+termConstant x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Term"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Constant"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the many variant of hydra.ext.datalog.syntax.TermList+termListMany :: Typed.TypedTerm Syntax.TermListMultiple -> Typed.TypedTerm Syntax.TermList+termListMany x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "many"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.datalog.syntax.TermListMultiple+termListMultiple :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermList -> Typed.TypedTerm Syntax.TermListMultiple+termListMultiple term termList =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Term"),+ Model.fieldTerm = (Typed.unTypedTerm term)},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Typed.unTypedTerm termList)}]}))++-- | DSL accessor for the Term field of hydra.ext.datalog.syntax.TermListMultiple+termListMultipleTerm :: Typed.TypedTerm Syntax.TermListMultiple -> Typed.TypedTerm Syntax.Term+termListMultipleTerm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.projectionFieldName = (Model.Name "Term")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the TermList field of hydra.ext.datalog.syntax.TermListMultiple+termListMultipleTermList :: Typed.TypedTerm Syntax.TermListMultiple -> Typed.TypedTerm Syntax.TermList+termListMultipleTermList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.projectionFieldName = (Model.Name "TermList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.TermListMultiple+termListMultipleTermListMultiple :: Typed.TypedName Syntax.TermListMultiple+termListMultipleTermListMultiple = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.TermListMultiple")++-- | DSL updater for the Term field of hydra.ext.datalog.syntax.TermListMultiple+termListMultipleWithTerm :: Typed.TypedTerm Syntax.TermListMultiple -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermListMultiple+termListMultipleWithTerm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Term"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.projectionFieldName = (Model.Name "TermList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the TermList field of hydra.ext.datalog.syntax.TermListMultiple+termListMultipleWithTermList :: Typed.TypedTerm Syntax.TermListMultiple -> Typed.TypedTerm Syntax.TermList -> Typed.TypedTerm Syntax.TermListMultiple+termListMultipleWithTermList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Term"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermListMultiple"),+ Model.projectionFieldName = (Model.Name "Term")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TermList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the single variant of hydra.ext.datalog.syntax.TermList+termListSingle :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermList+termListSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.TermList"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.datalog.syntax.TermList+termListTermList :: Typed.TypedName Syntax.TermList+termListTermList = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.TermList")++-- | DSL name token for hydra.ext.datalog.syntax.Term+termTerm :: Typed.TypedName Syntax.Term+termTerm = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Term")++-- | DSL injection for the Variable variant of hydra.ext.datalog.syntax.Term+termVariable :: Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm Syntax.Term+termVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.datalog.syntax.Term"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the body of hydra.ext.datalog.syntax.Constant+unConstant :: Typed.TypedTerm Syntax.Constant -> Typed.TypedTerm String+unConstant x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.datalog.syntax.Constant")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.datalog.syntax.Program+unProgram :: Typed.TypedTerm Syntax.Program -> Typed.TypedTerm [Syntax.ProgramElmt]+unProgram x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.datalog.syntax.Program")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.datalog.syntax.Relation+unRelation :: Typed.TypedTerm Syntax.Relation -> Typed.TypedTerm String+unRelation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.datalog.syntax.Relation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.datalog.syntax.Variable+unVariable :: Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm String+unVariable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.datalog.syntax.Variable")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.datalog.syntax.Variable wrapper+variable :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Variable+variable x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.datalog.syntax.Variable"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.datalog.syntax.Variable+variableVariable :: Typed.TypedName Syntax.Variable+variableVariable = Typed.TypedName (Model.Name "hydra.ext.datalog.syntax.Variable")
+ src/main/haskell/Hydra/Ext/Dsl/Delta/Parquet.hs view
@@ -0,0 +1,573 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.delta.parquet++module Hydra.Ext.Dsl.Delta.Parquet where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Delta.Parquet as Parquet+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.delta.parquet.ArrayType+arrayType :: Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.ArrayType+arrayType elementType containsNull =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm elementType)},+ Model.Field {+ Model.fieldName = (Model.Name "containsNull"),+ Model.fieldTerm = (Typed.unTypedTerm containsNull)}]}))++-- | DSL name token for hydra.ext.delta.parquet.ArrayType+arrayTypeArrayType :: Typed.TypedName Parquet.ArrayType+arrayTypeArrayType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.ArrayType")++-- | DSL accessor for the containsNull field of hydra.ext.delta.parquet.ArrayType+arrayTypeContainsNull :: Typed.TypedTerm Parquet.ArrayType -> Typed.TypedTerm Bool+arrayTypeContainsNull x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.projectionFieldName = (Model.Name "containsNull")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the elementType field of hydra.ext.delta.parquet.ArrayType+arrayTypeElementType :: Typed.TypedTerm Parquet.ArrayType -> Typed.TypedTerm Parquet.DataType+arrayTypeElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the containsNull field of hydra.ext.delta.parquet.ArrayType+arrayTypeWithContainsNull :: Typed.TypedTerm Parquet.ArrayType -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.ArrayType+arrayTypeWithContainsNull original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.projectionFieldName = (Model.Name "elementType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "containsNull"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the elementType field of hydra.ext.delta.parquet.ArrayType+arrayTypeWithElementType :: Typed.TypedTerm Parquet.ArrayType -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Parquet.ArrayType+arrayTypeWithElementType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "elementType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "containsNull"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.ArrayType"),+ Model.projectionFieldName = (Model.Name "containsNull")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeBasePrimitiveType :: Typed.TypedName Parquet.BasePrimitiveType+basePrimitiveTypeBasePrimitiveType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType")++-- | DSL injection for the binary variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeBinary :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeBinary =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the boolean variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeBoolean :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the byte variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeByte :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeByte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "byte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the date variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeDate :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeDate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "date"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeDouble :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeFloat :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the integer variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeInteger :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeInteger =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the long variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeLong :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the short variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeShort :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeShort =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "short"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeString :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the timestamp variant of hydra.ext.delta.parquet.BasePrimitiveType+basePrimitiveTypeTimestamp :: Typed.TypedTerm Parquet.BasePrimitiveType+basePrimitiveTypeTimestamp =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.BasePrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timestamp"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the array variant of hydra.ext.delta.parquet.DataType+dataTypeArray :: Typed.TypedTerm Parquet.ArrayType -> Typed.TypedTerm Parquet.DataType+dataTypeArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the base variant of hydra.ext.delta.parquet.DataType+dataTypeBase :: Typed.TypedTerm Parquet.BasePrimitiveType -> Typed.TypedTerm Parquet.DataType+dataTypeBase x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "base"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.delta.parquet.DataType+dataTypeDataType :: Typed.TypedName Parquet.DataType+dataTypeDataType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.DataType")++-- | DSL injection for the decimal variant of hydra.ext.delta.parquet.DataType+dataTypeDecimal :: Typed.TypedTerm Parquet.DecimalType -> Typed.TypedTerm Parquet.DataType+dataTypeDecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.delta.parquet.DataType+dataTypeMap :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Parquet.DataType+dataTypeMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the struct variant of hydra.ext.delta.parquet.DataType+dataTypeStruct :: Typed.TypedTerm Parquet.StructType -> Typed.TypedTerm Parquet.DataType+dataTypeStruct x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.delta.parquet.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "struct"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.delta.parquet.DecimalType+decimalType :: Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm Parquet.DecimalType+decimalType precision scale =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Typed.unTypedTerm precision)},+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Typed.unTypedTerm scale)}]}))++-- | DSL name token for hydra.ext.delta.parquet.DecimalType+decimalTypeDecimalType :: Typed.TypedName Parquet.DecimalType+decimalTypeDecimalType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.DecimalType")++-- | DSL accessor for the precision field of hydra.ext.delta.parquet.DecimalType+decimalTypePrecision :: Typed.TypedTerm Parquet.DecimalType -> Typed.TypedTerm Int+decimalTypePrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.projectionFieldName = (Model.Name "precision")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the scale field of hydra.ext.delta.parquet.DecimalType+decimalTypeScale :: Typed.TypedTerm Parquet.DecimalType -> Typed.TypedTerm Int+decimalTypeScale x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.projectionFieldName = (Model.Name "scale")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the precision field of hydra.ext.delta.parquet.DecimalType+decimalTypeWithPrecision :: Typed.TypedTerm Parquet.DecimalType -> Typed.TypedTerm Int -> Typed.TypedTerm Parquet.DecimalType+decimalTypeWithPrecision original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.projectionFieldName = (Model.Name "scale")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the scale field of hydra.ext.delta.parquet.DecimalType+decimalTypeWithScale :: Typed.TypedTerm Parquet.DecimalType -> Typed.TypedTerm Int -> Typed.TypedTerm Parquet.DecimalType+decimalTypeWithScale original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.DecimalType"),+ Model.projectionFieldName = (Model.Name "precision")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.delta.parquet.MapType+mapType :: Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.MapType+mapType keyType valueType valueContainsNull =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm keyType)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm valueType)},+ Model.Field {+ Model.fieldName = (Model.Name "valueContainsNull"),+ Model.fieldTerm = (Typed.unTypedTerm valueContainsNull)}]}))++-- | DSL accessor for the keyType field of hydra.ext.delta.parquet.MapType+mapTypeKeyType :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Parquet.DataType+mapTypeKeyType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.delta.parquet.MapType+mapTypeMapType :: Typed.TypedName Parquet.MapType+mapTypeMapType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.MapType")++-- | DSL accessor for the valueContainsNull field of hydra.ext.delta.parquet.MapType+mapTypeValueContainsNull :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Bool+mapTypeValueContainsNull x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueContainsNull")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the valueType field of hydra.ext.delta.parquet.MapType+mapTypeValueType :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Parquet.DataType+mapTypeValueType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keyType field of hydra.ext.delta.parquet.MapType+mapTypeWithKeyType :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Parquet.MapType+mapTypeWithKeyType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueContainsNull"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueContainsNull")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the valueContainsNull field of hydra.ext.delta.parquet.MapType+mapTypeWithValueContainsNull :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.MapType+mapTypeWithValueContainsNull original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueContainsNull"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the valueType field of hydra.ext.delta.parquet.MapType+mapTypeWithValueType :: Typed.TypedTerm Parquet.MapType -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Parquet.MapType+mapTypeWithValueType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keyType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "keyType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "valueType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "valueContainsNull"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.MapType"),+ Model.projectionFieldName = (Model.Name "valueContainsNull")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.delta.parquet.StructField+structField :: Typed.TypedTerm String -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.StructField+structField name dataType nullable =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "dataType"),+ Model.fieldTerm = (Typed.unTypedTerm dataType)},+ Model.Field {+ Model.fieldName = (Model.Name "nullable"),+ Model.fieldTerm = (Typed.unTypedTerm nullable)}]}))++-- | DSL accessor for the dataType field of hydra.ext.delta.parquet.StructField+structFieldDataType :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm Parquet.DataType+structFieldDataType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "dataType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.delta.parquet.StructField+structFieldName :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm String+structFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullable field of hydra.ext.delta.parquet.StructField+structFieldNullable :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm Bool+structFieldNullable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "nullable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.delta.parquet.StructField+structFieldStructField :: Typed.TypedName Parquet.StructField+structFieldStructField = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.StructField")++-- | DSL updater for the dataType field of hydra.ext.delta.parquet.StructField+structFieldWithDataType :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm Parquet.DataType -> Typed.TypedTerm Parquet.StructField+structFieldWithDataType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ 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.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "nullable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "nullable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.delta.parquet.StructField+structFieldWithName :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm String -> Typed.TypedTerm Parquet.StructField+structFieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dataType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "dataType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "nullable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the nullable field of hydra.ext.delta.parquet.StructField+structFieldWithNullable :: Typed.TypedTerm Parquet.StructField -> Typed.TypedTerm Bool -> Typed.TypedTerm Parquet.StructField+structFieldWithNullable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ 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.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructField"),+ Model.projectionFieldName = (Model.Name "dataType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.delta.parquet.StructType+structType :: Typed.TypedTerm [Parquet.StructField] -> Typed.TypedTerm Parquet.StructType+structType fields =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)}]}))++-- | DSL accessor for the fields field of hydra.ext.delta.parquet.StructType+structTypeFields :: Typed.TypedTerm Parquet.StructType -> Typed.TypedTerm [Parquet.StructField]+structTypeFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.delta.parquet.StructType"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.delta.parquet.StructType+structTypeStructType :: Typed.TypedName Parquet.StructType+structTypeStructType = Typed.TypedName (Model.Name "hydra.ext.delta.parquet.StructType")++-- | DSL updater for the fields field of hydra.ext.delta.parquet.StructType+structTypeWithFields :: Typed.TypedTerm Parquet.StructType -> Typed.TypedTerm [Parquet.StructField] -> Typed.TypedTerm Parquet.StructType+structTypeWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.delta.parquet.StructType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Geojson/Model.hs view
@@ -0,0 +1,1075 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.geojson.model++module Hydra.Ext.Dsl.Geojson.Model where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Geojson.Model as GeojsonModel+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++-- | DSL constructor for the hydra.ext.geojson.model.BoundingBox wrapper+boundingBox :: Typed.TypedTerm [GeojsonModel.CoordinateRange] -> Typed.TypedTerm GeojsonModel.BoundingBox+boundingBox x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.geojson.model.BoundingBox"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.BoundingBox+boundingBoxBoundingBox :: Typed.TypedName GeojsonModel.BoundingBox+boundingBoxBoundingBox = Typed.TypedName (Model.Name "hydra.ext.geojson.model.BoundingBox")++-- | DSL constructor for hydra.ext.geojson.model.CoordinateRange+coordinateRange :: Typed.TypedTerm Double -> Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.CoordinateRange+coordinateRange min max =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "min"),+ Model.fieldTerm = (Typed.unTypedTerm min)},+ Model.Field {+ Model.fieldName = (Model.Name "max"),+ Model.fieldTerm = (Typed.unTypedTerm max)}]}))++-- | DSL name token for hydra.ext.geojson.model.CoordinateRange+coordinateRangeCoordinateRange :: Typed.TypedName GeojsonModel.CoordinateRange+coordinateRangeCoordinateRange = Typed.TypedName (Model.Name "hydra.ext.geojson.model.CoordinateRange")++-- | DSL accessor for the max field of hydra.ext.geojson.model.CoordinateRange+coordinateRangeMax :: Typed.TypedTerm GeojsonModel.CoordinateRange -> Typed.TypedTerm Double+coordinateRangeMax x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.projectionFieldName = (Model.Name "max")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the min field of hydra.ext.geojson.model.CoordinateRange+coordinateRangeMin :: Typed.TypedTerm GeojsonModel.CoordinateRange -> Typed.TypedTerm Double+coordinateRangeMin x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.projectionFieldName = (Model.Name "min")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the max field of hydra.ext.geojson.model.CoordinateRange+coordinateRangeWithMax :: Typed.TypedTerm GeojsonModel.CoordinateRange -> Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.CoordinateRange+coordinateRangeWithMax original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "min"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.projectionFieldName = (Model.Name "min")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "max"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the min field of hydra.ext.geojson.model.CoordinateRange+coordinateRangeWithMin :: Typed.TypedTerm GeojsonModel.CoordinateRange -> Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.CoordinateRange+coordinateRangeWithMin original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "min"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "max"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.CoordinateRange"),+ Model.projectionFieldName = (Model.Name "max")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.Feature+feature :: Typed.TypedTerm (Maybe GeojsonModel.Geometry) -> Typed.TypedTerm (Maybe (M.Map String JsonModel.Value)) -> Typed.TypedTerm (Maybe GeojsonModel.Id) -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Feature+feature geometry properties id bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Typed.unTypedTerm geometry)},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Typed.unTypedTerm properties)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.Feature+featureBbox :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+featureBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.geojson.model.FeatureCollection+featureCollection :: Typed.TypedTerm [GeojsonModel.Feature] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.FeatureCollection+featureCollection features bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "features"),+ Model.fieldTerm = (Typed.unTypedTerm features)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.FeatureCollection+featureCollectionBbox :: Typed.TypedTerm GeojsonModel.FeatureCollection -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+featureCollectionBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.FeatureCollection+featureCollectionFeatureCollection :: Typed.TypedName GeojsonModel.FeatureCollection+featureCollectionFeatureCollection = Typed.TypedName (Model.Name "hydra.ext.geojson.model.FeatureCollection")++-- | DSL accessor for the features field of hydra.ext.geojson.model.FeatureCollection+featureCollectionFeatures :: Typed.TypedTerm GeojsonModel.FeatureCollection -> Typed.TypedTerm [GeojsonModel.Feature]+featureCollectionFeatures x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.projectionFieldName = (Model.Name "features")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the bbox field of hydra.ext.geojson.model.FeatureCollection+featureCollectionWithBbox :: Typed.TypedTerm GeojsonModel.FeatureCollection -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.FeatureCollection+featureCollectionWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "features"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.projectionFieldName = (Model.Name "features")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the features field of hydra.ext.geojson.model.FeatureCollection+featureCollectionWithFeatures :: Typed.TypedTerm GeojsonModel.FeatureCollection -> Typed.TypedTerm [GeojsonModel.Feature] -> Typed.TypedTerm GeojsonModel.FeatureCollection+featureCollectionWithFeatures original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "features"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.FeatureCollection"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.geojson.model.Feature+featureFeature :: Typed.TypedName GeojsonModel.Feature+featureFeature = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Feature")++-- | DSL accessor for the geometry field of hydra.ext.geojson.model.Feature+featureGeometry :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.Geometry)+featureGeometry x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "geometry")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the id field of hydra.ext.geojson.model.Feature+featureId :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.Id)+featureId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the properties field of hydra.ext.geojson.model.Feature+featureProperties :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe (M.Map String JsonModel.Value))+featureProperties x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the bbox field of hydra.ext.geojson.model.Feature+featureWithBbox :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Feature+featureWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "geometry")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the geometry field of hydra.ext.geojson.model.Feature+featureWithGeometry :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.Geometry) -> Typed.TypedTerm GeojsonModel.Feature+featureWithGeometry original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.geojson.model.Feature+featureWithId :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe GeojsonModel.Id) -> Typed.TypedTerm GeojsonModel.Feature+featureWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "geometry")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "properties")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the properties field of hydra.ext.geojson.model.Feature+featureWithProperties :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm (Maybe (M.Map String JsonModel.Value)) -> Typed.TypedTerm GeojsonModel.Feature+featureWithProperties original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "geometry")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Feature"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.GeometryCollection+geometryCollection :: Typed.TypedTerm [GeojsonModel.Geometry] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.GeometryCollection+geometryCollection geometries bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometries"),+ Model.fieldTerm = (Typed.unTypedTerm geometries)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.GeometryCollection+geometryCollectionBbox :: Typed.TypedTerm GeojsonModel.GeometryCollection -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+geometryCollectionBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the geometries field of hydra.ext.geojson.model.GeometryCollection+geometryCollectionGeometries :: Typed.TypedTerm GeojsonModel.GeometryCollection -> Typed.TypedTerm [GeojsonModel.Geometry]+geometryCollectionGeometries x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.projectionFieldName = (Model.Name "geometries")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.GeometryCollection+geometryCollectionGeometryCollection :: Typed.TypedName GeojsonModel.GeometryCollection+geometryCollectionGeometryCollection = Typed.TypedName (Model.Name "hydra.ext.geojson.model.GeometryCollection")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.GeometryCollection+geometryCollectionWithBbox :: Typed.TypedTerm GeojsonModel.GeometryCollection -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.GeometryCollection+geometryCollectionWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometries"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.projectionFieldName = (Model.Name "geometries")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the geometries field of hydra.ext.geojson.model.GeometryCollection+geometryCollectionWithGeometries :: Typed.TypedTerm GeojsonModel.GeometryCollection -> Typed.TypedTerm [GeojsonModel.Geometry] -> Typed.TypedTerm GeojsonModel.GeometryCollection+geometryCollectionWithGeometries original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "geometries"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.GeometryCollection"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.geojson.model.Geometry+geometryGeometry :: Typed.TypedName GeojsonModel.Geometry+geometryGeometry = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Geometry")++-- | DSL injection for the geometryCollection variant of hydra.ext.geojson.model.Geometry+geometryGeometryCollection :: Typed.TypedTerm GeojsonModel.GeometryCollection -> Typed.TypedTerm GeojsonModel.Geometry+geometryGeometryCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "geometryCollection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lineString variant of hydra.ext.geojson.model.Geometry+geometryLineString :: Typed.TypedTerm GeojsonModel.LineString -> Typed.TypedTerm GeojsonModel.Geometry+geometryLineString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lineString"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multiLineString variant of hydra.ext.geojson.model.Geometry+geometryMultiLineString :: Typed.TypedTerm GeojsonModel.MultiLineString -> Typed.TypedTerm GeojsonModel.Geometry+geometryMultiLineString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiLineString"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multiPoint variant of hydra.ext.geojson.model.Geometry+geometryMultiPoint :: Typed.TypedTerm GeojsonModel.MultiPoint -> Typed.TypedTerm GeojsonModel.Geometry+geometryMultiPoint x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiPoint"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multiPolygon variant of hydra.ext.geojson.model.Geometry+geometryMultiPolygon :: Typed.TypedTerm GeojsonModel.MultiPolygon -> Typed.TypedTerm GeojsonModel.Geometry+geometryMultiPolygon x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiPolygon"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the point variant of hydra.ext.geojson.model.Geometry+geometryPoint :: Typed.TypedTerm GeojsonModel.Point -> Typed.TypedTerm GeojsonModel.Geometry+geometryPoint x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "point"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the polygon variant of hydra.ext.geojson.model.Geometry+geometryPolygon :: Typed.TypedTerm GeojsonModel.Polygon -> Typed.TypedTerm GeojsonModel.Geometry+geometryPolygon x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Geometry"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "polygon"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.geojson.model.Id+idId :: Typed.TypedName GeojsonModel.Id+idId = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Id")++-- | DSL injection for the number variant of hydra.ext.geojson.model.Id+idNumber :: Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.Id+idNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Id"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.geojson.model.Id+idString :: Typed.TypedTerm String -> Typed.TypedTerm GeojsonModel.Id+idString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Id"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.geojson.model.LineString+lineString :: Typed.TypedTerm [GeojsonModel.Position] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.LineString+lineString coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.LineString+lineStringBbox :: Typed.TypedTerm GeojsonModel.LineString -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+lineStringBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.LineString+lineStringCoordinates :: Typed.TypedTerm GeojsonModel.LineString -> Typed.TypedTerm [GeojsonModel.Position]+lineStringCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.LineString+lineStringLineString :: Typed.TypedName GeojsonModel.LineString+lineStringLineString = Typed.TypedName (Model.Name "hydra.ext.geojson.model.LineString")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.LineString+lineStringWithBbox :: Typed.TypedTerm GeojsonModel.LineString -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.LineString+lineStringWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.LineString+lineStringWithCoordinates :: Typed.TypedTerm GeojsonModel.LineString -> Typed.TypedTerm [GeojsonModel.Position] -> Typed.TypedTerm GeojsonModel.LineString+lineStringWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.LineString"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.MultiLineString+multiLineString :: Typed.TypedTerm [GeojsonModel.LineString] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiLineString+multiLineString coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.MultiLineString+multiLineStringBbox :: Typed.TypedTerm GeojsonModel.MultiLineString -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+multiLineStringBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.MultiLineString+multiLineStringCoordinates :: Typed.TypedTerm GeojsonModel.MultiLineString -> Typed.TypedTerm [GeojsonModel.LineString]+multiLineStringCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.MultiLineString+multiLineStringMultiLineString :: Typed.TypedName GeojsonModel.MultiLineString+multiLineStringMultiLineString = Typed.TypedName (Model.Name "hydra.ext.geojson.model.MultiLineString")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.MultiLineString+multiLineStringWithBbox :: Typed.TypedTerm GeojsonModel.MultiLineString -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiLineString+multiLineStringWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.MultiLineString+multiLineStringWithCoordinates :: Typed.TypedTerm GeojsonModel.MultiLineString -> Typed.TypedTerm [GeojsonModel.LineString] -> Typed.TypedTerm GeojsonModel.MultiLineString+multiLineStringWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiLineString"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.MultiPoint+multiPoint :: Typed.TypedTerm [GeojsonModel.Point] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiPoint+multiPoint coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.MultiPoint+multiPointBbox :: Typed.TypedTerm GeojsonModel.MultiPoint -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+multiPointBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.MultiPoint+multiPointCoordinates :: Typed.TypedTerm GeojsonModel.MultiPoint -> Typed.TypedTerm [GeojsonModel.Point]+multiPointCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.MultiPoint+multiPointMultiPoint :: Typed.TypedName GeojsonModel.MultiPoint+multiPointMultiPoint = Typed.TypedName (Model.Name "hydra.ext.geojson.model.MultiPoint")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.MultiPoint+multiPointWithBbox :: Typed.TypedTerm GeojsonModel.MultiPoint -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiPoint+multiPointWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.MultiPoint+multiPointWithCoordinates :: Typed.TypedTerm GeojsonModel.MultiPoint -> Typed.TypedTerm [GeojsonModel.Point] -> Typed.TypedTerm GeojsonModel.MultiPoint+multiPointWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPoint"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.MultiPolygon+multiPolygon :: Typed.TypedTerm [GeojsonModel.Polygon] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiPolygon+multiPolygon coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.MultiPolygon+multiPolygonBbox :: Typed.TypedTerm GeojsonModel.MultiPolygon -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+multiPolygonBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.MultiPolygon+multiPolygonCoordinates :: Typed.TypedTerm GeojsonModel.MultiPolygon -> Typed.TypedTerm [GeojsonModel.Polygon]+multiPolygonCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.MultiPolygon+multiPolygonMultiPolygon :: Typed.TypedName GeojsonModel.MultiPolygon+multiPolygonMultiPolygon = Typed.TypedName (Model.Name "hydra.ext.geojson.model.MultiPolygon")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.MultiPolygon+multiPolygonWithBbox :: Typed.TypedTerm GeojsonModel.MultiPolygon -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.MultiPolygon+multiPolygonWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.MultiPolygon+multiPolygonWithCoordinates :: Typed.TypedTerm GeojsonModel.MultiPolygon -> Typed.TypedTerm [GeojsonModel.Polygon] -> Typed.TypedTerm GeojsonModel.MultiPolygon+multiPolygonWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.MultiPolygon"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the feature variant of hydra.ext.geojson.model.Object+objectFeature :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm GeojsonModel.Object+objectFeature x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Object"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the featureCollection variant of hydra.ext.geojson.model.Object+objectFeatureCollection :: Typed.TypedTerm GeojsonModel.FeatureCollection -> Typed.TypedTerm GeojsonModel.Object+objectFeatureCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Object"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "featureCollection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the geometry variant of hydra.ext.geojson.model.Object+objectGeometry :: Typed.TypedTerm GeojsonModel.Geometry -> Typed.TypedTerm GeojsonModel.Object+objectGeometry x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.geojson.model.Object"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "geometry"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.geojson.model.Object+objectObject :: Typed.TypedName GeojsonModel.Object+objectObject = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Object")++-- | DSL constructor for hydra.ext.geojson.model.Point+point :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Point+point coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.Point+pointBbox :: Typed.TypedTerm GeojsonModel.Point -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+pointBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.Point+pointCoordinates :: Typed.TypedTerm GeojsonModel.Point -> Typed.TypedTerm GeojsonModel.Position+pointCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.Point+pointPoint :: Typed.TypedName GeojsonModel.Point+pointPoint = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Point")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.Point+pointWithBbox :: Typed.TypedTerm GeojsonModel.Point -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Point+pointWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.Point+pointWithCoordinates :: Typed.TypedTerm GeojsonModel.Point -> Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm GeojsonModel.Point+pointWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Point"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.Polygon+polygon :: Typed.TypedTerm [GeojsonModel.Position] -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Polygon+polygon coordinates bbox =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm coordinates)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm bbox)}]}))++-- | DSL accessor for the bbox field of hydra.ext.geojson.model.Polygon+polygonBbox :: Typed.TypedTerm GeojsonModel.Polygon -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox)+polygonBbox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the coordinates field of hydra.ext.geojson.model.Polygon+polygonCoordinates :: Typed.TypedTerm GeojsonModel.Polygon -> Typed.TypedTerm [GeojsonModel.Position]+polygonCoordinates x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.Polygon+polygonPolygon :: Typed.TypedName GeojsonModel.Polygon+polygonPolygon = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Polygon")++-- | DSL updater for the bbox field of hydra.ext.geojson.model.Polygon+polygonWithBbox :: Typed.TypedTerm GeojsonModel.Polygon -> Typed.TypedTerm (Maybe GeojsonModel.BoundingBox) -> Typed.TypedTerm GeojsonModel.Polygon+polygonWithBbox original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.projectionFieldName = (Model.Name "coordinates")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the coordinates field of hydra.ext.geojson.model.Polygon+polygonWithCoordinates :: Typed.TypedTerm GeojsonModel.Polygon -> Typed.TypedTerm [GeojsonModel.Position] -> Typed.TypedTerm GeojsonModel.Polygon+polygonWithCoordinates original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "coordinates"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bbox"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Polygon"),+ Model.projectionFieldName = (Model.Name "bbox")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.geojson.model.Position+position :: Typed.TypedTerm Double -> Typed.TypedTerm Double -> Typed.TypedTerm (Maybe Double) -> Typed.TypedTerm GeojsonModel.Position+position latitude longitude altitude =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "latitude"),+ Model.fieldTerm = (Typed.unTypedTerm latitude)},+ Model.Field {+ Model.fieldName = (Model.Name "longitude"),+ Model.fieldTerm = (Typed.unTypedTerm longitude)},+ Model.Field {+ Model.fieldName = (Model.Name "altitude"),+ Model.fieldTerm = (Typed.unTypedTerm altitude)}]}))++-- | DSL accessor for the altitude field of hydra.ext.geojson.model.Position+positionAltitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm (Maybe Double)+positionAltitude x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "altitude")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the latitude field of hydra.ext.geojson.model.Position+positionLatitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm Double+positionLatitude x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "latitude")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the longitude field of hydra.ext.geojson.model.Position+positionLongitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm Double+positionLongitude x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "longitude")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.geojson.model.Position+positionPosition :: Typed.TypedName GeojsonModel.Position+positionPosition = Typed.TypedName (Model.Name "hydra.ext.geojson.model.Position")++-- | DSL updater for the altitude field of hydra.ext.geojson.model.Position+positionWithAltitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm (Maybe Double) -> Typed.TypedTerm GeojsonModel.Position+positionWithAltitude original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "latitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "latitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "longitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "longitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "altitude"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the latitude field of hydra.ext.geojson.model.Position+positionWithLatitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.Position+positionWithLatitude original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "latitude"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "longitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "longitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "altitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "altitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the longitude field of hydra.ext.geojson.model.Position+positionWithLongitude :: Typed.TypedTerm GeojsonModel.Position -> Typed.TypedTerm Double -> Typed.TypedTerm GeojsonModel.Position+positionWithLongitude original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "latitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "latitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "longitude"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "altitude"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.geojson.model.Position"),+ Model.projectionFieldName = (Model.Name "altitude")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the body of hydra.ext.geojson.model.BoundingBox+unBoundingBox :: Typed.TypedTerm GeojsonModel.BoundingBox -> Typed.TypedTerm [GeojsonModel.CoordinateRange]+unBoundingBox x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.geojson.model.BoundingBox")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))
+ src/main/haskell/Hydra/Ext/Dsl/Graphql/Syntax.hs view
@@ -0,0 +1,7210 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.graphql.syntax++module Hydra.Ext.Dsl.Graphql.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Graphql.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.ext.graphql.syntax.Alias+aliasAlias :: Typed.TypedName Syntax.Alias+aliasAlias = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Alias")++-- | DSL injection for the Colon variant of hydra.ext.graphql.syntax.Alias+aliasColon :: Typed.TypedTerm Syntax.Alias+aliasColon =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Alias"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Colon"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the Name variant of hydra.ext.graphql.syntax.Alias+aliasName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Alias+aliasName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Alias"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.Argument+argument :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Value -> Typed.TypedTerm Syntax.Argument+argument name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Argument"),+ 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.ext.graphql.syntax.Argument+argumentArgument :: Typed.TypedName Syntax.Argument+argumentArgument = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Argument")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.Argument+argumentName :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.Name+argumentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Value field of hydra.ext.graphql.syntax.Argument+argumentValue :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.Value+argumentValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "Value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.Argument+argumentWithName :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Argument+argumentWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Argument"),+ 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.ext.graphql.syntax.Argument"),+ Model.projectionFieldName = (Model.Name "Value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Value field of hydra.ext.graphql.syntax.Argument+argumentWithValue :: Typed.TypedTerm Syntax.Argument -> Typed.TypedTerm Syntax.Value -> Typed.TypedTerm Syntax.Argument+argumentWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Argument"),+ 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.ext.graphql.syntax.Argument"),+ 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 the hydra.ext.graphql.syntax.Arguments wrapper+arguments :: Typed.TypedTerm [Syntax.Argument] -> Typed.TypedTerm Syntax.Arguments+arguments x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Arguments"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Arguments+argumentsArguments :: Typed.TypedName Syntax.Arguments+argumentsArguments = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Arguments")++-- | DSL constructor for the hydra.ext.graphql.syntax.ArgumentsDefinition wrapper+argumentsDefinition :: Typed.TypedTerm [Syntax.InputValueDefinition] -> Typed.TypedTerm Syntax.ArgumentsDefinition+argumentsDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.ArgumentsDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ArgumentsDefinition+argumentsDefinitionArgumentsDefinition :: Typed.TypedName Syntax.ArgumentsDefinition+argumentsDefinitionArgumentsDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ArgumentsDefinition")++-- | DSL name token for hydra.ext.graphql.syntax.BooleanValue+booleanValueBooleanValue :: Typed.TypedName Syntax.BooleanValue+booleanValueBooleanValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.BooleanValue")++-- | DSL injection for the False variant of hydra.ext.graphql.syntax.BooleanValue+booleanValueFalse :: Typed.TypedTerm Syntax.BooleanValue+booleanValueFalse =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.BooleanValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "False"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the True variant of hydra.ext.graphql.syntax.BooleanValue+booleanValueTrue :: Typed.TypedTerm Syntax.BooleanValue+booleanValueTrue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.BooleanValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "True"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.DefaultValue wrapper+defaultValue :: Typed.TypedTerm Syntax.Value -> Typed.TypedTerm Syntax.DefaultValue+defaultValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.DefaultValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.DefaultValue+defaultValueDefaultValue :: Typed.TypedName Syntax.DefaultValue+defaultValueDefaultValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DefaultValue")++-- | DSL name token for hydra.ext.graphql.syntax.Definition+definitionDefinition :: Typed.TypedName Syntax.Definition+definitionDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Definition")++-- | DSL injection for the executable variant of hydra.ext.graphql.syntax.Definition+definitionExecutable :: Typed.TypedTerm Syntax.ExecutableDefinition -> Typed.TypedTerm Syntax.Definition+definitionExecutable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Definition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "executable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeSystem variant of hydra.ext.graphql.syntax.Definition+definitionTypeSystem :: Typed.TypedTerm Syntax.TypeSystemDefinitionOrExtension -> Typed.TypedTerm Syntax.Definition+definitionTypeSystem x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Definition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeSystem"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.Description wrapper+description :: Typed.TypedTerm Syntax.StringValue -> Typed.TypedTerm Syntax.Description+description x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Description"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Description+descriptionDescription :: Typed.TypedName Syntax.Description+descriptionDescription = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Description")++-- | DSL constructor for hydra.ext.graphql.syntax.Directive+directive :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Arguments) -> Typed.TypedTerm Syntax.Directive+directive name arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Directive"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the Arguments field of hydra.ext.graphql.syntax.Directive+directiveArguments :: Typed.TypedTerm Syntax.Directive -> Typed.TypedTerm (Maybe Syntax.Arguments)+directiveArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Directive"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition) -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.DirectiveLocations -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinition description name argumentsDefinition repeatable directiveLocations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm argumentsDefinition)},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Typed.unTypedTerm repeatable)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Typed.unTypedTerm directiveLocations)}]}))++-- | DSL accessor for the ArgumentsDefinition field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionArgumentsDefinition :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition)+directiveDefinitionArgumentsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionDescription :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+directiveDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionDirectiveDefinition :: Typed.TypedName Syntax.DirectiveDefinition+directiveDefinitionDirectiveDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition")++-- | DSL accessor for the DirectiveLocations field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionDirectiveLocations :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm Syntax.DirectiveLocations+directiveDefinitionDirectiveLocations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionName :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm Syntax.Name+directiveDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Repeatable field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionRepeatable :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe ())+directiveDefinitionRepeatable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Repeatable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ArgumentsDefinition field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionWithArgumentsDefinition :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition) -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinitionWithArgumentsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Repeatable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionWithDescription :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Repeatable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the DirectiveLocations field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionWithDirectiveLocations :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm Syntax.DirectiveLocations -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinitionWithDirectiveLocations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Repeatable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionWithName :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Repeatable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Repeatable field of hydra.ext.graphql.syntax.DirectiveDefinition+directiveDefinitionWithRepeatable :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.DirectiveDefinition+directiveDefinitionWithRepeatable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Repeatable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.Directive+directiveDirective :: Typed.TypedName Syntax.Directive+directiveDirective = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Directive")++-- | DSL name token for hydra.ext.graphql.syntax.DirectiveLocation+directiveLocationDirectiveLocation :: Typed.TypedName Syntax.DirectiveLocation+directiveLocationDirectiveLocation = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DirectiveLocation")++-- | DSL injection for the executable variant of hydra.ext.graphql.syntax.DirectiveLocation+directiveLocationExecutable :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocation+directiveLocationExecutable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "executable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeSystem variant of hydra.ext.graphql.syntax.DirectiveLocation+directiveLocationTypeSystem :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocation+directiveLocationTypeSystem x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeSystem"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.DirectiveLocations+directiveLocationsDirectiveLocations :: Typed.TypedName Syntax.DirectiveLocations+directiveLocationsDirectiveLocations = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DirectiveLocations")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.DirectiveLocations+directiveLocationsSeq :: Typed.TypedTerm Syntax.DirectiveLocationsSequence -> Typed.TypedTerm Syntax.DirectiveLocations+directiveLocationsSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.DirectiveLocations+directiveLocationsSeq2 :: Typed.TypedTerm Syntax.DirectiveLocationsSequence2 -> Typed.TypedTerm Syntax.DirectiveLocations+directiveLocationsSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocations"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequence :: Typed.TypedTerm Syntax.DirectiveLocations -> Typed.TypedTerm Syntax.DirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocationsSequence+directiveLocationsSequence directiveLocations directiveLocation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Typed.unTypedTerm directiveLocations)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Typed.unTypedTerm directiveLocation)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2 :: Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.DirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocationsSequence2+directiveLocationsSequence2 or directiveLocation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Typed.unTypedTerm or)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Typed.unTypedTerm directiveLocation)}]}))++-- | DSL accessor for the DirectiveLocation field of hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2DirectiveLocation :: Typed.TypedTerm Syntax.DirectiveLocationsSequence2 -> Typed.TypedTerm Syntax.DirectiveLocation+directiveLocationsSequence2DirectiveLocation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.projectionFieldName = (Model.Name "DirectiveLocation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2DirectiveLocationsSequence2 :: Typed.TypedName Syntax.DirectiveLocationsSequence2+directiveLocationsSequence2DirectiveLocationsSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2")++-- | DSL accessor for the Or field of hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2Or :: Typed.TypedTerm Syntax.DirectiveLocationsSequence2 -> Typed.TypedTerm (Maybe ())+directiveLocationsSequence2Or x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.projectionFieldName = (Model.Name "Or")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the DirectiveLocation field of hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2WithDirectiveLocation :: Typed.TypedTerm Syntax.DirectiveLocationsSequence2 -> Typed.TypedTerm Syntax.DirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocationsSequence2+directiveLocationsSequence2WithDirectiveLocation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.projectionFieldName = (Model.Name "Or")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Or field of hydra.ext.graphql.syntax.DirectiveLocationsSequence2+directiveLocationsSequence2WithOr :: Typed.TypedTerm Syntax.DirectiveLocationsSequence2 -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.DirectiveLocationsSequence2+directiveLocationsSequence2WithOr original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"),+ Model.projectionFieldName = (Model.Name "DirectiveLocation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the DirectiveLocation field of hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequenceDirectiveLocation :: Typed.TypedTerm Syntax.DirectiveLocationsSequence -> Typed.TypedTerm Syntax.DirectiveLocation+directiveLocationsSequenceDirectiveLocation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.projectionFieldName = (Model.Name "DirectiveLocation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the DirectiveLocations field of hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequenceDirectiveLocations :: Typed.TypedTerm Syntax.DirectiveLocationsSequence -> Typed.TypedTerm Syntax.DirectiveLocations+directiveLocationsSequenceDirectiveLocations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequenceDirectiveLocationsSequence :: Typed.TypedName Syntax.DirectiveLocationsSequence+directiveLocationsSequenceDirectiveLocationsSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence")++-- | DSL updater for the DirectiveLocation field of hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequenceWithDirectiveLocation :: Typed.TypedTerm Syntax.DirectiveLocationsSequence -> Typed.TypedTerm Syntax.DirectiveLocation -> Typed.TypedTerm Syntax.DirectiveLocationsSequence+directiveLocationsSequenceWithDirectiveLocation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.projectionFieldName = (Model.Name "DirectiveLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the DirectiveLocations field of hydra.ext.graphql.syntax.DirectiveLocationsSequence+directiveLocationsSequenceWithDirectiveLocations :: Typed.TypedTerm Syntax.DirectiveLocationsSequence -> Typed.TypedTerm Syntax.DirectiveLocations -> Typed.TypedTerm Syntax.DirectiveLocationsSequence+directiveLocationsSequenceWithDirectiveLocations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "DirectiveLocation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"),+ Model.projectionFieldName = (Model.Name "DirectiveLocation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.Directive+directiveName :: Typed.TypedTerm Syntax.Directive -> Typed.TypedTerm Syntax.Name+directiveName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Directive"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Arguments field of hydra.ext.graphql.syntax.Directive+directiveWithArguments :: Typed.TypedTerm Syntax.Directive -> Typed.TypedTerm (Maybe Syntax.Arguments) -> Typed.TypedTerm Syntax.Directive+directiveWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Directive"),+ 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.ext.graphql.syntax.Directive"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.Directive+directiveWithName :: Typed.TypedTerm Syntax.Directive -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Directive+directiveWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Directive"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ 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.ext.graphql.syntax.Directive"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.Directives wrapper+directives :: Typed.TypedTerm [Syntax.Directive] -> Typed.TypedTerm Syntax.Directives+directives x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Directives"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Directives+directivesDirectives :: Typed.TypedName Syntax.Directives+directivesDirectives = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Directives")++-- | DSL constructor for the hydra.ext.graphql.syntax.Document wrapper+document :: Typed.TypedTerm [Syntax.Definition] -> Typed.TypedTerm Syntax.Document+document x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Document"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Document+documentDocument :: Typed.TypedName Syntax.Document+documentDocument = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Document")++-- | DSL constructor for hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm (Maybe Syntax.EnumValuesDefinition) -> Typed.TypedTerm Syntax.EnumTypeDefinition+enumTypeDefinition description name directives enumValuesDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm enumValuesDefinition)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionDescription :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+enumTypeDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionDirectives :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+enumTypeDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionEnumTypeDefinition :: Typed.TypedName Syntax.EnumTypeDefinition+enumTypeDefinitionEnumTypeDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition")++-- | DSL accessor for the EnumValuesDefinition field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionEnumValuesDefinition :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.EnumValuesDefinition)+enumTypeDefinitionEnumValuesDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionName :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm Syntax.Name+enumTypeDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionWithDescription :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.EnumTypeDefinition+enumTypeDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionWithDirectives :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.EnumTypeDefinition+enumTypeDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the EnumValuesDefinition field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionWithEnumValuesDefinition :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm (Maybe Syntax.EnumValuesDefinition) -> Typed.TypedTerm Syntax.EnumTypeDefinition+enumTypeDefinitionWithEnumValuesDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.EnumTypeDefinition+enumTypeDefinitionWithName :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.EnumTypeDefinition+enumTypeDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumTypeExtension+enumTypeExtensionEnumTypeExtension :: Typed.TypedName Syntax.EnumTypeExtension+enumTypeExtensionEnumTypeExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtension")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.EnumTypeExtension+enumTypeExtensionSeq :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm Syntax.EnumTypeExtension+enumTypeExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.EnumTypeExtension+enumTypeExtensionSeq2 :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence2 -> Typed.TypedTerm Syntax.EnumTypeExtension+enumTypeExtensionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequence :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.EnumValuesDefinition -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence+enumTypeExtensionSequence name directives enumValuesDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm enumValuesDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2 name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2Directives :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives+enumTypeExtensionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2EnumTypeExtensionSequence2 :: Typed.TypedName Syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2EnumTypeExtensionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2Name :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name+enumTypeExtensionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2WithDirectives :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ 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.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2WithName :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence2+enumTypeExtensionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceDirectives :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+enumTypeExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceEnumTypeExtensionSequence :: Typed.TypedName Syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceEnumTypeExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence")++-- | DSL accessor for the EnumValuesDefinition field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceEnumValuesDefinition :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm Syntax.EnumValuesDefinition+enumTypeExtensionSequenceEnumValuesDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceName :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm Syntax.Name+enumTypeExtensionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ 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.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the EnumValuesDefinition field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithEnumValuesDefinition :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm Syntax.EnumValuesDefinition -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithEnumValuesDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ 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.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithName :: Typed.TypedTerm Syntax.EnumTypeExtensionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.EnumTypeExtensionSequence+enumTypeExtensionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValuesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "EnumValuesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.EnumValue wrapper+enumValue :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.EnumValue+enumValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.EnumValue -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.EnumValueDefinition+enumValueDefinition description enumValue directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValue"),+ Model.fieldTerm = (Typed.unTypedTerm enumValue)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionDescription :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+enumValueDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionDirectives :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+enumValueDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the EnumValue field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionEnumValue :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm Syntax.EnumValue+enumValueDefinitionEnumValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionEnumValueDefinition :: Typed.TypedName Syntax.EnumValueDefinition+enumValueDefinitionEnumValueDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition")++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionWithDescription :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.EnumValueDefinition+enumValueDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionWithDirectives :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.EnumValueDefinition+enumValueDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "EnumValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the EnumValue field of hydra.ext.graphql.syntax.EnumValueDefinition+enumValueDefinitionWithEnumValue :: Typed.TypedTerm Syntax.EnumValueDefinition -> Typed.TypedTerm Syntax.EnumValue -> Typed.TypedTerm Syntax.EnumValueDefinition+enumValueDefinitionWithEnumValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "EnumValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumValue+enumValueEnumValue :: Typed.TypedName Syntax.EnumValue+enumValueEnumValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumValue")++-- | DSL constructor for the hydra.ext.graphql.syntax.EnumValuesDefinition wrapper+enumValuesDefinition :: Typed.TypedTerm [Syntax.EnumValueDefinition] -> Typed.TypedTerm Syntax.EnumValuesDefinition+enumValuesDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.EnumValuesDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.EnumValuesDefinition+enumValuesDefinitionEnumValuesDefinition :: Typed.TypedName Syntax.EnumValuesDefinition+enumValuesDefinitionEnumValuesDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.EnumValuesDefinition")++-- | DSL name token for hydra.ext.graphql.syntax.ExecutableDefinition+executableDefinitionExecutableDefinition :: Typed.TypedName Syntax.ExecutableDefinition+executableDefinitionExecutableDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ExecutableDefinition")++-- | DSL injection for the fragment variant of hydra.ext.graphql.syntax.ExecutableDefinition+executableDefinitionFragment :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.ExecutableDefinition+executableDefinitionFragment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fragment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the operation variant of hydra.ext.graphql.syntax.ExecutableDefinition+executableDefinitionOperation :: Typed.TypedTerm Syntax.OperationDefinition -> Typed.TypedTerm Syntax.ExecutableDefinition+executableDefinitionOperation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "operation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationExecutableDirectiveLocation :: Typed.TypedName Syntax.ExecutableDirectiveLocation+executableDirectiveLocationExecutableDirectiveLocation =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation")++-- | DSL injection for the FIELD variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationFIELD :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationFIELD =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FIELD"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the FRAGMENT_DEFINITION variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationFRAGMENT_DEFINITION :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationFRAGMENT_DEFINITION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FRAGMENT_DEFINITION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the FRAGMENT_SPREAD variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationFRAGMENT_SPREAD :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationFRAGMENT_SPREAD =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FRAGMENT_SPREAD"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the INLINE_FRAGMENT variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationINLINE_FRAGMENT :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationINLINE_FRAGMENT =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "INLINE_FRAGMENT"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the MUTATION variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationMUTATION :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationMUTATION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "MUTATION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the QUERY variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationQUERY :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationQUERY =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "QUERY"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the SUBSCRIPTION variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationSUBSCRIPTION :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationSUBSCRIPTION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "SUBSCRIPTION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the VARIABLE_DEFINITION variant of hydra.ext.graphql.syntax.ExecutableDirectiveLocation+executableDirectiveLocationVARIABLE_DEFINITION :: Typed.TypedTerm Syntax.ExecutableDirectiveLocation+executableDirectiveLocationVARIABLE_DEFINITION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "VARIABLE_DEFINITION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.ExecutableDocument wrapper+executableDocument :: Typed.TypedTerm [Syntax.ExecutableDefinition] -> Typed.TypedTerm Syntax.ExecutableDocument+executableDocument x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.ExecutableDocument"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ExecutableDocument+executableDocumentExecutableDocument :: Typed.TypedName Syntax.ExecutableDocument+executableDocumentExecutableDocument = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ExecutableDocument")++-- | DSL constructor for hydra.ext.graphql.syntax.Field+field :: Typed.TypedTerm (Maybe Syntax.Alias) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Arguments) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm (Maybe Syntax.SelectionSet) -> Typed.TypedTerm Syntax.Field+field alias name arguments directives selectionSet =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm selectionSet)}]}))++-- | DSL accessor for the Alias field of hydra.ext.graphql.syntax.Field+fieldAlias :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Alias)+fieldAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Arguments field of hydra.ext.graphql.syntax.Field+fieldArguments :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Arguments)+fieldArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.graphql.syntax.FieldDefinition+fieldDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition) -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinition description name argumentsDefinition type_ directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm argumentsDefinition)},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the ArgumentsDefinition field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionArgumentsDefinition :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition)+fieldDefinitionArgumentsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionDescription :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+fieldDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionDirectives :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+fieldDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionFieldDefinition :: Typed.TypedName Syntax.FieldDefinition+fieldDefinitionFieldDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FieldDefinition")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionName :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm Syntax.Name+fieldDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Type field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionType :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm Syntax.Type+fieldDefinitionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ArgumentsDefinition field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionWithArgumentsDefinition :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.ArgumentsDefinition) -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinitionWithArgumentsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionWithDescription :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionWithDirectives :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionWithName :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Type field of hydra.ext.graphql.syntax.FieldDefinition+fieldDefinitionWithType :: Typed.TypedTerm Syntax.FieldDefinition -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.FieldDefinition+fieldDefinitionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArgumentsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "ArgumentsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.Field+fieldDirectives :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Directives)+fieldDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Field+fieldField :: Typed.TypedName Syntax.Field+fieldField = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Field")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.Field+fieldName :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm Syntax.Name+fieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the SelectionSet field of hydra.ext.graphql.syntax.Field+fieldSelectionSet :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.SelectionSet)+fieldSelectionSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Alias field of hydra.ext.graphql.syntax.Field+fieldWithAlias :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Alias) -> Typed.TypedTerm Syntax.Field+fieldWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Arguments field of hydra.ext.graphql.syntax.Field+fieldWithArguments :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Arguments) -> Typed.TypedTerm Syntax.Field+fieldWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Alias")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.Field+fieldWithDirectives :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.Field+fieldWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Alias")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.Field+fieldWithName :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Field+fieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the SelectionSet field of hydra.ext.graphql.syntax.Field+fieldWithSelectionSet :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm (Maybe Syntax.SelectionSet) -> Typed.TypedTerm Syntax.Field+fieldWithSelectionSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Alias")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Field"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.FieldsDefinition wrapper+fieldsDefinition :: Typed.TypedTerm [Syntax.FieldDefinition] -> Typed.TypedTerm Syntax.FieldsDefinition+fieldsDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.FieldsDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FieldsDefinition+fieldsDefinitionFieldsDefinition :: Typed.TypedName Syntax.FieldsDefinition+fieldsDefinitionFieldsDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FieldsDefinition")++-- | DSL constructor for the hydra.ext.graphql.syntax.FloatValue wrapper+floatValue :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.FloatValue+floatValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.FloatValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FloatValue+floatValueFloatValue :: Typed.TypedName Syntax.FloatValue+floatValueFloatValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FloatValue")++-- | DSL constructor for hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinition :: Typed.TypedTerm Syntax.FragmentName -> Typed.TypedTerm Syntax.TypeCondition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.FragmentDefinition+fragmentDefinition fragmentName typeCondition directives selectionSet =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Typed.unTypedTerm fragmentName)},+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Typed.unTypedTerm typeCondition)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm selectionSet)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionDirectives :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+fragmentDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionFragmentDefinition :: Typed.TypedName Syntax.FragmentDefinition+fragmentDefinitionFragmentDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition")++-- | DSL accessor for the FragmentName field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionFragmentName :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.FragmentName+fragmentDefinitionFragmentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the SelectionSet field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionSelectionSet :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.SelectionSet+fragmentDefinitionSelectionSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the TypeCondition field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionTypeCondition :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.TypeCondition+fragmentDefinitionTypeCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionWithDirectives :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FragmentDefinition+fragmentDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the FragmentName field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionWithFragmentName :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.FragmentName -> Typed.TypedTerm Syntax.FragmentDefinition+fragmentDefinitionWithFragmentName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the SelectionSet field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionWithSelectionSet :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.FragmentDefinition+fragmentDefinitionWithSelectionSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the TypeCondition field of hydra.ext.graphql.syntax.FragmentDefinition+fragmentDefinitionWithTypeCondition :: Typed.TypedTerm Syntax.FragmentDefinition -> Typed.TypedTerm Syntax.TypeCondition -> Typed.TypedTerm Syntax.FragmentDefinition+fragmentDefinitionWithTypeCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.FragmentName wrapper+fragmentName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FragmentName+fragmentName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FragmentName+fragmentNameFragmentName :: Typed.TypedName Syntax.FragmentName+fragmentNameFragmentName = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FragmentName")++-- | DSL constructor for hydra.ext.graphql.syntax.FragmentSpread+fragmentSpread :: Typed.TypedTerm Syntax.FragmentName -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FragmentSpread+fragmentSpread fragmentName directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Typed.unTypedTerm fragmentName)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.FragmentSpread+fragmentSpreadDirectives :: Typed.TypedTerm Syntax.FragmentSpread -> Typed.TypedTerm (Maybe Syntax.Directives)+fragmentSpreadDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the FragmentName field of hydra.ext.graphql.syntax.FragmentSpread+fragmentSpreadFragmentName :: Typed.TypedTerm Syntax.FragmentSpread -> Typed.TypedTerm Syntax.FragmentName+fragmentSpreadFragmentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.FragmentSpread+fragmentSpreadFragmentSpread :: Typed.TypedName Syntax.FragmentSpread+fragmentSpreadFragmentSpread = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.FragmentSpread")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.FragmentSpread+fragmentSpreadWithDirectives :: Typed.TypedTerm Syntax.FragmentSpread -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FragmentSpread+fragmentSpreadWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.projectionFieldName = (Model.Name "FragmentName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the FragmentName field of hydra.ext.graphql.syntax.FragmentSpread+fragmentSpreadWithFragmentName :: Typed.TypedTerm Syntax.FragmentSpread -> Typed.TypedTerm Syntax.FragmentName -> Typed.TypedTerm Syntax.FragmentSpread+fragmentSpreadWithFragmentName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "FragmentName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.FragmentSpread"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.ImplementsInterfaces+implementsInterfacesImplementsInterfaces :: Typed.TypedName Syntax.ImplementsInterfaces+implementsInterfacesImplementsInterfaces = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfaces")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.ImplementsInterfaces+implementsInterfacesSeq :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence -> Typed.TypedTerm Syntax.ImplementsInterfaces+implementsInterfacesSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfaces"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.ImplementsInterfaces+implementsInterfacesSeq2 :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence2 -> Typed.TypedTerm Syntax.ImplementsInterfaces+implementsInterfacesSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfaces"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequence :: Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence+implementsInterfacesSequence implementsInterfaces namedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm namedType)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2 :: Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2 amp namedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Amp"),+ Model.fieldTerm = (Typed.unTypedTerm amp)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm namedType)}]}))++-- | DSL accessor for the Amp field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2Amp :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence2 -> Typed.TypedTerm (Maybe ())+implementsInterfacesSequence2Amp x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.projectionFieldName = (Model.Name "Amp")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2ImplementsInterfacesSequence2 :: Typed.TypedName Syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2ImplementsInterfacesSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2")++-- | DSL accessor for the NamedType field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2NamedType :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence2 -> Typed.TypedTerm Syntax.NamedType+implementsInterfacesSequence2NamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Amp field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2WithAmp :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence2 -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2WithAmp original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Amp"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the NamedType field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2WithNamedType :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence2 -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence2+implementsInterfacesSequence2WithNamedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Amp"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"),+ Model.projectionFieldName = (Model.Name "Amp")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceImplementsInterfaces :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence -> Typed.TypedTerm Syntax.ImplementsInterfaces+implementsInterfacesSequenceImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceImplementsInterfacesSequence :: Typed.TypedName Syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceImplementsInterfacesSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence")++-- | DSL accessor for the NamedType field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceNamedType :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence -> Typed.TypedTerm Syntax.NamedType+implementsInterfacesSequenceNamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceWithImplementsInterfaces :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceWithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the NamedType field of hydra.ext.graphql.syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceWithNamedType :: Typed.TypedTerm Syntax.ImplementsInterfacesSequence -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.ImplementsInterfacesSequence+implementsInterfacesSequenceWithNamedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InlineFragment+inlineFragment :: Typed.TypedTerm (Maybe Syntax.TypeCondition) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.InlineFragment+inlineFragment typeCondition directives selectionSet =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Typed.unTypedTerm typeCondition)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm selectionSet)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentDirectives :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm (Maybe Syntax.Directives)+inlineFragmentDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InlineFragment+inlineFragmentInlineFragment :: Typed.TypedName Syntax.InlineFragment+inlineFragmentInlineFragment = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InlineFragment")++-- | DSL accessor for the SelectionSet field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentSelectionSet :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm Syntax.SelectionSet+inlineFragmentSelectionSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the TypeCondition field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentTypeCondition :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm (Maybe Syntax.TypeCondition)+inlineFragmentTypeCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentWithDirectives :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InlineFragment+inlineFragmentWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the SelectionSet field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentWithSelectionSet :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.InlineFragment+inlineFragmentWithSelectionSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "TypeCondition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the TypeCondition field of hydra.ext.graphql.syntax.InlineFragment+inlineFragmentWithTypeCondition :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm (Maybe Syntax.TypeCondition) -> Typed.TypedTerm Syntax.InlineFragment+inlineFragmentWithTypeCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "TypeCondition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InlineFragment"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.InputFieldsDefinition wrapper+inputFieldsDefinition :: Typed.TypedTerm [Syntax.InputValueDefinition] -> Typed.TypedTerm Syntax.InputFieldsDefinition+inputFieldsDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.InputFieldsDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputFieldsDefinition+inputFieldsDefinitionInputFieldsDefinition :: Typed.TypedName Syntax.InputFieldsDefinition+inputFieldsDefinitionInputFieldsDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputFieldsDefinition")++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionInputObjectTypeDefinition :: Typed.TypedName Syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionInputObjectTypeDefinition =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinition")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionSeq :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm Syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionSeq2 :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.InputObjectTypeDefinition+inputObjectTypeDefinitionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequence :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputFieldsDefinition -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequence description name directives inputFieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm inputFieldsDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2 :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2 description name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2Description :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Description)+inputObjectTypeDefinitionSequence2Description x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2Directives :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives)+inputObjectTypeDefinitionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2InputObjectTypeDefinitionSequence2 :: Typed.TypedName Syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2InputObjectTypeDefinitionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2Name :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.Name+inputObjectTypeDefinitionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithDescription :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithDirectives :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithName :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence2+inputObjectTypeDefinitionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceDescription :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Description)+inputObjectTypeDefinitionSequenceDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceDirectives :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+inputObjectTypeDefinitionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the InputFieldsDefinition field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceInputFieldsDefinition :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm Syntax.InputFieldsDefinition+inputObjectTypeDefinitionSequenceInputFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceInputObjectTypeDefinitionSequence :: Typed.TypedName Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceInputObjectTypeDefinitionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceName :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm Syntax.Name+inputObjectTypeDefinitionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithDescription :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithDirectives :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the InputFieldsDefinition field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithInputFieldsDefinition :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm Syntax.InputFieldsDefinition -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithInputFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithName :: Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InputObjectTypeDefinitionSequence+inputObjectTypeDefinitionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeExtension+inputObjectTypeExtensionInputObjectTypeExtension :: Typed.TypedName Syntax.InputObjectTypeExtension+inputObjectTypeExtensionInputObjectTypeExtension =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtension")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.InputObjectTypeExtension+inputObjectTypeExtensionSeq :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.InputObjectTypeExtension+inputObjectTypeExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.InputObjectTypeExtension+inputObjectTypeExtensionSeq2 :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.InputObjectTypeExtension+inputObjectTypeExtensionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequence :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputFieldsDefinition -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequence name directives inputFieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm inputFieldsDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2 name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2Directives :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives+inputObjectTypeExtensionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2InputObjectTypeExtensionSequence2 :: Typed.TypedName Syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2InputObjectTypeExtensionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2Name :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name+inputObjectTypeExtensionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2WithDirectives :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ 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.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2WithName :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence2+inputObjectTypeExtensionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceDirectives :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+inputObjectTypeExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the InputFieldsDefinition field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceInputFieldsDefinition :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.InputFieldsDefinition+inputObjectTypeExtensionSequenceInputFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceInputObjectTypeExtensionSequence :: Typed.TypedName Syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceInputObjectTypeExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceName :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.Name+inputObjectTypeExtensionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ 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.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the InputFieldsDefinition field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithInputFieldsDefinition :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.InputFieldsDefinition -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithInputFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ 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.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithName :: Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InputObjectTypeExtensionSequence+inputObjectTypeExtensionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "InputFieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "InputFieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.DefaultValue) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinition description name type_ defaultValue directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm defaultValue)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the DefaultValue field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionDefaultValue :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.DefaultValue)+inputValueDefinitionDefaultValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionDescription :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+inputValueDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionDirectives :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+inputValueDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionInputValueDefinition :: Typed.TypedName Syntax.InputValueDefinition+inputValueDefinitionInputValueDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionName :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm Syntax.Name+inputValueDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Type field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionType :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm Syntax.Type+inputValueDefinitionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the DefaultValue field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionWithDefaultValue :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.DefaultValue) -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinitionWithDefaultValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionWithDescription :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionWithDirectives :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionWithName :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Type field of hydra.ext.graphql.syntax.InputValueDefinition+inputValueDefinitionWithType :: Typed.TypedTerm Syntax.InputValueDefinition -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.InputValueDefinition+inputValueDefinitionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.IntValue wrapper+intValue :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.IntValue+intValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.IntValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.IntValue+intValueIntValue :: Typed.TypedName Syntax.IntValue+intValueIntValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.IntValue")++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeDefinition+interfaceTypeDefinitionInterfaceTypeDefinition :: Typed.TypedName Syntax.InterfaceTypeDefinition+interfaceTypeDefinitionInterfaceTypeDefinition =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinition")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.InterfaceTypeDefinition+interfaceTypeDefinitionSeq :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm Syntax.InterfaceTypeDefinition+interfaceTypeDefinitionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.InterfaceTypeDefinition+interfaceTypeDefinitionSeq2 :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.InterfaceTypeDefinition+interfaceTypeDefinitionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequence :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequence description name implementsInterfaces directives fieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm fieldsDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2 :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2 description name implementsInterfaces directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2Description :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Description)+interfaceTypeDefinitionSequence2Description x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2Directives :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives)+interfaceTypeDefinitionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2ImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.ImplementsInterfaces+interfaceTypeDefinitionSequence2ImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2InterfaceTypeDefinitionSequence2 :: Typed.TypedName Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2InterfaceTypeDefinitionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2Name :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.Name+interfaceTypeDefinitionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithDescription :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithDirectives :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithName :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence2+interfaceTypeDefinitionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceDescription :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Description)+interfaceTypeDefinitionSequenceDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceDirectives :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+interfaceTypeDefinitionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the FieldsDefinition field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceFieldsDefinition :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm Syntax.FieldsDefinition+interfaceTypeDefinitionSequenceFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+interfaceTypeDefinitionSequenceImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceInterfaceTypeDefinitionSequence :: Typed.TypedName Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceInterfaceTypeDefinitionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceName :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm Syntax.Name+interfaceTypeDefinitionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithDescription :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithDirectives :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the FieldsDefinition field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithFieldsDefinition :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithName :: Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InterfaceTypeDefinitionSequence+interfaceTypeDefinitionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeExtension+interfaceTypeExtensionInterfaceTypeExtension :: Typed.TypedName Syntax.InterfaceTypeExtension+interfaceTypeExtensionInterfaceTypeExtension =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm Syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq2 :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm Syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq3 variant of hydra.ext.graphql.syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq3 :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3 -> Typed.TypedTerm Syntax.InterfaceTypeExtension+interfaceTypeExtensionSeq3 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq3"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequence :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequence name implementsInterfaces directives fieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm fieldsDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2 name implementsInterfaces directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2Directives :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives+interfaceTypeExtensionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2ImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+interfaceTypeExtensionSequence2ImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2InterfaceTypeExtensionSequence2 :: Typed.TypedName Syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2InterfaceTypeExtensionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2Name :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name+interfaceTypeExtensionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithDirectives :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithName :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence2+interfaceTypeExtensionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3 name implementsInterfaces =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)}]}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3ImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3 -> Typed.TypedTerm Syntax.ImplementsInterfaces+interfaceTypeExtensionSequence3ImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3InterfaceTypeExtensionSequence3 :: Typed.TypedName Syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3InterfaceTypeExtensionSequence3 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3Name :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3 -> Typed.TypedTerm Syntax.Name+interfaceTypeExtensionSequence3Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3WithImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3 -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3WithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3WithName :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence3+interfaceTypeExtensionSequence3WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceDirectives :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+interfaceTypeExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the FieldsDefinition field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceFieldsDefinition :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm Syntax.FieldsDefinition+interfaceTypeExtensionSequenceFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+interfaceTypeExtensionSequenceImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceInterfaceTypeExtensionSequence :: Typed.TypedName Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceInterfaceTypeExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence")++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceName :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm Syntax.Name+interfaceTypeExtensionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the FieldsDefinition field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithFieldsDefinition :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithImplementsInterfaces :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ 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.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithName :: Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.InterfaceTypeExtensionSequence+interfaceTypeExtensionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.graphql.syntax.ListType wrapper+listType :: Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.ListType+listType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.ListType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ListType+listTypeListType :: Typed.TypedName Syntax.ListType+listTypeListType = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ListType")++-- | DSL name token for hydra.ext.graphql.syntax.ListValue+listValueListValue :: Typed.TypedName Syntax.ListValue+listValueListValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ListValue")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.ListValue+listValueSeq :: Typed.TypedTerm Syntax.ListValueSequence -> Typed.TypedTerm Syntax.ListValue+listValueSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ListValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sequence2 variant of hydra.ext.graphql.syntax.ListValue+listValueSequence2 :: Typed.TypedTerm [Syntax.Value] -> Typed.TypedTerm Syntax.ListValue+listValueSequence2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ListValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sequence2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.Name wrapper+name :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Name+name x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Name"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Name+nameName :: Typed.TypedName Syntax.Name+nameName = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Name")++-- | DSL constructor for the hydra.ext.graphql.syntax.NamedType wrapper+namedType :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.NamedType+namedType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.NamedType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.NamedType+namedTypeNamedType :: Typed.TypedName Syntax.NamedType+namedTypeNamedType = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.NamedType")++-- | DSL injection for the list variant of hydra.ext.graphql.syntax.NonNullType+nonNullTypeList :: Typed.TypedTerm Syntax.ListType -> Typed.TypedTerm Syntax.NonNullType+nonNullTypeList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.NonNullType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the named variant of hydra.ext.graphql.syntax.NonNullType+nonNullTypeNamed :: Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.NonNullType+nonNullTypeNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.NonNullType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.NonNullType+nonNullTypeNonNullType :: Typed.TypedName Syntax.NonNullType+nonNullTypeNonNullType = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.NonNullType")++-- | DSL constructor for the hydra.ext.graphql.syntax.NullValue wrapper+nullValue :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NullValue+nullValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.NullValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.NullValue+nullValueNullValue :: Typed.TypedName Syntax.NullValue+nullValueNullValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.NullValue")++-- | DSL constructor for hydra.ext.graphql.syntax.ObjectField+objectField :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Value -> Typed.TypedTerm Syntax.ObjectField+objectField name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectField"),+ 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 accessor for the Name field of hydra.ext.graphql.syntax.ObjectField+objectFieldName :: Typed.TypedTerm Syntax.ObjectField -> Typed.TypedTerm Syntax.Name+objectFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectField"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectField+objectFieldObjectField :: Typed.TypedName Syntax.ObjectField+objectFieldObjectField = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectField")++-- | DSL accessor for the Value field of hydra.ext.graphql.syntax.ObjectField+objectFieldValue :: Typed.TypedTerm Syntax.ObjectField -> Typed.TypedTerm Syntax.Value+objectFieldValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectField"),+ Model.projectionFieldName = (Model.Name "Value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ObjectField+objectFieldWithName :: Typed.TypedTerm Syntax.ObjectField -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ObjectField+objectFieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectField"),+ 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.ext.graphql.syntax.ObjectField"),+ Model.projectionFieldName = (Model.Name "Value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Value field of hydra.ext.graphql.syntax.ObjectField+objectFieldWithValue :: Typed.TypedTerm Syntax.ObjectField -> Typed.TypedTerm Syntax.Value -> Typed.TypedTerm Syntax.ObjectField+objectFieldWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectField"),+ 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.ext.graphql.syntax.ObjectField"),+ 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.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm (Maybe Syntax.FieldsDefinition) -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinition description name implementsInterfaces directives fieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm fieldsDefinition)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionDescription :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+objectTypeDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionDirectives :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+objectTypeDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the FieldsDefinition field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionFieldsDefinition :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.FieldsDefinition)+objectTypeDefinitionFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+objectTypeDefinitionImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionName :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm Syntax.Name+objectTypeDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionObjectTypeDefinition :: Typed.TypedName Syntax.ObjectTypeDefinition+objectTypeDefinitionObjectTypeDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition")++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionWithDescription :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionWithDirectives :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the FieldsDefinition field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionWithFieldsDefinition :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.FieldsDefinition) -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinitionWithFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionWithImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinitionWithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ObjectTypeDefinition+objectTypeDefinitionWithName :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ObjectTypeDefinition+objectTypeDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectTypeExtension+objectTypeExtensionObjectTypeExtension :: Typed.TypedName Syntax.ObjectTypeExtension+objectTypeExtensionObjectTypeExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.ObjectTypeExtension+objectTypeExtensionSeq :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.ObjectTypeExtension+objectTypeExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.ObjectTypeExtension+objectTypeExtensionSeq2 :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.ObjectTypeExtension+objectTypeExtensionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq3 variant of hydra.ext.graphql.syntax.ObjectTypeExtension+objectTypeExtensionSeq3 :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3 -> Typed.TypedTerm Syntax.ObjectTypeExtension+objectTypeExtensionSeq3 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq3"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequence :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequence name implementsInterfaces directives fieldsDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm fieldsDefinition)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2 name implementsInterfaces directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2Directives :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives)+objectTypeExtensionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2ImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+objectTypeExtensionSequence2ImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2Name :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name+objectTypeExtensionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2ObjectTypeExtensionSequence2 :: Typed.TypedName Syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2ObjectTypeExtensionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithDirectives :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithName :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence2+objectTypeExtensionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3 name implementsInterfaces =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm implementsInterfaces)}]}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3ImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3 -> Typed.TypedTerm Syntax.ImplementsInterfaces+objectTypeExtensionSequence3ImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3Name :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3 -> Typed.TypedTerm Syntax.Name+objectTypeExtensionSequence3Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3ObjectTypeExtensionSequence3 :: Typed.TypedName Syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3ObjectTypeExtensionSequence3 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3")++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3WithImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3 -> Typed.TypedTerm Syntax.ImplementsInterfaces -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3WithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3WithName :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence3+objectTypeExtensionSequence3WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceDirectives :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+objectTypeExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the FieldsDefinition field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceFieldsDefinition :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.FieldsDefinition+objectTypeExtensionSequenceFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces)+objectTypeExtensionSequenceImplementsInterfaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceName :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.Name+objectTypeExtensionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceObjectTypeExtensionSequence :: Typed.TypedName Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceObjectTypeExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the FieldsDefinition field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithFieldsDefinition :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithFieldsDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ImplementsInterfaces field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithImplementsInterfaces :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.ImplementsInterfaces) -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithImplementsInterfaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ 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.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithName :: Typed.TypedTerm Syntax.ObjectTypeExtensionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ObjectTypeExtensionSequence+objectTypeExtensionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ImplementsInterfaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "ImplementsInterfaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "FieldsDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "FieldsDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.ObjectValue+objectValueObjectValue :: Typed.TypedName Syntax.ObjectValue+objectValueObjectValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ObjectValue")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.ObjectValue+objectValueSeq :: Typed.TypedTerm Syntax.ObjectValueSequence -> Typed.TypedTerm Syntax.ObjectValue+objectValueSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sequence2 variant of hydra.ext.graphql.syntax.ObjectValue+objectValueSequence2 :: Typed.TypedTerm [Syntax.ObjectField] -> Typed.TypedTerm Syntax.ObjectValue+objectValueSequence2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ObjectValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sequence2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.OperationDefinition+operationDefinitionOperationDefinition :: Typed.TypedName Syntax.OperationDefinition+operationDefinitionOperationDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.OperationDefinition")++-- | DSL injection for the SelectionSet variant of hydra.ext.graphql.syntax.OperationDefinition+operationDefinitionSelectionSet :: Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.OperationDefinition+operationDefinitionSelectionSet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.OperationDefinition+operationDefinitionSeq :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm Syntax.OperationDefinition+operationDefinitionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequence :: Typed.TypedTerm Syntax.OperationType -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm (Maybe Syntax.VariablesDefinition) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequence operationType name variablesDefinition directives selectionSet =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Typed.unTypedTerm operationType)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm variablesDefinition)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm selectionSet)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceDirectives :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+operationDefinitionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceName :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Name)+operationDefinitionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceOperationDefinitionSequence :: Typed.TypedName Syntax.OperationDefinitionSequence+operationDefinitionSequenceOperationDefinitionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence")++-- | DSL accessor for the OperationType field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceOperationType :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm Syntax.OperationType+operationDefinitionSequenceOperationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the SelectionSet field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceSelectionSet :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm Syntax.SelectionSet+operationDefinitionSequenceSelectionSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the VariablesDefinition field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceVariablesDefinition :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.VariablesDefinition)+operationDefinitionSequenceVariablesDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "VariablesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceWithDirectives :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ 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.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "VariablesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceWithName :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "VariablesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the OperationType field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceWithOperationType :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm Syntax.OperationType -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequenceWithOperationType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ 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.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "VariablesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the SelectionSet field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceWithSelectionSet :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequenceWithSelectionSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ 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.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "VariablesDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the VariablesDefinition field of hydra.ext.graphql.syntax.OperationDefinitionSequence+operationDefinitionSequenceWithVariablesDefinition :: Typed.TypedTerm Syntax.OperationDefinitionSequence -> Typed.TypedTerm (Maybe Syntax.VariablesDefinition) -> Typed.TypedTerm Syntax.OperationDefinitionSequence+operationDefinitionSequenceWithVariablesDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ 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.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "VariablesDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "SelectionSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"),+ Model.projectionFieldName = (Model.Name "SelectionSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the Mutation variant of hydra.ext.graphql.syntax.OperationType+operationTypeMutation :: Typed.TypedTerm Syntax.OperationType+operationTypeMutation =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Mutation"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.graphql.syntax.OperationType+operationTypeOperationType :: Typed.TypedName Syntax.OperationType+operationTypeOperationType = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.OperationType")++-- | DSL injection for the Query variant of hydra.ext.graphql.syntax.OperationType+operationTypeQuery :: Typed.TypedTerm Syntax.OperationType+operationTypeQuery =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Query"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the Subscription variant of hydra.ext.graphql.syntax.OperationType+operationTypeSubscription :: Typed.TypedTerm Syntax.OperationType+operationTypeSubscription =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.OperationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Subscription"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinition :: Typed.TypedTerm Syntax.OperationType -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.RootOperationTypeDefinition+rootOperationTypeDefinition operationType namedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Typed.unTypedTerm operationType)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm namedType)}]}))++-- | DSL accessor for the NamedType field of hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionNamedType :: Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.NamedType+rootOperationTypeDefinitionNamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the OperationType field of hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionOperationType :: Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.OperationType+rootOperationTypeDefinitionOperationType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionRootOperationTypeDefinition :: Typed.TypedName Syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionRootOperationTypeDefinition =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition")++-- | DSL updater for the NamedType field of hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionWithNamedType :: Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionWithNamedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.projectionFieldName = (Model.Name "OperationType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the OperationType field of hydra.ext.graphql.syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionWithOperationType :: Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.OperationType -> Typed.TypedTerm Syntax.RootOperationTypeDefinition+rootOperationTypeDefinitionWithOperationType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "OperationType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ScalarTypeDefinition+scalarTypeDefinition description name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionDescription :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+scalarTypeDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionDirectives :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+scalarTypeDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionName :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm Syntax.Name+scalarTypeDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionScalarTypeDefinition :: Typed.TypedName Syntax.ScalarTypeDefinition+scalarTypeDefinitionScalarTypeDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition")++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionWithDescription :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.ScalarTypeDefinition+scalarTypeDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionWithDirectives :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.ScalarTypeDefinition+scalarTypeDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ScalarTypeDefinition+scalarTypeDefinitionWithName :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ScalarTypeDefinition+scalarTypeDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtension :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.ScalarTypeExtension+scalarTypeExtension name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtensionDirectives :: Typed.TypedTerm Syntax.ScalarTypeExtension -> Typed.TypedTerm Syntax.Directives+scalarTypeExtensionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtensionName :: Typed.TypedTerm Syntax.ScalarTypeExtension -> Typed.TypedTerm Syntax.Name+scalarTypeExtensionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtensionScalarTypeExtension :: Typed.TypedName Syntax.ScalarTypeExtension+scalarTypeExtensionScalarTypeExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtensionWithDirectives :: Typed.TypedTerm Syntax.ScalarTypeExtension -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.ScalarTypeExtension+scalarTypeExtensionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ 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.ext.graphql.syntax.ScalarTypeExtension"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.ScalarTypeExtension+scalarTypeExtensionWithName :: Typed.TypedTerm Syntax.ScalarTypeExtension -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ScalarTypeExtension+scalarTypeExtensionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.SchemaDefinition+schemaDefinition description directives rootOperationTypeDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm rootOperationTypeDefinition)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionDescription :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+schemaDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionDirectives :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+schemaDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the RootOperationTypeDefinition field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionRootOperationTypeDefinition :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm Syntax.RootOperationTypeDefinition+schemaDefinitionRootOperationTypeDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "RootOperationTypeDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionSchemaDefinition :: Typed.TypedName Syntax.SchemaDefinition+schemaDefinitionSchemaDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition")++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionWithDescription :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.SchemaDefinition+schemaDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "RootOperationTypeDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionWithDirectives :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.SchemaDefinition+schemaDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "RootOperationTypeDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the RootOperationTypeDefinition field of hydra.ext.graphql.syntax.SchemaDefinition+schemaDefinitionWithRootOperationTypeDefinition :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.SchemaDefinition+schemaDefinitionWithRootOperationTypeDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.graphql.syntax.SchemaExtension+schemaExtensionSchemaExtension :: Typed.TypedName Syntax.SchemaExtension+schemaExtensionSchemaExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.SchemaExtension")++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.SchemaExtension+schemaExtensionSeq :: Typed.TypedTerm Syntax.SchemaExtensionSequence -> Typed.TypedTerm Syntax.SchemaExtension+schemaExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequence :: Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.SchemaExtensionSequence+schemaExtensionSequence directives rootOperationTypeDefinition =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm rootOperationTypeDefinition)}]}))++-- | DSL injection for the sequence2 variant of hydra.ext.graphql.syntax.SchemaExtension+schemaExtensionSequence2 :: Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.SchemaExtension+schemaExtensionSequence2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sequence2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequenceDirectives :: Typed.TypedTerm Syntax.SchemaExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+schemaExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the RootOperationTypeDefinition field of hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequenceRootOperationTypeDefinition :: Typed.TypedTerm Syntax.SchemaExtensionSequence -> Typed.TypedTerm Syntax.RootOperationTypeDefinition+schemaExtensionSequenceRootOperationTypeDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.projectionFieldName = (Model.Name "RootOperationTypeDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequenceSchemaExtensionSequence :: Typed.TypedName Syntax.SchemaExtensionSequence+schemaExtensionSequenceSchemaExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.SchemaExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.SchemaExtensionSequence+schemaExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.projectionFieldName = (Model.Name "RootOperationTypeDefinition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the RootOperationTypeDefinition field of hydra.ext.graphql.syntax.SchemaExtensionSequence+schemaExtensionSequenceWithRootOperationTypeDefinition :: Typed.TypedTerm Syntax.SchemaExtensionSequence -> Typed.TypedTerm Syntax.RootOperationTypeDefinition -> Typed.TypedTerm Syntax.SchemaExtensionSequence+schemaExtensionSequenceWithRootOperationTypeDefinition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "RootOperationTypeDefinition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the Field variant of hydra.ext.graphql.syntax.Selection+selectionField :: Typed.TypedTerm Syntax.Field -> Typed.TypedTerm Syntax.Selection+selectionField x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Selection"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Field"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the FragmentSpread variant of hydra.ext.graphql.syntax.Selection+selectionFragmentSpread :: Typed.TypedTerm Syntax.FragmentSpread -> Typed.TypedTerm Syntax.Selection+selectionFragmentSpread x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Selection"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FragmentSpread"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the InlineFragment variant of hydra.ext.graphql.syntax.Selection+selectionInlineFragment :: Typed.TypedTerm Syntax.InlineFragment -> Typed.TypedTerm Syntax.Selection+selectionInlineFragment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Selection"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "InlineFragment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.Selection+selectionSelection :: Typed.TypedName Syntax.Selection+selectionSelection = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Selection")++-- | DSL constructor for the hydra.ext.graphql.syntax.SelectionSet wrapper+selectionSet :: Typed.TypedTerm [Syntax.Selection] -> Typed.TypedTerm Syntax.SelectionSet+selectionSet x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.SelectionSet"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.SelectionSet+selectionSetSelectionSet :: Typed.TypedName Syntax.SelectionSet+selectionSetSelectionSet = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.SelectionSet")++-- | DSL constructor for the hydra.ext.graphql.syntax.StringValue wrapper+stringValue :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.StringValue+stringValue x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.StringValue"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.StringValue+stringValueStringValue :: Typed.TypedName Syntax.StringValue+stringValueStringValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.StringValue")++-- | DSL injection for the NamedType variant of hydra.ext.graphql.syntax.TypeCondition+typeConditionNamedType :: Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.TypeCondition+typeConditionNamedType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeCondition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the On variant of hydra.ext.graphql.syntax.TypeCondition+typeConditionOn :: Typed.TypedTerm Syntax.TypeCondition+typeConditionOn =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeCondition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "On"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeCondition+typeConditionTypeCondition :: Typed.TypedName Syntax.TypeCondition+typeConditionTypeCondition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeCondition")++-- | DSL injection for the enum variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionEnum :: Typed.TypedTerm Syntax.EnumTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the inputObject variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionInputObject :: Typed.TypedTerm Syntax.InputObjectTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionInputObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inputObject"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interface variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionInterface :: Typed.TypedTerm Syntax.InterfaceTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionObject :: Typed.TypedTerm Syntax.ObjectTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the scalar variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionScalar :: Typed.TypedTerm Syntax.ScalarTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionScalar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "scalar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionTypeDefinition :: Typed.TypedName Syntax.TypeDefinition+typeDefinitionTypeDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeDefinition")++-- | DSL injection for the union variant of hydra.ext.graphql.syntax.TypeDefinition+typeDefinitionUnion :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm Syntax.TypeDefinition+typeDefinitionUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionEnum :: Typed.TypedTerm Syntax.EnumTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the inputObject variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionInputObject :: Typed.TypedTerm Syntax.InputObjectTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionInputObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inputObject"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interface variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionInterface :: Typed.TypedTerm Syntax.InterfaceTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionInterface x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interface"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionObject :: Typed.TypedTerm Syntax.ObjectTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the scalar variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionScalar :: Typed.TypedTerm Syntax.ScalarTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionScalar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "scalar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeExtension+typeExtensionTypeExtension :: Typed.TypedName Syntax.TypeExtension+typeExtensionTypeExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeExtension")++-- | DSL injection for the union variant of hydra.ext.graphql.syntax.TypeExtension+typeExtensionUnion :: Typed.TypedTerm Syntax.UnionTypeExtension -> Typed.TypedTerm Syntax.TypeExtension+typeExtensionUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the list variant of hydra.ext.graphql.syntax.Type+typeList :: Typed.TypedTerm Syntax.ListType -> Typed.TypedTerm Syntax.Type+typeList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the named variant of hydra.ext.graphql.syntax.Type+typeNamed :: Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.Type+typeNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nonNull variant of hydra.ext.graphql.syntax.Type+typeNonNull :: Typed.TypedTerm Syntax.NonNullType -> Typed.TypedTerm Syntax.Type+typeNonNull x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nonNull"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the directive variant of hydra.ext.graphql.syntax.TypeSystemDefinition+typeSystemDefinitionDirective :: Typed.TypedTerm Syntax.DirectiveDefinition -> Typed.TypedTerm Syntax.TypeSystemDefinition+typeSystemDefinitionDirective x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "directive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the definition variant of hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionDefinition :: Typed.TypedTerm Syntax.TypeSystemDefinition -> Typed.TypedTerm Syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionDefinition x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "definition"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the extension variant of hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionExtension :: Typed.TypedTerm Syntax.TypeSystemExtension -> Typed.TypedTerm Syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionExtension x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extension"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionTypeSystemDefinitionOrExtension :: Typed.TypedName Syntax.TypeSystemDefinitionOrExtension+typeSystemDefinitionOrExtensionTypeSystemDefinitionOrExtension =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension")++-- | DSL injection for the schema variant of hydra.ext.graphql.syntax.TypeSystemDefinition+typeSystemDefinitionSchema :: Typed.TypedTerm Syntax.SchemaDefinition -> Typed.TypedTerm Syntax.TypeSystemDefinition+typeSystemDefinitionSchema x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.graphql.syntax.TypeSystemDefinition+typeSystemDefinitionType :: Typed.TypedTerm Syntax.TypeDefinition -> Typed.TypedTerm Syntax.TypeSystemDefinition+typeSystemDefinitionType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemDefinition+typeSystemDefinitionTypeSystemDefinition :: Typed.TypedName Syntax.TypeSystemDefinition+typeSystemDefinitionTypeSystemDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition")++-- | DSL injection for the ARGUMENT_DEFINITION variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationARGUMENT_DEFINITION :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationARGUMENT_DEFINITION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ARGUMENT_DEFINITION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ENUM variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationENUM :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationENUM =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ENUM"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ENUM_VALUE variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationENUM_VALUE :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationENUM_VALUE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ENUM_VALUE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the FIELD_DEFINITION variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationFIELD_DEFINITION :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationFIELD_DEFINITION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FIELD_DEFINITION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the INPUT_FIELD_DEFINITION variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINPUT_FIELD_DEFINITION :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINPUT_FIELD_DEFINITION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "INPUT_FIELD_DEFINITION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the INPUT_OBJECT variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINPUT_OBJECT :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINPUT_OBJECT =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "INPUT_OBJECT"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the INTERFACE variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINTERFACE :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationINTERFACE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "INTERFACE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the OBJECT variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationOBJECT :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationOBJECT =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "OBJECT"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the SCALAR variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationSCALAR :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationSCALAR =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "SCALAR"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the SCHEMA variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationSCHEMA :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationSCHEMA =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "SCHEMA"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationTypeSystemDirectiveLocation :: Typed.TypedName Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationTypeSystemDirectiveLocation =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation")++-- | DSL injection for the UNION variant of hydra.ext.graphql.syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationUNION :: Typed.TypedTerm Syntax.TypeSystemDirectiveLocation+typeSystemDirectiveLocationUNION =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "UNION"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.TypeSystemDocment wrapper+typeSystemDocment :: Typed.TypedTerm [Syntax.TypeSystemDefinition] -> Typed.TypedTerm Syntax.TypeSystemDocment+typeSystemDocment x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemDocment"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemDocment+typeSystemDocmentTypeSystemDocment :: Typed.TypedName Syntax.TypeSystemDocment+typeSystemDocmentTypeSystemDocment = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemDocment")++-- | DSL constructor for the hydra.ext.graphql.syntax.TypeSystemExtensionDocument wrapper+typeSystemExtensionDocument :: Typed.TypedTerm [Syntax.TypeSystemDefinitionOrExtension] -> Typed.TypedTerm Syntax.TypeSystemExtensionDocument+typeSystemExtensionDocument x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtensionDocument"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemExtensionDocument+typeSystemExtensionDocumentTypeSystemExtensionDocument :: Typed.TypedName Syntax.TypeSystemExtensionDocument+typeSystemExtensionDocumentTypeSystemExtensionDocument =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtensionDocument")++-- | DSL injection for the schema variant of hydra.ext.graphql.syntax.TypeSystemExtension+typeSystemExtensionSchema :: Typed.TypedTerm Syntax.SchemaExtension -> Typed.TypedTerm Syntax.TypeSystemExtension+typeSystemExtensionSchema x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.graphql.syntax.TypeSystemExtension+typeSystemExtensionType :: Typed.TypedTerm Syntax.TypeExtension -> Typed.TypedTerm Syntax.TypeSystemExtension+typeSystemExtensionType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.TypeSystemExtension+typeSystemExtensionTypeSystemExtension :: Typed.TypedName Syntax.TypeSystemExtension+typeSystemExtensionTypeSystemExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtension")++-- | DSL name token for hydra.ext.graphql.syntax.Type+typeType :: Typed.TypedName Syntax.Type+typeType = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Type")++-- | DSL accessor for the body of hydra.ext.graphql.syntax.Arguments+unArguments :: Typed.TypedTerm Syntax.Arguments -> Typed.TypedTerm [Syntax.Argument]+unArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.Arguments")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.ArgumentsDefinition+unArgumentsDefinition :: Typed.TypedTerm Syntax.ArgumentsDefinition -> Typed.TypedTerm [Syntax.InputValueDefinition]+unArgumentsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.ArgumentsDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.DefaultValue+unDefaultValue :: Typed.TypedTerm Syntax.DefaultValue -> Typed.TypedTerm Syntax.Value+unDefaultValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.DefaultValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.Description+unDescription :: Typed.TypedTerm Syntax.Description -> Typed.TypedTerm Syntax.StringValue+unDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.Description")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.Directives+unDirectives :: Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm [Syntax.Directive]+unDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.Directives")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.Document+unDocument :: Typed.TypedTerm Syntax.Document -> Typed.TypedTerm [Syntax.Definition]+unDocument x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.Document")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.EnumValue+unEnumValue :: Typed.TypedTerm Syntax.EnumValue -> Typed.TypedTerm Syntax.Name+unEnumValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.EnumValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.EnumValuesDefinition+unEnumValuesDefinition :: Typed.TypedTerm Syntax.EnumValuesDefinition -> Typed.TypedTerm [Syntax.EnumValueDefinition]+unEnumValuesDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.EnumValuesDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.ExecutableDocument+unExecutableDocument :: Typed.TypedTerm Syntax.ExecutableDocument -> Typed.TypedTerm [Syntax.ExecutableDefinition]+unExecutableDocument x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.ExecutableDocument")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.FieldsDefinition+unFieldsDefinition :: Typed.TypedTerm Syntax.FieldsDefinition -> Typed.TypedTerm [Syntax.FieldDefinition]+unFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.FieldsDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.FloatValue+unFloatValue :: Typed.TypedTerm Syntax.FloatValue -> Typed.TypedTerm String+unFloatValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.FloatValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.FragmentName+unFragmentName :: Typed.TypedTerm Syntax.FragmentName -> Typed.TypedTerm Syntax.Name+unFragmentName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.FragmentName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.InputFieldsDefinition+unInputFieldsDefinition :: Typed.TypedTerm Syntax.InputFieldsDefinition -> Typed.TypedTerm [Syntax.InputValueDefinition]+unInputFieldsDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.InputFieldsDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.IntValue+unIntValue :: Typed.TypedTerm Syntax.IntValue -> Typed.TypedTerm String+unIntValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.IntValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.ListType+unListType :: Typed.TypedTerm Syntax.ListType -> Typed.TypedTerm Syntax.Type+unListType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.ListType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.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.ext.graphql.syntax.Name")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.NamedType+unNamedType :: Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.Name+unNamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.NamedType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.NullValue+unNullValue :: Typed.TypedTerm Syntax.NullValue -> Typed.TypedTerm ()+unNullValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.NullValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.SelectionSet+unSelectionSet :: Typed.TypedTerm Syntax.SelectionSet -> Typed.TypedTerm [Syntax.Selection]+unSelectionSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.SelectionSet")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.StringValue+unStringValue :: Typed.TypedTerm Syntax.StringValue -> Typed.TypedTerm String+unStringValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.StringValue")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.TypeSystemDocment+unTypeSystemDocment :: Typed.TypedTerm Syntax.TypeSystemDocment -> Typed.TypedTerm [Syntax.TypeSystemDefinition]+unTypeSystemDocment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.TypeSystemDocment")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.TypeSystemExtensionDocument+unTypeSystemExtensionDocument :: Typed.TypedTerm Syntax.TypeSystemExtensionDocument -> Typed.TypedTerm [Syntax.TypeSystemDefinitionOrExtension]+unTypeSystemExtensionDocument x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.TypeSystemExtensionDocument")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.graphql.syntax.Variable+unVariable :: Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm Syntax.Name+unVariable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.graphql.syntax.Variable")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.UnionMemberTypes+unionMemberTypesSeq :: Typed.TypedTerm Syntax.UnionMemberTypesSequence -> Typed.TypedTerm Syntax.UnionMemberTypes+unionMemberTypesSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypes"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.UnionMemberTypes+unionMemberTypesSeq2 :: Typed.TypedTerm Syntax.UnionMemberTypesSequence2 -> Typed.TypedTerm Syntax.UnionMemberTypes+unionMemberTypesSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypes"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequence :: Typed.TypedTerm Syntax.UnionMemberTypes -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.UnionMemberTypesSequence+unionMemberTypesSequence unionMemberTypes namedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm unionMemberTypes)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm namedType)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2 :: Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2 or namedType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Typed.unTypedTerm or)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm namedType)}]}))++-- | DSL accessor for the NamedType field of hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2NamedType :: Typed.TypedTerm Syntax.UnionMemberTypesSequence2 -> Typed.TypedTerm Syntax.NamedType+unionMemberTypesSequence2NamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Or field of hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2Or :: Typed.TypedTerm Syntax.UnionMemberTypesSequence2 -> Typed.TypedTerm (Maybe ())+unionMemberTypesSequence2Or x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.projectionFieldName = (Model.Name "Or")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2UnionMemberTypesSequence2 :: Typed.TypedName Syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2UnionMemberTypesSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2")++-- | DSL updater for the NamedType field of hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2WithNamedType :: Typed.TypedTerm Syntax.UnionMemberTypesSequence2 -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2WithNamedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.projectionFieldName = (Model.Name "Or")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Or field of hydra.ext.graphql.syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2WithOr :: Typed.TypedTerm Syntax.UnionMemberTypesSequence2 -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.UnionMemberTypesSequence2+unionMemberTypesSequence2WithOr original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Or"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the NamedType field of hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequenceNamedType :: Typed.TypedTerm Syntax.UnionMemberTypesSequence -> Typed.TypedTerm Syntax.NamedType+unionMemberTypesSequenceNamedType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequenceUnionMemberTypes :: Typed.TypedTerm Syntax.UnionMemberTypesSequence -> Typed.TypedTerm Syntax.UnionMemberTypes+unionMemberTypesSequenceUnionMemberTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequenceUnionMemberTypesSequence :: Typed.TypedName Syntax.UnionMemberTypesSequence+unionMemberTypesSequenceUnionMemberTypesSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence")++-- | DSL updater for the NamedType field of hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequenceWithNamedType :: Typed.TypedTerm Syntax.UnionMemberTypesSequence -> Typed.TypedTerm Syntax.NamedType -> Typed.TypedTerm Syntax.UnionMemberTypesSequence+unionMemberTypesSequenceWithNamedType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionMemberTypesSequence+unionMemberTypesSequenceWithUnionMemberTypes :: Typed.TypedTerm Syntax.UnionMemberTypesSequence -> Typed.TypedTerm Syntax.UnionMemberTypes -> Typed.TypedTerm Syntax.UnionMemberTypesSequence+unionMemberTypesSequenceWithUnionMemberTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "NamedType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"),+ Model.projectionFieldName = (Model.Name "NamedType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionMemberTypes+unionMemberTypesUnionMemberTypes :: Typed.TypedName Syntax.UnionMemberTypes+unionMemberTypesUnionMemberTypes = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionMemberTypes")++-- | DSL constructor for hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinition :: Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm (Maybe Syntax.UnionMemberTypes) -> Typed.TypedTerm Syntax.UnionTypeDefinition+unionTypeDefinition description name directives unionMemberTypes =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm unionMemberTypes)}]}))++-- | DSL accessor for the Description field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionDescription :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description)+unionTypeDefinitionDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionDirectives :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+unionTypeDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionName :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm Syntax.Name+unionTypeDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionUnionMemberTypes :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.UnionMemberTypes)+unionTypeDefinitionUnionMemberTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionUnionTypeDefinition :: Typed.TypedName Syntax.UnionTypeDefinition+unionTypeDefinitionUnionTypeDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition")++-- | DSL updater for the Description field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionWithDescription :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Description) -> Typed.TypedTerm Syntax.UnionTypeDefinition+unionTypeDefinitionWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ 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.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionWithDirectives :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.UnionTypeDefinition+unionTypeDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionWithName :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.UnionTypeDefinition+unionTypeDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionTypeDefinition+unionTypeDefinitionWithUnionMemberTypes :: Typed.TypedTerm Syntax.UnionTypeDefinition -> Typed.TypedTerm (Maybe Syntax.UnionMemberTypes) -> Typed.TypedTerm Syntax.UnionTypeDefinition+unionTypeDefinitionWithUnionMemberTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Description")})),+ 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.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the seq variant of hydra.ext.graphql.syntax.UnionTypeExtension+unionTypeExtensionSeq :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm Syntax.UnionTypeExtension+unionTypeExtensionSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the seq2 variant of hydra.ext.graphql.syntax.UnionTypeExtension+unionTypeExtensionSeq2 :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence2 -> Typed.TypedTerm Syntax.UnionTypeExtension+unionTypeExtensionSeq2 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtension"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "seq2"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequence :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.UnionMemberTypes -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence+unionTypeExtensionSequence name directives unionMemberTypes =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm unionMemberTypes)}]}))++-- | DSL constructor for hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2 name directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2Directives :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives+unionTypeExtensionSequence2Directives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2Name :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name+unionTypeExtensionSequence2Name x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2UnionTypeExtensionSequence2 :: Typed.TypedName Syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2UnionTypeExtensionSequence2 =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2WithDirectives :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Directives -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2WithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ 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.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2WithName :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence2 -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence2+unionTypeExtensionSequence2WithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceDirectives :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives)+unionTypeExtensionSequenceDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Name field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceName :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm Syntax.Name+unionTypeExtensionSequenceName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceUnionMemberTypes :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm Syntax.UnionMemberTypes+unionTypeExtensionSequenceUnionMemberTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceUnionTypeExtensionSequence :: Typed.TypedName Syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceUnionTypeExtensionSequence =+ Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence")++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithDirectives :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ 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.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Name field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithName :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "UnionMemberTypes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the UnionMemberTypes field of hydra.ext.graphql.syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithUnionMemberTypes :: Typed.TypedTerm Syntax.UnionTypeExtensionSequence -> Typed.TypedTerm Syntax.UnionMemberTypes -> Typed.TypedTerm Syntax.UnionTypeExtensionSequence+unionTypeExtensionSequenceWithUnionMemberTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ 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.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "UnionMemberTypes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.graphql.syntax.UnionTypeExtension+unionTypeExtensionUnionTypeExtension :: Typed.TypedName Syntax.UnionTypeExtension+unionTypeExtensionUnionTypeExtension = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.UnionTypeExtension")++-- | DSL injection for the boolean variant of hydra.ext.graphql.syntax.Value+valueBoolean :: Typed.TypedTerm Syntax.BooleanValue -> Typed.TypedTerm Syntax.Value+valueBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.graphql.syntax.Value+valueEnum :: Typed.TypedTerm Syntax.EnumValue -> Typed.TypedTerm Syntax.Value+valueEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the float variant of hydra.ext.graphql.syntax.Value+valueFloat :: Typed.TypedTerm Syntax.FloatValue -> Typed.TypedTerm Syntax.Value+valueFloat x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the int variant of hydra.ext.graphql.syntax.Value+valueInt :: Typed.TypedTerm Syntax.IntValue -> Typed.TypedTerm Syntax.Value+valueInt x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the list variant of hydra.ext.graphql.syntax.Value+valueList :: Typed.TypedTerm Syntax.ListValue -> Typed.TypedTerm Syntax.Value+valueList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the null variant of hydra.ext.graphql.syntax.Value+valueNull :: Typed.TypedTerm Syntax.NullValue -> Typed.TypedTerm Syntax.Value+valueNull x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.graphql.syntax.Value+valueObject :: Typed.TypedTerm Syntax.ObjectValue -> Typed.TypedTerm Syntax.Value+valueObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.graphql.syntax.Value+valueString :: Typed.TypedTerm Syntax.StringValue -> Typed.TypedTerm Syntax.Value+valueString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.graphql.syntax.Value+valueValue :: Typed.TypedName Syntax.Value+valueValue = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Value")++-- | DSL injection for the Variable variant of hydra.ext.graphql.syntax.Value+valueVariable :: Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm Syntax.Value+valueVariable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.graphql.syntax.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.graphql.syntax.Variable wrapper+variable :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Variable+variable x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.graphql.syntax.Variable"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.Variable+variableVariable :: Typed.TypedName Syntax.Variable+variableVariable = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.Variable")++-- | DSL constructor for hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinition :: Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm (Maybe Syntax.DefaultValue) -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.VariablesDefinition+variablesDefinition variable type_ defaultValue directives =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Typed.unTypedTerm variable)},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm defaultValue)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm directives)}]}))++-- | DSL accessor for the DefaultValue field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionDefaultValue :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm (Maybe Syntax.DefaultValue)+variablesDefinitionDefaultValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Directives field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionDirectives :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm (Maybe Syntax.Directives)+variablesDefinitionDirectives x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Type field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionType :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm Syntax.Type+variablesDefinitionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Variable field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionVariable :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm Syntax.Variable+variablesDefinitionVariable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Variable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionVariablesDefinition :: Typed.TypedName Syntax.VariablesDefinition+variablesDefinitionVariablesDefinition = Typed.TypedName (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition")++-- | DSL updater for the DefaultValue field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionWithDefaultValue :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm (Maybe Syntax.DefaultValue) -> Typed.TypedTerm Syntax.VariablesDefinition+variablesDefinitionWithDefaultValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Variable")})),+ 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.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Directives field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionWithDirectives :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm (Maybe Syntax.Directives) -> Typed.TypedTerm Syntax.VariablesDefinition+variablesDefinitionWithDirectives original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Variable")})),+ 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.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the Type field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionWithType :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm Syntax.Type -> Typed.TypedTerm Syntax.VariablesDefinition+variablesDefinitionWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Variable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Variable field of hydra.ext.graphql.syntax.VariablesDefinition+variablesDefinitionWithVariable :: Typed.TypedTerm Syntax.VariablesDefinition -> Typed.TypedTerm Syntax.Variable -> Typed.TypedTerm Syntax.VariablesDefinition+variablesDefinitionWithVariable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Variable"),+ 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.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "DefaultValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "DefaultValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Directives"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"),+ Model.projectionFieldName = (Model.Name "Directives")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Iana/Linkrelations.hs view
@@ -0,0 +1,1105 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.iana.linkrelations++module Hydra.Ext.Dsl.Iana.Linkrelations where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Iana.Linkrelations as Linkrelations+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL injection for the about variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAbout :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAbout =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "about"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the acl variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAcl :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAcl =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "acl"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the alternate variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAlternate :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAlternate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "alternate"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the amphtml variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAmphtml :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAmphtml =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "amphtml"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the appendix variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAppendix :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAppendix =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "appendix"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the apple-touch-icon variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeApple_touch_icon :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeApple_touch_icon =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "apple-touch-icon"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the apple-touch-startup-image variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeApple_touch_startup_image :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeApple_touch_startup_image =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "apple-touch-startup-image"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the archives variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeArchives :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeArchives =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "archives"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the author variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeAuthor :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeAuthor =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "author"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the blocked-by variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeBlocked_by :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeBlocked_by =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "blocked-by"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bookmark variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeBookmark :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeBookmark =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bookmark"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the canonical variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCanonical :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCanonical =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "canonical"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the chapter variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeChapter :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeChapter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "chapter"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the cite-as variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCite_as :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCite_as =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "cite-as"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the collection variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCollection :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCollection =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the contents variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeContents :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeContents =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "contents"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the convertedfrom variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeConvertedfrom :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeConvertedfrom =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "convertedfrom"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the copyright variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCopyright :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCopyright =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "copyright"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the create-form variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCreate_form :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCreate_form =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "create-form"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the current variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeCurrent :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeCurrent =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "current"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the describedby variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeDescribedby :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeDescribedby =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "describedby"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the describes variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeDescribes :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeDescribes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "describes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the disclosure variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeDisclosure :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeDisclosure =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "disclosure"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dns-prefetch variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeDns_prefetch :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeDns_prefetch =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dns-prefetch"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the duplicate variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeDuplicate :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeDuplicate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "duplicate"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the edit variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeEdit :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeEdit =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "edit"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the edit-form variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeEdit_form :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeEdit_form =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "edit-form"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the edit-media variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeEdit_media :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeEdit_media =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "edit-media"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the enclosure variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeEnclosure :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeEnclosure =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enclosure"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the external variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeExternal :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeExternal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "external"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the first variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeFirst :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeFirst =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the glossary variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeGlossary :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeGlossary =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "glossary"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the help variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeHelp :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeHelp =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "help"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the hosts variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeHosts :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeHosts =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hosts"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the hub variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeHub :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeHub =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hub"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the icon variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIcon :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIcon =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "icon"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the index variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIndex :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIndex =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalafter variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalafter :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalafter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalafter"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalbefore variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalbefore :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalbefore =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalbefore"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalcontains variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalcontains :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalcontains =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalcontains"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervaldisjoint variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervaldisjoint :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervaldisjoint =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervaldisjoint"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalduring variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalduring :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalduring =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalduring"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalequals variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalequals :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalequals =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalequals"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalfinishedby variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalfinishedby :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalfinishedby =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalfinishedby"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalfinishes variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalfinishes :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalfinishes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalfinishes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalin variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalin :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalin =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalin"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalmeets variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalmeets :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalmeets =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalmeets"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalmetby variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalmetby :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalmetby =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalmetby"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervaloverlappedby variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervaloverlappedby :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervaloverlappedby =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervaloverlappedby"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervaloverlaps variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervaloverlaps :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervaloverlaps =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervaloverlaps"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalstartedby variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalstartedby :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalstartedby =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalstartedby"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the intervalstarts variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeIntervalstarts :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeIntervalstarts =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "intervalstarts"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the item variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeItem :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeItem =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "item"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the last variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLast :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeLast =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "last"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the latest-version variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLatest_version :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeLatest_version =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "latest-version"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the license variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLicense :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeLicense =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "license"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLinkRelationType :: Typed.TypedName Linkrelations.LinkRelationType+linkRelationTypeLinkRelationType = Typed.TypedName (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType")++-- | DSL injection for the linkset variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLinkset :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeLinkset =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "linkset"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lrdd variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeLrdd :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeLrdd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lrdd"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the manifest variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeManifest :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeManifest =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "manifest"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mask-icon variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMask_icon :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMask_icon =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mask-icon"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the media-feed variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMedia_feed :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMedia_feed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "media-feed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the memento variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMemento :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMemento =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "memento"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the micropub variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMicropub :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMicropub =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "micropub"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the modulepreload variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeModulepreload :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeModulepreload =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "modulepreload"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the monitor variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMonitor :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMonitor =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "monitor"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the monitor-group variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeMonitor_group :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeMonitor_group =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "monitor-group"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the next variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeNext :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeNext =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "next"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the next-archive variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeNext_archive :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeNext_archive =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "next-archive"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the nofollow variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeNofollow :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeNofollow =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nofollow"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the noopener variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeNoopener :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeNoopener =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noopener"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the noreferrer variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeNoreferrer :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeNoreferrer =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noreferrer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the opener variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeOpener :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeOpener =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "opener"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the openid2.local_id variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeOpenid2Local_id :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeOpenid2Local_id =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "openid2.local_id"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the openid2.provider variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeOpenid2Provider :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeOpenid2Provider =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "openid2.provider"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the original variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeOriginal :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeOriginal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "original"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the p3pv1 variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeP3pv1 :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeP3pv1 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "p3pv1"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the payment variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePayment :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePayment =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "payment"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the pingback variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePingback :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePingback =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pingback"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preconnect variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePreconnect :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePreconnect =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preconnect"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the predecessor-version variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePredecessor_version :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePredecessor_version =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predecessor-version"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the prefetch variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrefetch :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrefetch =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "prefetch"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preload variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePreload :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePreload =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preload"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the prerender variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrerender :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrerender =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "prerender"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the prev variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrev :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrev =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "prev"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the prev-archive variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrev_archive :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrev_archive =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "prev-archive"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preview variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePreview :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePreview =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preview"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the previous variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrevious :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrevious =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "previous"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the privacy-policy variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePrivacy_policy :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePrivacy_policy =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "privacy-policy"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the profile variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeProfile :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeProfile =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "profile"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the publication variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypePublication :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypePublication =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "publication"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the related variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeRelated :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeRelated =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the replies variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeReplies :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeReplies =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "replies"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the restconf variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeRestconf :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeRestconf =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "restconf"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ruleinput variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeRuleinput :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeRuleinput =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ruleinput"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the search variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSearch :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSearch =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "search"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the section variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSection :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSection =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "section"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the self variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSelf :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSelf =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "self"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the service variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeService :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeService =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "service"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the service-desc variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeService_desc :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeService_desc =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "service-desc"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the service-doc variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeService_doc :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeService_doc =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "service-doc"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the service-meta variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeService_meta :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeService_meta =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "service-meta"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the siptrunkingcapability variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSiptrunkingcapability :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSiptrunkingcapability =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "siptrunkingcapability"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sponsored variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSponsored :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSponsored =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sponsored"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the start variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeStart :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeStart =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "start"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the status variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeStatus :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeStatus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "status"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the stylesheet variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeStylesheet :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeStylesheet =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "stylesheet"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the subsection variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSubsection :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSubsection =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subsection"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the successor-version variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSuccessor_version :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSuccessor_version =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "successor-version"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sunset variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeSunset :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeSunset =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sunset"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tag variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeTag :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeTag =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tag"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the terms-of-service variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeTerms_of_service :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeTerms_of_service =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "terms-of-service"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the timegate variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeTimegate :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeTimegate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timegate"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the timemap variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeTimemap :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeTimemap =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timemap"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the type variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeType :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeType =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ugc variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeUgc :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeUgc =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ugc"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the up variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeUp :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeUp =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "up"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the version-history variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeVersion_history :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeVersion_history =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "version-history"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the via variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeVia :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeVia =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "via"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the webmention variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeWebmention :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeWebmention =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "webmention"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the working-copy variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeWorking_copy :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeWorking_copy =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "working-copy"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the working-copy-of variant of hydra.ext.iana.linkrelations.LinkRelationType+linkRelationTypeWorking_copy_of :: Typed.TypedTerm Linkrelations.LinkRelationType+linkRelationTypeWorking_copy_of =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "working-copy-of"),+ Model.fieldTerm = Model.TermUnit}}))
+ src/main/haskell/Hydra/Ext/Dsl/Json/Schema/Model.hs view
@@ -0,0 +1,741 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.json.schema.model++module Hydra.Ext.Dsl.Json.Schema.Model where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Json.Schema.Model as SchemaModel+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++-- | DSL name token for hydra.ext.json.schema.model.AdditionalItems+additionalItemsAdditionalItems :: Typed.TypedName SchemaModel.AdditionalItems+additionalItemsAdditionalItems = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.AdditionalItems")++-- | DSL injection for the any variant of hydra.ext.json.schema.model.AdditionalItems+additionalItemsAny :: Typed.TypedTerm Bool -> Typed.TypedTerm SchemaModel.AdditionalItems+additionalItemsAny x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.AdditionalItems"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "any"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the schema variant of hydra.ext.json.schema.model.AdditionalItems+additionalItemsSchema :: Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.AdditionalItems+additionalItemsSchema x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.AdditionalItems"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the additionalItems variant of hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionAdditionalItems :: Typed.TypedTerm SchemaModel.AdditionalItems -> Typed.TypedTerm SchemaModel.ArrayRestriction+arrayRestrictionAdditionalItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ArrayRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "additionalItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionArrayRestriction :: Typed.TypedName SchemaModel.ArrayRestriction+arrayRestrictionArrayRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.ArrayRestriction")++-- | DSL injection for the items variant of hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionItems :: Typed.TypedTerm SchemaModel.Items -> Typed.TypedTerm SchemaModel.ArrayRestriction+arrayRestrictionItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ArrayRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the maxItems variant of hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionMaxItems :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.ArrayRestriction+arrayRestrictionMaxItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ArrayRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "maxItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minItems variant of hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionMinItems :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.ArrayRestriction+arrayRestrictionMinItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ArrayRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the uniqueItems variant of hydra.ext.json.schema.model.ArrayRestriction+arrayRestrictionUniqueItems :: Typed.TypedTerm Bool -> Typed.TypedTerm SchemaModel.ArrayRestriction+arrayRestrictionUniqueItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ArrayRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uniqueItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.json.schema.model.Document+document :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe (M.Map SchemaModel.Keyword SchemaModel.Schema)) -> Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.Document+document id definitions root =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "definitions"),+ Model.fieldTerm = (Typed.unTypedTerm definitions)},+ Model.Field {+ Model.fieldName = (Model.Name "root"),+ Model.fieldTerm = (Typed.unTypedTerm root)}]}))++-- | DSL accessor for the definitions field of hydra.ext.json.schema.model.Document+documentDefinitions :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm (Maybe (M.Map SchemaModel.Keyword SchemaModel.Schema))+documentDefinitions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "definitions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.json.schema.model.Document+documentDocument :: Typed.TypedName SchemaModel.Document+documentDocument = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Document")++-- | DSL accessor for the id field of hydra.ext.json.schema.model.Document+documentId :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm (Maybe String)+documentId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the root field of hydra.ext.json.schema.model.Document+documentRoot :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm SchemaModel.Schema+documentRoot x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "root")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the definitions field of hydra.ext.json.schema.model.Document+documentWithDefinitions :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm (Maybe (M.Map SchemaModel.Keyword SchemaModel.Schema)) -> Typed.TypedTerm SchemaModel.Document+documentWithDefinitions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "root"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "root")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.json.schema.model.Document+documentWithId :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm SchemaModel.Document+documentWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "definitions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "definitions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "root"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "root")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the root field of hydra.ext.json.schema.model.Document+documentWithRoot :: Typed.TypedTerm SchemaModel.Document -> Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.Document+documentWithRoot original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Document"),+ Model.projectionFieldName = (Model.Name "definitions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "root"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.json.schema.model.Items+itemsItems :: Typed.TypedName SchemaModel.Items+itemsItems = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Items")++-- | DSL injection for the sameItems variant of hydra.ext.json.schema.model.Items+itemsSameItems :: Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.Items+itemsSameItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Items"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sameItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the varItems variant of hydra.ext.json.schema.model.Items+itemsVarItems :: Typed.TypedTerm [SchemaModel.Schema] -> Typed.TypedTerm SchemaModel.Items+itemsVarItems x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Items"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "varItems"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.json.schema.model.Keyword wrapper+keyword :: Typed.TypedTerm String -> Typed.TypedTerm SchemaModel.Keyword+keyword x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.json.schema.model.Keyword"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.json.schema.model.Keyword+keywordKeyword :: Typed.TypedName SchemaModel.Keyword+keywordKeyword = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Keyword")++-- | DSL constructor for hydra.ext.json.schema.model.Limit+limit :: Typed.TypedTerm Int -> Typed.TypedTerm Bool -> Typed.TypedTerm SchemaModel.Limit+limit value exclusive =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "exclusive"),+ Model.fieldTerm = (Typed.unTypedTerm exclusive)}]}))++-- | DSL accessor for the exclusive field of hydra.ext.json.schema.model.Limit+limitExclusive :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm Bool+limitExclusive x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ Model.projectionFieldName = (Model.Name "exclusive")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.json.schema.model.Limit+limitLimit :: Typed.TypedName SchemaModel.Limit+limitLimit = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Limit")++-- | DSL accessor for the value field of hydra.ext.json.schema.model.Limit+limitValue :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm Int+limitValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the exclusive field of hydra.ext.json.schema.model.Limit+limitWithExclusive :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm Bool -> Typed.TypedTerm SchemaModel.Limit+limitWithExclusive original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ 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.ext.json.schema.model.Limit"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "exclusive"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.ext.json.schema.model.Limit+limitWithValue :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.Limit+limitWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "exclusive"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.json.schema.model.Limit"),+ Model.projectionFieldName = (Model.Name "exclusive")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the allOf variant of hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionAllOf :: Typed.TypedTerm [SchemaModel.Schema] -> Typed.TypedTerm SchemaModel.MultipleRestriction+multipleRestrictionAllOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.MultipleRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "allOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the anyOf variant of hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionAnyOf :: Typed.TypedTerm [SchemaModel.Schema] -> Typed.TypedTerm SchemaModel.MultipleRestriction+multipleRestrictionAnyOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.MultipleRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "anyOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionEnum :: Typed.TypedTerm [JsonModel.Value] -> Typed.TypedTerm SchemaModel.MultipleRestriction+multipleRestrictionEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.MultipleRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionMultipleRestriction :: Typed.TypedName SchemaModel.MultipleRestriction+multipleRestrictionMultipleRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.MultipleRestriction")++-- | DSL injection for the not variant of hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionNot :: Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.MultipleRestriction+multipleRestrictionNot x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.MultipleRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the oneOf variant of hydra.ext.json.schema.model.MultipleRestriction+multipleRestrictionOneOf :: Typed.TypedTerm [SchemaModel.Schema] -> Typed.TypedTerm SchemaModel.MultipleRestriction+multipleRestrictionOneOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.MultipleRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "oneOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the maximum variant of hydra.ext.json.schema.model.NumericRestriction+numericRestrictionMaximum :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm SchemaModel.NumericRestriction+numericRestrictionMaximum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.NumericRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "maximum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minimum variant of hydra.ext.json.schema.model.NumericRestriction+numericRestrictionMinimum :: Typed.TypedTerm SchemaModel.Limit -> Typed.TypedTerm SchemaModel.NumericRestriction+numericRestrictionMinimum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.NumericRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minimum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multipleOf variant of hydra.ext.json.schema.model.NumericRestriction+numericRestrictionMultipleOf :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.NumericRestriction+numericRestrictionMultipleOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.NumericRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multipleOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.NumericRestriction+numericRestrictionNumericRestriction :: Typed.TypedName SchemaModel.NumericRestriction+numericRestrictionNumericRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.NumericRestriction")++-- | DSL injection for the additionalProperties variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionAdditionalProperties :: Typed.TypedTerm SchemaModel.AdditionalItems -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionAdditionalProperties x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "additionalProperties"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dependencies variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionDependencies :: Typed.TypedTerm (M.Map SchemaModel.Keyword SchemaModel.SchemaOrArray) -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionDependencies x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dependencies"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the maxProperties variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionMaxProperties :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionMaxProperties x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "maxProperties"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minProperties variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionMinProperties :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionMinProperties x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minProperties"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionObjectRestriction :: Typed.TypedName SchemaModel.ObjectRestriction+objectRestrictionObjectRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.ObjectRestriction")++-- | DSL injection for the patternProperties variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionPatternProperties :: Typed.TypedTerm (M.Map SchemaModel.RegularExpression SchemaModel.Schema) -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionPatternProperties x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "patternProperties"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the properties variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionProperties :: Typed.TypedTerm (M.Map SchemaModel.Keyword SchemaModel.Schema) -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionProperties x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "properties"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the required variant of hydra.ext.json.schema.model.ObjectRestriction+objectRestrictionRequired :: Typed.TypedTerm [SchemaModel.Keyword] -> Typed.TypedTerm SchemaModel.ObjectRestriction+objectRestrictionRequired x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.ObjectRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "required"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.json.schema.model.RegularExpression wrapper+regularExpression :: Typed.TypedTerm String -> Typed.TypedTerm SchemaModel.RegularExpression+regularExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.json.schema.model.RegularExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.json.schema.model.RegularExpression+regularExpressionRegularExpression :: Typed.TypedName SchemaModel.RegularExpression+regularExpressionRegularExpression = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.RegularExpression")++-- | DSL injection for the array variant of hydra.ext.json.schema.model.Restriction+restrictionArray :: Typed.TypedTerm SchemaModel.ArrayRestriction -> Typed.TypedTerm SchemaModel.Restriction+restrictionArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the description variant of hydra.ext.json.schema.model.Restriction+restrictionDescription :: Typed.TypedTerm String -> Typed.TypedTerm SchemaModel.Restriction+restrictionDescription x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multiple variant of hydra.ext.json.schema.model.Restriction+restrictionMultiple :: Typed.TypedTerm SchemaModel.MultipleRestriction -> Typed.TypedTerm SchemaModel.Restriction+restrictionMultiple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the number variant of hydra.ext.json.schema.model.Restriction+restrictionNumber :: Typed.TypedTerm SchemaModel.NumericRestriction -> Typed.TypedTerm SchemaModel.Restriction+restrictionNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the object variant of hydra.ext.json.schema.model.Restriction+restrictionObject :: Typed.TypedTerm SchemaModel.ObjectRestriction -> Typed.TypedTerm SchemaModel.Restriction+restrictionObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the reference variant of hydra.ext.json.schema.model.Restriction+restrictionReference :: Typed.TypedTerm SchemaModel.SchemaReference -> Typed.TypedTerm SchemaModel.Restriction+restrictionReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.Restriction+restrictionRestriction :: Typed.TypedName SchemaModel.Restriction+restrictionRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Restriction")++-- | DSL injection for the string variant of hydra.ext.json.schema.model.Restriction+restrictionString :: Typed.TypedTerm SchemaModel.StringRestriction -> Typed.TypedTerm SchemaModel.Restriction+restrictionString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the title variant of hydra.ext.json.schema.model.Restriction+restrictionTitle :: Typed.TypedTerm String -> Typed.TypedTerm SchemaModel.Restriction+restrictionTitle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the type variant of hydra.ext.json.schema.model.Restriction+restrictionType :: Typed.TypedTerm SchemaModel.Type -> Typed.TypedTerm SchemaModel.Restriction+restrictionType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Restriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.json.schema.model.Schema wrapper+schema :: Typed.TypedTerm [SchemaModel.Restriction] -> Typed.TypedTerm SchemaModel.Schema+schema x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.json.schema.model.Schema"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL injection for the array variant of hydra.ext.json.schema.model.SchemaOrArray+schemaOrArrayArray :: Typed.TypedTerm [SchemaModel.Keyword] -> Typed.TypedTerm SchemaModel.SchemaOrArray+schemaOrArrayArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.SchemaOrArray"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the schema variant of hydra.ext.json.schema.model.SchemaOrArray+schemaOrArraySchema :: Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm SchemaModel.SchemaOrArray+schemaOrArraySchema x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.SchemaOrArray"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.SchemaOrArray+schemaOrArraySchemaOrArray :: Typed.TypedName SchemaModel.SchemaOrArray+schemaOrArraySchemaOrArray = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.SchemaOrArray")++-- | DSL constructor for the hydra.ext.json.schema.model.SchemaReference wrapper+schemaReference :: Typed.TypedTerm String -> Typed.TypedTerm SchemaModel.SchemaReference+schemaReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.json.schema.model.SchemaReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.json.schema.model.SchemaReference+schemaReferenceSchemaReference :: Typed.TypedName SchemaModel.SchemaReference+schemaReferenceSchemaReference = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.SchemaReference")++-- | DSL name token for hydra.ext.json.schema.model.Schema+schemaSchema :: Typed.TypedName SchemaModel.Schema+schemaSchema = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Schema")++-- | DSL injection for the maxLength variant of hydra.ext.json.schema.model.StringRestriction+stringRestrictionMaxLength :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.StringRestriction+stringRestrictionMaxLength x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.StringRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "maxLength"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minLength variant of hydra.ext.json.schema.model.StringRestriction+stringRestrictionMinLength :: Typed.TypedTerm Int -> Typed.TypedTerm SchemaModel.StringRestriction+stringRestrictionMinLength x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.StringRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minLength"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pattern variant of hydra.ext.json.schema.model.StringRestriction+stringRestrictionPattern :: Typed.TypedTerm SchemaModel.RegularExpression -> Typed.TypedTerm SchemaModel.StringRestriction+stringRestrictionPattern x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.StringRestriction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.StringRestriction+stringRestrictionStringRestriction :: Typed.TypedName SchemaModel.StringRestriction+stringRestrictionStringRestriction = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.StringRestriction")++-- | DSL injection for the multiple variant of hydra.ext.json.schema.model.Type+typeMultiple :: Typed.TypedTerm [SchemaModel.TypeName] -> Typed.TypedTerm SchemaModel.Type+typeMultiple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the array variant of hydra.ext.json.schema.model.TypeName+typeNameArray :: Typed.TypedTerm SchemaModel.TypeName+typeNameArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the boolean variant of hydra.ext.json.schema.model.TypeName+typeNameBoolean :: Typed.TypedTerm SchemaModel.TypeName+typeNameBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the integer variant of hydra.ext.json.schema.model.TypeName+typeNameInteger :: Typed.TypedTerm SchemaModel.TypeName+typeNameInteger =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the null variant of hydra.ext.json.schema.model.TypeName+typeNameNull :: Typed.TypedTerm SchemaModel.TypeName+typeNameNull =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the number variant of hydra.ext.json.schema.model.TypeName+typeNameNumber :: Typed.TypedTerm SchemaModel.TypeName+typeNameNumber =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the object variant of hydra.ext.json.schema.model.TypeName+typeNameObject :: Typed.TypedTerm SchemaModel.TypeName+typeNameObject =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "object"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.json.schema.model.TypeName+typeNameString :: Typed.TypedTerm SchemaModel.TypeName+typeNameString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.TypeName"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.json.schema.model.TypeName+typeNameTypeName :: Typed.TypedName SchemaModel.TypeName+typeNameTypeName = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.TypeName")++-- | DSL injection for the single variant of hydra.ext.json.schema.model.Type+typeSingle :: Typed.TypedTerm SchemaModel.TypeName -> Typed.TypedTerm SchemaModel.Type+typeSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.json.schema.model.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.json.schema.model.Type+typeType :: Typed.TypedName SchemaModel.Type+typeType = Typed.TypedName (Model.Name "hydra.ext.json.schema.model.Type")++-- | DSL accessor for the body of hydra.ext.json.schema.model.Keyword+unKeyword :: Typed.TypedTerm SchemaModel.Keyword -> Typed.TypedTerm String+unKeyword x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.json.schema.model.Keyword")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.json.schema.model.RegularExpression+unRegularExpression :: Typed.TypedTerm SchemaModel.RegularExpression -> Typed.TypedTerm String+unRegularExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.json.schema.model.RegularExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.json.schema.model.Schema+unSchema :: Typed.TypedTerm SchemaModel.Schema -> Typed.TypedTerm [SchemaModel.Restriction]+unSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.json.schema.model.Schema")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.json.schema.model.SchemaReference+unSchemaReference :: Typed.TypedTerm SchemaModel.SchemaReference -> Typed.TypedTerm String+unSchemaReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.json.schema.model.SchemaReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))
+ src/main/haskell/Hydra/Ext/Dsl/Kusto/Kql.hs view
@@ -0,0 +1,2970 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.kusto.kql++module Hydra.Ext.Dsl.Kusto.Kql where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Kusto.Kql as Kql+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.Int as I++-- | DSL constructor for hydra.ext.kusto.kql.BetweenExpression+betweenExpression :: Typed.TypedTerm Bool -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BetweenExpression+betweenExpression not expression lowerBound upperBound =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Typed.unTypedTerm not)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "lowerBound"),+ Model.fieldTerm = (Typed.unTypedTerm lowerBound)},+ Model.Field {+ Model.fieldName = (Model.Name "upperBound"),+ Model.fieldTerm = (Typed.unTypedTerm upperBound)}]}))++-- | DSL name token for hydra.ext.kusto.kql.BetweenExpression+betweenExpressionBetweenExpression :: Typed.TypedName Kql.BetweenExpression+betweenExpressionBetweenExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.BetweenExpression")++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionExpression :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression+betweenExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the lowerBound field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionLowerBound :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression+betweenExpressionLowerBound x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "lowerBound")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the not field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionNot :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Bool+betweenExpressionNot x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "not")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the upperBound field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionUpperBound :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression+betweenExpressionUpperBound x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "upperBound")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionWithExpression :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BetweenExpression+betweenExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "not")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "lowerBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "lowerBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "upperBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "upperBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the lowerBound field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionWithLowerBound :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BetweenExpression+betweenExpressionWithLowerBound original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "not")})),+ 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.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "lowerBound"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "upperBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "upperBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the not field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionWithNot :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Bool -> Typed.TypedTerm Kql.BetweenExpression+betweenExpressionWithNot original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "not"),+ 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.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "lowerBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "lowerBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "upperBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "upperBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the upperBound field of hydra.ext.kusto.kql.BetweenExpression+betweenExpressionWithUpperBound :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BetweenExpression+betweenExpressionWithUpperBound original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "not")})),+ 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.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "lowerBound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BetweenExpression"),+ Model.projectionFieldName = (Model.Name "lowerBound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "upperBound"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.kusto.kql.BinaryExpression+binaryExpression :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BinaryOperator -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BinaryExpression+binaryExpression left operator right =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Typed.unTypedTerm left)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm right)}]}))++-- | DSL name token for hydra.ext.kusto.kql.BinaryExpression+binaryExpressionBinaryExpression :: Typed.TypedName Kql.BinaryExpression+binaryExpressionBinaryExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.BinaryExpression")++-- | DSL accessor for the left field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionLeft :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.Expression+binaryExpressionLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionOperator :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.BinaryOperator+binaryExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the right field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionRight :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.Expression+binaryExpressionRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the left field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionWithLeft :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BinaryExpression+binaryExpressionWithLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ 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.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionWithOperator :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.BinaryOperator -> Typed.TypedTerm Kql.BinaryExpression+binaryExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "right")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the right field of hydra.ext.kusto.kql.BinaryExpression+binaryExpressionWithRight :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.BinaryExpression+binaryExpressionWithRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "left")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.kusto.kql.BinaryOperator+binaryOperatorBinaryOperator :: Typed.TypedName Kql.BinaryOperator+binaryOperatorBinaryOperator = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.BinaryOperator")++-- | DSL injection for the caseInsensitiveEqual variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorCaseInsensitiveEqual :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorCaseInsensitiveEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "caseInsensitiveEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the contains variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorContains :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorContains =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "contains"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the divide variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorDivide :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorDivide =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "divide"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the endsWith variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorEndsWith :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorEndsWith =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "endsWith"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the equal variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorEqual :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "equal"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greater variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorGreater :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorGreater =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greater"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the greaterOrEqual variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorGreaterOrEqual :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorGreaterOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "greaterOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the has variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorHas :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorHas =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "has"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the hasPrefix variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorHasPrefix :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorHasPrefix =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hasPrefix"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the hasSuffix variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorHasSuffix :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorHasSuffix =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hasSuffix"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the less variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorLess :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorLess =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "less"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lessOrEqual variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorLessOrEqual :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorLessOrEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lessOrEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the matchesRegex variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorMatchesRegex :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorMatchesRegex =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "matchesRegex"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minus variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorMinus :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the notEqual variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorNotEqual :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorNotEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorPlus :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the startsWith variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorStartsWith :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorStartsWith =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "startsWith"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the times variant of hydra.ext.kusto.kql.BinaryOperator+binaryOperatorTimes :: Typed.TypedTerm Kql.BinaryOperator+binaryOperatorTimes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BinaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "times"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ago variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionAgo :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionAgo =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ago"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bin variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionBin :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionBin =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bin"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionBuiltInFunction :: Typed.TypedName Kql.BuiltInFunction+builtInFunctionBuiltInFunction = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.BuiltInFunction")++-- | DSL injection for the count variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionCount :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionCount =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dcount variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionDcount :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionDcount =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dcount"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the endofday variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionEndofday :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionEndofday =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "endofday"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the extract variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionExtract :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionExtract =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extract"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the format_datetime variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionFormat_datetime :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionFormat_datetime =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "format_datetime"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the materialize variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionMaterialize :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionMaterialize =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "materialize"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the now variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionNow :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionNow =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "now"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the range variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionRange :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionRange =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "range"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the startofday variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionStartofday :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionStartofday =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "startofday"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the strcat variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionStrcat :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionStrcat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "strcat"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the todynamic variant of hydra.ext.kusto.kql.BuiltInFunction+builtInFunctionTodynamic :: Typed.TypedTerm Kql.BuiltInFunction+builtInFunctionTodynamic =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.BuiltInFunction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "todynamic"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.kusto.kql.ColumnAlias+columnAlias :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ColumnAlias+columnAlias column alias =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm column)},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)}]}))++-- | DSL accessor for the alias field of hydra.ext.kusto.kql.ColumnAlias+columnAliasAlias :: Typed.TypedTerm Kql.ColumnAlias -> Typed.TypedTerm Kql.ColumnName+columnAliasAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the column field of hydra.ext.kusto.kql.ColumnAlias+columnAliasColumn :: Typed.TypedTerm Kql.ColumnAlias -> Typed.TypedTerm Kql.ColumnName+columnAliasColumn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.ColumnAlias+columnAliasColumnAlias :: Typed.TypedName Kql.ColumnAlias+columnAliasColumnAlias = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.ColumnAlias")++-- | DSL updater for the alias field of hydra.ext.kusto.kql.ColumnAlias+columnAliasWithAlias :: Typed.TypedTerm Kql.ColumnAlias -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ColumnAlias+columnAliasWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the column field of hydra.ext.kusto.kql.ColumnAlias+columnAliasWithColumn :: Typed.TypedTerm Kql.ColumnAlias -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ColumnAlias+columnAliasWithColumn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAlias"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.kusto.kql.ColumnAssignment+columnAssignment :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.ColumnAssignment+columnAssignment column expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm column)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the column field of hydra.ext.kusto.kql.ColumnAssignment+columnAssignmentColumn :: Typed.TypedTerm Kql.ColumnAssignment -> Typed.TypedTerm Kql.ColumnName+columnAssignmentColumn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.ColumnAssignment+columnAssignmentColumnAssignment :: Typed.TypedName Kql.ColumnAssignment+columnAssignmentColumnAssignment = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.ColumnAssignment")++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.ColumnAssignment+columnAssignmentExpression :: Typed.TypedTerm Kql.ColumnAssignment -> Typed.TypedTerm Kql.Expression+columnAssignmentExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the column field of hydra.ext.kusto.kql.ColumnAssignment+columnAssignmentWithColumn :: Typed.TypedTerm Kql.ColumnAssignment -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ColumnAssignment+columnAssignmentWithColumn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ 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.ext.kusto.kql.ColumnAssignment"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.ColumnAssignment+columnAssignmentWithExpression :: Typed.TypedTerm Kql.ColumnAssignment -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.ColumnAssignment+columnAssignmentWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnAssignment"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.kusto.kql.ColumnName wrapper+columnName :: Typed.TypedTerm String -> Typed.TypedTerm Kql.ColumnName+columnName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.ColumnName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.ColumnName+columnNameColumnName :: Typed.TypedName Kql.ColumnName+columnNameColumnName = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.ColumnName")++-- | DSL injection for the all variant of hydra.ext.kusto.kql.Columns+columnsAll :: Typed.TypedTerm Kql.Columns+columnsAll =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Columns"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "all"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.Columns+columnsColumns :: Typed.TypedName Kql.Columns+columnsColumns = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Columns")++-- | DSL injection for the single variant of hydra.ext.kusto.kql.Columns+columnsSingle :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.Columns+columnsSingle x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Columns"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.kusto.kql.Command+commandCommand :: Typed.TypedName Kql.Command+commandCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Command")++-- | DSL injection for the count variant of hydra.ext.kusto.kql.Command+commandCount :: Typed.TypedTerm Kql.Command+commandCount =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the distinct variant of hydra.ext.kusto.kql.Command+commandDistinct :: Typed.TypedTerm [Kql.ColumnName] -> Typed.TypedTerm Kql.Command+commandDistinct x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "distinct"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the extend variant of hydra.ext.kusto.kql.Command+commandExtend :: Typed.TypedTerm [Kql.ColumnAssignment] -> Typed.TypedTerm Kql.Command+commandExtend x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "extend"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the join variant of hydra.ext.kusto.kql.Command+commandJoin :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.Command+commandJoin x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "join"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the limit variant of hydra.ext.kusto.kql.Command+commandLimit :: Typed.TypedTerm Int -> Typed.TypedTerm Kql.Command+commandLimit x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "limit"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the mvexpand variant of hydra.ext.kusto.kql.Command+commandMvexpand :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.Command+commandMvexpand x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mvexpand"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the orderBy variant of hydra.ext.kusto.kql.Command+commandOrderBy :: Typed.TypedTerm [Kql.SortBy] -> Typed.TypedTerm Kql.Command+commandOrderBy x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "orderBy"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parse variant of hydra.ext.kusto.kql.Command+commandParse :: Typed.TypedTerm Kql.ParseCommand -> Typed.TypedTerm Kql.Command+commandParse x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parse"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the print variant of hydra.ext.kusto.kql.Command+commandPrint :: Typed.TypedTerm Kql.PrintCommand -> Typed.TypedTerm Kql.Command+commandPrint x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "print"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the project variant of hydra.ext.kusto.kql.Command+commandProject :: Typed.TypedTerm [Kql.Projection] -> Typed.TypedTerm Kql.Command+commandProject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "project"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the projectAway variant of hydra.ext.kusto.kql.Command+commandProjectAway :: Typed.TypedTerm [Kql.ColumnName] -> Typed.TypedTerm Kql.Command+commandProjectAway x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "projectAway"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the projectRename variant of hydra.ext.kusto.kql.Command+commandProjectRename :: Typed.TypedTerm [Kql.ColumnAlias] -> Typed.TypedTerm Kql.Command+commandProjectRename x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "projectRename"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the render variant of hydra.ext.kusto.kql.Command+commandRender :: Typed.TypedTerm String -> Typed.TypedTerm Kql.Command+commandRender x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "render"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the search variant of hydra.ext.kusto.kql.Command+commandSearch :: Typed.TypedTerm Kql.SearchCommand -> Typed.TypedTerm Kql.Command+commandSearch x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "search"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sortBy variant of hydra.ext.kusto.kql.Command+commandSortBy :: Typed.TypedTerm [Kql.SortBy] -> Typed.TypedTerm Kql.Command+commandSortBy x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sortBy"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the summarize variant of hydra.ext.kusto.kql.Command+commandSummarize :: Typed.TypedTerm Kql.SummarizeCommand -> Typed.TypedTerm Kql.Command+commandSummarize x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "summarize"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the take variant of hydra.ext.kusto.kql.Command+commandTake :: Typed.TypedTerm Int -> Typed.TypedTerm Kql.Command+commandTake x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "take"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the top variant of hydra.ext.kusto.kql.Command+commandTop :: Typed.TypedTerm Kql.TopCommand -> Typed.TypedTerm Kql.Command+commandTop x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "top"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the union variant of hydra.ext.kusto.kql.Command+commandUnion :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm Kql.Command+commandUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the where variant of hydra.ext.kusto.kql.Command+commandWhere :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Command+commandWhere x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Command"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "where"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.kusto.kql.Datetime wrapper+datetime :: Typed.TypedTerm String -> Typed.TypedTerm Kql.Datetime+datetime x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.Datetime"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.Datetime+datetimeDatetime :: Typed.TypedName Kql.Datetime+datetimeDatetime = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Datetime")++-- | DSL constructor for hydra.ext.kusto.kql.Duration+duration :: Typed.TypedTerm Int -> Typed.TypedTerm Kql.DurationUnit -> Typed.TypedTerm Kql.Duration+duration value unit =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm unit)}]}))++-- | DSL name token for hydra.ext.kusto.kql.Duration+durationDuration :: Typed.TypedName Kql.Duration+durationDuration = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Duration")++-- | DSL accessor for the unit field of hydra.ext.kusto.kql.Duration+durationUnit :: Typed.TypedTerm Kql.Duration -> Typed.TypedTerm Kql.DurationUnit+durationUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.DurationUnit+durationUnitDurationUnit :: Typed.TypedName Kql.DurationUnit+durationUnitDurationUnit = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.DurationUnit")++-- | DSL injection for the hour variant of hydra.ext.kusto.kql.DurationUnit+durationUnitHour :: Typed.TypedTerm Kql.DurationUnit+durationUnitHour =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.DurationUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hour"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minute variant of hydra.ext.kusto.kql.DurationUnit+durationUnitMinute :: Typed.TypedTerm Kql.DurationUnit+durationUnitMinute =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.DurationUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minute"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the second variant of hydra.ext.kusto.kql.DurationUnit+durationUnitSecond :: Typed.TypedTerm Kql.DurationUnit+durationUnitSecond =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.DurationUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "second"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the value field of hydra.ext.kusto.kql.Duration+durationValue :: Typed.TypedTerm Kql.Duration -> Typed.TypedTerm Int+durationValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the unit field of hydra.ext.kusto.kql.Duration+durationWithUnit :: Typed.TypedTerm Kql.Duration -> Typed.TypedTerm Kql.DurationUnit -> Typed.TypedTerm Kql.Duration+durationWithUnit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ 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.ext.kusto.kql.Duration"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.ext.kusto.kql.Duration+durationWithValue :: Typed.TypedTerm Kql.Duration -> Typed.TypedTerm Int -> Typed.TypedTerm Kql.Duration+durationWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Duration"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the and variant of hydra.ext.kusto.kql.Expression+expressionAnd :: Typed.TypedTerm [Kql.Expression] -> Typed.TypedTerm Kql.Expression+expressionAnd x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "and"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the any variant of hydra.ext.kusto.kql.Expression+expressionAny :: Typed.TypedTerm Kql.Expression+expressionAny =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "any"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the between variant of hydra.ext.kusto.kql.Expression+expressionBetween :: Typed.TypedTerm Kql.BetweenExpression -> Typed.TypedTerm Kql.Expression+expressionBetween x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "between"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the binary variant of hydra.ext.kusto.kql.Expression+expressionBinary :: Typed.TypedTerm Kql.BinaryExpression -> Typed.TypedTerm Kql.Expression+expressionBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the braces variant of hydra.ext.kusto.kql.Expression+expressionBraces :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Expression+expressionBraces x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "braces"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the column variant of hydra.ext.kusto.kql.Expression+expressionColumn :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.Expression+expressionColumn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dataset variant of hydra.ext.kusto.kql.Expression+expressionDataset :: Typed.TypedTerm Kql.TableName -> Typed.TypedTerm Kql.Expression+expressionDataset x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dataset"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.kusto.kql.Expression+expressionExpression :: Typed.TypedName Kql.Expression+expressionExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Expression")++-- | DSL injection for the index variant of hydra.ext.kusto.kql.Expression+expressionIndex :: Typed.TypedTerm Kql.IndexExpression -> Typed.TypedTerm Kql.Expression+expressionIndex x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the list variant of hydra.ext.kusto.kql.Expression+expressionList :: Typed.TypedTerm [Kql.Expression] -> Typed.TypedTerm Kql.Expression+expressionList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.ext.kusto.kql.Expression+expressionLiteral :: Typed.TypedTerm Kql.Literal -> Typed.TypedTerm Kql.Expression+expressionLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the or variant of hydra.ext.kusto.kql.Expression+expressionOr :: Typed.TypedTerm [Kql.Expression] -> Typed.TypedTerm Kql.Expression+expressionOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "or"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parentheses variant of hydra.ext.kusto.kql.Expression+expressionParentheses :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Expression+expressionParentheses x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parentheses"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the property variant of hydra.ext.kusto.kql.Expression+expressionProperty :: Typed.TypedTerm Kql.PropertyExpression -> Typed.TypedTerm Kql.Expression+expressionProperty x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unary variant of hydra.ext.kusto.kql.Expression+expressionUnary :: Typed.TypedTerm Kql.UnaryExpression -> Typed.TypedTerm Kql.Expression+expressionUnary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the builtIn variant of hydra.ext.kusto.kql.Function+functionBuiltIn :: Typed.TypedTerm Kql.BuiltInFunction -> Typed.TypedTerm Kql.Function+functionBuiltIn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Function"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "builtIn"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the custom variant of hydra.ext.kusto.kql.Function+functionCustom :: Typed.TypedTerm Kql.FunctionName -> Typed.TypedTerm Kql.Function+functionCustom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Function"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "custom"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.kusto.kql.FunctionExpression+functionExpression :: Typed.TypedTerm Kql.Function -> Typed.TypedTerm [Kql.Expression] -> Typed.TypedTerm Kql.FunctionExpression+functionExpression function arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm function)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.ext.kusto.kql.FunctionExpression+functionExpressionArguments :: Typed.TypedTerm Kql.FunctionExpression -> Typed.TypedTerm [Kql.Expression]+functionExpressionArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the function field of hydra.ext.kusto.kql.FunctionExpression+functionExpressionFunction :: Typed.TypedTerm Kql.FunctionExpression -> Typed.TypedTerm Kql.Function+functionExpressionFunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.FunctionExpression+functionExpressionFunctionExpression :: Typed.TypedName Kql.FunctionExpression+functionExpressionFunctionExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.FunctionExpression")++-- | DSL updater for the arguments field of hydra.ext.kusto.kql.FunctionExpression+functionExpressionWithArguments :: Typed.TypedTerm Kql.FunctionExpression -> Typed.TypedTerm [Kql.Expression] -> Typed.TypedTerm Kql.FunctionExpression+functionExpressionWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.projectionFieldName = (Model.Name "function")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the function field of hydra.ext.kusto.kql.FunctionExpression+functionExpressionWithFunction :: Typed.TypedTerm Kql.FunctionExpression -> Typed.TypedTerm Kql.Function -> Typed.TypedTerm Kql.FunctionExpression+functionExpressionWithFunction original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "function"),+ 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.ext.kusto.kql.FunctionExpression"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.kusto.kql.Function+functionFunction :: Typed.TypedName Kql.Function+functionFunction = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Function")++-- | DSL constructor for the hydra.ext.kusto.kql.FunctionName wrapper+functionName :: Typed.TypedTerm String -> Typed.TypedTerm Kql.FunctionName+functionName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.FunctionName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.FunctionName+functionNameFunctionName :: Typed.TypedName Kql.FunctionName+functionNameFunctionName = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.FunctionName")++-- | DSL constructor for hydra.ext.kusto.kql.IndexExpression+indexExpression :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm String -> Typed.TypedTerm Kql.IndexExpression+indexExpression expression index =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm index)}]}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.IndexExpression+indexExpressionExpression :: Typed.TypedTerm Kql.IndexExpression -> Typed.TypedTerm Kql.Expression+indexExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the index field of hydra.ext.kusto.kql.IndexExpression+indexExpressionIndex :: Typed.TypedTerm Kql.IndexExpression -> Typed.TypedTerm String+indexExpressionIndex x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.IndexExpression+indexExpressionIndexExpression :: Typed.TypedName Kql.IndexExpression+indexExpressionIndexExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.IndexExpression")++-- | DSL updater for the expression field of hydra.ext.kusto.kql.IndexExpression+indexExpressionWithExpression :: Typed.TypedTerm Kql.IndexExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.IndexExpression+indexExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ Model.projectionFieldName = (Model.Name "index")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the index field of hydra.ext.kusto.kql.IndexExpression+indexExpressionWithIndex :: Typed.TypedTerm Kql.IndexExpression -> Typed.TypedTerm String -> Typed.TypedTerm Kql.IndexExpression+indexExpressionWithIndex original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.IndexExpression"),+ 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.ext.kusto.kql.IndexExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "index"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.kusto.kql.JoinCommand+joinCommand :: Typed.TypedTerm Kql.JoinKind -> Typed.TypedTerm Kql.TableName -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.JoinCommand+joinCommand kind expression on =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm kind)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Typed.unTypedTerm on)}]}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.JoinCommand+joinCommandExpression :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.TableName+joinCommandExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.JoinCommand+joinCommandJoinCommand :: Typed.TypedName Kql.JoinCommand+joinCommandJoinCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.JoinCommand")++-- | DSL accessor for the kind field of hydra.ext.kusto.kql.JoinCommand+joinCommandKind :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.JoinKind+joinCommandKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the on field of hydra.ext.kusto.kql.JoinCommand+joinCommandOn :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.Expression+joinCommandOn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.JoinCommand+joinCommandWithExpression :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.TableName -> Typed.TypedTerm Kql.JoinCommand+joinCommandWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the kind field of hydra.ext.kusto.kql.JoinCommand+joinCommandWithKind :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.JoinKind -> Typed.TypedTerm Kql.JoinCommand+joinCommandWithKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ 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.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "on")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the on field of hydra.ext.kusto.kql.JoinCommand+joinCommandWithOn :: Typed.TypedTerm Kql.JoinCommand -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.JoinCommand+joinCommandWithOn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ 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.ext.kusto.kql.JoinCommand"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "on"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the fullouter variant of hydra.ext.kusto.kql.JoinKind+joinKindFullouter :: Typed.TypedTerm Kql.JoinKind+joinKindFullouter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fullouter"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the inner variant of hydra.ext.kusto.kql.JoinKind+joinKindInner :: Typed.TypedTerm Kql.JoinKind+joinKindInner =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inner"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the innerunique variant of hydra.ext.kusto.kql.JoinKind+joinKindInnerunique :: Typed.TypedTerm Kql.JoinKind+joinKindInnerunique =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "innerunique"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.JoinKind+joinKindJoinKind :: Typed.TypedName Kql.JoinKind+joinKindJoinKind = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.JoinKind")++-- | DSL injection for the leftanti variant of hydra.ext.kusto.kql.JoinKind+joinKindLeftanti :: Typed.TypedTerm Kql.JoinKind+joinKindLeftanti =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftanti"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftouter variant of hydra.ext.kusto.kql.JoinKind+joinKindLeftouter :: Typed.TypedTerm Kql.JoinKind+joinKindLeftouter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftouter"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftsemi variant of hydra.ext.kusto.kql.JoinKind+joinKindLeftsemi :: Typed.TypedTerm Kql.JoinKind+joinKindLeftsemi =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftsemi"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightanti variant of hydra.ext.kusto.kql.JoinKind+joinKindRightanti :: Typed.TypedTerm Kql.JoinKind+joinKindRightanti =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightanti"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightouter variant of hydra.ext.kusto.kql.JoinKind+joinKindRightouter :: Typed.TypedTerm Kql.JoinKind+joinKindRightouter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightouter"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightsemi variant of hydra.ext.kusto.kql.JoinKind+joinKindRightsemi :: Typed.TypedTerm Kql.JoinKind+joinKindRightsemi =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.JoinKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightsemi"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.kusto.kql.KeyValuePair+keyValuePair :: Typed.TypedTerm String -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.KeyValuePair+keyValuePair key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.KeyValuePair"),+ 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.ext.kusto.kql.KeyValuePair+keyValuePairKey :: Typed.TypedTerm Kql.KeyValuePair -> Typed.TypedTerm String+keyValuePairKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.KeyValuePair"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.KeyValuePair+keyValuePairKeyValuePair :: Typed.TypedName Kql.KeyValuePair+keyValuePairKeyValuePair = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.KeyValuePair")++-- | DSL accessor for the value field of hydra.ext.kusto.kql.KeyValuePair+keyValuePairValue :: Typed.TypedTerm Kql.KeyValuePair -> Typed.TypedTerm Kql.Expression+keyValuePairValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.KeyValuePair"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.ext.kusto.kql.KeyValuePair+keyValuePairWithKey :: Typed.TypedTerm Kql.KeyValuePair -> Typed.TypedTerm String -> Typed.TypedTerm Kql.KeyValuePair+keyValuePairWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.KeyValuePair"),+ 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.ext.kusto.kql.KeyValuePair"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.kusto.kql.KeyValuePair+keyValuePairWithValue :: Typed.TypedTerm Kql.KeyValuePair -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.KeyValuePair+keyValuePairWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.KeyValuePair"),+ 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.ext.kusto.kql.KeyValuePair"),+ 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.ext.kusto.kql.LetBinding+letBinding :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.LetBinding+letBinding name expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetBinding"),+ 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 accessor for the expression field of hydra.ext.kusto.kql.LetBinding+letBindingExpression :: Typed.TypedTerm Kql.LetBinding -> Typed.TypedTerm Kql.Expression+letBindingExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.LetBinding"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.LetBinding+letBindingLetBinding :: Typed.TypedName Kql.LetBinding+letBindingLetBinding = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.LetBinding")++-- | DSL accessor for the name field of hydra.ext.kusto.kql.LetBinding+letBindingName :: Typed.TypedTerm Kql.LetBinding -> Typed.TypedTerm Kql.ColumnName+letBindingName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.LetBinding"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.LetBinding+letBindingWithExpression :: Typed.TypedTerm Kql.LetBinding -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.LetBinding+letBindingWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetBinding"),+ 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.ext.kusto.kql.LetBinding"),+ 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.ext.kusto.kql.LetBinding+letBindingWithName :: Typed.TypedTerm Kql.LetBinding -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.LetBinding+letBindingWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetBinding"),+ 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.ext.kusto.kql.LetBinding"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.kusto.kql.LetExpression+letExpression :: Typed.TypedTerm [Kql.LetBinding] -> Typed.TypedTerm Kql.TabularExpression -> Typed.TypedTerm Kql.LetExpression+letExpression bindings expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bindings"),+ Model.fieldTerm = (Typed.unTypedTerm bindings)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the bindings field of hydra.ext.kusto.kql.LetExpression+letExpressionBindings :: Typed.TypedTerm Kql.LetExpression -> Typed.TypedTerm [Kql.LetBinding]+letExpressionBindings x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.projectionFieldName = (Model.Name "bindings")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.LetExpression+letExpressionExpression :: Typed.TypedTerm Kql.LetExpression -> Typed.TypedTerm Kql.TabularExpression+letExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.LetExpression+letExpressionLetExpression :: Typed.TypedName Kql.LetExpression+letExpressionLetExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.LetExpression")++-- | DSL updater for the bindings field of hydra.ext.kusto.kql.LetExpression+letExpressionWithBindings :: Typed.TypedTerm Kql.LetExpression -> Typed.TypedTerm [Kql.LetBinding] -> Typed.TypedTerm Kql.LetExpression+letExpressionWithBindings original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bindings"),+ 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.ext.kusto.kql.LetExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.LetExpression+letExpressionWithExpression :: Typed.TypedTerm Kql.LetExpression -> Typed.TypedTerm Kql.TabularExpression -> Typed.TypedTerm Kql.LetExpression+letExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.LetExpression"),+ Model.projectionFieldName = (Model.Name "bindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the boolean variant of hydra.ext.kusto.kql.Literal+literalBoolean :: Typed.TypedTerm Bool -> Typed.TypedTerm Kql.Literal+literalBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the datetime variant of hydra.ext.kusto.kql.Literal+literalDatetime :: Typed.TypedTerm Kql.Datetime -> Typed.TypedTerm Kql.Literal+literalDatetime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "datetime"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the double variant of hydra.ext.kusto.kql.Literal+literalDouble :: Typed.TypedTerm Double -> Typed.TypedTerm Kql.Literal+literalDouble x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the duration variant of hydra.ext.kusto.kql.Literal+literalDuration :: Typed.TypedTerm Kql.Duration -> Typed.TypedTerm Kql.Literal+literalDuration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "duration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the int variant of hydra.ext.kusto.kql.Literal+literalInt :: Typed.TypedTerm Int -> Typed.TypedTerm Kql.Literal+literalInt x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.kusto.kql.Literal+literalLiteral :: Typed.TypedName Kql.Literal+literalLiteral = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Literal")++-- | DSL injection for the long variant of hydra.ext.kusto.kql.Literal+literalLong :: Typed.TypedTerm I.Int64 -> Typed.TypedTerm Kql.Literal+literalLong x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.kusto.kql.Literal+literalString :: Typed.TypedTerm String -> Typed.TypedTerm Kql.Literal+literalString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Literal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ascending variant of hydra.ext.kusto.kql.Order+orderAscending :: Typed.TypedTerm Kql.Order+orderAscending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Order"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ascending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the descending variant of hydra.ext.kusto.kql.Order+orderDescending :: Typed.TypedTerm Kql.Order+orderDescending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.Order"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.Order+orderOrder :: Typed.TypedName Kql.Order+orderOrder = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Order")++-- | DSL constructor for hydra.ext.kusto.kql.Parameter+parameter :: Typed.TypedTerm String -> Typed.TypedTerm Kql.Literal -> Typed.TypedTerm Kql.Parameter+parameter key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Parameter"),+ 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.ext.kusto.kql.Parameter+parameterKey :: Typed.TypedTerm Kql.Parameter -> Typed.TypedTerm String+parameterKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Parameter"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.Parameter+parameterParameter :: Typed.TypedName Kql.Parameter+parameterParameter = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Parameter")++-- | DSL accessor for the value field of hydra.ext.kusto.kql.Parameter+parameterValue :: Typed.TypedTerm Kql.Parameter -> Typed.TypedTerm Kql.Literal+parameterValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Parameter"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.ext.kusto.kql.Parameter+parameterWithKey :: Typed.TypedTerm Kql.Parameter -> Typed.TypedTerm String -> Typed.TypedTerm Kql.Parameter+parameterWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Parameter"),+ 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.ext.kusto.kql.Parameter"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.kusto.kql.Parameter+parameterWithValue :: Typed.TypedTerm Kql.Parameter -> Typed.TypedTerm Kql.Literal -> Typed.TypedTerm Kql.Parameter+parameterWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Parameter"),+ 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.ext.kusto.kql.Parameter"),+ 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.ext.kusto.kql.ParseCommand+parseCommand :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm [Kql.KeyValuePair] -> Typed.TypedTerm Kql.ParseCommand+parseCommand column pairs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm column)},+ Model.Field {+ Model.fieldName = (Model.Name "pairs"),+ Model.fieldTerm = (Typed.unTypedTerm pairs)}]}))++-- | DSL accessor for the column field of hydra.ext.kusto.kql.ParseCommand+parseCommandColumn :: Typed.TypedTerm Kql.ParseCommand -> Typed.TypedTerm Kql.ColumnName+parseCommandColumn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pairs field of hydra.ext.kusto.kql.ParseCommand+parseCommandPairs :: Typed.TypedTerm Kql.ParseCommand -> Typed.TypedTerm [Kql.KeyValuePair]+parseCommandPairs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.projectionFieldName = (Model.Name "pairs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.ParseCommand+parseCommandParseCommand :: Typed.TypedName Kql.ParseCommand+parseCommandParseCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.ParseCommand")++-- | DSL updater for the column field of hydra.ext.kusto.kql.ParseCommand+parseCommandWithColumn :: Typed.TypedTerm Kql.ParseCommand -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.ParseCommand+parseCommandWithColumn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "pairs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.projectionFieldName = (Model.Name "pairs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pairs field of hydra.ext.kusto.kql.ParseCommand+parseCommandWithPairs :: Typed.TypedTerm Kql.ParseCommand -> Typed.TypedTerm [Kql.KeyValuePair] -> Typed.TypedTerm Kql.ParseCommand+parseCommandWithPairs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.ParseCommand"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pairs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.kusto.kql.PipelineExpression wrapper+pipelineExpression :: Typed.TypedTerm [Kql.TabularExpression] -> Typed.TypedTerm Kql.PipelineExpression+pipelineExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.PipelineExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.PipelineExpression+pipelineExpressionPipelineExpression :: Typed.TypedName Kql.PipelineExpression+pipelineExpressionPipelineExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.PipelineExpression")++-- | DSL constructor for hydra.ext.kusto.kql.PrintCommand+printCommand :: Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.PrintCommand+printCommand column expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm column)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the column field of hydra.ext.kusto.kql.PrintCommand+printCommandColumn :: Typed.TypedTerm Kql.PrintCommand -> Typed.TypedTerm (Maybe Kql.ColumnName)+printCommandColumn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.PrintCommand+printCommandExpression :: Typed.TypedTerm Kql.PrintCommand -> Typed.TypedTerm Kql.Expression+printCommandExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.PrintCommand+printCommandPrintCommand :: Typed.TypedName Kql.PrintCommand+printCommandPrintCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.PrintCommand")++-- | DSL updater for the column field of hydra.ext.kusto.kql.PrintCommand+printCommandWithColumn :: Typed.TypedTerm Kql.PrintCommand -> Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm Kql.PrintCommand+printCommandWithColumn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ 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.ext.kusto.kql.PrintCommand"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.PrintCommand+printCommandWithExpression :: Typed.TypedTerm Kql.PrintCommand -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.PrintCommand+printCommandWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PrintCommand"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.kusto.kql.Projection+projection :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm Kql.Projection+projection expression alias =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)}]}))++-- | DSL accessor for the alias field of hydra.ext.kusto.kql.Projection+projectionAlias :: Typed.TypedTerm Kql.Projection -> Typed.TypedTerm (Maybe Kql.ColumnName)+projectionAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.Projection+projectionExpression :: Typed.TypedTerm Kql.Projection -> Typed.TypedTerm Kql.Expression+projectionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.Projection+projectionProjection :: Typed.TypedName Kql.Projection+projectionProjection = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Projection")++-- | DSL updater for the alias field of hydra.ext.kusto.kql.Projection+projectionWithAlias :: Typed.TypedTerm Kql.Projection -> Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm Kql.Projection+projectionWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ 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.ext.kusto.kql.Projection"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.ext.kusto.kql.Projection+projectionWithExpression :: Typed.TypedTerm Kql.Projection -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.Projection+projectionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.Projection"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.kusto.kql.PropertyExpression+propertyExpression :: Typed.TypedTerm Kql.Expression -> Typed.TypedTerm String -> Typed.TypedTerm Kql.PropertyExpression+propertyExpression expression property =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm property)}]}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.PropertyExpression+propertyExpressionExpression :: Typed.TypedTerm Kql.PropertyExpression -> Typed.TypedTerm Kql.Expression+propertyExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the property field of hydra.ext.kusto.kql.PropertyExpression+propertyExpressionProperty :: Typed.TypedTerm Kql.PropertyExpression -> Typed.TypedTerm String+propertyExpressionProperty x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ Model.projectionFieldName = (Model.Name "property")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.PropertyExpression+propertyExpressionPropertyExpression :: Typed.TypedName Kql.PropertyExpression+propertyExpressionPropertyExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.PropertyExpression")++-- | DSL updater for the expression field of hydra.ext.kusto.kql.PropertyExpression+propertyExpressionWithExpression :: Typed.TypedTerm Kql.PropertyExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.PropertyExpression+propertyExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ Model.projectionFieldName = (Model.Name "property")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the property field of hydra.ext.kusto.kql.PropertyExpression+propertyExpressionWithProperty :: Typed.TypedTerm Kql.PropertyExpression -> Typed.TypedTerm String -> Typed.TypedTerm Kql.PropertyExpression+propertyExpressionWithProperty original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.PropertyExpression"),+ 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.ext.kusto.kql.PropertyExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "property"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.kusto.kql.Query wrapper+query :: Typed.TypedTerm Kql.TabularExpression -> Typed.TypedTerm Kql.Query+query x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.Query"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.Query+queryQuery :: Typed.TypedName Kql.Query+queryQuery = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.Query")++-- | DSL constructor for hydra.ext.kusto.kql.SearchCommand+searchCommand :: Typed.TypedTerm [Kql.TableName] -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.SearchCommand+searchCommand datasets pattern =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "datasets"),+ Model.fieldTerm = (Typed.unTypedTerm datasets)},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm pattern)}]}))++-- | DSL accessor for the datasets field of hydra.ext.kusto.kql.SearchCommand+searchCommandDatasets :: Typed.TypedTerm Kql.SearchCommand -> Typed.TypedTerm [Kql.TableName]+searchCommandDatasets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.projectionFieldName = (Model.Name "datasets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pattern field of hydra.ext.kusto.kql.SearchCommand+searchCommandPattern :: Typed.TypedTerm Kql.SearchCommand -> Typed.TypedTerm Kql.Expression+searchCommandPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.SearchCommand+searchCommandSearchCommand :: Typed.TypedName Kql.SearchCommand+searchCommandSearchCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.SearchCommand")++-- | DSL updater for the datasets field of hydra.ext.kusto.kql.SearchCommand+searchCommandWithDatasets :: Typed.TypedTerm Kql.SearchCommand -> Typed.TypedTerm [Kql.TableName] -> Typed.TypedTerm Kql.SearchCommand+searchCommandWithDatasets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "datasets"),+ 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.ext.kusto.kql.SearchCommand"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pattern field of hydra.ext.kusto.kql.SearchCommand+searchCommandWithPattern :: Typed.TypedTerm Kql.SearchCommand -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.SearchCommand+searchCommandWithPattern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "datasets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SearchCommand"),+ Model.projectionFieldName = (Model.Name "datasets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.kusto.kql.SortBy+sortBy :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm (Maybe Kql.Order) -> Typed.TypedTerm Kql.SortBy+sortBy column order =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm column)},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Typed.unTypedTerm order)}]}))++-- | DSL accessor for the column field of hydra.ext.kusto.kql.SortBy+sortByColumn :: Typed.TypedTerm Kql.SortBy -> Typed.TypedTerm Kql.ColumnName+sortByColumn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the order field of hydra.ext.kusto.kql.SortBy+sortByOrder :: Typed.TypedTerm Kql.SortBy -> Typed.TypedTerm (Maybe Kql.Order)+sortByOrder x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.SortBy+sortBySortBy :: Typed.TypedName Kql.SortBy+sortBySortBy = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.SortBy")++-- | DSL updater for the column field of hydra.ext.kusto.kql.SortBy+sortByWithColumn :: Typed.TypedTerm Kql.SortBy -> Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm Kql.SortBy+sortByWithColumn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.projectionFieldName = (Model.Name "order")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the order field of hydra.ext.kusto.kql.SortBy+sortByWithOrder :: Typed.TypedTerm Kql.SortBy -> Typed.TypedTerm (Maybe Kql.Order) -> Typed.TypedTerm Kql.SortBy+sortByWithOrder original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SortBy"),+ Model.projectionFieldName = (Model.Name "column")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "order"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.kusto.kql.SummarizeCommand+summarizeCommand :: Typed.TypedTerm [Kql.ColumnAssignment] -> Typed.TypedTerm [Kql.ColumnName] -> Typed.TypedTerm Kql.SummarizeCommand+summarizeCommand columns by =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm columns)},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Typed.unTypedTerm by)}]}))++-- | DSL accessor for the by field of hydra.ext.kusto.kql.SummarizeCommand+summarizeCommandBy :: Typed.TypedTerm Kql.SummarizeCommand -> Typed.TypedTerm [Kql.ColumnName]+summarizeCommandBy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.projectionFieldName = (Model.Name "by")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the columns field of hydra.ext.kusto.kql.SummarizeCommand+summarizeCommandColumns :: Typed.TypedTerm Kql.SummarizeCommand -> Typed.TypedTerm [Kql.ColumnAssignment]+summarizeCommandColumns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.SummarizeCommand+summarizeCommandSummarizeCommand :: Typed.TypedName Kql.SummarizeCommand+summarizeCommandSummarizeCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.SummarizeCommand")++-- | DSL updater for the by field of hydra.ext.kusto.kql.SummarizeCommand+summarizeCommandWithBy :: Typed.TypedTerm Kql.SummarizeCommand -> Typed.TypedTerm [Kql.ColumnName] -> Typed.TypedTerm Kql.SummarizeCommand+summarizeCommandWithBy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the columns field of hydra.ext.kusto.kql.SummarizeCommand+summarizeCommandWithColumns :: Typed.TypedTerm Kql.SummarizeCommand -> Typed.TypedTerm [Kql.ColumnAssignment] -> Typed.TypedTerm Kql.SummarizeCommand+summarizeCommandWithColumns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "by"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.SummarizeCommand"),+ Model.projectionFieldName = (Model.Name "by")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.kusto.kql.TableName wrapper+tableName :: Typed.TypedTerm String -> Typed.TypedTerm Kql.TableName+tableName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.kusto.kql.TableName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.TableName+tableNameTableName :: Typed.TypedName Kql.TableName+tableNameTableName = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.TableName")++-- | DSL injection for the command variant of hydra.ext.kusto.kql.TabularExpression+tabularExpressionCommand :: Typed.TypedTerm Kql.Command -> Typed.TypedTerm Kql.TabularExpression+tabularExpressionCommand x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.TabularExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "command"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the let variant of hydra.ext.kusto.kql.TabularExpression+tabularExpressionLet :: Typed.TypedTerm Kql.LetExpression -> Typed.TypedTerm Kql.TabularExpression+tabularExpressionLet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.TabularExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "let"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pipeline variant of hydra.ext.kusto.kql.TabularExpression+tabularExpressionPipeline :: Typed.TypedTerm Kql.PipelineExpression -> Typed.TypedTerm Kql.TabularExpression+tabularExpressionPipeline x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.TabularExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pipeline"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the table variant of hydra.ext.kusto.kql.TabularExpression+tabularExpressionTable :: Typed.TypedTerm Kql.TableName -> Typed.TypedTerm Kql.TabularExpression+tabularExpressionTable x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.TabularExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "table"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.kusto.kql.TabularExpression+tabularExpressionTabularExpression :: Typed.TypedName Kql.TabularExpression+tabularExpressionTabularExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.TabularExpression")++-- | DSL constructor for hydra.ext.kusto.kql.TopCommand+topCommand :: Typed.TypedTerm Int -> Typed.TypedTerm [Kql.SortBy] -> Typed.TypedTerm Kql.TopCommand+topCommand count sort =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Typed.unTypedTerm count)},+ Model.Field {+ Model.fieldName = (Model.Name "sort"),+ Model.fieldTerm = (Typed.unTypedTerm sort)}]}))++-- | DSL accessor for the count field of hydra.ext.kusto.kql.TopCommand+topCommandCount :: Typed.TypedTerm Kql.TopCommand -> Typed.TypedTerm Int+topCommandCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.projectionFieldName = (Model.Name "count")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the sort field of hydra.ext.kusto.kql.TopCommand+topCommandSort :: Typed.TypedTerm Kql.TopCommand -> Typed.TypedTerm [Kql.SortBy]+topCommandSort x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.projectionFieldName = (Model.Name "sort")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.TopCommand+topCommandTopCommand :: Typed.TypedName Kql.TopCommand+topCommandTopCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.TopCommand")++-- | DSL updater for the count field of hydra.ext.kusto.kql.TopCommand+topCommandWithCount :: Typed.TypedTerm Kql.TopCommand -> Typed.TypedTerm Int -> Typed.TypedTerm Kql.TopCommand+topCommandWithCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "sort"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.projectionFieldName = (Model.Name "sort")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the sort field of hydra.ext.kusto.kql.TopCommand+topCommandWithSort :: Typed.TypedTerm Kql.TopCommand -> Typed.TypedTerm [Kql.SortBy] -> Typed.TypedTerm Kql.TopCommand+topCommandWithSort original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.TopCommand"),+ Model.projectionFieldName = (Model.Name "count")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sort"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.ColumnName+unColumnName :: Typed.TypedTerm Kql.ColumnName -> Typed.TypedTerm String+unColumnName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.ColumnName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.Datetime+unDatetime :: Typed.TypedTerm Kql.Datetime -> Typed.TypedTerm String+unDatetime x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.Datetime")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.FunctionName+unFunctionName :: Typed.TypedTerm Kql.FunctionName -> Typed.TypedTerm String+unFunctionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.FunctionName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.PipelineExpression+unPipelineExpression :: Typed.TypedTerm Kql.PipelineExpression -> Typed.TypedTerm [Kql.TabularExpression]+unPipelineExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.PipelineExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.Query+unQuery :: Typed.TypedTerm Kql.Query -> Typed.TypedTerm Kql.TabularExpression+unQuery x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.Query")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.kusto.kql.TableName+unTableName :: Typed.TypedTerm Kql.TableName -> Typed.TypedTerm String+unTableName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.kusto.kql.TableName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.kusto.kql.UnaryExpression+unaryExpression :: Typed.TypedTerm Kql.UnaryOperator -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.UnaryExpression+unaryExpression operator expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the expression field of hydra.ext.kusto.kql.UnaryExpression+unaryExpressionExpression :: Typed.TypedTerm Kql.UnaryExpression -> Typed.TypedTerm Kql.Expression+unaryExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.ext.kusto.kql.UnaryExpression+unaryExpressionOperator :: Typed.TypedTerm Kql.UnaryExpression -> Typed.TypedTerm Kql.UnaryOperator+unaryExpressionOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.UnaryExpression+unaryExpressionUnaryExpression :: Typed.TypedName Kql.UnaryExpression+unaryExpressionUnaryExpression = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.UnaryExpression")++-- | DSL updater for the expression field of hydra.ext.kusto.kql.UnaryExpression+unaryExpressionWithExpression :: Typed.TypedTerm Kql.UnaryExpression -> Typed.TypedTerm Kql.Expression -> Typed.TypedTerm Kql.UnaryExpression+unaryExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryExpression"),+ 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.ext.kusto.kql.UnaryExpression"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the operator field of hydra.ext.kusto.kql.UnaryExpression+unaryExpressionWithOperator :: Typed.TypedTerm Kql.UnaryExpression -> Typed.TypedTerm Kql.UnaryOperator -> Typed.TypedTerm Kql.UnaryExpression+unaryExpressionWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ 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.ext.kusto.kql.UnaryExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the not variant of hydra.ext.kusto.kql.UnaryOperator+unaryOperatorNot :: Typed.TypedTerm Kql.UnaryOperator+unaryOperatorNot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnaryOperator"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.UnaryOperator+unaryOperatorUnaryOperator :: Typed.TypedName Kql.UnaryOperator+unaryOperatorUnaryOperator = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.UnaryOperator")++-- | DSL constructor for hydra.ext.kusto.kql.UnionCommand+unionCommand :: Typed.TypedTerm [Kql.Parameter] -> Typed.TypedTerm (Maybe Kql.UnionKind) -> Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm [Kql.TableName] -> Typed.TypedTerm Kql.UnionCommand+unionCommand parameters kind withSource isFuzzy tables =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm kind)},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Typed.unTypedTerm withSource)},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Typed.unTypedTerm isFuzzy)},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Typed.unTypedTerm tables)}]}))++-- | DSL accessor for the isFuzzy field of hydra.ext.kusto.kql.UnionCommand+unionCommandIsFuzzy :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Bool)+unionCommandIsFuzzy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "isFuzzy")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kind field of hydra.ext.kusto.kql.UnionCommand+unionCommandKind :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Kql.UnionKind)+unionCommandKind x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the parameters field of hydra.ext.kusto.kql.UnionCommand+unionCommandParameters :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm [Kql.Parameter]+unionCommandParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the tables field of hydra.ext.kusto.kql.UnionCommand+unionCommandTables :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm [Kql.TableName]+unionCommandTables x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "tables")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.kusto.kql.UnionCommand+unionCommandUnionCommand :: Typed.TypedName Kql.UnionCommand+unionCommandUnionCommand = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.UnionCommand")++-- | DSL updater for the isFuzzy field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithIsFuzzy :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Kql.UnionCommand+unionCommandWithIsFuzzy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "withSource")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "tables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the kind field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithKind :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Kql.UnionKind) -> Typed.TypedTerm Kql.UnionCommand+unionCommandWithKind original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "withSource")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "isFuzzy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "tables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the parameters field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithParameters :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm [Kql.Parameter] -> Typed.TypedTerm Kql.UnionCommand+unionCommandWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "withSource")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "isFuzzy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "tables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the withSource field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithSource :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Kql.ColumnName)+unionCommandWithSource x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "withSource")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the tables field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithTables :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm [Kql.TableName] -> Typed.TypedTerm Kql.UnionCommand+unionCommandWithTables original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "withSource")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "isFuzzy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the withSource field of hydra.ext.kusto.kql.UnionCommand+unionCommandWithWithSource :: Typed.TypedTerm Kql.UnionCommand -> Typed.TypedTerm (Maybe Kql.ColumnName) -> Typed.TypedTerm Kql.UnionCommand+unionCommandWithWithSource original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kind"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "kind")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withSource"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isFuzzy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "isFuzzy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionCommand"),+ Model.projectionFieldName = (Model.Name "tables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the inner variant of hydra.ext.kusto.kql.UnionKind+unionKindInner :: Typed.TypedTerm Kql.UnionKind+unionKindInner =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inner"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the outer variant of hydra.ext.kusto.kql.UnionKind+unionKindOuter :: Typed.TypedTerm Kql.UnionKind+unionKindOuter =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.kusto.kql.UnionKind"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "outer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.kusto.kql.UnionKind+unionKindUnionKind :: Typed.TypedName Kql.UnionKind+unionKindUnionKind = Typed.TypedName (Model.Name "hydra.ext.kusto.kql.UnionKind")
+ src/main/haskell/Hydra/Ext/Dsl/Osv/Schema.hs view
@@ -0,0 +1,2239 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.osv.schema++module Hydra.Ext.Dsl.Osv.Schema where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Osv.Schema as Schema+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.osv.schema.Credited+credited :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe [Schema.Url]) -> Typed.TypedTerm Schema.Credited+credited name contact =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "contact"),+ Model.fieldTerm = (Typed.unTypedTerm contact)}]}))++-- | DSL accessor for the contact field of hydra.ext.osv.schema.Credited+creditedContact :: Typed.TypedTerm Schema.Credited -> Typed.TypedTerm (Maybe [Schema.Url])+creditedContact x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ Model.projectionFieldName = (Model.Name "contact")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Credited+creditedCredited :: Typed.TypedName Schema.Credited+creditedCredited = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Credited")++-- | DSL accessor for the name field of hydra.ext.osv.schema.Credited+creditedName :: Typed.TypedTerm Schema.Credited -> Typed.TypedTerm String+creditedName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the contact field of hydra.ext.osv.schema.Credited+creditedWithContact :: Typed.TypedTerm Schema.Credited -> Typed.TypedTerm (Maybe [Schema.Url]) -> Typed.TypedTerm Schema.Credited+creditedWithContact original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ 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.ext.osv.schema.Credited"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "contact"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.osv.schema.Credited+creditedWithName :: Typed.TypedTerm Schema.Credited -> Typed.TypedTerm String -> Typed.TypedTerm Schema.Credited+creditedWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "contact"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Credited"),+ Model.projectionFieldName = (Model.Name "contact")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.osv.schema.Ecosystem wrapper+ecosystem :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Ecosystem+ecosystem x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Ecosystem"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Ecosystem+ecosystemEcosystem :: Typed.TypedName Schema.Ecosystem+ecosystemEcosystem = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Ecosystem")++-- | DSL constructor for hydra.ext.osv.schema.Entry+entry :: Typed.TypedTerm (Maybe Schema.OsvVersion) -> Typed.TypedTerm Schema.Id -> Typed.TypedTerm Schema.Timestamp -> Typed.TypedTerm (Maybe Schema.Timestamp) -> Typed.TypedTerm (Maybe Schema.Timestamp) -> Typed.TypedTerm (Maybe [Schema.Id]) -> Typed.TypedTerm (Maybe [Schema.Id]) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Schema.Markdown) -> Typed.TypedTerm (Maybe [Schema.Severity]) -> Typed.TypedTerm (Maybe [Schema.PackageVersions]) -> Typed.TypedTerm (Maybe [Schema.Reference]) -> Typed.TypedTerm (Maybe [Schema.Credited]) -> Typed.TypedTerm Schema.Entry+entry schemaVersion id modified published withdrawn aliases related summary details severity affected references credits =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Typed.unTypedTerm schemaVersion)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm id)},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Typed.unTypedTerm modified)},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Typed.unTypedTerm published)},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Typed.unTypedTerm withdrawn)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm aliases)},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Typed.unTypedTerm related)},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Typed.unTypedTerm summary)},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Typed.unTypedTerm details)},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Typed.unTypedTerm severity)},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Typed.unTypedTerm affected)},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Typed.unTypedTerm references)},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Typed.unTypedTerm credits)}]}))++-- | DSL accessor for the affected field of hydra.ext.osv.schema.Entry+entryAffected :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.PackageVersions])+entryAffected x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the aliases field of hydra.ext.osv.schema.Entry+entryAliases :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Id])+entryAliases x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the credits field of hydra.ext.osv.schema.Entry+entryCredits :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Credited])+entryCredits x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the details field of hydra.ext.osv.schema.Entry+entryDetails :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Markdown)+entryDetails x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Entry+entryEntry :: Typed.TypedName Schema.Entry+entryEntry = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Entry")++-- | DSL accessor for the id field of hydra.ext.osv.schema.Entry+entryId :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm Schema.Id+entryId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the modified field of hydra.ext.osv.schema.Entry+entryModified :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm Schema.Timestamp+entryModified x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the published field of hydra.ext.osv.schema.Entry+entryPublished :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Timestamp)+entryPublished x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the references field of hydra.ext.osv.schema.Entry+entryReferences :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Reference])+entryReferences x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the related field of hydra.ext.osv.schema.Entry+entryRelated :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Id])+entryRelated x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schemaVersion field of hydra.ext.osv.schema.Entry+entrySchemaVersion :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.OsvVersion)+entrySchemaVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the severity field of hydra.ext.osv.schema.Entry+entrySeverity :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Severity])+entrySeverity x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the summary field of hydra.ext.osv.schema.Entry+entrySummary :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe String)+entrySummary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the affected field of hydra.ext.osv.schema.Entry+entryWithAffected :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.PackageVersions]) -> Typed.TypedTerm Schema.Entry+entryWithAffected original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the aliases field of hydra.ext.osv.schema.Entry+entryWithAliases :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Id]) -> Typed.TypedTerm Schema.Entry+entryWithAliases original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the credits field of hydra.ext.osv.schema.Entry+entryWithCredits :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Credited]) -> Typed.TypedTerm Schema.Entry+entryWithCredits original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the details field of hydra.ext.osv.schema.Entry+entryWithDetails :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Markdown) -> Typed.TypedTerm Schema.Entry+entryWithDetails original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the id field of hydra.ext.osv.schema.Entry+entryWithId :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm Schema.Id -> Typed.TypedTerm Schema.Entry+entryWithId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the modified field of hydra.ext.osv.schema.Entry+entryWithModified :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm Schema.Timestamp -> Typed.TypedTerm Schema.Entry+entryWithModified original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the published field of hydra.ext.osv.schema.Entry+entryWithPublished :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Timestamp) -> Typed.TypedTerm Schema.Entry+entryWithPublished original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the references field of hydra.ext.osv.schema.Entry+entryWithReferences :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Reference]) -> Typed.TypedTerm Schema.Entry+entryWithReferences original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the related field of hydra.ext.osv.schema.Entry+entryWithRelated :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Id]) -> Typed.TypedTerm Schema.Entry+entryWithRelated original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schemaVersion field of hydra.ext.osv.schema.Entry+entryWithSchemaVersion :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.OsvVersion) -> Typed.TypedTerm Schema.Entry+entryWithSchemaVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the severity field of hydra.ext.osv.schema.Entry+entryWithSeverity :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe [Schema.Severity]) -> Typed.TypedTerm Schema.Entry+entryWithSeverity original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the summary field of hydra.ext.osv.schema.Entry+entryWithSummary :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Schema.Entry+entryWithSummary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the withdrawn field of hydra.ext.osv.schema.Entry+entryWithWithdrawn :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Timestamp) -> Typed.TypedTerm Schema.Entry+entryWithWithdrawn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "schemaVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "schemaVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "id"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "id")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "modified"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "modified")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "published"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "published")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "withdrawn"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aliases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "aliases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "related"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "related")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "summary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "summary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "details"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "details")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "severity"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "severity")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "affected"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "affected")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "references"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "references")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "credits"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "credits")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the withdrawn field of hydra.ext.osv.schema.Entry+entryWithdrawn :: Typed.TypedTerm Schema.Entry -> Typed.TypedTerm (Maybe Schema.Timestamp)+entryWithdrawn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Entry"),+ Model.projectionFieldName = (Model.Name "withdrawn")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Event+eventEvent :: Typed.TypedName Schema.Event+eventEvent = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Event")++-- | DSL injection for the fixed variant of hydra.ext.osv.schema.Event+eventFixed :: Typed.TypedTerm Schema.Version -> Typed.TypedTerm Schema.Event+eventFixed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.osv.schema.Event"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the introduced variant of hydra.ext.osv.schema.Event+eventIntroduced :: Typed.TypedTerm Schema.VersionOrZero -> Typed.TypedTerm Schema.Event+eventIntroduced x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.osv.schema.Event"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "introduced"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the lastAffected variant of hydra.ext.osv.schema.Event+eventLastAffected :: Typed.TypedTerm Schema.Version -> Typed.TypedTerm Schema.Event+eventLastAffected x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.osv.schema.Event"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lastAffected"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the limit variant of hydra.ext.osv.schema.Event+eventLimit :: Typed.TypedTerm Schema.VersionOrStar -> Typed.TypedTerm Schema.Event+eventLimit x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.osv.schema.Event"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "limit"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.osv.schema.Id wrapper+id :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Id+id x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Id"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Id+idId :: Typed.TypedName Schema.Id+idId = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Id")++-- | DSL constructor for the hydra.ext.osv.schema.Markdown wrapper+markdown :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Markdown+markdown x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Markdown"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Markdown+markdownMarkdown :: Typed.TypedName Schema.Markdown+markdownMarkdown = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Markdown")++-- | DSL constructor for the hydra.ext.osv.schema.OsvVersion wrapper+osvVersion :: Typed.TypedTerm String -> Typed.TypedTerm Schema.OsvVersion+osvVersion x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.OsvVersion"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.OsvVersion+osvVersionOsvVersion :: Typed.TypedName Schema.OsvVersion+osvVersionOsvVersion = Typed.TypedName (Model.Name "hydra.ext.osv.schema.OsvVersion")++-- | DSL constructor for hydra.ext.osv.schema.Package+package :: Typed.TypedTerm Schema.Ecosystem -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe Schema.Url) -> Typed.TypedTerm Schema.Package+package ecosystem name purl =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ecosystem"),+ Model.fieldTerm = (Typed.unTypedTerm ecosystem)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "purl"),+ Model.fieldTerm = (Typed.unTypedTerm purl)}]}))++-- | DSL accessor for the ecosystem field of hydra.ext.osv.schema.Package+packageEcosystem :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm Schema.Ecosystem+packageEcosystem x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "ecosystem")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.osv.schema.Package+packageName :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm String+packageName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Package+packagePackage :: Typed.TypedName Schema.Package+packagePackage = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Package")++-- | DSL accessor for the purl field of hydra.ext.osv.schema.Package+packagePurl :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm (Maybe Schema.Url)+packagePurl x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "purl")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.osv.schema.PackageVersions+packageVersions :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm (Maybe [Schema.VersionRange]) -> Typed.TypedTerm (Maybe [Schema.Version]) -> Typed.TypedTerm Schema.PackageVersions+packageVersions package ranges versions =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm package)},+ Model.Field {+ Model.fieldName = (Model.Name "ranges"),+ Model.fieldTerm = (Typed.unTypedTerm ranges)},+ Model.Field {+ Model.fieldName = (Model.Name "versions"),+ Model.fieldTerm = (Typed.unTypedTerm versions)}]}))++-- | DSL accessor for the package field of hydra.ext.osv.schema.PackageVersions+packageVersionsPackage :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm Schema.Package+packageVersionsPackage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.PackageVersions+packageVersionsPackageVersions :: Typed.TypedName Schema.PackageVersions+packageVersionsPackageVersions = Typed.TypedName (Model.Name "hydra.ext.osv.schema.PackageVersions")++-- | DSL accessor for the ranges field of hydra.ext.osv.schema.PackageVersions+packageVersionsRanges :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm (Maybe [Schema.VersionRange])+packageVersionsRanges x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "ranges")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the versions field of hydra.ext.osv.schema.PackageVersions+packageVersionsVersions :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm (Maybe [Schema.Version])+packageVersionsVersions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "versions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the package field of hydra.ext.osv.schema.PackageVersions+packageVersionsWithPackage :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm Schema.Package -> Typed.TypedTerm Schema.PackageVersions+packageVersionsWithPackage original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ranges"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "ranges")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "versions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "versions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ranges field of hydra.ext.osv.schema.PackageVersions+packageVersionsWithRanges :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm (Maybe [Schema.VersionRange]) -> Typed.TypedTerm Schema.PackageVersions+packageVersionsWithRanges original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ranges"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "versions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "versions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the versions field of hydra.ext.osv.schema.PackageVersions+packageVersionsWithVersions :: Typed.TypedTerm Schema.PackageVersions -> Typed.TypedTerm (Maybe [Schema.Version]) -> Typed.TypedTerm Schema.PackageVersions+packageVersionsWithVersions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ranges"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.PackageVersions"),+ Model.projectionFieldName = (Model.Name "ranges")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "versions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the ecosystem field of hydra.ext.osv.schema.Package+packageWithEcosystem :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm Schema.Ecosystem -> Typed.TypedTerm Schema.Package+packageWithEcosystem original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ecosystem"),+ 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.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "purl"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "purl")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.osv.schema.Package+packageWithName :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm String -> Typed.TypedTerm Schema.Package+packageWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ecosystem"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "ecosystem")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "purl"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "purl")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the purl field of hydra.ext.osv.schema.Package+packageWithPurl :: Typed.TypedTerm Schema.Package -> Typed.TypedTerm (Maybe Schema.Url) -> Typed.TypedTerm Schema.Package+packageWithPurl original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "ecosystem"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "ecosystem")})),+ 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.ext.osv.schema.Package"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "purl"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.osv.schema.Reference+reference :: Typed.TypedTerm Schema.ReferenceType -> Typed.TypedTerm Schema.Url -> Typed.TypedTerm Schema.Reference+reference type_ url =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "url"),+ Model.fieldTerm = (Typed.unTypedTerm url)}]}))++-- | DSL name token for hydra.ext.osv.schema.Reference+referenceReference :: Typed.TypedName Schema.Reference+referenceReference = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Reference")++-- | DSL accessor for the type field of hydra.ext.osv.schema.Reference+referenceType :: Typed.TypedTerm Schema.Reference -> Typed.TypedTerm Schema.ReferenceType+referenceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.osv.schema.ReferenceType wrapper+referenceType2 :: Typed.TypedTerm String -> Typed.TypedTerm Schema.ReferenceType+referenceType2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.ReferenceType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.ReferenceType+referenceTypeReferenceType :: Typed.TypedName Schema.ReferenceType+referenceTypeReferenceType = Typed.TypedName (Model.Name "hydra.ext.osv.schema.ReferenceType")++-- | DSL accessor for the url field of hydra.ext.osv.schema.Reference+referenceUrl :: Typed.TypedTerm Schema.Reference -> Typed.TypedTerm Schema.Url+referenceUrl x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.projectionFieldName = (Model.Name "url")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the type field of hydra.ext.osv.schema.Reference+referenceWithType :: Typed.TypedTerm Schema.Reference -> Typed.TypedTerm Schema.ReferenceType -> Typed.TypedTerm Schema.Reference+referenceWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "url"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.projectionFieldName = (Model.Name "url")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the url field of hydra.ext.osv.schema.Reference+referenceWithUrl :: Typed.TypedTerm Schema.Reference -> Typed.TypedTerm Schema.Url -> Typed.TypedTerm Schema.Reference+referenceWithUrl original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Reference"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "url"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.osv.schema.Severity+severity :: Typed.TypedTerm Schema.SeverityType -> Typed.TypedTerm Schema.SeverityScore -> Typed.TypedTerm Schema.Severity+severity type_ score =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "score"),+ Model.fieldTerm = (Typed.unTypedTerm score)}]}))++-- | DSL accessor for the score field of hydra.ext.osv.schema.Severity+severityScore :: Typed.TypedTerm Schema.Severity -> Typed.TypedTerm Schema.SeverityScore+severityScore x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.projectionFieldName = (Model.Name "score")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.osv.schema.SeverityScore wrapper+severityScore2 :: Typed.TypedTerm String -> Typed.TypedTerm Schema.SeverityScore+severityScore2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.SeverityScore"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.SeverityScore+severityScoreSeverityScore :: Typed.TypedName Schema.SeverityScore+severityScoreSeverityScore = Typed.TypedName (Model.Name "hydra.ext.osv.schema.SeverityScore")++-- | DSL name token for hydra.ext.osv.schema.Severity+severitySeverity :: Typed.TypedName Schema.Severity+severitySeverity = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Severity")++-- | DSL accessor for the type field of hydra.ext.osv.schema.Severity+severityType :: Typed.TypedTerm Schema.Severity -> Typed.TypedTerm Schema.SeverityType+severityType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.osv.schema.SeverityType wrapper+severityType2 :: Typed.TypedTerm String -> Typed.TypedTerm Schema.SeverityType+severityType2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.SeverityType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.SeverityType+severityTypeSeverityType :: Typed.TypedName Schema.SeverityType+severityTypeSeverityType = Typed.TypedName (Model.Name "hydra.ext.osv.schema.SeverityType")++-- | DSL updater for the score field of hydra.ext.osv.schema.Severity+severityWithScore :: Typed.TypedTerm Schema.Severity -> Typed.TypedTerm Schema.SeverityScore -> Typed.TypedTerm Schema.Severity+severityWithScore original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "score"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.osv.schema.Severity+severityWithType :: Typed.TypedTerm Schema.Severity -> Typed.TypedTerm Schema.SeverityType -> Typed.TypedTerm Schema.Severity+severityWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "score"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.Severity"),+ Model.projectionFieldName = (Model.Name "score")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.osv.schema.Timestamp wrapper+timestamp :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Timestamp+timestamp x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Timestamp"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Timestamp+timestampTimestamp :: Typed.TypedName Schema.Timestamp+timestampTimestamp = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Timestamp")++-- | DSL accessor for the body of hydra.ext.osv.schema.Ecosystem+unEcosystem :: Typed.TypedTerm Schema.Ecosystem -> Typed.TypedTerm String+unEcosystem x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Ecosystem")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.Id+unId :: Typed.TypedTerm Schema.Id -> Typed.TypedTerm String+unId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Id")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.Markdown+unMarkdown :: Typed.TypedTerm Schema.Markdown -> Typed.TypedTerm String+unMarkdown x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Markdown")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.OsvVersion+unOsvVersion :: Typed.TypedTerm Schema.OsvVersion -> Typed.TypedTerm String+unOsvVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.OsvVersion")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.ReferenceType+unReferenceType :: Typed.TypedTerm Schema.ReferenceType -> Typed.TypedTerm String+unReferenceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.ReferenceType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.SeverityScore+unSeverityScore :: Typed.TypedTerm Schema.SeverityScore -> Typed.TypedTerm String+unSeverityScore x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.SeverityScore")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.SeverityType+unSeverityType :: Typed.TypedTerm Schema.SeverityType -> Typed.TypedTerm String+unSeverityType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.SeverityType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.Timestamp+unTimestamp :: Typed.TypedTerm Schema.Timestamp -> Typed.TypedTerm String+unTimestamp x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Timestamp")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.Url+unUrl :: Typed.TypedTerm Schema.Url -> Typed.TypedTerm String+unUrl x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Url")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.Version+unVersion :: Typed.TypedTerm Schema.Version -> Typed.TypedTerm String+unVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.Version")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.VersionOrStar+unVersionOrStar :: Typed.TypedTerm Schema.VersionOrStar -> Typed.TypedTerm String+unVersionOrStar x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.VersionOrStar")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.VersionOrZero+unVersionOrZero :: Typed.TypedTerm Schema.VersionOrZero -> Typed.TypedTerm String+unVersionOrZero x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.VersionOrZero")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.osv.schema.VersionType+unVersionType :: Typed.TypedTerm Schema.VersionType -> Typed.TypedTerm String+unVersionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.osv.schema.VersionType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.osv.schema.Url wrapper+url :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Url+url x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Url"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.Url+urlUrl :: Typed.TypedName Schema.Url+urlUrl = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Url")++-- | DSL constructor for the hydra.ext.osv.schema.Version wrapper+version :: Typed.TypedTerm String -> Typed.TypedTerm Schema.Version+version x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.Version"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.osv.schema.VersionOrStar wrapper+versionOrStar :: Typed.TypedTerm String -> Typed.TypedTerm Schema.VersionOrStar+versionOrStar x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.VersionOrStar"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.VersionOrStar+versionOrStarVersionOrStar :: Typed.TypedName Schema.VersionOrStar+versionOrStarVersionOrStar = Typed.TypedName (Model.Name "hydra.ext.osv.schema.VersionOrStar")++-- | DSL constructor for the hydra.ext.osv.schema.VersionOrZero wrapper+versionOrZero :: Typed.TypedTerm String -> Typed.TypedTerm Schema.VersionOrZero+versionOrZero x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.VersionOrZero"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.VersionOrZero+versionOrZeroVersionOrZero :: Typed.TypedName Schema.VersionOrZero+versionOrZeroVersionOrZero = Typed.TypedName (Model.Name "hydra.ext.osv.schema.VersionOrZero")++-- | DSL constructor for hydra.ext.osv.schema.VersionRange+versionRange :: Typed.TypedTerm Schema.VersionType -> Typed.TypedTerm (Maybe Schema.Url) -> Typed.TypedTerm [Schema.Event] -> Typed.TypedTerm Schema.VersionRange+versionRange type_ repo events =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "repo"),+ Model.fieldTerm = (Typed.unTypedTerm repo)},+ Model.Field {+ Model.fieldName = (Model.Name "events"),+ Model.fieldTerm = (Typed.unTypedTerm events)}]}))++-- | DSL accessor for the events field of hydra.ext.osv.schema.VersionRange+versionRangeEvents :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm [Schema.Event]+versionRangeEvents x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "events")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the repo field of hydra.ext.osv.schema.VersionRange+versionRangeRepo :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm (Maybe Schema.Url)+versionRangeRepo x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "repo")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.osv.schema.VersionRange+versionRangeType :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm Schema.VersionType+versionRangeType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.VersionRange+versionRangeVersionRange :: Typed.TypedName Schema.VersionRange+versionRangeVersionRange = Typed.TypedName (Model.Name "hydra.ext.osv.schema.VersionRange")++-- | DSL updater for the events field of hydra.ext.osv.schema.VersionRange+versionRangeWithEvents :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm [Schema.Event] -> Typed.TypedTerm Schema.VersionRange+versionRangeWithEvents original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repo"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "repo")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "events"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the repo field of hydra.ext.osv.schema.VersionRange+versionRangeWithRepo :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm (Maybe Schema.Url) -> Typed.TypedTerm Schema.VersionRange+versionRangeWithRepo original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repo"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "events"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "events")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.osv.schema.VersionRange+versionRangeWithType :: Typed.TypedTerm Schema.VersionRange -> Typed.TypedTerm Schema.VersionType -> Typed.TypedTerm Schema.VersionRange+versionRangeWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "repo"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "repo")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "events"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.osv.schema.VersionRange"),+ Model.projectionFieldName = (Model.Name "events")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.osv.schema.VersionType wrapper+versionType :: Typed.TypedTerm String -> Typed.TypedTerm Schema.VersionType+versionType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.osv.schema.VersionType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.osv.schema.VersionType+versionTypeVersionType :: Typed.TypedName Schema.VersionType+versionTypeVersionType = Typed.TypedName (Model.Name "hydra.ext.osv.schema.VersionType")++-- | DSL name token for hydra.ext.osv.schema.Version+versionVersion :: Typed.TypedName Schema.Version+versionVersion = Typed.TypedName (Model.Name "hydra.ext.osv.schema.Version")
+ src/main/haskell/Hydra/Ext/Dsl/Parquet/Format.hs view
@@ -0,0 +1,7789 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.parquet.format++module Hydra.Ext.Dsl.Parquet.Format where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Parquet.Format as Format+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.ByteString as B+import qualified Data.Int as I++-- | DSL constructor for hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1 :: Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.AesGcmCtrV1+aesGcmCtrV1 aadPrefix aadFileUnique supplyAadPrefix =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm aadPrefix)},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Typed.unTypedTerm aadFileUnique)},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm supplyAadPrefix)}]}))++-- | DSL accessor for the aadFileUnique field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1AadFileUnique :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe B.ByteString)+aesGcmCtrV1AadFileUnique x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the aadPrefix field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1AadPrefix :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe B.ByteString)+aesGcmCtrV1AadPrefix x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1AesGcmCtrV1 :: Typed.TypedName Format.AesGcmCtrV1+aesGcmCtrV1AesGcmCtrV1 = Typed.TypedName (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1")++-- | DSL accessor for the supplyAadPrefix field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1SupplyAadPrefix :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe Bool)+aesGcmCtrV1SupplyAadPrefix x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the aadFileUnique field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1WithAadFileUnique :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.AesGcmCtrV1+aesGcmCtrV1WithAadFileUnique original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the aadPrefix field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1WithAadPrefix :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.AesGcmCtrV1+aesGcmCtrV1WithAadPrefix original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the supplyAadPrefix field of hydra.ext.parquet.format.AesGcmCtrV1+aesGcmCtrV1WithSupplyAadPrefix :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.AesGcmCtrV1+aesGcmCtrV1WithSupplyAadPrefix original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.AesGcmV1+aesGcmV1 :: Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.AesGcmV1+aesGcmV1 aadPrefix aadFileUnique supplyAadPrefix =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm aadPrefix)},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Typed.unTypedTerm aadFileUnique)},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm supplyAadPrefix)}]}))++-- | DSL accessor for the aadFileUnique field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1AadFileUnique :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe B.ByteString)+aesGcmV1AadFileUnique x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the aadPrefix field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1AadPrefix :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe B.ByteString)+aesGcmV1AadPrefix x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.AesGcmV1+aesGcmV1AesGcmV1 :: Typed.TypedName Format.AesGcmV1+aesGcmV1AesGcmV1 = Typed.TypedName (Model.Name "hydra.ext.parquet.format.AesGcmV1")++-- | DSL accessor for the supplyAadPrefix field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1SupplyAadPrefix :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe Bool)+aesGcmV1SupplyAadPrefix x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the aadFileUnique field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1WithAadFileUnique :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.AesGcmV1+aesGcmV1WithAadFileUnique original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the aadPrefix field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1WithAadPrefix :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.AesGcmV1+aesGcmV1WithAadPrefix original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "supplyAadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the supplyAadPrefix field of hydra.ext.parquet.format.AesGcmV1+aesGcmV1WithSupplyAadPrefix :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.AesGcmV1+aesGcmV1WithSupplyAadPrefix original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "aadPrefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadPrefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "aadFileUnique"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.AesGcmV1"),+ Model.projectionFieldName = (Model.Name "aadFileUnique")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "supplyAadPrefix"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the block variant of hydra.ext.parquet.format.BloomFilterAlgorithm+bloomFilterAlgorithmBlock :: Typed.TypedTerm Format.BloomFilterAlgorithm+bloomFilterAlgorithmBlock =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterAlgorithm"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.BloomFilterAlgorithm+bloomFilterAlgorithmBloomFilterAlgorithm :: Typed.TypedName Format.BloomFilterAlgorithm+bloomFilterAlgorithmBloomFilterAlgorithm = Typed.TypedName (Model.Name "hydra.ext.parquet.format.BloomFilterAlgorithm")++-- | DSL name token for hydra.ext.parquet.format.BloomFilterCompression+bloomFilterCompressionBloomFilterCompression :: Typed.TypedName Format.BloomFilterCompression+bloomFilterCompressionBloomFilterCompression =+ Typed.TypedName (Model.Name "hydra.ext.parquet.format.BloomFilterCompression")++-- | DSL injection for the uncompressed variant of hydra.ext.parquet.format.BloomFilterCompression+bloomFilterCompressionUncompressed :: Typed.TypedTerm Format.BloomFilterCompression+bloomFilterCompressionUncompressed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterCompression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uncompressed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.BloomFilterHash+bloomFilterHashBloomFilterHash :: Typed.TypedName Format.BloomFilterHash+bloomFilterHashBloomFilterHash = Typed.TypedName (Model.Name "hydra.ext.parquet.format.BloomFilterHash")++-- | DSL injection for the xxhash variant of hydra.ext.parquet.format.BloomFilterHash+bloomFilterHashXxhash :: Typed.TypedTerm Format.BloomFilterHash+bloomFilterHashXxhash =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHash"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "xxhash"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeader :: Typed.TypedTerm Int -> Typed.TypedTerm Format.BloomFilterAlgorithm -> Typed.TypedTerm Format.BloomFilterHash -> Typed.TypedTerm Format.BloomFilterCompression -> Typed.TypedTerm Format.BloomFilterHeader+bloomFilterHeader numBytes algorithm hash compression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numBytes"),+ Model.fieldTerm = (Typed.unTypedTerm numBytes)},+ Model.Field {+ Model.fieldName = (Model.Name "algorithm"),+ Model.fieldTerm = (Typed.unTypedTerm algorithm)},+ Model.Field {+ Model.fieldName = (Model.Name "hash"),+ Model.fieldTerm = (Typed.unTypedTerm hash)},+ Model.Field {+ Model.fieldName = (Model.Name "compression"),+ Model.fieldTerm = (Typed.unTypedTerm compression)}]}))++-- | DSL accessor for the algorithm field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderAlgorithm :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterAlgorithm+bloomFilterHeaderAlgorithm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "algorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderBloomFilterHeader :: Typed.TypedName Format.BloomFilterHeader+bloomFilterHeaderBloomFilterHeader = Typed.TypedName (Model.Name "hydra.ext.parquet.format.BloomFilterHeader")++-- | DSL accessor for the compression field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderCompression :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterCompression+bloomFilterHeaderCompression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "compression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the hash field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderHash :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterHash+bloomFilterHeaderHash x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "hash")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numBytes field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderNumBytes :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Int+bloomFilterHeaderNumBytes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "numBytes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the algorithm field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderWithAlgorithm :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterAlgorithm -> Typed.TypedTerm Format.BloomFilterHeader+bloomFilterHeaderWithAlgorithm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numBytes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "numBytes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "algorithm"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "hash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "hash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "compression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the compression field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderWithCompression :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterCompression -> Typed.TypedTerm Format.BloomFilterHeader+bloomFilterHeaderWithCompression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numBytes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "numBytes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "algorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "algorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "hash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the hash field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderWithHash :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Format.BloomFilterHash -> Typed.TypedTerm Format.BloomFilterHeader+bloomFilterHeaderWithHash original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numBytes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "numBytes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "algorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "algorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hash"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "compression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "compression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numBytes field of hydra.ext.parquet.format.BloomFilterHeader+bloomFilterHeaderWithNumBytes :: Typed.TypedTerm Format.BloomFilterHeader -> Typed.TypedTerm Int -> Typed.TypedTerm Format.BloomFilterHeader+bloomFilterHeaderWithNumBytes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numBytes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "algorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "algorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "hash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "hash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.BloomFilterHeader"),+ Model.projectionFieldName = (Model.Name "compression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the ascending variant of hydra.ext.parquet.format.BoundaryOrder+boundaryOrderAscending :: Typed.TypedTerm Format.BoundaryOrder+boundaryOrderAscending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BoundaryOrder"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ascending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.BoundaryOrder+boundaryOrderBoundaryOrder :: Typed.TypedName Format.BoundaryOrder+boundaryOrderBoundaryOrder = Typed.TypedName (Model.Name "hydra.ext.parquet.format.BoundaryOrder")++-- | DSL injection for the descending variant of hydra.ext.parquet.format.BoundaryOrder+boundaryOrderDescending :: Typed.TypedTerm Format.BoundaryOrder+boundaryOrderDescending =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BoundaryOrder"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the unordered variant of hydra.ext.parquet.format.BoundaryOrder+boundaryOrderUnordered :: Typed.TypedTerm Format.BoundaryOrder+boundaryOrderUnordered =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.BoundaryOrder"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unordered"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.parquet.format.ColumnChunk+columnChunk :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm (Maybe Format.ColumnMetaData) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Format.ColumnCryptoMetaData) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.ColumnChunk+columnChunk filePath fileOffset metaData offsetIndexOffset offsetIndexLength columnIndexOffset columnIndexLength cryptoMetadata encryptedColumnMetadata =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Typed.unTypedTerm filePath)},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Typed.unTypedTerm fileOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Typed.unTypedTerm metaData)},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Typed.unTypedTerm offsetIndexOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Typed.unTypedTerm offsetIndexLength)},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Typed.unTypedTerm columnIndexOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Typed.unTypedTerm columnIndexLength)},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm cryptoMetadata)},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm encryptedColumnMetadata)}]}))++-- | DSL name token for hydra.ext.parquet.format.ColumnChunk+columnChunkColumnChunk :: Typed.TypedName Format.ColumnChunk+columnChunkColumnChunk = Typed.TypedName (Model.Name "hydra.ext.parquet.format.ColumnChunk")++-- | DSL accessor for the columnIndexLength field of hydra.ext.parquet.format.ColumnChunk+columnChunkColumnIndexLength :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Int)+columnChunkColumnIndexLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the columnIndexOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkColumnIndexOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe I.Int64)+columnChunkColumnIndexOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the cryptoMetadata field of hydra.ext.parquet.format.ColumnChunk+columnChunkCryptoMetadata :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Format.ColumnCryptoMetaData)+columnChunkCryptoMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encryptedColumnMetadata field of hydra.ext.parquet.format.ColumnChunk+columnChunkEncryptedColumnMetadata :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe B.ByteString)+columnChunkEncryptedColumnMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the fileOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkFileOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm I.Int64+columnChunkFileOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the filePath field of hydra.ext.parquet.format.ColumnChunk+columnChunkFilePath :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe String)+columnChunkFilePath x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the metaData field of hydra.ext.parquet.format.ColumnChunk+columnChunkMetaData :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Format.ColumnMetaData)+columnChunkMetaData x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the offsetIndexLength field of hydra.ext.parquet.format.ColumnChunk+columnChunkOffsetIndexLength :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Int)+columnChunkOffsetIndexLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the offsetIndexOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkOffsetIndexOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe I.Int64)+columnChunkOffsetIndexOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the columnIndexLength field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithColumnIndexLength :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithColumnIndexLength original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the columnIndexOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithColumnIndexOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithColumnIndexOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the cryptoMetadata field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithCryptoMetadata :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Format.ColumnCryptoMetaData) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithCryptoMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encryptedColumnMetadata field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithEncryptedColumnMetadata :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithEncryptedColumnMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the fileOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithFileOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithFileOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ 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.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the filePath field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithFilePath :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithFilePath original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the metaData field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithMetaData :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Format.ColumnMetaData) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithMetaData original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the offsetIndexLength field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithOffsetIndexLength :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithOffsetIndexLength original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the offsetIndexOffset field of hydra.ext.parquet.format.ColumnChunk+columnChunkWithOffsetIndexOffset :: Typed.TypedTerm Format.ColumnChunk -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnChunk+columnChunkWithOffsetIndexOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "filePath"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "filePath")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metaData"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "metaData")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "offsetIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "offsetIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnIndexLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "columnIndexLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cryptoMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "cryptoMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptedColumnMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnChunk"),+ Model.projectionFieldName = (Model.Name "encryptedColumnMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.parquet.format.ColumnCryptoMetaData+columnCryptoMetaDataColumnCryptoMetaData :: Typed.TypedName Format.ColumnCryptoMetaData+columnCryptoMetaDataColumnCryptoMetaData = Typed.TypedName (Model.Name "hydra.ext.parquet.format.ColumnCryptoMetaData")++-- | DSL injection for the encryptionWithColumnKey variant of hydra.ext.parquet.format.ColumnCryptoMetaData+columnCryptoMetaDataEncryptionWithColumnKey :: Typed.TypedTerm Format.EncryptionWithColumnKey -> Typed.TypedTerm Format.ColumnCryptoMetaData+columnCryptoMetaDataEncryptionWithColumnKey x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnCryptoMetaData"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "encryptionWithColumnKey"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the encryptionWithFooterKey variant of hydra.ext.parquet.format.ColumnCryptoMetaData+columnCryptoMetaDataEncryptionWithFooterKey :: Typed.TypedTerm Format.EncryptionWithFooterKey -> Typed.TypedTerm Format.ColumnCryptoMetaData+columnCryptoMetaDataEncryptionWithFooterKey x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnCryptoMetaData"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "encryptionWithFooterKey"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.parquet.format.ColumnIndex+columnIndex :: Typed.TypedTerm [Bool] -> Typed.TypedTerm [B.ByteString] -> Typed.TypedTerm [B.ByteString] -> Typed.TypedTerm Format.BoundaryOrder -> Typed.TypedTerm (Maybe [I.Int64]) -> Typed.TypedTerm Format.ColumnIndex+columnIndex nullPages minValues maxValues boundaryOrder nullCounts =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Typed.unTypedTerm nullPages)},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Typed.unTypedTerm minValues)},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Typed.unTypedTerm maxValues)},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Typed.unTypedTerm boundaryOrder)},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Typed.unTypedTerm nullCounts)}]}))++-- | DSL accessor for the boundaryOrder field of hydra.ext.parquet.format.ColumnIndex+columnIndexBoundaryOrder :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm Format.BoundaryOrder+columnIndexBoundaryOrder x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "boundaryOrder")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.ColumnIndex+columnIndexColumnIndex :: Typed.TypedName Format.ColumnIndex+columnIndexColumnIndex = Typed.TypedName (Model.Name "hydra.ext.parquet.format.ColumnIndex")++-- | DSL accessor for the maxValues field of hydra.ext.parquet.format.ColumnIndex+columnIndexMaxValues :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [B.ByteString]+columnIndexMaxValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "maxValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the minValues field of hydra.ext.parquet.format.ColumnIndex+columnIndexMinValues :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [B.ByteString]+columnIndexMinValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "minValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullCounts field of hydra.ext.parquet.format.ColumnIndex+columnIndexNullCounts :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm (Maybe [I.Int64])+columnIndexNullCounts x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullCounts")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullPages field of hydra.ext.parquet.format.ColumnIndex+columnIndexNullPages :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [Bool]+columnIndexNullPages x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullPages")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the boundaryOrder field of hydra.ext.parquet.format.ColumnIndex+columnIndexWithBoundaryOrder :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm Format.BoundaryOrder -> Typed.TypedTerm Format.ColumnIndex+columnIndexWithBoundaryOrder original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullPages")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "minValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "maxValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullCounts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the maxValues field of hydra.ext.parquet.format.ColumnIndex+columnIndexWithMaxValues :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [B.ByteString] -> Typed.TypedTerm Format.ColumnIndex+columnIndexWithMaxValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullPages")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "minValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "boundaryOrder")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullCounts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the minValues field of hydra.ext.parquet.format.ColumnIndex+columnIndexWithMinValues :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [B.ByteString] -> Typed.TypedTerm Format.ColumnIndex+columnIndexWithMinValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullPages")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "maxValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "boundaryOrder")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullCounts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the nullCounts field of hydra.ext.parquet.format.ColumnIndex+columnIndexWithNullCounts :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm (Maybe [I.Int64]) -> Typed.TypedTerm Format.ColumnIndex+columnIndexWithNullCounts original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullPages")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "minValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "maxValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "boundaryOrder")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the nullPages field of hydra.ext.parquet.format.ColumnIndex+columnIndexWithNullPages :: Typed.TypedTerm Format.ColumnIndex -> Typed.TypedTerm [Bool] -> Typed.TypedTerm Format.ColumnIndex+columnIndexWithNullPages original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullPages"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "minValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "minValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "maxValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundaryOrder"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "boundaryOrder")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullCounts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnIndex"),+ Model.projectionFieldName = (Model.Name "nullCounts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.ColumnMetaData+columnMetaData :: Typed.TypedTerm Format.Type -> Typed.TypedTerm [Format.Encoding] -> Typed.TypedTerm [String] -> Typed.TypedTerm Format.CompressionCodec -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm (Maybe [Format.KeyValue]) -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm (Maybe [Format.PageEncodingStats]) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaData type_ encodings pathInSchema codec numValues totalUncompressedSize totalCompressedSize keyValueMetadata dataPageOffset indexPageOffset dictionaryPageOffset statistics encodingStats bloomFilterOffset =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Typed.unTypedTerm encodings)},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Typed.unTypedTerm pathInSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Typed.unTypedTerm codec)},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm numValues)},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm totalUncompressedSize)},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm totalCompressedSize)},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm keyValueMetadata)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm dataPageOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm indexPageOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm dictionaryPageOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm statistics)},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Typed.unTypedTerm encodingStats)},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Typed.unTypedTerm bloomFilterOffset)}]}))++-- | DSL accessor for the bloomFilterOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataBloomFilterOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64)+columnMetaDataBloomFilterOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the codec field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataCodec :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm Format.CompressionCodec+columnMetaDataCodec x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.ColumnMetaData+columnMetaDataColumnMetaData :: Typed.TypedName Format.ColumnMetaData+columnMetaDataColumnMetaData = Typed.TypedName (Model.Name "hydra.ext.parquet.format.ColumnMetaData")++-- | DSL accessor for the dataPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataDataPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64+columnMetaDataDataPageOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dictionaryPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataDictionaryPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64)+columnMetaDataDictionaryPageOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encodingStats field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataEncodingStats :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe [Format.PageEncodingStats])+columnMetaDataEncodingStats x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encodings field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataEncodings :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm [Format.Encoding]+columnMetaDataEncodings x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the indexPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataIndexPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64)+columnMetaDataIndexPageOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the keyValueMetadata field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataKeyValueMetadata :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe [Format.KeyValue])+columnMetaDataKeyValueMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numValues field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataNumValues :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64+columnMetaDataNumValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pathInSchema field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataPathInSchema :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm [String]+columnMetaDataPathInSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statistics field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataStatistics :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe Format.Statistics)+columnMetaDataStatistics x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the totalCompressedSize field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataTotalCompressedSize :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64+columnMetaDataTotalCompressedSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the totalUncompressedSize field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataTotalUncompressedSize :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64+columnMetaDataTotalUncompressedSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataType :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm Format.Type+columnMetaDataType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the bloomFilterOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithBloomFilterOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithBloomFilterOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the codec field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithCodec :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm Format.CompressionCodec -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithCodec original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dataPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithDataPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithDataPageOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dictionaryPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithDictionaryPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithDictionaryPageOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encodingStats field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithEncodingStats :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe [Format.PageEncodingStats]) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithEncodingStats original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encodings field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithEncodings :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm [Format.Encoding] -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithEncodings original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the indexPageOffset field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithIndexPageOffset :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithIndexPageOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the keyValueMetadata field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithKeyValueMetadata :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe [Format.KeyValue]) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithKeyValueMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numValues field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithNumValues :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithNumValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pathInSchema field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithPathInSchema :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm [String] -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithPathInSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statistics field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithStatistics :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithStatistics original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the totalCompressedSize field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithTotalCompressedSize :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithTotalCompressedSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the totalUncompressedSize field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithTotalUncompressedSize :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithTotalUncompressedSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.parquet.format.ColumnMetaData+columnMetaDataWithType :: Typed.TypedTerm Format.ColumnMetaData -> Typed.TypedTerm Format.Type -> Typed.TypedTerm Format.ColumnMetaData+columnMetaDataWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encodings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "codec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "codec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalUncompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalUncompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dataPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "indexPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "dictionaryPageOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encodingStats"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "encodingStats")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bloomFilterOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnMetaData"),+ Model.projectionFieldName = (Model.Name "bloomFilterOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.parquet.format.ColumnOrder+columnOrderColumnOrder :: Typed.TypedName Format.ColumnOrder+columnOrderColumnOrder = Typed.TypedName (Model.Name "hydra.ext.parquet.format.ColumnOrder")++-- | DSL injection for the typeOrder variant of hydra.ext.parquet.format.ColumnOrder+columnOrderTypeOrder :: Typed.TypedTerm Format.ColumnOrder+columnOrderTypeOrder =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.ColumnOrder"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeOrder"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the brotli variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecBrotli :: Typed.TypedTerm Format.CompressionCodec+compressionCodecBrotli =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "brotli"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.CompressionCodec+compressionCodecCompressionCodec :: Typed.TypedName Format.CompressionCodec+compressionCodecCompressionCodec = Typed.TypedName (Model.Name "hydra.ext.parquet.format.CompressionCodec")++-- | DSL injection for the gzip variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecGzip :: Typed.TypedTerm Format.CompressionCodec+compressionCodecGzip =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "gzip"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lz4Raw variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecLz4Raw :: Typed.TypedTerm Format.CompressionCodec+compressionCodecLz4Raw =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lz4Raw"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lzo variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecLzo :: Typed.TypedTerm Format.CompressionCodec+compressionCodecLzo =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lzo"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the snappy variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecSnappy :: Typed.TypedTerm Format.CompressionCodec+compressionCodecSnappy =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "snappy"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uncompressed variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecUncompressed :: Typed.TypedTerm Format.CompressionCodec+compressionCodecUncompressed =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uncompressed"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the zstd variant of hydra.ext.parquet.format.CompressionCodec+compressionCodecZstd :: Typed.TypedTerm Format.CompressionCodec+compressionCodecZstd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.CompressionCodec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "zstd"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.parquet.format.DataPageHeader+dataPageHeader :: Typed.TypedTerm Int -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm Format.DataPageHeader+dataPageHeader numValues encoding definitionLevelEncoding repetitionLevelEncoding statistics =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm numValues)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm encoding)},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Typed.unTypedTerm definitionLevelEncoding)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Typed.unTypedTerm repetitionLevelEncoding)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm statistics)}]}))++-- | DSL name token for hydra.ext.parquet.format.DataPageHeader+dataPageHeaderDataPageHeader :: Typed.TypedName Format.DataPageHeader+dataPageHeaderDataPageHeader = Typed.TypedName (Model.Name "hydra.ext.parquet.format.DataPageHeader")++-- | DSL accessor for the definitionLevelEncoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderDefinitionLevelEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding+dataPageHeaderDefinitionLevelEncoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "definitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding+dataPageHeaderEncoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numValues field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderNumValues :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Int+dataPageHeaderNumValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the repetitionLevelEncoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderRepetitionLevelEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding+dataPageHeaderRepetitionLevelEncoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "repetitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statistics field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderStatistics :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm (Maybe Format.Statistics)+dataPageHeaderStatistics x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2 :: Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2 numValues numNulls numRows encoding definitionLevelsByteLength repetitionLevelsByteLength isCompressed statistics =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm numValues)},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Typed.unTypedTerm numNulls)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm numRows)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm encoding)},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Typed.unTypedTerm definitionLevelsByteLength)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Typed.unTypedTerm repetitionLevelsByteLength)},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Typed.unTypedTerm isCompressed)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm statistics)}]}))++-- | DSL name token for hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2DataPageHeaderV2 :: Typed.TypedName Format.DataPageHeaderV2+dataPageHeaderV2DataPageHeaderV2 = Typed.TypedName (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2")++-- | DSL accessor for the definitionLevelsByteLength field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2DefinitionLevelsByteLength :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int+dataPageHeaderV2DefinitionLevelsByteLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encoding field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2Encoding :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Format.Encoding+dataPageHeaderV2Encoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isCompressed field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2IsCompressed :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm (Maybe Bool)+dataPageHeaderV2IsCompressed x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numNulls field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2NumNulls :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int+dataPageHeaderV2NumNulls x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numRows field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2NumRows :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int+dataPageHeaderV2NumRows x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numValues field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2NumValues :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int+dataPageHeaderV2NumValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the repetitionLevelsByteLength field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2RepetitionLevelsByteLength :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int+dataPageHeaderV2RepetitionLevelsByteLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statistics field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2Statistics :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm (Maybe Format.Statistics)+dataPageHeaderV2Statistics x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the definitionLevelsByteLength field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithDefinitionLevelsByteLength :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithDefinitionLevelsByteLength original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encoding field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithEncoding :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isCompressed field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithIsCompressed :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithIsCompressed original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numNulls field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithNumNulls :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithNumNulls original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numRows field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithNumRows :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithNumRows original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numValues field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithNumValues :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithNumValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the repetitionLevelsByteLength field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithRepetitionLevelsByteLength :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithRepetitionLevelsByteLength original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statistics field of hydra.ext.parquet.format.DataPageHeaderV2+dataPageHeaderV2WithStatistics :: Typed.TypedTerm Format.DataPageHeaderV2 -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm Format.DataPageHeaderV2+dataPageHeaderV2WithStatistics original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numNulls"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numNulls")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "definitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelsByteLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "repetitionLevelsByteLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isCompressed"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"),+ Model.projectionFieldName = (Model.Name "isCompressed")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the definitionLevelEncoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderWithDefinitionLevelEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.DataPageHeader+dataPageHeaderWithDefinitionLevelEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "repetitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderWithEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.DataPageHeader+dataPageHeaderWithEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "definitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "repetitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numValues field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderWithNumValues :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DataPageHeader+dataPageHeaderWithNumValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "definitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "repetitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the repetitionLevelEncoding field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderWithRepetitionLevelEncoding :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.DataPageHeader+dataPageHeaderWithRepetitionLevelEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "definitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "statistics")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statistics field of hydra.ext.parquet.format.DataPageHeader+dataPageHeaderWithStatistics :: Typed.TypedTerm Format.DataPageHeader -> Typed.TypedTerm (Maybe Format.Statistics) -> Typed.TypedTerm Format.DataPageHeader+dataPageHeaderWithStatistics original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "definitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "definitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionLevelEncoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DataPageHeader"),+ Model.projectionFieldName = (Model.Name "repetitionLevelEncoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statistics"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.DecimalType+decimalType :: Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DecimalType+decimalType scale precision =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Typed.unTypedTerm scale)},+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Typed.unTypedTerm precision)}]}))++-- | DSL name token for hydra.ext.parquet.format.DecimalType+decimalTypeDecimalType :: Typed.TypedName Format.DecimalType+decimalTypeDecimalType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.DecimalType")++-- | DSL accessor for the precision field of hydra.ext.parquet.format.DecimalType+decimalTypePrecision :: Typed.TypedTerm Format.DecimalType -> Typed.TypedTerm Int+decimalTypePrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.projectionFieldName = (Model.Name "precision")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the scale field of hydra.ext.parquet.format.DecimalType+decimalTypeScale :: Typed.TypedTerm Format.DecimalType -> Typed.TypedTerm Int+decimalTypeScale x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.projectionFieldName = (Model.Name "scale")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the precision field of hydra.ext.parquet.format.DecimalType+decimalTypeWithPrecision :: Typed.TypedTerm Format.DecimalType -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DecimalType+decimalTypeWithPrecision original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.projectionFieldName = (Model.Name "scale")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the scale field of hydra.ext.parquet.format.DecimalType+decimalTypeWithScale :: Typed.TypedTerm Format.DecimalType -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DecimalType+decimalTypeWithScale original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scale"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "precision"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DecimalType"),+ Model.projectionFieldName = (Model.Name "precision")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeader :: Typed.TypedTerm Int -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.DictionaryPageHeader+dictionaryPageHeader numValues encoding isSorted =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm numValues)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm encoding)},+ Model.Field {+ Model.fieldName = (Model.Name "isSorted"),+ Model.fieldTerm = (Typed.unTypedTerm isSorted)}]}))++-- | DSL name token for hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderDictionaryPageHeader :: Typed.TypedName Format.DictionaryPageHeader+dictionaryPageHeaderDictionaryPageHeader = Typed.TypedName (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader")++-- | DSL accessor for the encoding field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderEncoding :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm Format.Encoding+dictionaryPageHeaderEncoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the isSorted field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderIsSorted :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm (Maybe Bool)+dictionaryPageHeaderIsSorted x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "isSorted")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numValues field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderNumValues :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm Int+dictionaryPageHeaderNumValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the encoding field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderWithEncoding :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.DictionaryPageHeader+dictionaryPageHeaderWithEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isSorted"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "isSorted")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isSorted field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderWithIsSorted :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm (Maybe Bool) -> Typed.TypedTerm Format.DictionaryPageHeader+dictionaryPageHeaderWithIsSorted original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "numValues")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isSorted"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the numValues field of hydra.ext.parquet.format.DictionaryPageHeader+dictionaryPageHeaderWithNumValues :: Typed.TypedTerm Format.DictionaryPageHeader -> Typed.TypedTerm Int -> Typed.TypedTerm Format.DictionaryPageHeader+dictionaryPageHeaderWithNumValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "numValues"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isSorted"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"),+ Model.projectionFieldName = (Model.Name "isSorted")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the bitPacked variant of hydra.ext.parquet.format.Encoding+encodingBitPacked :: Typed.TypedTerm Format.Encoding+encodingBitPacked =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bitPacked"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the byteStreamSplit variant of hydra.ext.parquet.format.Encoding+encodingByteStreamSplit :: Typed.TypedTerm Format.Encoding+encodingByteStreamSplit =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "byteStreamSplit"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the deltaBinaryPacked variant of hydra.ext.parquet.format.Encoding+encodingDeltaBinaryPacked :: Typed.TypedTerm Format.Encoding+encodingDeltaBinaryPacked =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "deltaBinaryPacked"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the deltaByteArray variant of hydra.ext.parquet.format.Encoding+encodingDeltaByteArray :: Typed.TypedTerm Format.Encoding+encodingDeltaByteArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "deltaByteArray"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the deltaLengthByteArray variant of hydra.ext.parquet.format.Encoding+encodingDeltaLengthByteArray :: Typed.TypedTerm Format.Encoding+encodingDeltaLengthByteArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "deltaLengthByteArray"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.Encoding+encodingEncoding :: Typed.TypedName Format.Encoding+encodingEncoding = Typed.TypedName (Model.Name "hydra.ext.parquet.format.Encoding")++-- | DSL injection for the plain variant of hydra.ext.parquet.format.Encoding+encodingPlain :: Typed.TypedTerm Format.Encoding+encodingPlain =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plain"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rle variant of hydra.ext.parquet.format.Encoding+encodingRle :: Typed.TypedTerm Format.Encoding+encodingRle =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rle"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rleDictionary variant of hydra.ext.parquet.format.Encoding+encodingRleDictionary :: Typed.TypedTerm Format.Encoding+encodingRleDictionary =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Encoding"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rleDictionary"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the aesGcmCtrV1 variant of hydra.ext.parquet.format.EncryptionAlgorithm+encryptionAlgorithmAesGcmCtrV1 :: Typed.TypedTerm Format.AesGcmCtrV1 -> Typed.TypedTerm Format.EncryptionAlgorithm+encryptionAlgorithmAesGcmCtrV1 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionAlgorithm"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "aesGcmCtrV1"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the aesGcmV1 variant of hydra.ext.parquet.format.EncryptionAlgorithm+encryptionAlgorithmAesGcmV1 :: Typed.TypedTerm Format.AesGcmV1 -> Typed.TypedTerm Format.EncryptionAlgorithm+encryptionAlgorithmAesGcmV1 x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionAlgorithm"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "aesGcmV1"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.parquet.format.EncryptionAlgorithm+encryptionAlgorithmEncryptionAlgorithm :: Typed.TypedName Format.EncryptionAlgorithm+encryptionAlgorithmEncryptionAlgorithm = Typed.TypedName (Model.Name "hydra.ext.parquet.format.EncryptionAlgorithm")++-- | DSL constructor for hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKey :: Typed.TypedTerm [String] -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.EncryptionWithColumnKey+encryptionWithColumnKey pathInSchema keyMetadata =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Typed.unTypedTerm pathInSchema)},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm keyMetadata)}]}))++-- | DSL name token for hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKeyEncryptionWithColumnKey :: Typed.TypedName Format.EncryptionWithColumnKey+encryptionWithColumnKeyEncryptionWithColumnKey =+ Typed.TypedName (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey")++-- | DSL accessor for the keyMetadata field of hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKeyKeyMetadata :: Typed.TypedTerm Format.EncryptionWithColumnKey -> Typed.TypedTerm (Maybe B.ByteString)+encryptionWithColumnKeyKeyMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.projectionFieldName = (Model.Name "keyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pathInSchema field of hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKeyPathInSchema :: Typed.TypedTerm Format.EncryptionWithColumnKey -> Typed.TypedTerm [String]+encryptionWithColumnKeyPathInSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keyMetadata field of hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKeyWithKeyMetadata :: Typed.TypedTerm Format.EncryptionWithColumnKey -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.EncryptionWithColumnKey+encryptionWithColumnKeyWithKeyMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.projectionFieldName = (Model.Name "pathInSchema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pathInSchema field of hydra.ext.parquet.format.EncryptionWithColumnKey+encryptionWithColumnKeyWithPathInSchema :: Typed.TypedTerm Format.EncryptionWithColumnKey -> Typed.TypedTerm [String] -> Typed.TypedTerm Format.EncryptionWithColumnKey+encryptionWithColumnKeyWithPathInSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pathInSchema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"),+ Model.projectionFieldName = (Model.Name "keyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.parquet.format.FieldRepetitionType+fieldRepetitionTypeFieldRepetitionType :: Typed.TypedName Format.FieldRepetitionType+fieldRepetitionTypeFieldRepetitionType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.FieldRepetitionType")++-- | DSL injection for the optional variant of hydra.ext.parquet.format.FieldRepetitionType+fieldRepetitionTypeOptional :: Typed.TypedTerm Format.FieldRepetitionType+fieldRepetitionTypeOptional =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.FieldRepetitionType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the repeated variant of hydra.ext.parquet.format.FieldRepetitionType+fieldRepetitionTypeRepeated :: Typed.TypedTerm Format.FieldRepetitionType+fieldRepetitionTypeRepeated =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.FieldRepetitionType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "repeated"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the required variant of hydra.ext.parquet.format.FieldRepetitionType+fieldRepetitionTypeRequired :: Typed.TypedTerm Format.FieldRepetitionType+fieldRepetitionTypeRequired =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.FieldRepetitionType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "required"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaData :: Typed.TypedTerm Format.EncryptionAlgorithm -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.FileCryptoMetaData+fileCryptoMetaData encryptionAlgorithm keyMetadata =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Typed.unTypedTerm encryptionAlgorithm)},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm keyMetadata)}]}))++-- | DSL accessor for the encryptionAlgorithm field of hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaDataEncryptionAlgorithm :: Typed.TypedTerm Format.FileCryptoMetaData -> Typed.TypedTerm Format.EncryptionAlgorithm+fileCryptoMetaDataEncryptionAlgorithm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaDataFileCryptoMetaData :: Typed.TypedName Format.FileCryptoMetaData+fileCryptoMetaDataFileCryptoMetaData = Typed.TypedName (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData")++-- | DSL accessor for the keyMetadata field of hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaDataKeyMetadata :: Typed.TypedTerm Format.FileCryptoMetaData -> Typed.TypedTerm (Maybe B.ByteString)+fileCryptoMetaDataKeyMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.projectionFieldName = (Model.Name "keyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the encryptionAlgorithm field of hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaDataWithEncryptionAlgorithm :: Typed.TypedTerm Format.FileCryptoMetaData -> Typed.TypedTerm Format.EncryptionAlgorithm -> Typed.TypedTerm Format.FileCryptoMetaData+fileCryptoMetaDataWithEncryptionAlgorithm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.projectionFieldName = (Model.Name "keyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the keyMetadata field of hydra.ext.parquet.format.FileCryptoMetaData+fileCryptoMetaDataWithKeyMetadata :: Typed.TypedTerm Format.FileCryptoMetaData -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.FileCryptoMetaData+fileCryptoMetaDataWithKeyMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.FileMetaData+fileMetaData :: Typed.TypedTerm Int -> Typed.TypedTerm [Format.SchemaElement] -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm [Format.RowGroup] -> Typed.TypedTerm (Maybe [Format.KeyValue]) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe [Format.ColumnOrder]) -> Typed.TypedTerm (Maybe Format.EncryptionAlgorithm) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.FileMetaData+fileMetaData version schema numRows rowGroups keyValueMetadata createdBy columnOrders encryptionAlgorithm footerSigningKeyMetadata =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Typed.unTypedTerm version)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm schema)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm numRows)},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Typed.unTypedTerm rowGroups)},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm keyValueMetadata)},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Typed.unTypedTerm createdBy)},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Typed.unTypedTerm columnOrders)},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Typed.unTypedTerm encryptionAlgorithm)},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm footerSigningKeyMetadata)}]}))++-- | DSL accessor for the columnOrders field of hydra.ext.parquet.format.FileMetaData+fileMetaDataColumnOrders :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe [Format.ColumnOrder])+fileMetaDataColumnOrders x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the createdBy field of hydra.ext.parquet.format.FileMetaData+fileMetaDataCreatedBy :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe String)+fileMetaDataCreatedBy x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encryptionAlgorithm field of hydra.ext.parquet.format.FileMetaData+fileMetaDataEncryptionAlgorithm :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe Format.EncryptionAlgorithm)+fileMetaDataEncryptionAlgorithm x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.FileMetaData+fileMetaDataFileMetaData :: Typed.TypedName Format.FileMetaData+fileMetaDataFileMetaData = Typed.TypedName (Model.Name "hydra.ext.parquet.format.FileMetaData")++-- | DSL accessor for the footerSigningKeyMetadata field of hydra.ext.parquet.format.FileMetaData+fileMetaDataFooterSigningKeyMetadata :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe B.ByteString)+fileMetaDataFooterSigningKeyMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the keyValueMetadata field of hydra.ext.parquet.format.FileMetaData+fileMetaDataKeyValueMetadata :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe [Format.KeyValue])+fileMetaDataKeyValueMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numRows field of hydra.ext.parquet.format.FileMetaData+fileMetaDataNumRows :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm I.Int64+fileMetaDataNumRows x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rowGroups field of hydra.ext.parquet.format.FileMetaData+fileMetaDataRowGroups :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm [Format.RowGroup]+fileMetaDataRowGroups x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schema field of hydra.ext.parquet.format.FileMetaData+fileMetaDataSchema :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm [Format.SchemaElement]+fileMetaDataSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the version field of hydra.ext.parquet.format.FileMetaData+fileMetaDataVersion :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm Int+fileMetaDataVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the columnOrders field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithColumnOrders :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe [Format.ColumnOrder]) -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithColumnOrders original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the createdBy field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithCreatedBy :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithCreatedBy original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the encryptionAlgorithm field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithEncryptionAlgorithm :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe Format.EncryptionAlgorithm) -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithEncryptionAlgorithm original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the footerSigningKeyMetadata field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithFooterSigningKeyMetadata :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithFooterSigningKeyMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the keyValueMetadata field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithKeyValueMetadata :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm (Maybe [Format.KeyValue]) -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithKeyValueMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numRows field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithNumRows :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithNumRows original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rowGroups field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithRowGroups :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm [Format.RowGroup] -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithRowGroups original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schema field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithSchema :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm [Format.SchemaElement] -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithSchema original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the version field of hydra.ext.parquet.format.FileMetaData+fileMetaDataWithVersion :: Typed.TypedTerm Format.FileMetaData -> Typed.TypedTerm Int -> Typed.TypedTerm Format.FileMetaData+fileMetaDataWithVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schema"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "schema")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rowGroups"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "rowGroups")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keyValueMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "keyValueMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "createdBy"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "createdBy")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnOrders"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "columnOrders")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encryptionAlgorithm"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "encryptionAlgorithm")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "footerSigningKeyMetadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.FileMetaData"),+ Model.projectionFieldName = (Model.Name "footerSigningKeyMetadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.IntType+intType :: Typed.TypedTerm I.Int16 -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.IntType+intType bitWidth isSigned =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bitWidth"),+ Model.fieldTerm = (Typed.unTypedTerm bitWidth)},+ Model.Field {+ Model.fieldName = (Model.Name "isSigned"),+ Model.fieldTerm = (Typed.unTypedTerm isSigned)}]}))++-- | DSL accessor for the bitWidth field of hydra.ext.parquet.format.IntType+intTypeBitWidth :: Typed.TypedTerm Format.IntType -> Typed.TypedTerm I.Int16+intTypeBitWidth x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.projectionFieldName = (Model.Name "bitWidth")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.IntType+intTypeIntType :: Typed.TypedName Format.IntType+intTypeIntType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.IntType")++-- | DSL accessor for the isSigned field of hydra.ext.parquet.format.IntType+intTypeIsSigned :: Typed.TypedTerm Format.IntType -> Typed.TypedTerm Bool+intTypeIsSigned x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.projectionFieldName = (Model.Name "isSigned")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the bitWidth field of hydra.ext.parquet.format.IntType+intTypeWithBitWidth :: Typed.TypedTerm Format.IntType -> Typed.TypedTerm I.Int16 -> Typed.TypedTerm Format.IntType+intTypeWithBitWidth original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bitWidth"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "isSigned"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.projectionFieldName = (Model.Name "isSigned")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the isSigned field of hydra.ext.parquet.format.IntType+intTypeWithIsSigned :: Typed.TypedTerm Format.IntType -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.IntType+intTypeWithIsSigned original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "bitWidth"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.IntType"),+ Model.projectionFieldName = (Model.Name "bitWidth")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "isSigned"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.KeyValue+keyValue :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Format.KeyValue+keyValue key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.KeyValue"),+ 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.ext.parquet.format.KeyValue+keyValueKey :: Typed.TypedTerm Format.KeyValue -> Typed.TypedTerm String+keyValueKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.KeyValue"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.KeyValue+keyValueKeyValue :: Typed.TypedName Format.KeyValue+keyValueKeyValue = Typed.TypedName (Model.Name "hydra.ext.parquet.format.KeyValue")++-- | DSL accessor for the value field of hydra.ext.parquet.format.KeyValue+keyValueValue :: Typed.TypedTerm Format.KeyValue -> Typed.TypedTerm (Maybe String)+keyValueValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.KeyValue"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.ext.parquet.format.KeyValue+keyValueWithKey :: Typed.TypedTerm Format.KeyValue -> Typed.TypedTerm String -> Typed.TypedTerm Format.KeyValue+keyValueWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.KeyValue"),+ 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.ext.parquet.format.KeyValue"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.parquet.format.KeyValue+keyValueWithValue :: Typed.TypedTerm Format.KeyValue -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Format.KeyValue+keyValueWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.KeyValue"),+ 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.ext.parquet.format.KeyValue"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the bson variant of hydra.ext.parquet.format.LogicalType+logicalTypeBson :: Typed.TypedTerm Format.LogicalType+logicalTypeBson =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bson"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the date variant of hydra.ext.parquet.format.LogicalType+logicalTypeDate :: Typed.TypedTerm Format.LogicalType+logicalTypeDate =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "date"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the decimal variant of hydra.ext.parquet.format.LogicalType+logicalTypeDecimal :: Typed.TypedTerm Format.DecimalType -> Typed.TypedTerm Format.LogicalType+logicalTypeDecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the enum variant of hydra.ext.parquet.format.LogicalType+logicalTypeEnum :: Typed.TypedTerm Format.LogicalType+logicalTypeEnum =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the integer variant of hydra.ext.parquet.format.LogicalType+logicalTypeInteger :: Typed.TypedTerm Format.IntType -> Typed.TypedTerm Format.LogicalType+logicalTypeInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the json variant of hydra.ext.parquet.format.LogicalType+logicalTypeJson :: Typed.TypedTerm Format.LogicalType+logicalTypeJson =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "json"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the list variant of hydra.ext.parquet.format.LogicalType+logicalTypeList :: Typed.TypedTerm Format.LogicalType+logicalTypeList =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.LogicalType+logicalTypeLogicalType :: Typed.TypedName Format.LogicalType+logicalTypeLogicalType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.LogicalType")++-- | DSL injection for the map variant of hydra.ext.parquet.format.LogicalType+logicalTypeMap :: Typed.TypedTerm Format.LogicalType+logicalTypeMap =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.parquet.format.LogicalType+logicalTypeString :: Typed.TypedTerm Format.LogicalType+logicalTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the time variant of hydra.ext.parquet.format.LogicalType+logicalTypeTime :: Typed.TypedTerm Format.TimeType -> Typed.TypedTerm Format.LogicalType+logicalTypeTime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "time"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the timestamp variant of hydra.ext.parquet.format.LogicalType+logicalTypeTimestamp :: Typed.TypedTerm Format.TimestampType -> Typed.TypedTerm Format.LogicalType+logicalTypeTimestamp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timestamp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unknown variant of hydra.ext.parquet.format.LogicalType+logicalTypeUnknown :: Typed.TypedTerm Format.LogicalType+logicalTypeUnknown =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unknown"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uuid variant of hydra.ext.parquet.format.LogicalType+logicalTypeUuid :: Typed.TypedTerm Format.LogicalType+logicalTypeUuid =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.LogicalType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uuid"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.parquet.format.OffsetIndex+offsetIndex :: Typed.TypedTerm [Format.PageLocation] -> Typed.TypedTerm Format.OffsetIndex+offsetIndex pageLocations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.OffsetIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageLocations"),+ Model.fieldTerm = (Typed.unTypedTerm pageLocations)}]}))++-- | DSL name token for hydra.ext.parquet.format.OffsetIndex+offsetIndexOffsetIndex :: Typed.TypedName Format.OffsetIndex+offsetIndexOffsetIndex = Typed.TypedName (Model.Name "hydra.ext.parquet.format.OffsetIndex")++-- | DSL accessor for the pageLocations field of hydra.ext.parquet.format.OffsetIndex+offsetIndexPageLocations :: Typed.TypedTerm Format.OffsetIndex -> Typed.TypedTerm [Format.PageLocation]+offsetIndexPageLocations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.OffsetIndex"),+ Model.projectionFieldName = (Model.Name "pageLocations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the pageLocations field of hydra.ext.parquet.format.OffsetIndex+offsetIndexWithPageLocations :: Typed.TypedTerm Format.OffsetIndex -> Typed.TypedTerm [Format.PageLocation] -> Typed.TypedTerm Format.OffsetIndex+offsetIndexWithPageLocations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.OffsetIndex"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageLocations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.PageEncodingStats+pageEncodingStats :: Typed.TypedTerm Format.PageType -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Int -> Typed.TypedTerm Format.PageEncodingStats+pageEncodingStats pageType encoding count =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageType"),+ Model.fieldTerm = (Typed.unTypedTerm pageType)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm encoding)},+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Typed.unTypedTerm count)}]}))++-- | DSL accessor for the count field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsCount :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Int+pageEncodingStatsCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "count")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the encoding field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsEncoding :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Format.Encoding+pageEncodingStatsEncoding x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsPageEncodingStats :: Typed.TypedName Format.PageEncodingStats+pageEncodingStatsPageEncodingStats = Typed.TypedName (Model.Name "hydra.ext.parquet.format.PageEncodingStats")++-- | DSL accessor for the pageType field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsPageType :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Format.PageType+pageEncodingStatsPageType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "pageType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the count field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsWithCount :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Int -> Typed.TypedTerm Format.PageEncodingStats+pageEncodingStatsWithCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "pageType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the encoding field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsWithEncoding :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Format.Encoding -> Typed.TypedTerm Format.PageEncodingStats+pageEncodingStatsWithEncoding original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "pageType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "count")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pageType field of hydra.ext.parquet.format.PageEncodingStats+pageEncodingStatsWithPageType :: Typed.TypedTerm Format.PageEncodingStats -> Typed.TypedTerm Format.PageType -> Typed.TypedTerm Format.PageEncodingStats+pageEncodingStatsWithPageType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pageType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "encoding"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "encoding")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "count"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageEncodingStats"),+ Model.projectionFieldName = (Model.Name "count")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.PageHeader+pageHeader :: Typed.TypedTerm Format.PageType -> Typed.TypedTerm Int -> Typed.TypedTerm Int -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Format.DataPageHeader) -> Typed.TypedTerm (Maybe Format.IndexPageHeader) -> Typed.TypedTerm (Maybe Format.DictionaryPageHeader) -> Typed.TypedTerm (Maybe Format.DataPageHeaderV2) -> Typed.TypedTerm Format.PageHeader+pageHeader type_ uncompressedPageSize compressedPageSize crc dataPageHeader indexPageHeader dictionaryPageHeader dataPageHeaderV2 =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm uncompressedPageSize)},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm compressedPageSize)},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Typed.unTypedTerm crc)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm dataPageHeader)},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm indexPageHeader)},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm dictionaryPageHeader)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Typed.unTypedTerm dataPageHeaderV2)}]}))++-- | DSL accessor for the compressedPageSize field of hydra.ext.parquet.format.PageHeader+pageHeaderCompressedPageSize :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Int+pageHeaderCompressedPageSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the crc field of hydra.ext.parquet.format.PageHeader+pageHeaderCrc :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Int)+pageHeaderCrc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dataPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderDataPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DataPageHeader)+pageHeaderDataPageHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dataPageHeaderV2 field of hydra.ext.parquet.format.PageHeader+pageHeaderDataPageHeaderV2 :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DataPageHeaderV2)+pageHeaderDataPageHeaderV2 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the dictionaryPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderDictionaryPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DictionaryPageHeader)+pageHeaderDictionaryPageHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the indexPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderIndexPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.IndexPageHeader)+pageHeaderIndexPageHeader x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.PageHeader+pageHeaderPageHeader :: Typed.TypedName Format.PageHeader+pageHeaderPageHeader = Typed.TypedName (Model.Name "hydra.ext.parquet.format.PageHeader")++-- | DSL accessor for the type field of hydra.ext.parquet.format.PageHeader+pageHeaderType :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Format.PageType+pageHeaderType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the uncompressedPageSize field of hydra.ext.parquet.format.PageHeader+pageHeaderUncompressedPageSize :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Int+pageHeaderUncompressedPageSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the compressedPageSize field of hydra.ext.parquet.format.PageHeader+pageHeaderWithCompressedPageSize :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Int -> Typed.TypedTerm Format.PageHeader+pageHeaderWithCompressedPageSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the crc field of hydra.ext.parquet.format.PageHeader+pageHeaderWithCrc :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.PageHeader+pageHeaderWithCrc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dataPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderWithDataPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DataPageHeader) -> Typed.TypedTerm Format.PageHeader+pageHeaderWithDataPageHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the dataPageHeaderV2 field of hydra.ext.parquet.format.PageHeader+pageHeaderWithDataPageHeaderV2 :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DataPageHeaderV2) -> Typed.TypedTerm Format.PageHeader+pageHeaderWithDataPageHeaderV2 original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the dictionaryPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderWithDictionaryPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.DictionaryPageHeader) -> Typed.TypedTerm Format.PageHeader+pageHeaderWithDictionaryPageHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the indexPageHeader field of hydra.ext.parquet.format.PageHeader+pageHeaderWithIndexPageHeader :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm (Maybe Format.IndexPageHeader) -> Typed.TypedTerm Format.PageHeader+pageHeaderWithIndexPageHeader original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.parquet.format.PageHeader+pageHeaderWithType :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Format.PageType -> Typed.TypedTerm Format.PageHeader+pageHeaderWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "uncompressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the uncompressedPageSize field of hydra.ext.parquet.format.PageHeader+pageHeaderWithUncompressedPageSize :: Typed.TypedTerm Format.PageHeader -> Typed.TypedTerm Int -> Typed.TypedTerm Format.PageHeader+pageHeaderWithUncompressedPageSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "uncompressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "crc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "crc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "indexPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "indexPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dictionaryPageHeader"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dictionaryPageHeader")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dataPageHeaderV2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageHeader"),+ Model.projectionFieldName = (Model.Name "dataPageHeaderV2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.PageLocation+pageLocation :: Typed.TypedTerm I.Int64 -> Typed.TypedTerm Int -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.PageLocation+pageLocation offset compressedPageSize firstRowIndex =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "offset"),+ Model.fieldTerm = (Typed.unTypedTerm offset)},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm compressedPageSize)},+ Model.Field {+ Model.fieldName = (Model.Name "firstRowIndex"),+ Model.fieldTerm = (Typed.unTypedTerm firstRowIndex)}]}))++-- | DSL accessor for the compressedPageSize field of hydra.ext.parquet.format.PageLocation+pageLocationCompressedPageSize :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm Int+pageLocationCompressedPageSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the firstRowIndex field of hydra.ext.parquet.format.PageLocation+pageLocationFirstRowIndex :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm I.Int64+pageLocationFirstRowIndex x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "firstRowIndex")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the offset field of hydra.ext.parquet.format.PageLocation+pageLocationOffset :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm I.Int64+pageLocationOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "offset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.PageLocation+pageLocationPageLocation :: Typed.TypedName Format.PageLocation+pageLocationPageLocation = Typed.TypedName (Model.Name "hydra.ext.parquet.format.PageLocation")++-- | DSL updater for the compressedPageSize field of hydra.ext.parquet.format.PageLocation+pageLocationWithCompressedPageSize :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm Int -> Typed.TypedTerm Format.PageLocation+pageLocationWithCompressedPageSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "offset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "offset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "firstRowIndex"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "firstRowIndex")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the firstRowIndex field of hydra.ext.parquet.format.PageLocation+pageLocationWithFirstRowIndex :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.PageLocation+pageLocationWithFirstRowIndex original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "offset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "offset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "firstRowIndex"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the offset field of hydra.ext.parquet.format.PageLocation+pageLocationWithOffset :: Typed.TypedTerm Format.PageLocation -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.PageLocation+pageLocationWithOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "offset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "compressedPageSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "compressedPageSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "firstRowIndex"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.PageLocation"),+ Model.projectionFieldName = (Model.Name "firstRowIndex")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the dataPage variant of hydra.ext.parquet.format.PageType+pageTypeDataPage :: Typed.TypedTerm Format.PageType+pageTypeDataPage =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.PageType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dataPage"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dataPageV2 variant of hydra.ext.parquet.format.PageType+pageTypeDataPageV2 :: Typed.TypedTerm Format.PageType+pageTypeDataPageV2 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.PageType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dataPageV2"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dictionaryPage variant of hydra.ext.parquet.format.PageType+pageTypeDictionaryPage :: Typed.TypedTerm Format.PageType+pageTypeDictionaryPage =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.PageType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dictionaryPage"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the indexPage variant of hydra.ext.parquet.format.PageType+pageTypeIndexPage :: Typed.TypedTerm Format.PageType+pageTypeIndexPage =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.PageType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "indexPage"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.PageType+pageTypePageType :: Typed.TypedName Format.PageType+pageTypePageType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.PageType")++-- | DSL constructor for hydra.ext.parquet.format.RowGroup+rowGroup :: Typed.TypedTerm [Format.ColumnChunk] -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm (Maybe [Format.SortingColumn]) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm (Maybe I.Int16) -> Typed.TypedTerm Format.RowGroup+rowGroup columns totalByteSize numRows sortingColumns fileOffset totalCompressedSize ordinal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm columns)},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Typed.unTypedTerm totalByteSize)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm numRows)},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Typed.unTypedTerm sortingColumns)},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Typed.unTypedTerm fileOffset)},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm totalCompressedSize)},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Typed.unTypedTerm ordinal)}]}))++-- | DSL accessor for the columns field of hydra.ext.parquet.format.RowGroup+rowGroupColumns :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm [Format.ColumnChunk]+rowGroupColumns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the fileOffset field of hydra.ext.parquet.format.RowGroup+rowGroupFileOffset :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int64)+rowGroupFileOffset x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numRows field of hydra.ext.parquet.format.RowGroup+rowGroupNumRows :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm I.Int64+rowGroupNumRows x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the ordinal field of hydra.ext.parquet.format.RowGroup+rowGroupOrdinal :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int16)+rowGroupOrdinal x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.RowGroup+rowGroupRowGroup :: Typed.TypedName Format.RowGroup+rowGroupRowGroup = Typed.TypedName (Model.Name "hydra.ext.parquet.format.RowGroup")++-- | DSL accessor for the sortingColumns field of hydra.ext.parquet.format.RowGroup+rowGroupSortingColumns :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe [Format.SortingColumn])+rowGroupSortingColumns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the totalByteSize field of hydra.ext.parquet.format.RowGroup+rowGroupTotalByteSize :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm I.Int64+rowGroupTotalByteSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the totalCompressedSize field of hydra.ext.parquet.format.RowGroup+rowGroupTotalCompressedSize :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int64)+rowGroupTotalCompressedSize x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the columns field of hydra.ext.parquet.format.RowGroup+rowGroupWithColumns :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm [Format.ColumnChunk] -> Typed.TypedTerm Format.RowGroup+rowGroupWithColumns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the fileOffset field of hydra.ext.parquet.format.RowGroup+rowGroupWithFileOffset :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.RowGroup+rowGroupWithFileOffset original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numRows field of hydra.ext.parquet.format.RowGroup+rowGroupWithNumRows :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.RowGroup+rowGroupWithNumRows original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ordinal field of hydra.ext.parquet.format.RowGroup+rowGroupWithOrdinal :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int16) -> Typed.TypedTerm Format.RowGroup+rowGroupWithOrdinal original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the sortingColumns field of hydra.ext.parquet.format.RowGroup+rowGroupWithSortingColumns :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe [Format.SortingColumn]) -> Typed.TypedTerm Format.RowGroup+rowGroupWithSortingColumns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the totalByteSize field of hydra.ext.parquet.format.RowGroup+rowGroupWithTotalByteSize :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm I.Int64 -> Typed.TypedTerm Format.RowGroup+rowGroupWithTotalByteSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalCompressedSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the totalCompressedSize field of hydra.ext.parquet.format.RowGroup+rowGroupWithTotalCompressedSize :: Typed.TypedTerm Format.RowGroup -> Typed.TypedTerm (Maybe I.Int64) -> Typed.TypedTerm Format.RowGroup+rowGroupWithTotalCompressedSize original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalByteSize"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "totalByteSize")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numRows"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "numRows")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "sortingColumns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "sortingColumns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fileOffset"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "fileOffset")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "totalCompressedSize"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ordinal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.RowGroup"),+ Model.projectionFieldName = (Model.Name "ordinal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.SchemaElement+schemaElement :: Typed.TypedTerm (Maybe Format.Type) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Format.FieldRepetitionType) -> Typed.TypedTerm String -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm (Maybe Format.LogicalType) -> Typed.TypedTerm Format.SchemaElement+schemaElement type_ typeLength repetitionType name numChildren fieldId logicalType =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Typed.unTypedTerm typeLength)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Typed.unTypedTerm repetitionType)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Typed.unTypedTerm numChildren)},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Typed.unTypedTerm fieldId)},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Typed.unTypedTerm logicalType)}]}))++-- | DSL accessor for the fieldId field of hydra.ext.parquet.format.SchemaElement+schemaElementFieldId :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int)+schemaElementFieldId x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the logicalType field of hydra.ext.parquet.format.SchemaElement+schemaElementLogicalType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.LogicalType)+schemaElementLogicalType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.parquet.format.SchemaElement+schemaElementName :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm String+schemaElementName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the numChildren field of hydra.ext.parquet.format.SchemaElement+schemaElementNumChildren :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int)+schemaElementNumChildren x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the repetitionType field of hydra.ext.parquet.format.SchemaElement+schemaElementRepetitionType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.FieldRepetitionType)+schemaElementRepetitionType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.SchemaElement+schemaElementSchemaElement :: Typed.TypedName Format.SchemaElement+schemaElementSchemaElement = Typed.TypedName (Model.Name "hydra.ext.parquet.format.SchemaElement")++-- | DSL accessor for the type field of hydra.ext.parquet.format.SchemaElement+schemaElementType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.Type)+schemaElementType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeLength field of hydra.ext.parquet.format.SchemaElement+schemaElementTypeLength :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int)+schemaElementTypeLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the fieldId field of hydra.ext.parquet.format.SchemaElement+schemaElementWithFieldId :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithFieldId original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the logicalType field of hydra.ext.parquet.format.SchemaElement+schemaElementWithLogicalType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.LogicalType) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithLogicalType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.parquet.format.SchemaElement+schemaElementWithName :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm String -> Typed.TypedTerm Format.SchemaElement+schemaElementWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the numChildren field of hydra.ext.parquet.format.SchemaElement+schemaElementWithNumChildren :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithNumChildren original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the repetitionType field of hydra.ext.parquet.format.SchemaElement+schemaElementWithRepetitionType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.FieldRepetitionType) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithRepetitionType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.parquet.format.SchemaElement+schemaElementWithType :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Format.Type) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "typeLength")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeLength field of hydra.ext.parquet.format.SchemaElement+schemaElementWithTypeLength :: Typed.TypedTerm Format.SchemaElement -> Typed.TypedTerm (Maybe Int) -> Typed.TypedTerm Format.SchemaElement+schemaElementWithTypeLength original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeLength"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "repetitionType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "repetitionType")})),+ 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.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "numChildren"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "numChildren")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldId"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "fieldId")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "logicalType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SchemaElement"),+ Model.projectionFieldName = (Model.Name "logicalType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.SortingColumn+sortingColumn :: Typed.TypedTerm Int -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.SortingColumn+sortingColumn columnIdx descending nullsFirst =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columnIdx"),+ Model.fieldTerm = (Typed.unTypedTerm columnIdx)},+ Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = (Typed.unTypedTerm descending)},+ Model.Field {+ Model.fieldName = (Model.Name "nullsFirst"),+ Model.fieldTerm = (Typed.unTypedTerm nullsFirst)}]}))++-- | DSL accessor for the columnIdx field of hydra.ext.parquet.format.SortingColumn+sortingColumnColumnIdx :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Int+sortingColumnColumnIdx x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "columnIdx")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the descending field of hydra.ext.parquet.format.SortingColumn+sortingColumnDescending :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Bool+sortingColumnDescending x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "descending")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullsFirst field of hydra.ext.parquet.format.SortingColumn+sortingColumnNullsFirst :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Bool+sortingColumnNullsFirst x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "nullsFirst")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.SortingColumn+sortingColumnSortingColumn :: Typed.TypedName Format.SortingColumn+sortingColumnSortingColumn = Typed.TypedName (Model.Name "hydra.ext.parquet.format.SortingColumn")++-- | DSL updater for the columnIdx field of hydra.ext.parquet.format.SortingColumn+sortingColumnWithColumnIdx :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Int -> Typed.TypedTerm Format.SortingColumn+sortingColumnWithColumnIdx original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columnIdx"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "descending")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullsFirst"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "nullsFirst")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the descending field of hydra.ext.parquet.format.SortingColumn+sortingColumnWithDescending :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.SortingColumn+sortingColumnWithDescending original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columnIdx"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "columnIdx")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "nullsFirst"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "nullsFirst")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the nullsFirst field of hydra.ext.parquet.format.SortingColumn+sortingColumnWithNullsFirst :: Typed.TypedTerm Format.SortingColumn -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.SortingColumn+sortingColumnWithNullsFirst original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columnIdx"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "columnIdx")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "descending"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.SortingColumn"),+ Model.projectionFieldName = (Model.Name "descending")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullsFirst"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.parquet.format.Statistics+statistics :: Typed.TypedTerm (Maybe Integer) -> Typed.TypedTerm (Maybe Integer) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.Statistics+statistics nullCount distinctCount maxValue minValue =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullCount"),+ Model.fieldTerm = (Typed.unTypedTerm nullCount)},+ Model.Field {+ Model.fieldName = (Model.Name "distinctCount"),+ Model.fieldTerm = (Typed.unTypedTerm distinctCount)},+ Model.Field {+ Model.fieldName = (Model.Name "maxValue"),+ Model.fieldTerm = (Typed.unTypedTerm maxValue)},+ Model.Field {+ Model.fieldName = (Model.Name "minValue"),+ Model.fieldTerm = (Typed.unTypedTerm minValue)}]}))++-- | DSL accessor for the distinctCount field of hydra.ext.parquet.format.Statistics+statisticsDistinctCount :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe Integer)+statisticsDistinctCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "distinctCount")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the maxValue field of hydra.ext.parquet.format.Statistics+statisticsMaxValue :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe B.ByteString)+statisticsMaxValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "maxValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the minValue field of hydra.ext.parquet.format.Statistics+statisticsMinValue :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe B.ByteString)+statisticsMinValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "minValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullCount field of hydra.ext.parquet.format.Statistics+statisticsNullCount :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe Integer)+statisticsNullCount x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "nullCount")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.Statistics+statisticsStatistics :: Typed.TypedName Format.Statistics+statisticsStatistics = Typed.TypedName (Model.Name "hydra.ext.parquet.format.Statistics")++-- | DSL updater for the distinctCount field of hydra.ext.parquet.format.Statistics+statisticsWithDistinctCount :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe Integer) -> Typed.TypedTerm Format.Statistics+statisticsWithDistinctCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "nullCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "distinctCount"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "maxValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "maxValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "minValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the maxValue field of hydra.ext.parquet.format.Statistics+statisticsWithMaxValue :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.Statistics+statisticsWithMaxValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "nullCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "distinctCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "distinctCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "minValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "minValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the minValue field of hydra.ext.parquet.format.Statistics+statisticsWithMinValue :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe B.ByteString) -> Typed.TypedTerm Format.Statistics+statisticsWithMinValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "nullCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "distinctCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "distinctCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "maxValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the nullCount field of hydra.ext.parquet.format.Statistics+statisticsWithNullCount :: Typed.TypedTerm Format.Statistics -> Typed.TypedTerm (Maybe Integer) -> Typed.TypedTerm Format.Statistics+statisticsWithNullCount original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nullCount"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "distinctCount"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "distinctCount")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "maxValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "maxValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "minValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.Statistics"),+ Model.projectionFieldName = (Model.Name "minValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.parquet.format.TimeType+timeType :: Typed.TypedTerm Bool -> Typed.TypedTerm Format.TimeUnit -> Typed.TypedTerm Format.TimeType+timeType isAdjustedToUtc unit =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Typed.unTypedTerm isAdjustedToUtc)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm unit)}]}))++-- | DSL accessor for the isAdjustedToUtc field of hydra.ext.parquet.format.TimeType+timeTypeIsAdjustedToUtc :: Typed.TypedTerm Format.TimeType -> Typed.TypedTerm Bool+timeTypeIsAdjustedToUtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.projectionFieldName = (Model.Name "isAdjustedToUtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.TimeType+timeTypeTimeType :: Typed.TypedName Format.TimeType+timeTypeTimeType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.TimeType")++-- | DSL accessor for the unit field of hydra.ext.parquet.format.TimeType+timeTypeUnit :: Typed.TypedTerm Format.TimeType -> Typed.TypedTerm Format.TimeUnit+timeTypeUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the isAdjustedToUtc field of hydra.ext.parquet.format.TimeType+timeTypeWithIsAdjustedToUtc :: Typed.TypedTerm Format.TimeType -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.TimeType+timeTypeWithIsAdjustedToUtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unit field of hydra.ext.parquet.format.TimeType+timeTypeWithUnit :: Typed.TypedTerm Format.TimeType -> Typed.TypedTerm Format.TimeUnit -> Typed.TypedTerm Format.TimeType+timeTypeWithUnit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeType"),+ Model.projectionFieldName = (Model.Name "isAdjustedToUtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the micros variant of hydra.ext.parquet.format.TimeUnit+timeUnitMicros :: Typed.TypedTerm Format.TimeUnit+timeUnitMicros =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "micros"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the millis variant of hydra.ext.parquet.format.TimeUnit+timeUnitMillis :: Typed.TypedTerm Format.TimeUnit+timeUnitMillis =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "millis"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the nanos variant of hydra.ext.parquet.format.TimeUnit+timeUnitNanos :: Typed.TypedTerm Format.TimeUnit+timeUnitNanos =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.TimeUnit"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nanos"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.TimeUnit+timeUnitTimeUnit :: Typed.TypedName Format.TimeUnit+timeUnitTimeUnit = Typed.TypedName (Model.Name "hydra.ext.parquet.format.TimeUnit")++-- | DSL constructor for hydra.ext.parquet.format.TimestampType+timestampType :: Typed.TypedTerm Bool -> Typed.TypedTerm Format.TimeUnit -> Typed.TypedTerm Format.TimestampType+timestampType isAdjustedToUtc unit =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Typed.unTypedTerm isAdjustedToUtc)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm unit)}]}))++-- | DSL accessor for the isAdjustedToUtc field of hydra.ext.parquet.format.TimestampType+timestampTypeIsAdjustedToUtc :: Typed.TypedTerm Format.TimestampType -> Typed.TypedTerm Bool+timestampTypeIsAdjustedToUtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.projectionFieldName = (Model.Name "isAdjustedToUtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.parquet.format.TimestampType+timestampTypeTimestampType :: Typed.TypedName Format.TimestampType+timestampTypeTimestampType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.TimestampType")++-- | DSL accessor for the unit field of hydra.ext.parquet.format.TimestampType+timestampTypeUnit :: Typed.TypedTerm Format.TimestampType -> Typed.TypedTerm Format.TimeUnit+timestampTypeUnit x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the isAdjustedToUtc field of hydra.ext.parquet.format.TimestampType+timestampTypeWithIsAdjustedToUtc :: Typed.TypedTerm Format.TimestampType -> Typed.TypedTerm Bool -> Typed.TypedTerm Format.TimestampType+timestampTypeWithIsAdjustedToUtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.projectionFieldName = (Model.Name "unit")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the unit field of hydra.ext.parquet.format.TimestampType+timestampTypeWithUnit :: Typed.TypedTerm Format.TimestampType -> Typed.TypedTerm Format.TimeUnit -> Typed.TypedTerm Format.TimestampType+timestampTypeWithUnit original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "isAdjustedToUtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.parquet.format.TimestampType"),+ Model.projectionFieldName = (Model.Name "isAdjustedToUtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "unit"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the boolean variant of hydra.ext.parquet.format.Type+typeBoolean :: Typed.TypedTerm Format.Type+typeBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the byteArray variant of hydra.ext.parquet.format.Type+typeByteArray :: Typed.TypedTerm Format.Type+typeByteArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "byteArray"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.parquet.format.Type+typeDouble :: Typed.TypedTerm Format.Type+typeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the fixedLenByteArray variant of hydra.ext.parquet.format.Type+typeFixedLenByteArray :: Typed.TypedTerm Format.Type+typeFixedLenByteArray =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixedLenByteArray"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.parquet.format.Type+typeFloat :: Typed.TypedTerm Format.Type+typeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int32 variant of hydra.ext.parquet.format.Type+typeInt32 :: Typed.TypedTerm Format.Type+typeInt32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int64 variant of hydra.ext.parquet.format.Type+typeInt64 :: Typed.TypedTerm Format.Type+typeInt64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.parquet.format.Type"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.parquet.format.Type+typeType :: Typed.TypedName Format.Type+typeType = Typed.TypedName (Model.Name "hydra.ext.parquet.format.Type")
+ src/main/haskell/Hydra/Ext/Dsl/Pegasus/Pdl.hs view
@@ -0,0 +1,1373 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.pegasus.pdl++module Hydra.Ext.Dsl.Pegasus.Pdl where++import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Pegasus.Pdl as Pdl+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.pegasus.pdl.Annotations+annotations :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Bool -> Typed.TypedTerm Pdl.Annotations+annotations doc deprecated =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Typed.unTypedTerm doc)},+ Model.Field {+ Model.fieldName = (Model.Name "deprecated"),+ Model.fieldTerm = (Typed.unTypedTerm deprecated)}]}))++-- | DSL name token for hydra.ext.pegasus.pdl.Annotations+annotationsAnnotations :: Typed.TypedName Pdl.Annotations+annotationsAnnotations = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Annotations")++-- | DSL accessor for the deprecated field of hydra.ext.pegasus.pdl.Annotations+annotationsDeprecated :: Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Bool+annotationsDeprecated x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.projectionFieldName = (Model.Name "deprecated")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the doc field of hydra.ext.pegasus.pdl.Annotations+annotationsDoc :: Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm (Maybe String)+annotationsDoc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the deprecated field of hydra.ext.pegasus.pdl.Annotations+annotationsWithDeprecated :: Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Bool -> Typed.TypedTerm Pdl.Annotations+annotationsWithDeprecated original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.projectionFieldName = (Model.Name "doc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "deprecated"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the doc field of hydra.ext.pegasus.pdl.Annotations+annotationsWithDoc :: Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Pdl.Annotations+annotationsWithDoc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "doc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "deprecated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Annotations"),+ Model.projectionFieldName = (Model.Name "deprecated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.pegasus.pdl.EnumField+enumField :: Typed.TypedTerm Pdl.EnumFieldName -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.EnumField+enumField name annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the annotations field of hydra.ext.pegasus.pdl.EnumField+enumFieldAnnotations :: Typed.TypedTerm Pdl.EnumField -> Typed.TypedTerm Pdl.Annotations+enumFieldAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.EnumField+enumFieldEnumField :: Typed.TypedName Pdl.EnumField+enumFieldEnumField = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.EnumField")++-- | DSL accessor for the name field of hydra.ext.pegasus.pdl.EnumField+enumFieldName :: Typed.TypedTerm Pdl.EnumField -> Typed.TypedTerm Pdl.EnumFieldName+enumFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.pegasus.pdl.EnumFieldName wrapper+enumFieldName2 :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.EnumFieldName+enumFieldName2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumFieldName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.EnumFieldName+enumFieldNameEnumFieldName :: Typed.TypedName Pdl.EnumFieldName+enumFieldNameEnumFieldName = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.EnumFieldName")++-- | DSL updater for the annotations field of hydra.ext.pegasus.pdl.EnumField+enumFieldWithAnnotations :: Typed.TypedTerm Pdl.EnumField -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.EnumField+enumFieldWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ 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.ext.pegasus.pdl.EnumField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.pegasus.pdl.EnumField+enumFieldWithName :: Typed.TypedTerm Pdl.EnumField -> Typed.TypedTerm Pdl.EnumFieldName -> Typed.TypedTerm Pdl.EnumField+enumFieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.pegasus.pdl.EnumSchema+enumSchema :: Typed.TypedTerm [Pdl.EnumField] -> Typed.TypedTerm Pdl.EnumSchema+enumSchema fields =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)}]}))++-- | DSL name token for hydra.ext.pegasus.pdl.EnumSchema+enumSchemaEnumSchema :: Typed.TypedName Pdl.EnumSchema+enumSchemaEnumSchema = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.EnumSchema")++-- | DSL accessor for the fields field of hydra.ext.pegasus.pdl.EnumSchema+enumSchemaFields :: Typed.TypedTerm Pdl.EnumSchema -> Typed.TypedTerm [Pdl.EnumField]+enumSchemaFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumSchema"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the fields field of hydra.ext.pegasus.pdl.EnumSchema+enumSchemaWithFields :: Typed.TypedTerm Pdl.EnumSchema -> Typed.TypedTerm [Pdl.EnumField] -> Typed.TypedTerm Pdl.EnumSchema+enumSchemaWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.EnumSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.pegasus.pdl.FieldName wrapper+fieldName :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.FieldName+fieldName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.FieldName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.FieldName+fieldNameFieldName :: Typed.TypedName Pdl.FieldName+fieldNameFieldName = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.FieldName")++-- | DSL constructor for the hydra.ext.pegasus.pdl.Name wrapper+name :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.Name+name x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.Name"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.Name+nameName :: Typed.TypedName Pdl.Name+nameName = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Name")++-- | DSL constructor for hydra.ext.pegasus.pdl.NamedSchema+namedSchema :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm Pdl.NamedSchemaType -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.NamedSchema+namedSchema qualifiedName type_ annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "qualifiedName"),+ Model.fieldTerm = (Typed.unTypedTerm qualifiedName)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the annotations field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaAnnotations :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.Annotations+namedSchemaAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.NamedSchema+namedSchemaNamedSchema :: Typed.TypedName Pdl.NamedSchema+namedSchemaNamedSchema = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.NamedSchema")++-- | DSL accessor for the qualifiedName field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaQualifiedName :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.QualifiedName+namedSchemaQualifiedName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "qualifiedName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaType :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.NamedSchemaType+namedSchemaType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the enum variant of hydra.ext.pegasus.pdl.NamedSchemaType+namedSchemaTypeEnum :: Typed.TypedTerm Pdl.EnumSchema -> Typed.TypedTerm Pdl.NamedSchemaType+namedSchemaTypeEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchemaType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.pegasus.pdl.NamedSchemaType+namedSchemaTypeNamedSchemaType :: Typed.TypedName Pdl.NamedSchemaType+namedSchemaTypeNamedSchemaType = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.NamedSchemaType")++-- | DSL injection for the record variant of hydra.ext.pegasus.pdl.NamedSchemaType+namedSchemaTypeRecord :: Typed.TypedTerm Pdl.RecordSchema -> Typed.TypedTerm Pdl.NamedSchemaType+namedSchemaTypeRecord x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchemaType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "record"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeref variant of hydra.ext.pegasus.pdl.NamedSchemaType+namedSchemaTypeTyperef :: Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.NamedSchemaType+namedSchemaTypeTyperef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchemaType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeref"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the annotations field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaWithAnnotations :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.NamedSchema+namedSchemaWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "qualifiedName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "qualifiedName")})),+ 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.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the qualifiedName field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaWithQualifiedName :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm Pdl.NamedSchema+namedSchemaWithQualifiedName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "qualifiedName"),+ 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.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.pegasus.pdl.NamedSchema+namedSchemaWithType :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.NamedSchemaType -> Typed.TypedTerm Pdl.NamedSchema+namedSchemaWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "qualifiedName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "qualifiedName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.NamedSchema"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.pegasus.pdl.Namespace wrapper+namespace :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.Namespace+namespace x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.Namespace"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.Namespace+namespaceNamespace :: Typed.TypedName Pdl.Namespace+namespaceNamespace = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Namespace")++-- | DSL constructor for the hydra.ext.pegasus.pdl.Package wrapper+package :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.Package+package x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.Package"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.Package+packagePackage :: Typed.TypedName Pdl.Package+packagePackage = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Package")++-- | DSL injection for the boolean variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeBoolean :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeBoolean =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bytes variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeBytes :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeBytes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bytes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeDouble :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeFloat :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeInt :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the long variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeLong :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeLong =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "long"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypePrimitiveType :: Typed.TypedName Pdl.PrimitiveType+primitiveTypePrimitiveType = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType")++-- | DSL injection for the string variant of hydra.ext.pegasus.pdl.PrimitiveType+primitiveTypeString :: Typed.TypedTerm Pdl.PrimitiveType+primitiveTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.ext.pegasus.pdl.Property+property :: Typed.TypedTerm Pdl.PropertyKey -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm Pdl.Property+property key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Property"),+ 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.ext.pegasus.pdl.Property+propertyKey :: Typed.TypedTerm Pdl.Property -> Typed.TypedTerm Pdl.PropertyKey+propertyKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Property"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.pegasus.pdl.PropertyKey wrapper+propertyKey2 :: Typed.TypedTerm String -> Typed.TypedTerm Pdl.PropertyKey+propertyKey2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.PropertyKey"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.PropertyKey+propertyKeyPropertyKey :: Typed.TypedName Pdl.PropertyKey+propertyKeyPropertyKey = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.PropertyKey")++-- | DSL name token for hydra.ext.pegasus.pdl.Property+propertyProperty :: Typed.TypedName Pdl.Property+propertyProperty = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Property")++-- | DSL accessor for the value field of hydra.ext.pegasus.pdl.Property+propertyValue :: Typed.TypedTerm Pdl.Property -> Typed.TypedTerm (Maybe JsonModel.Value)+propertyValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Property"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.ext.pegasus.pdl.Property+propertyWithKey :: Typed.TypedTerm Pdl.Property -> Typed.TypedTerm Pdl.PropertyKey -> Typed.TypedTerm Pdl.Property+propertyWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Property"),+ 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.ext.pegasus.pdl.Property"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.pegasus.pdl.Property+propertyWithValue :: Typed.TypedTerm Pdl.Property -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm Pdl.Property+propertyWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.Property"),+ 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.ext.pegasus.pdl.Property"),+ 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.ext.pegasus.pdl.QualifiedName+qualifiedName :: Typed.TypedTerm Pdl.Name -> Typed.TypedTerm (Maybe Pdl.Namespace) -> Typed.TypedTerm Pdl.QualifiedName+qualifiedName name namespace =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)}]}))++-- | DSL accessor for the name field of hydra.ext.pegasus.pdl.QualifiedName+qualifiedNameName :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm Pdl.Name+qualifiedNameName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespace field of hydra.ext.pegasus.pdl.QualifiedName+qualifiedNameNamespace :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm (Maybe Pdl.Namespace)+qualifiedNameNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.QualifiedName+qualifiedNameQualifiedName :: Typed.TypedName Pdl.QualifiedName+qualifiedNameQualifiedName = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.QualifiedName")++-- | DSL updater for the name field of hydra.ext.pegasus.pdl.QualifiedName+qualifiedNameWithName :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm Pdl.Name -> Typed.TypedTerm Pdl.QualifiedName+qualifiedNameWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespace field of hydra.ext.pegasus.pdl.QualifiedName+qualifiedNameWithNamespace :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm (Maybe Pdl.Namespace) -> Typed.TypedTerm Pdl.QualifiedName+qualifiedNameWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.QualifiedName"),+ 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.ext.pegasus.pdl.QualifiedName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.pegasus.pdl.RecordField+recordField :: Typed.TypedTerm Pdl.FieldName -> Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Bool -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.RecordField+recordField name value optional default_ annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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)},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Typed.unTypedTerm optional)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the annotations field of hydra.ext.pegasus.pdl.RecordField+recordFieldAnnotations :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.Annotations+recordFieldAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the default field of hydra.ext.pegasus.pdl.RecordField+recordFieldDefault :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm (Maybe JsonModel.Value)+recordFieldDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.pegasus.pdl.RecordField+recordFieldName :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.FieldName+recordFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the optional field of hydra.ext.pegasus.pdl.RecordField+recordFieldOptional :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Bool+recordFieldOptional x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "optional")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.RecordField+recordFieldRecordField :: Typed.TypedName Pdl.RecordField+recordFieldRecordField = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.RecordField")++-- | DSL accessor for the value field of hydra.ext.pegasus.pdl.RecordField+recordFieldValue :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.Schema+recordFieldValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the annotations field of hydra.ext.pegasus.pdl.RecordField+recordFieldWithAnnotations :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.RecordField+recordFieldWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "optional")})),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the default field of hydra.ext.pegasus.pdl.RecordField+recordFieldWithDefault :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm (Maybe JsonModel.Value) -> Typed.TypedTerm Pdl.RecordField+recordFieldWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "optional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.pegasus.pdl.RecordField+recordFieldWithName :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.FieldName -> Typed.TypedTerm Pdl.RecordField+recordFieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "optional")})),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the optional field of hydra.ext.pegasus.pdl.RecordField+recordFieldWithOptional :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Bool -> Typed.TypedTerm Pdl.RecordField+recordFieldWithOptional original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.pegasus.pdl.RecordField+recordFieldWithValue :: Typed.TypedTerm Pdl.RecordField -> Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.RecordField+recordFieldWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "optional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "optional")})),+ 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.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordField"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.pegasus.pdl.RecordSchema+recordSchema :: Typed.TypedTerm [Pdl.RecordField] -> Typed.TypedTerm [Pdl.NamedSchema] -> Typed.TypedTerm Pdl.RecordSchema+recordSchema fields includes =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Typed.unTypedTerm includes)}]}))++-- | DSL accessor for the fields field of hydra.ext.pegasus.pdl.RecordSchema+recordSchemaFields :: Typed.TypedTerm Pdl.RecordSchema -> Typed.TypedTerm [Pdl.RecordField]+recordSchemaFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the includes field of hydra.ext.pegasus.pdl.RecordSchema+recordSchemaIncludes :: Typed.TypedTerm Pdl.RecordSchema -> Typed.TypedTerm [Pdl.NamedSchema]+recordSchemaIncludes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.projectionFieldName = (Model.Name "includes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.RecordSchema+recordSchemaRecordSchema :: Typed.TypedName Pdl.RecordSchema+recordSchemaRecordSchema = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.RecordSchema")++-- | DSL updater for the fields field of hydra.ext.pegasus.pdl.RecordSchema+recordSchemaWithFields :: Typed.TypedTerm Pdl.RecordSchema -> Typed.TypedTerm [Pdl.RecordField] -> Typed.TypedTerm Pdl.RecordSchema+recordSchemaWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.projectionFieldName = (Model.Name "includes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the includes field of hydra.ext.pegasus.pdl.RecordSchema+recordSchemaWithIncludes :: Typed.TypedTerm Pdl.RecordSchema -> Typed.TypedTerm [Pdl.NamedSchema] -> Typed.TypedTerm Pdl.RecordSchema+recordSchemaWithIncludes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.RecordSchema"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "includes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the array variant of hydra.ext.pegasus.pdl.Schema+schemaArray :: Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.Schema+schemaArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.pegasus.pdl.SchemaFile+schemaFile :: Typed.TypedTerm Pdl.Namespace -> Typed.TypedTerm (Maybe Pdl.Package) -> Typed.TypedTerm [Pdl.QualifiedName] -> Typed.TypedTerm [Pdl.NamedSchema] -> Typed.TypedTerm Pdl.SchemaFile+schemaFile namespace package imports schemas =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm namespace)},+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm package)},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Typed.unTypedTerm imports)},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Typed.unTypedTerm schemas)}]}))++-- | DSL accessor for the imports field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileImports :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm [Pdl.QualifiedName]+schemaFileImports x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespace field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileNamespace :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm Pdl.Namespace+schemaFileNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the package field of hydra.ext.pegasus.pdl.SchemaFile+schemaFilePackage :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm (Maybe Pdl.Package)+schemaFilePackage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.SchemaFile+schemaFileSchemaFile :: Typed.TypedName Pdl.SchemaFile+schemaFileSchemaFile = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.SchemaFile")++-- | DSL accessor for the schemas field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileSchemas :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm [Pdl.NamedSchema]+schemaFileSchemas x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the imports field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileWithImports :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm [Pdl.QualifiedName] -> Typed.TypedTerm Pdl.SchemaFile+schemaFileWithImports original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespace field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileWithNamespace :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm Pdl.Namespace -> Typed.TypedTerm Pdl.SchemaFile+schemaFileWithNamespace original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the package field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileWithPackage :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm (Maybe Pdl.Package) -> Typed.TypedTerm Pdl.SchemaFile+schemaFileWithPackage original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "schemas")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schemas field of hydra.ext.pegasus.pdl.SchemaFile+schemaFileWithSchemas :: Typed.TypedTerm Pdl.SchemaFile -> Typed.TypedTerm [Pdl.NamedSchema] -> Typed.TypedTerm Pdl.SchemaFile+schemaFileWithSchemas original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespace"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "namespace")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.SchemaFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemas"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the fixed variant of hydra.ext.pegasus.pdl.Schema+schemaFixed :: Typed.TypedTerm Int -> Typed.TypedTerm Pdl.Schema+schemaFixed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the inline variant of hydra.ext.pegasus.pdl.Schema+schemaInline :: Typed.TypedTerm Pdl.NamedSchema -> Typed.TypedTerm Pdl.Schema+schemaInline x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "inline"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the map variant of hydra.ext.pegasus.pdl.Schema+schemaMap :: Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.Schema+schemaMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the named variant of hydra.ext.pegasus.pdl.Schema+schemaNamed :: Typed.TypedTerm Pdl.QualifiedName -> Typed.TypedTerm Pdl.Schema+schemaNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the null variant of hydra.ext.pegasus.pdl.Schema+schemaNull :: Typed.TypedTerm Pdl.Schema+schemaNull =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "null"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the primitive variant of hydra.ext.pegasus.pdl.Schema+schemaPrimitive :: Typed.TypedTerm Pdl.PrimitiveType -> Typed.TypedTerm Pdl.Schema+schemaPrimitive x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primitive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.pegasus.pdl.Schema+schemaSchema :: Typed.TypedName Pdl.Schema+schemaSchema = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.Schema")++-- | DSL injection for the union variant of hydra.ext.pegasus.pdl.Schema+schemaUnion :: Typed.TypedTerm Pdl.UnionSchema -> Typed.TypedTerm Pdl.Schema+schemaUnion x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.Schema"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "union"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.EnumFieldName+unEnumFieldName :: Typed.TypedTerm Pdl.EnumFieldName -> Typed.TypedTerm String+unEnumFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.EnumFieldName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.FieldName+unFieldName :: Typed.TypedTerm Pdl.FieldName -> Typed.TypedTerm String+unFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.FieldName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.Name+unName :: Typed.TypedTerm Pdl.Name -> Typed.TypedTerm String+unName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.Name")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.Namespace+unNamespace :: Typed.TypedTerm Pdl.Namespace -> Typed.TypedTerm String+unNamespace x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.Namespace")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.Package+unPackage :: Typed.TypedTerm Pdl.Package -> Typed.TypedTerm String+unPackage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.Package")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.PropertyKey+unPropertyKey :: Typed.TypedTerm Pdl.PropertyKey -> Typed.TypedTerm String+unPropertyKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.PropertyKey")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.pegasus.pdl.UnionSchema+unUnionSchema :: Typed.TypedTerm Pdl.UnionSchema -> Typed.TypedTerm [Pdl.UnionMember]+unUnionSchema x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.pegasus.pdl.UnionSchema")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.pegasus.pdl.UnionMember+unionMember :: Typed.TypedTerm (Maybe Pdl.FieldName) -> Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.UnionMember+unionMember alias value annotations =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Typed.unTypedTerm alias)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm annotations)}]}))++-- | DSL accessor for the alias field of hydra.ext.pegasus.pdl.UnionMember+unionMemberAlias :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm (Maybe Pdl.FieldName)+unionMemberAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the annotations field of hydra.ext.pegasus.pdl.UnionMember+unionMemberAnnotations :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm Pdl.Annotations+unionMemberAnnotations x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.UnionMember+unionMemberUnionMember :: Typed.TypedName Pdl.UnionMember+unionMemberUnionMember = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.UnionMember")++-- | DSL accessor for the value field of hydra.ext.pegasus.pdl.UnionMember+unionMemberValue :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm Pdl.Schema+unionMemberValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the alias field of hydra.ext.pegasus.pdl.UnionMember+unionMemberWithAlias :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm (Maybe Pdl.FieldName) -> Typed.TypedTerm Pdl.UnionMember+unionMemberWithAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ 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.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the annotations field of hydra.ext.pegasus.pdl.UnionMember+unionMemberWithAnnotations :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm Pdl.Annotations -> Typed.TypedTerm Pdl.UnionMember+unionMemberWithAnnotations original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.ext.pegasus.pdl.UnionMember+unionMemberWithValue :: Typed.TypedTerm Pdl.UnionMember -> Typed.TypedTerm Pdl.Schema -> Typed.TypedTerm Pdl.UnionMember+unionMemberWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "alias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "alias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotations"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionMember"),+ Model.projectionFieldName = (Model.Name "annotations")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.pegasus.pdl.UnionSchema wrapper+unionSchema :: Typed.TypedTerm [Pdl.UnionMember] -> Typed.TypedTerm Pdl.UnionSchema+unionSchema x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.pegasus.pdl.UnionSchema"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.pegasus.pdl.UnionSchema+unionSchemaUnionSchema :: Typed.TypedName Pdl.UnionSchema+unionSchemaUnionSchema = Typed.TypedName (Model.Name "hydra.ext.pegasus.pdl.UnionSchema")
+ src/main/haskell/Hydra/Ext/Dsl/Protobuf/Any.hs view
@@ -0,0 +1,82 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.protobuf.any++module Hydra.Ext.Dsl.Protobuf.Any where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Protobuf.Any as Any+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.ByteString as B++-- | DSL constructor for hydra.ext.protobuf.any.Any+any :: Typed.TypedTerm String -> Typed.TypedTerm B.ByteString -> Typed.TypedTerm Any.Any+any typeUrl value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeUrl"),+ Model.fieldTerm = (Typed.unTypedTerm typeUrl)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL name token for hydra.ext.protobuf.any.Any+anyAny :: Typed.TypedName Any.Any+anyAny = Typed.TypedName (Model.Name "hydra.ext.protobuf.any.Any")++-- | DSL accessor for the typeUrl field of hydra.ext.protobuf.any.Any+anyTypeUrl :: Typed.TypedTerm Any.Any -> Typed.TypedTerm String+anyTypeUrl x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.projectionFieldName = (Model.Name "typeUrl")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the value field of hydra.ext.protobuf.any.Any+anyValue :: Typed.TypedTerm Any.Any -> Typed.TypedTerm B.ByteString+anyValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the typeUrl field of hydra.ext.protobuf.any.Any+anyWithTypeUrl :: Typed.TypedTerm Any.Any -> Typed.TypedTerm String -> Typed.TypedTerm Any.Any+anyWithTypeUrl original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeUrl"),+ 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.ext.protobuf.any.Any"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.protobuf.any.Any+anyWithValue :: Typed.TypedTerm Any.Any -> Typed.TypedTerm B.ByteString -> Typed.TypedTerm Any.Any+anyWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "typeUrl"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.any.Any"),+ Model.projectionFieldName = (Model.Name "typeUrl")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Protobuf/Environment.hs view
@@ -0,0 +1,104 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.protobuf.environment++module Hydra.Ext.Dsl.Protobuf.Environment where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Ext.Protobuf.Environment as Environment+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.protobuf.environment.EncoderState+encoderState :: Typed.TypedTerm Typing.InferenceContext -> Typed.TypedTerm Int -> Typed.TypedTerm Environment.EncoderState+encoderState context fieldIndex =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Typed.unTypedTerm context)},+ Model.Field {+ Model.fieldName = (Model.Name "fieldIndex"),+ Model.fieldTerm = (Typed.unTypedTerm fieldIndex)}]}))++-- | DSL accessor for the context field of hydra.ext.protobuf.environment.EncoderState+encoderStateContext :: Typed.TypedTerm Environment.EncoderState -> Typed.TypedTerm Typing.InferenceContext+encoderStateContext x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.environment.EncoderState+encoderStateEncoderState :: Typed.TypedName Environment.EncoderState+encoderStateEncoderState = Typed.TypedName (Model.Name "hydra.ext.protobuf.environment.EncoderState")++-- | DSL accessor for the fieldIndex field of hydra.ext.protobuf.environment.EncoderState+encoderStateFieldIndex :: Typed.TypedTerm Environment.EncoderState -> Typed.TypedTerm Int+encoderStateFieldIndex x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.projectionFieldName = (Model.Name "fieldIndex")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the context field of hydra.ext.protobuf.environment.EncoderState+encoderStateWithContext :: Typed.TypedTerm Environment.EncoderState -> Typed.TypedTerm Typing.InferenceContext -> Typed.TypedTerm Environment.EncoderState+encoderStateWithContext original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fieldIndex"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.projectionFieldName = (Model.Name "fieldIndex")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the fieldIndex field of hydra.ext.protobuf.environment.EncoderState+encoderStateWithFieldIndex :: Typed.TypedTerm Environment.EncoderState -> Typed.TypedTerm Int -> Typed.TypedTerm Environment.EncoderState+encoderStateWithFieldIndex original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "context"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.environment.EncoderState"),+ Model.projectionFieldName = (Model.Name "context")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fieldIndex"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the either variant of hydra.ext.protobuf.environment.StructuralTypeRef+structuralTypeRefEither :: Typed.TypedTerm (Model.Type, Model.Type) -> Typed.TypedTerm Environment.StructuralTypeRef+structuralTypeRefEither x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.environment.StructuralTypeRef"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "either"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pair variant of hydra.ext.protobuf.environment.StructuralTypeRef+structuralTypeRefPair :: Typed.TypedTerm (Model.Type, Model.Type) -> Typed.TypedTerm Environment.StructuralTypeRef+structuralTypeRefPair x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.environment.StructuralTypeRef"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pair"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.protobuf.environment.StructuralTypeRef+structuralTypeRefStructuralTypeRef :: Typed.TypedName Environment.StructuralTypeRef+structuralTypeRefStructuralTypeRef = Typed.TypedName (Model.Name "hydra.ext.protobuf.environment.StructuralTypeRef")
+ src/main/haskell/Hydra/Ext/Dsl/Protobuf/Proto3.hs view
@@ -0,0 +1,1304 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.protobuf.proto3++module Hydra.Ext.Dsl.Protobuf.Proto3 where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Protobuf.Proto3 as Proto3+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.ext.protobuf.proto3.Definition+definitionDefinition :: Typed.TypedName Proto3.Definition+definitionDefinition = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.Definition")++-- | DSL injection for the enum variant of hydra.ext.protobuf.proto3.Definition+definitionEnum :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm Proto3.Definition+definitionEnum x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Definition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enum"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the message variant of hydra.ext.protobuf.proto3.Definition+definitionMessage :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm Proto3.Definition+definitionMessage x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Definition"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "message"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.protobuf.proto3.EnumDefinition+enumDefinition :: Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm [Proto3.EnumValue] -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.EnumDefinition+enumDefinition name values options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm values)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL name token for hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionEnumDefinition :: Typed.TypedName Proto3.EnumDefinition+enumDefinitionEnumDefinition = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition")++-- | DSL accessor for the name field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionName :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm Proto3.TypeName+enumDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionOptions :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm [Proto3.Option]+enumDefinitionOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the values field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionValues :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm [Proto3.EnumValue]+enumDefinitionValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionWithName :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm Proto3.EnumDefinition+enumDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionWithOptions :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.EnumDefinition+enumDefinitionWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ 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.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the values field of hydra.ext.protobuf.proto3.EnumDefinition+enumDefinitionWithValues :: Typed.TypedTerm Proto3.EnumDefinition -> Typed.TypedTerm [Proto3.EnumValue] -> Typed.TypedTerm Proto3.EnumDefinition+enumDefinitionWithValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ 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.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.protobuf.proto3.EnumValue+enumValue :: Typed.TypedTerm Proto3.EnumValueName -> Typed.TypedTerm Int -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.EnumValue+enumValue name number options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm number)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL name token for hydra.ext.protobuf.proto3.EnumValue+enumValueEnumValue :: Typed.TypedName Proto3.EnumValue+enumValueEnumValue = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.EnumValue")++-- | DSL accessor for the name field of hydra.ext.protobuf.proto3.EnumValue+enumValueName :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm Proto3.EnumValueName+enumValueName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.protobuf.proto3.EnumValueName wrapper+enumValueName2 :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.EnumValueName+enumValueName2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValueName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.EnumValueName+enumValueNameEnumValueName :: Typed.TypedName Proto3.EnumValueName+enumValueNameEnumValueName = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.EnumValueName")++-- | DSL accessor for the number field of hydra.ext.protobuf.proto3.EnumValue+enumValueNumber :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm Int+enumValueNumber x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.protobuf.proto3.EnumValue+enumValueOptions :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm [Proto3.Option]+enumValueOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.protobuf.proto3.EnumValue+enumValueWithName :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm Proto3.EnumValueName -> Typed.TypedTerm Proto3.EnumValue+enumValueWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the number field of hydra.ext.protobuf.proto3.EnumValue+enumValueWithNumber :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm Int -> Typed.TypedTerm Proto3.EnumValue+enumValueWithNumber original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ 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.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.protobuf.proto3.EnumValue+enumValueWithOptions :: Typed.TypedTerm Proto3.EnumValue -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.EnumValue+enumValueWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ 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.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.EnumValue"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.protobuf.proto3.Field+field :: Typed.TypedTerm Proto3.FieldName -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Proto3.FieldType -> Typed.TypedTerm Int -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.Field+field name jsonName type_ number options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ Model.fieldTerm = (Typed.unTypedTerm jsonName)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm number)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL name token for hydra.ext.protobuf.proto3.Field+fieldField :: Typed.TypedName Proto3.Field+fieldField = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.Field")++-- | DSL accessor for the jsonName field of hydra.ext.protobuf.proto3.Field+fieldJsonName :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm (Maybe String)+fieldJsonName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "jsonName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.protobuf.proto3.Field+fieldName :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Proto3.FieldName+fieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.protobuf.proto3.FieldName wrapper+fieldName2 :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.FieldName+fieldName2 x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.FieldName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.FieldName+fieldNameFieldName :: Typed.TypedName Proto3.FieldName+fieldNameFieldName = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.FieldName")++-- | DSL accessor for the number field of hydra.ext.protobuf.proto3.Field+fieldNumber :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Int+fieldNumber x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.protobuf.proto3.Field+fieldOptions :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm [Proto3.Option]+fieldOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.protobuf.proto3.Field+fieldType :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Proto3.FieldType+fieldType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.FieldType+fieldTypeFieldType :: Typed.TypedName Proto3.FieldType+fieldTypeFieldType = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.FieldType")++-- | DSL injection for the map variant of hydra.ext.protobuf.proto3.FieldType+fieldTypeMap :: Typed.TypedTerm Proto3.MapType -> Typed.TypedTerm Proto3.FieldType+fieldTypeMap x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.FieldType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "map"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the oneof variant of hydra.ext.protobuf.proto3.FieldType+fieldTypeOneof :: Typed.TypedTerm [Proto3.Field] -> Typed.TypedTerm Proto3.FieldType+fieldTypeOneof x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.FieldType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "oneof"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the repeated variant of hydra.ext.protobuf.proto3.FieldType+fieldTypeRepeated :: Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.FieldType+fieldTypeRepeated x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.FieldType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "repeated"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.ext.protobuf.proto3.FieldType+fieldTypeSimple :: Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.FieldType+fieldTypeSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.FieldType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the jsonName field of hydra.ext.protobuf.proto3.Field+fieldWithJsonName :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Proto3.Field+fieldWithJsonName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.protobuf.proto3.Field+fieldWithName :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Proto3.FieldName -> Typed.TypedTerm Proto3.Field+fieldWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "jsonName")})),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the number field of hydra.ext.protobuf.proto3.Field+fieldWithNumber :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Int -> Typed.TypedTerm Proto3.Field+fieldWithNumber original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "jsonName")})),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.protobuf.proto3.Field+fieldWithOptions :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.Field+fieldWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "jsonName")})),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.protobuf.proto3.Field+fieldWithType :: Typed.TypedTerm Proto3.Field -> Typed.TypedTerm Proto3.FieldType -> Typed.TypedTerm Proto3.Field+fieldWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ 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.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "jsonName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "jsonName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "number")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Field"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.protobuf.proto3.FileReference wrapper+fileReference :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.FileReference+fileReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.FileReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.FileReference+fileReferenceFileReference :: Typed.TypedName Proto3.FileReference+fileReferenceFileReference = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.FileReference")++-- | DSL constructor for hydra.ext.protobuf.proto3.MapType+mapType :: Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.MapType+mapType keys values =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keys"),+ Model.fieldTerm = (Typed.unTypedTerm keys)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm values)}]}))++-- | DSL accessor for the keys field of hydra.ext.protobuf.proto3.MapType+mapTypeKeys :: Typed.TypedTerm Proto3.MapType -> Typed.TypedTerm Proto3.SimpleType+mapTypeKeys x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.projectionFieldName = (Model.Name "keys")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.MapType+mapTypeMapType :: Typed.TypedName Proto3.MapType+mapTypeMapType = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.MapType")++-- | DSL accessor for the values field of hydra.ext.protobuf.proto3.MapType+mapTypeValues :: Typed.TypedTerm Proto3.MapType -> Typed.TypedTerm Proto3.SimpleType+mapTypeValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keys field of hydra.ext.protobuf.proto3.MapType+mapTypeWithKeys :: Typed.TypedTerm Proto3.MapType -> Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.MapType+mapTypeWithKeys original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keys"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the values field of hydra.ext.protobuf.proto3.MapType+mapTypeWithValues :: Typed.TypedTerm Proto3.MapType -> Typed.TypedTerm Proto3.SimpleType -> Typed.TypedTerm Proto3.MapType+mapTypeWithValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "keys"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MapType"),+ Model.projectionFieldName = (Model.Name "keys")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.protobuf.proto3.MessageDefinition+messageDefinition :: Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm [Proto3.Field] -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.MessageDefinition+messageDefinition name fields options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm fields)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL accessor for the fields field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionFields :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm [Proto3.Field]+messageDefinitionFields x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionMessageDefinition :: Typed.TypedName Proto3.MessageDefinition+messageDefinitionMessageDefinition = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition")++-- | DSL accessor for the name field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionName :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm Proto3.TypeName+messageDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionOptions :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm [Proto3.Option]+messageDefinitionOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the fields field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionWithFields :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm [Proto3.Field] -> Typed.TypedTerm Proto3.MessageDefinition+messageDefinitionWithFields original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ 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.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionWithName :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm Proto3.MessageDefinition+messageDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.protobuf.proto3.MessageDefinition+messageDefinitionWithOptions :: Typed.TypedTerm Proto3.MessageDefinition -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.MessageDefinition+messageDefinitionWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ 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.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "fields"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"),+ Model.projectionFieldName = (Model.Name "fields")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.ext.protobuf.proto3.Option+option :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.Value -> Typed.TypedTerm Proto3.Option+option name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Option"),+ 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 accessor for the name field of hydra.ext.protobuf.proto3.Option+optionName :: Typed.TypedTerm Proto3.Option -> Typed.TypedTerm String+optionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Option"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.Option+optionOption :: Typed.TypedName Proto3.Option+optionOption = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.Option")++-- | DSL accessor for the value field of hydra.ext.protobuf.proto3.Option+optionValue :: Typed.TypedTerm Proto3.Option -> Typed.TypedTerm Proto3.Value+optionValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Option"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.ext.protobuf.proto3.Option+optionWithName :: Typed.TypedTerm Proto3.Option -> Typed.TypedTerm String -> Typed.TypedTerm Proto3.Option+optionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Option"),+ 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.ext.protobuf.proto3.Option"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.ext.protobuf.proto3.Option+optionWithValue :: Typed.TypedTerm Proto3.Option -> Typed.TypedTerm Proto3.Value -> Typed.TypedTerm Proto3.Option+optionWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.Option"),+ 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.ext.protobuf.proto3.Option"),+ 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 the hydra.ext.protobuf.proto3.PackageName wrapper+packageName :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.PackageName+packageName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.PackageName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.PackageName+packageNamePackageName :: Typed.TypedName Proto3.PackageName+packageNamePackageName = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.PackageName")++-- | DSL constructor for hydra.ext.protobuf.proto3.ProtoFile+protoFile :: Typed.TypedTerm Proto3.PackageName -> Typed.TypedTerm [Proto3.FileReference] -> Typed.TypedTerm [Proto3.Definition] -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.ProtoFile+protoFile package imports types options =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm package)},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Typed.unTypedTerm imports)},+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Typed.unTypedTerm types)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm options)}]}))++-- | DSL accessor for the imports field of hydra.ext.protobuf.proto3.ProtoFile+protoFileImports :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.FileReference]+protoFileImports x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the options field of hydra.ext.protobuf.proto3.ProtoFile+protoFileOptions :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.Option]+protoFileOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the package field of hydra.ext.protobuf.proto3.ProtoFile+protoFilePackage :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm Proto3.PackageName+protoFilePackage x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.ProtoFile+protoFileProtoFile :: Typed.TypedName Proto3.ProtoFile+protoFileProtoFile = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.ProtoFile")++-- | DSL accessor for the types field of hydra.ext.protobuf.proto3.ProtoFile+protoFileTypes :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.Definition]+protoFileTypes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the imports field of hydra.ext.protobuf.proto3.ProtoFile+protoFileWithImports :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.FileReference] -> Typed.TypedTerm Proto3.ProtoFile+protoFileWithImports original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the options field of hydra.ext.protobuf.proto3.ProtoFile+protoFileWithOptions :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.Option] -> Typed.TypedTerm Proto3.ProtoFile+protoFileWithOptions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the package field of hydra.ext.protobuf.proto3.ProtoFile+protoFileWithPackage :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm Proto3.PackageName -> Typed.TypedTerm Proto3.ProtoFile+protoFileWithPackage original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "types")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the types field of hydra.ext.protobuf.proto3.ProtoFile+protoFileWithTypes :: Typed.TypedTerm Proto3.ProtoFile -> Typed.TypedTerm [Proto3.Definition] -> Typed.TypedTerm Proto3.ProtoFile+protoFileWithTypes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "package"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "package")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imports"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "imports")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "types"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "options"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ProtoFile"),+ Model.projectionFieldName = (Model.Name "options")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the bool variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeBool :: Typed.TypedTerm Proto3.ScalarType+scalarTypeBool =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bool"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the bytes variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeBytes :: Typed.TypedTerm Proto3.ScalarType+scalarTypeBytes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bytes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the double variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeDouble :: Typed.TypedTerm Proto3.ScalarType+scalarTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the fixed32 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeFixed32 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeFixed32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the fixed64 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeFixed64 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeFixed64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "fixed64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeFloat :: Typed.TypedTerm Proto3.ScalarType+scalarTypeFloat =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int32 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeInt32 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeInt32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the int64 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeInt64 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeInt64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.protobuf.proto3.ScalarType+scalarTypeScalarType :: Typed.TypedName Proto3.ScalarType+scalarTypeScalarType = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.ScalarType")++-- | DSL injection for the sfixed32 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeSfixed32 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeSfixed32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sfixed32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sfixed64 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeSfixed64 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeSfixed64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sfixed64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sint32 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeSint32 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeSint32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sint32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sint64 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeSint64 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeSint64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sint64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the string variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeString :: Typed.TypedTerm Proto3.ScalarType+scalarTypeString =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uint32 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeUint32 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeUint32 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uint32"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the uint64 variant of hydra.ext.protobuf.proto3.ScalarType+scalarTypeUint64 :: Typed.TypedTerm Proto3.ScalarType+scalarTypeUint64 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.ScalarType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "uint64"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the reference variant of hydra.ext.protobuf.proto3.SimpleType+simpleTypeReference :: Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm Proto3.SimpleType+simpleTypeReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.SimpleType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the scalar variant of hydra.ext.protobuf.proto3.SimpleType+simpleTypeScalar :: Typed.TypedTerm Proto3.ScalarType -> Typed.TypedTerm Proto3.SimpleType+simpleTypeScalar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.SimpleType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "scalar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.protobuf.proto3.SimpleType+simpleTypeSimpleType :: Typed.TypedName Proto3.SimpleType+simpleTypeSimpleType = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.SimpleType")++-- | DSL constructor for the hydra.ext.protobuf.proto3.TypeName wrapper+typeName :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.TypeName+typeName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.TypeName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.TypeName+typeNameTypeName :: Typed.TypedName Proto3.TypeName+typeNameTypeName = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.TypeName")++-- | DSL constructor for the hydra.ext.protobuf.proto3.TypeReference wrapper+typeReference :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.TypeReference+typeReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.protobuf.proto3.TypeReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.proto3.TypeReference+typeReferenceTypeReference :: Typed.TypedName Proto3.TypeReference+typeReferenceTypeReference = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.TypeReference")++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.EnumValueName+unEnumValueName :: Typed.TypedTerm Proto3.EnumValueName -> Typed.TypedTerm String+unEnumValueName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.EnumValueName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.FieldName+unFieldName :: Typed.TypedTerm Proto3.FieldName -> Typed.TypedTerm String+unFieldName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.FieldName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.FileReference+unFileReference :: Typed.TypedTerm Proto3.FileReference -> Typed.TypedTerm String+unFileReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.FileReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.PackageName+unPackageName :: Typed.TypedTerm Proto3.PackageName -> Typed.TypedTerm String+unPackageName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.PackageName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.TypeName+unTypeName :: Typed.TypedTerm Proto3.TypeName -> Typed.TypedTerm String+unTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.TypeName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.protobuf.proto3.TypeReference+unTypeReference :: Typed.TypedTerm Proto3.TypeReference -> Typed.TypedTerm String+unTypeReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.protobuf.proto3.TypeReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the boolean variant of hydra.ext.protobuf.proto3.Value+valueBoolean :: Typed.TypedTerm Bool -> Typed.TypedTerm Proto3.Value+valueBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.protobuf.proto3.Value+valueString :: Typed.TypedTerm String -> Typed.TypedTerm Proto3.Value+valueString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.protobuf.proto3.Value"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.protobuf.proto3.Value+valueValue :: Typed.TypedName Proto3.Value+valueValue = Typed.TypedName (Model.Name "hydra.ext.protobuf.proto3.Value")
+ src/main/haskell/Hydra/Ext/Dsl/Protobuf/SourceContext.hs view
@@ -0,0 +1,45 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.protobuf.sourceContext++module Hydra.Ext.Dsl.Protobuf.SourceContext where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Protobuf.SourceContext as SourceContext+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.protobuf.sourceContext.SourceContext+sourceContext :: Typed.TypedTerm String -> Typed.TypedTerm SourceContext.SourceContext+sourceContext fileName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.sourceContext.SourceContext"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fileName"),+ Model.fieldTerm = (Typed.unTypedTerm fileName)}]}))++-- | DSL accessor for the fileName field of hydra.ext.protobuf.sourceContext.SourceContext+sourceContextFileName :: Typed.TypedTerm SourceContext.SourceContext -> Typed.TypedTerm String+sourceContextFileName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.protobuf.sourceContext.SourceContext"),+ Model.projectionFieldName = (Model.Name "fileName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.protobuf.sourceContext.SourceContext+sourceContextSourceContext :: Typed.TypedName SourceContext.SourceContext+sourceContextSourceContext = Typed.TypedName (Model.Name "hydra.ext.protobuf.sourceContext.SourceContext")++-- | DSL updater for the fileName field of hydra.ext.protobuf.sourceContext.SourceContext+sourceContextWithFileName :: Typed.TypedTerm SourceContext.SourceContext -> Typed.TypedTerm String -> Typed.TypedTerm SourceContext.SourceContext+sourceContextWithFileName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.protobuf.sourceContext.SourceContext"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "fileName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))
+ src/main/haskell/Hydra/Ext/Dsl/Sql/Syntax.hs view
@@ -0,0 +1,4858 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.sql.syntax++module Hydra.Ext.Dsl.Sql.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Sql.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 constructor for the hydra.ext.sql.syntax.ApproximateNumericLiteral wrapper+approximateNumericLiteral :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.ApproximateNumericLiteral+approximateNumericLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ApproximateNumericLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ApproximateNumericLiteral+approximateNumericLiteralApproximateNumericLiteral :: Typed.TypedName Syntax.ApproximateNumericLiteral+approximateNumericLiteralApproximateNumericLiteral =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ApproximateNumericLiteral")++-- | DSL name token for hydra.ext.sql.syntax.ApproximateNumericType+approximateNumericTypeApproximateNumericType :: Typed.TypedName Syntax.ApproximateNumericType+approximateNumericTypeApproximateNumericType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ApproximateNumericType")++-- | DSL injection for the double variant of hydra.ext.sql.syntax.ApproximateNumericType+approximateNumericTypeDouble :: Typed.TypedTerm Syntax.ApproximateNumericType+approximateNumericTypeDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ApproximateNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the float variant of hydra.ext.sql.syntax.ApproximateNumericType+approximateNumericTypeFloat :: Typed.TypedTerm (Maybe Syntax.Precision) -> Typed.TypedTerm Syntax.ApproximateNumericType+approximateNumericTypeFloat x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ApproximateNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the real variant of hydra.ext.sql.syntax.ApproximateNumericType+approximateNumericTypeReal :: Typed.TypedTerm Syntax.ApproximateNumericType+approximateNumericTypeReal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ApproximateNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.sql.syntax.ArrayElement wrapper+arrayElement :: Typed.TypedTerm Syntax.ValueExpression -> Typed.TypedTerm Syntax.ArrayElement+arrayElement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayElement+arrayElementArrayElement :: Typed.TypedName Syntax.ArrayElement+arrayElementArrayElement = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayElement")++-- | DSL constructor for hydra.ext.sql.syntax.ArrayElementList+arrayElementList :: Typed.TypedTerm Syntax.ArrayElement -> Typed.TypedTerm [Syntax.ArrayElement] -> Typed.TypedTerm Syntax.ArrayElementList+arrayElementList first rest =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm first)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm rest)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayElementList+arrayElementListArrayElementList :: Typed.TypedName Syntax.ArrayElementList+arrayElementListArrayElementList = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayElementList")++-- | DSL accessor for the first field of hydra.ext.sql.syntax.ArrayElementList+arrayElementListFirst :: Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm Syntax.ArrayElement+arrayElementListFirst x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rest field of hydra.ext.sql.syntax.ArrayElementList+arrayElementListRest :: Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm [Syntax.ArrayElement]+arrayElementListRest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the first field of hydra.ext.sql.syntax.ArrayElementList+arrayElementListWithFirst :: Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm Syntax.ArrayElement -> Typed.TypedTerm Syntax.ArrayElementList+arrayElementListWithFirst original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rest field of hydra.ext.sql.syntax.ArrayElementList+arrayElementListWithRest :: Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm [Syntax.ArrayElement] -> Typed.TypedTerm Syntax.ArrayElementList+arrayElementListWithRest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.ArrayElementReference wrapper+arrayElementReference :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ArrayElementReference+arrayElementReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayElementReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayElementReference+arrayElementReferenceArrayElementReference :: Typed.TypedName Syntax.ArrayElementReference+arrayElementReferenceArrayElementReference = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayElementReference")++-- | DSL constructor for the hydra.ext.sql.syntax.ArrayType wrapper+arrayType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ArrayType+arrayType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayType+arrayTypeArrayType :: Typed.TypedName Syntax.ArrayType+arrayTypeArrayType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayType")++-- | DSL name token for hydra.ext.sql.syntax.ArrayValueConstructor+arrayValueConstructorArrayValueConstructor :: Typed.TypedName Syntax.ArrayValueConstructor+arrayValueConstructorArrayValueConstructor = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructor")++-- | DSL constructor for hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumeration :: Typed.TypedTerm Syntax.LeftBracketOrTrigraph -> Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm Syntax.RightBracketOrTrigraph -> Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumeration leftBracketOrTrigraph arrayElementList rightBracketOrTrigraph =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "LeftBracketOrTrigraph"),+ Model.fieldTerm = (Typed.unTypedTerm leftBracketOrTrigraph)},+ Model.Field {+ Model.fieldName = (Model.Name "ArrayElementList"),+ Model.fieldTerm = (Typed.unTypedTerm arrayElementList)},+ Model.Field {+ Model.fieldName = (Model.Name "RightBracketOrTrigraph"),+ Model.fieldTerm = (Typed.unTypedTerm rightBracketOrTrigraph)}]}))++-- | DSL accessor for the ArrayElementList field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationArrayElementList :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.ArrayElementList+arrayValueConstructorByEnumerationArrayElementList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "ArrayElementList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationArrayValueConstructorByEnumeration :: Typed.TypedName Syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationArrayValueConstructorByEnumeration =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration")++-- | DSL accessor for the LeftBracketOrTrigraph field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationLeftBracketOrTrigraph :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.LeftBracketOrTrigraph+arrayValueConstructorByEnumerationLeftBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "LeftBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the RightBracketOrTrigraph field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationRightBracketOrTrigraph :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.RightBracketOrTrigraph+arrayValueConstructorByEnumerationRightBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "RightBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the ArrayElementList field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithArrayElementList :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.ArrayElementList -> Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithArrayElementList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "LeftBracketOrTrigraph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "LeftBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArrayElementList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "RightBracketOrTrigraph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "RightBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the LeftBracketOrTrigraph field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithLeftBracketOrTrigraph :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.LeftBracketOrTrigraph -> Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithLeftBracketOrTrigraph original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "LeftBracketOrTrigraph"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ArrayElementList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "ArrayElementList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "RightBracketOrTrigraph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "RightBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the RightBracketOrTrigraph field of hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithRightBracketOrTrigraph :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.RightBracketOrTrigraph -> Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration+arrayValueConstructorByEnumerationWithRightBracketOrTrigraph original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "LeftBracketOrTrigraph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "LeftBracketOrTrigraph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ArrayElementList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"),+ Model.projectionFieldName = (Model.Name "ArrayElementList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "RightBracketOrTrigraph"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.ArrayValueConstructorByQuery wrapper+arrayValueConstructorByQuery :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ArrayValueConstructorByQuery+arrayValueConstructorByQuery x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByQuery"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayValueConstructorByQuery+arrayValueConstructorByQueryArrayValueConstructorByQuery :: Typed.TypedName Syntax.ArrayValueConstructorByQuery+arrayValueConstructorByQueryArrayValueConstructorByQuery =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByQuery")++-- | DSL injection for the enumeration variant of hydra.ext.sql.syntax.ArrayValueConstructor+arrayValueConstructorEnumeration :: Typed.TypedTerm Syntax.ArrayValueConstructorByEnumeration -> Typed.TypedTerm Syntax.ArrayValueConstructor+arrayValueConstructorEnumeration x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "enumeration"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the query variant of hydra.ext.sql.syntax.ArrayValueConstructor+arrayValueConstructorQuery :: Typed.TypedTerm Syntax.ArrayValueConstructorByQuery -> Typed.TypedTerm Syntax.ArrayValueConstructor+arrayValueConstructorQuery x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "query"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.ArrayValueExpression wrapper+arrayValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ArrayValueExpression+arrayValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ArrayValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ArrayValueExpression+arrayValueExpressionArrayValueExpression :: Typed.TypedName Syntax.ArrayValueExpression+arrayValueExpressionArrayValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ArrayValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.AsSubqueryClause wrapper+asSubqueryClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.AsSubqueryClause+asSubqueryClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.AsSubqueryClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.AsSubqueryClause+asSubqueryClauseAsSubqueryClause :: Typed.TypedName Syntax.AsSubqueryClause+asSubqueryClauseAsSubqueryClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.AsSubqueryClause")++-- | DSL constructor for the hydra.ext.sql.syntax.AttributeOrMethodReference wrapper+attributeOrMethodReference :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.AttributeOrMethodReference+attributeOrMethodReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.AttributeOrMethodReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.AttributeOrMethodReference+attributeOrMethodReferenceAttributeOrMethodReference :: Typed.TypedName Syntax.AttributeOrMethodReference+attributeOrMethodReferenceAttributeOrMethodReference =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.AttributeOrMethodReference")++-- | DSL injection for the binary variant of hydra.ext.sql.syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBinary :: Typed.TypedTerm (Maybe Syntax.LargeObjectLength) -> Typed.TypedTerm Syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BinaryLargeObjectStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBinaryLargeObjectStringType :: Typed.TypedName Syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBinaryLargeObjectStringType =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BinaryLargeObjectStringType")++-- | DSL injection for the blob variant of hydra.ext.sql.syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBlob :: Typed.TypedTerm (Maybe Syntax.LargeObjectLength) -> Typed.TypedTerm Syntax.BinaryLargeObjectStringType+binaryLargeObjectStringTypeBlob x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BinaryLargeObjectStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "blob"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.BinaryStringLiteral wrapper+binaryStringLiteral :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.BinaryStringLiteral+binaryStringLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.BinaryStringLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.BinaryStringLiteral+binaryStringLiteralBinaryStringLiteral :: Typed.TypedName Syntax.BinaryStringLiteral+binaryStringLiteralBinaryStringLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BinaryStringLiteral")++-- | DSL constructor for hydra.ext.sql.syntax.BooleanFactor+booleanFactor :: Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm Syntax.BooleanFactor+booleanFactor nOT booleanTest =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Typed.unTypedTerm nOT)},+ Model.Field {+ Model.fieldName = (Model.Name "BooleanTest"),+ Model.fieldTerm = (Typed.unTypedTerm booleanTest)}]}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanFactor+booleanFactorBooleanFactor :: Typed.TypedName Syntax.BooleanFactor+booleanFactorBooleanFactor = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanFactor")++-- | DSL accessor for the BooleanTest field of hydra.ext.sql.syntax.BooleanFactor+booleanFactorBooleanTest :: Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm Syntax.BooleanTest+booleanFactorBooleanTest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.projectionFieldName = (Model.Name "BooleanTest")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the NOT field of hydra.ext.sql.syntax.BooleanFactor+booleanFactorNOT :: Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm (Maybe ())+booleanFactorNOT x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.projectionFieldName = (Model.Name "NOT")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the BooleanTest field of hydra.ext.sql.syntax.BooleanFactor+booleanFactorWithBooleanTest :: Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm Syntax.BooleanFactor+booleanFactorWithBooleanTest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.projectionFieldName = (Model.Name "NOT")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "BooleanTest"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the NOT field of hydra.ext.sql.syntax.BooleanFactor+booleanFactorWithNOT :: Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.BooleanFactor+booleanFactorWithNOT original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "BooleanTest"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanFactor"),+ Model.projectionFieldName = (Model.Name "BooleanTest")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanLiteral+booleanLiteralBooleanLiteral :: Typed.TypedName Syntax.BooleanLiteral+booleanLiteralBooleanLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanLiteral")++-- | DSL injection for the FALSE variant of hydra.ext.sql.syntax.BooleanLiteral+booleanLiteralFALSE :: Typed.TypedTerm Syntax.BooleanLiteral+booleanLiteralFALSE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FALSE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the TRUE variant of hydra.ext.sql.syntax.BooleanLiteral+booleanLiteralTRUE :: Typed.TypedTerm Syntax.BooleanLiteral+booleanLiteralTRUE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "TRUE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the UNKNOWN variant of hydra.ext.sql.syntax.BooleanLiteral+booleanLiteralUNKNOWN :: Typed.TypedTerm Syntax.BooleanLiteral+booleanLiteralUNKNOWN =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "UNKNOWN"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.sql.syntax.BooleanPredicand wrapper+booleanPredicand :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.BooleanPredicand+booleanPredicand x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanPredicand"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanPredicand+booleanPredicandBooleanPredicand :: Typed.TypedName Syntax.BooleanPredicand+booleanPredicandBooleanPredicand = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanPredicand")++-- | DSL name token for hydra.ext.sql.syntax.BooleanPrimary+booleanPrimaryBooleanPrimary :: Typed.TypedName Syntax.BooleanPrimary+booleanPrimaryBooleanPrimary = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanPrimary")++-- | DSL injection for the predicand variant of hydra.ext.sql.syntax.BooleanPrimary+booleanPrimaryPredicand :: Typed.TypedTerm Syntax.BooleanPredicand -> Typed.TypedTerm Syntax.BooleanPrimary+booleanPrimaryPredicand x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predicand"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the predicate variant of hydra.ext.sql.syntax.BooleanPrimary+booleanPrimaryPredicate :: Typed.TypedTerm Syntax.Predicate -> Typed.TypedTerm Syntax.BooleanPrimary+booleanPrimaryPredicate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predicate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.BooleanTermAnd+booleanTermAnd :: Typed.TypedTerm Syntax.BooleanTerm -> Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm Syntax.BooleanTermAnd+booleanTermAnd lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"),+ 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.ext.sql.syntax.BooleanTermAnd+booleanTermAndBooleanTermAnd :: Typed.TypedName Syntax.BooleanTermAnd+booleanTermAndBooleanTermAnd = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd")++-- | DSL accessor for the lhs field of hydra.ext.sql.syntax.BooleanTermAnd+booleanTermAndLhs :: Typed.TypedTerm Syntax.BooleanTermAnd -> Typed.TypedTerm Syntax.BooleanTerm+booleanTermAndLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.ext.sql.syntax.BooleanTermAnd+booleanTermAndRhs :: Typed.TypedTerm Syntax.BooleanTermAnd -> Typed.TypedTerm Syntax.BooleanFactor+booleanTermAndRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.ext.sql.syntax.BooleanTermAnd+booleanTermAndWithLhs :: Typed.TypedTerm Syntax.BooleanTermAnd -> Typed.TypedTerm Syntax.BooleanTerm -> Typed.TypedTerm Syntax.BooleanTermAnd+booleanTermAndWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"),+ 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.ext.sql.syntax.BooleanTermAnd"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.ext.sql.syntax.BooleanTermAnd+booleanTermAndWithRhs :: Typed.TypedTerm Syntax.BooleanTermAnd -> Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm Syntax.BooleanTermAnd+booleanTermAndWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"),+ 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.ext.sql.syntax.BooleanTermAnd"),+ 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.ext.sql.syntax.BooleanTerm+booleanTermBooleanTerm :: Typed.TypedName Syntax.BooleanTerm+booleanTermBooleanTerm = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanTerm")++-- | DSL injection for the conjunction variant of hydra.ext.sql.syntax.BooleanTerm+booleanTermConjunction :: Typed.TypedTerm Syntax.BooleanTermAnd -> Typed.TypedTerm Syntax.BooleanTerm+booleanTermConjunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTerm"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "conjunction"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the factor variant of hydra.ext.sql.syntax.BooleanTerm+booleanTermFactor :: Typed.TypedTerm Syntax.BooleanFactor -> Typed.TypedTerm Syntax.BooleanTerm+booleanTermFactor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTerm"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "factor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.BooleanTest+booleanTest :: Typed.TypedTerm Syntax.BooleanPrimary -> Typed.TypedTerm (Maybe Syntax.BooleanTestSequenceOption) -> Typed.TypedTerm Syntax.BooleanTest+booleanTest booleanPrimary sequence =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "BooleanPrimary"),+ Model.fieldTerm = (Typed.unTypedTerm booleanPrimary)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm sequence)}]}))++-- | DSL accessor for the BooleanPrimary field of hydra.ext.sql.syntax.BooleanTest+booleanTestBooleanPrimary :: Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm Syntax.BooleanPrimary+booleanTestBooleanPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.projectionFieldName = (Model.Name "BooleanPrimary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanTest+booleanTestBooleanTest :: Typed.TypedName Syntax.BooleanTest+booleanTestBooleanTest = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanTest")++-- | DSL accessor for the Sequence field of hydra.ext.sql.syntax.BooleanTest+booleanTestSequence :: Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm (Maybe Syntax.BooleanTestSequenceOption)+booleanTestSequence x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOption :: Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.TruthValue -> Typed.TypedTerm Syntax.BooleanTestSequenceOption+booleanTestSequenceOption nOT truthValue =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Typed.unTypedTerm nOT)},+ Model.Field {+ Model.fieldName = (Model.Name "TruthValue"),+ Model.fieldTerm = (Typed.unTypedTerm truthValue)}]}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOptionBooleanTestSequenceOption :: Typed.TypedName Syntax.BooleanTestSequenceOption+booleanTestSequenceOptionBooleanTestSequenceOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption")++-- | DSL accessor for the NOT field of hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOptionNOT :: Typed.TypedTerm Syntax.BooleanTestSequenceOption -> Typed.TypedTerm (Maybe ())+booleanTestSequenceOptionNOT x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.projectionFieldName = (Model.Name "NOT")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the TruthValue field of hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOptionTruthValue :: Typed.TypedTerm Syntax.BooleanTestSequenceOption -> Typed.TypedTerm Syntax.TruthValue+booleanTestSequenceOptionTruthValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.projectionFieldName = (Model.Name "TruthValue")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the NOT field of hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOptionWithNOT :: Typed.TypedTerm Syntax.BooleanTestSequenceOption -> Typed.TypedTerm (Maybe ()) -> Typed.TypedTerm Syntax.BooleanTestSequenceOption+booleanTestSequenceOptionWithNOT original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "TruthValue"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.projectionFieldName = (Model.Name "TruthValue")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the TruthValue field of hydra.ext.sql.syntax.BooleanTestSequenceOption+booleanTestSequenceOptionWithTruthValue :: Typed.TypedTerm Syntax.BooleanTestSequenceOption -> Typed.TypedTerm Syntax.TruthValue -> Typed.TypedTerm Syntax.BooleanTestSequenceOption+booleanTestSequenceOptionWithTruthValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "NOT"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"),+ Model.projectionFieldName = (Model.Name "NOT")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "TruthValue"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the BooleanPrimary field of hydra.ext.sql.syntax.BooleanTest+booleanTestWithBooleanPrimary :: Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm Syntax.BooleanPrimary -> Typed.TypedTerm Syntax.BooleanTest+booleanTestWithBooleanPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "BooleanPrimary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Sequence field of hydra.ext.sql.syntax.BooleanTest+booleanTestWithSequence :: Typed.TypedTerm Syntax.BooleanTest -> Typed.TypedTerm (Maybe Syntax.BooleanTestSequenceOption) -> Typed.TypedTerm Syntax.BooleanTest+booleanTestWithSequence original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "BooleanPrimary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanTest"),+ Model.projectionFieldName = (Model.Name "BooleanPrimary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.BooleanType wrapper+booleanType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.BooleanType+booleanType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.BooleanType+booleanTypeBooleanType :: Typed.TypedName Syntax.BooleanType+booleanTypeBooleanType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanType")++-- | DSL name token for hydra.ext.sql.syntax.BooleanValueExpression+booleanValueExpressionBooleanValueExpression :: Typed.TypedName Syntax.BooleanValueExpression+booleanValueExpressionBooleanValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanValueExpression")++-- | DSL injection for the disjunction variant of hydra.ext.sql.syntax.BooleanValueExpression+booleanValueExpressionDisjunction :: Typed.TypedTerm Syntax.BooleanValueExpressionOr -> Typed.TypedTerm Syntax.BooleanValueExpression+booleanValueExpressionDisjunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "disjunction"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOr :: Typed.TypedTerm Syntax.BooleanValueExpression -> Typed.TypedTerm Syntax.BooleanTerm -> Typed.TypedTerm Syntax.BooleanValueExpressionOr+booleanValueExpressionOr lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"),+ 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.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOrBooleanValueExpressionOr :: Typed.TypedName Syntax.BooleanValueExpressionOr+booleanValueExpressionOrBooleanValueExpressionOr =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr")++-- | DSL accessor for the lhs field of hydra.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOrLhs :: Typed.TypedTerm Syntax.BooleanValueExpressionOr -> Typed.TypedTerm Syntax.BooleanValueExpression+booleanValueExpressionOrLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOrRhs :: Typed.TypedTerm Syntax.BooleanValueExpressionOr -> Typed.TypedTerm Syntax.BooleanTerm+booleanValueExpressionOrRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOrWithLhs :: Typed.TypedTerm Syntax.BooleanValueExpressionOr -> Typed.TypedTerm Syntax.BooleanValueExpression -> Typed.TypedTerm Syntax.BooleanValueExpressionOr+booleanValueExpressionOrWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"),+ 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.ext.sql.syntax.BooleanValueExpressionOr"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.ext.sql.syntax.BooleanValueExpressionOr+booleanValueExpressionOrWithRhs :: Typed.TypedTerm Syntax.BooleanValueExpressionOr -> Typed.TypedTerm Syntax.BooleanTerm -> Typed.TypedTerm Syntax.BooleanValueExpressionOr+booleanValueExpressionOrWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"),+ 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.ext.sql.syntax.BooleanValueExpressionOr"),+ 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 term variant of hydra.ext.sql.syntax.BooleanValueExpression+booleanValueExpressionTerm :: Typed.TypedTerm Syntax.BooleanTerm -> Typed.TypedTerm Syntax.BooleanValueExpression+booleanValueExpressionTerm x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.BooleanValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "term"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.CaseExpression wrapper+caseExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.CaseExpression+caseExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.CaseExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.CaseExpression+caseExpressionCaseExpression :: Typed.TypedName Syntax.CaseExpression+caseExpressionCaseExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CaseExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.CastSpecification wrapper+castSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.CastSpecification+castSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.CastSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.CastSpecification+castSpecificationCastSpecification :: Typed.TypedName Syntax.CastSpecification+castSpecificationCastSpecification = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CastSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.CharacterSetSpecification wrapper+characterSetSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.CharacterSetSpecification+characterSetSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterSetSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.CharacterSetSpecification+characterSetSpecificationCharacterSetSpecification :: Typed.TypedName Syntax.CharacterSetSpecification+characterSetSpecificationCharacterSetSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CharacterSetSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.CharacterStringLiteral wrapper+characterStringLiteral :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.CharacterStringLiteral+characterStringLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.CharacterStringLiteral+characterStringLiteralCharacterStringLiteral :: Typed.TypedName Syntax.CharacterStringLiteral+characterStringLiteralCharacterStringLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CharacterStringLiteral")++-- | DSL injection for the char variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeChar :: Typed.TypedTerm (Maybe Syntax.Length) -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeChar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "char"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the charLargeObject variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharLargeObject :: Typed.TypedTerm (Maybe Syntax.LargeObjectLength) -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeCharLargeObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "charLargeObject"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the charVarying variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharVarying :: Typed.TypedTerm Syntax.Length -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeCharVarying x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "charVarying"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the character variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharacter :: Typed.TypedTerm (Maybe Syntax.Length) -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeCharacter x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "character"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the characterLargeObject variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharacterLargeObject :: Typed.TypedTerm (Maybe Syntax.LargeObjectLength) -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeCharacterLargeObject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "characterLargeObject"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharacterStringType :: Typed.TypedName Syntax.CharacterStringType+characterStringTypeCharacterStringType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CharacterStringType")++-- | DSL injection for the characterVarying variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeCharacterVarying :: Typed.TypedTerm Syntax.Length -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeCharacterVarying x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "characterVarying"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the clob variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeClob :: Typed.TypedTerm (Maybe Syntax.LargeObjectLength) -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeClob x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "clob"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the varchar variant of hydra.ext.sql.syntax.CharacterStringType+characterStringTypeVarchar :: Typed.TypedTerm Syntax.Length -> Typed.TypedTerm Syntax.CharacterStringType+characterStringTypeVarchar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CharacterStringType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "varchar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.CollateClause wrapper+collateClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.CollateClause+collateClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.CollateClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.CollateClause+collateClauseCollateClause :: Typed.TypedName Syntax.CollateClause+collateClauseCollateClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CollateClause")++-- | DSL injection for the array variant of hydra.ext.sql.syntax.CollectionType+collectionTypeArray :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm Syntax.CollectionType+collectionTypeArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.CollectionType+collectionTypeCollectionType :: Typed.TypedName Syntax.CollectionType+collectionTypeCollectionType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CollectionType")++-- | DSL injection for the multiset variant of hydra.ext.sql.syntax.CollectionType+collectionTypeMultiset :: Typed.TypedTerm Syntax.MultisetType -> Typed.TypedTerm Syntax.CollectionType+collectionTypeMultiset x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiset"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the array variant of hydra.ext.sql.syntax.CollectionValueConstructor+collectionValueConstructorArray :: Typed.TypedTerm Syntax.ArrayValueConstructor -> Typed.TypedTerm Syntax.CollectionValueConstructor+collectionValueConstructorArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionValueConstructor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.CollectionValueConstructor+collectionValueConstructorCollectionValueConstructor :: Typed.TypedName Syntax.CollectionValueConstructor+collectionValueConstructorCollectionValueConstructor =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CollectionValueConstructor")++-- | DSL injection for the multiset variant of hydra.ext.sql.syntax.CollectionValueConstructor+collectionValueConstructorMultiset :: Typed.TypedTerm Syntax.MultisetValueConstructor -> Typed.TypedTerm Syntax.CollectionValueConstructor+collectionValueConstructorMultiset x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionValueConstructor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiset"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the array variant of hydra.ext.sql.syntax.CollectionValueExpression+collectionValueExpressionArray :: Typed.TypedTerm Syntax.ArrayValueExpression -> Typed.TypedTerm Syntax.CollectionValueExpression+collectionValueExpressionArray x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "array"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.CollectionValueExpression+collectionValueExpressionCollectionValueExpression :: Typed.TypedName Syntax.CollectionValueExpression+collectionValueExpressionCollectionValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CollectionValueExpression")++-- | DSL injection for the multiset variant of hydra.ext.sql.syntax.CollectionValueExpression+collectionValueExpressionMultiset :: Typed.TypedTerm Syntax.MultisetValueExpression -> Typed.TypedTerm Syntax.CollectionValueExpression+collectionValueExpressionMultiset x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CollectionValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multiset"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.ColumnConstraintDefinition wrapper+columnConstraintDefinition :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ColumnConstraintDefinition+columnConstraintDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnConstraintDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnConstraintDefinition+columnConstraintDefinitionColumnConstraintDefinition :: Typed.TypedName Syntax.ColumnConstraintDefinition+columnConstraintDefinitionColumnConstraintDefinition =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnConstraintDefinition")++-- | DSL constructor for hydra.ext.sql.syntax.ColumnDefinition+columnDefinition :: Typed.TypedTerm Syntax.ColumnName -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionTypeOrDomainOption) -> Typed.TypedTerm (Maybe Syntax.ReferenceScopeCheck) -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption) -> Typed.TypedTerm [Syntax.ColumnConstraintDefinition] -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinition name typeOrDomain refScope defaultOrIdentityOrGeneration constraints collate =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Typed.unTypedTerm typeOrDomain)},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Typed.unTypedTerm refScope)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Typed.unTypedTerm defaultOrIdentityOrGeneration)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm constraints)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm collate)}]}))++-- | DSL accessor for the collate field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionCollate :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.CollateClause)+columnDefinitionCollate x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionColumnDefinition :: Typed.TypedName Syntax.ColumnDefinition+columnDefinitionColumnDefinition = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnDefinition")++-- | DSL accessor for the constraints field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionConstraints :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm [Syntax.ColumnConstraintDefinition]+columnDefinitionConstraints x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the defaultOrIdentityOrGeneration field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionDefaultOrIdentityOrGeneration :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption)+columnDefinitionDefaultOrIdentityOrGeneration x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionColumnDefinitionDefaultOrIdentityOrGenerationOption :: Typed.TypedName Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionColumnDefinitionDefaultOrIdentityOrGenerationOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption")++-- | DSL injection for the DefaultClause variant of hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause :: Typed.TypedTerm Syntax.DefaultClause -> Typed.TypedTerm Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "DefaultClause"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the GenerationClause variant of hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause :: Typed.TypedTerm Syntax.GenerationClause -> Typed.TypedTerm Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "GenerationClause"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the IdentityColumnSpecification variant of hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification :: Typed.TypedTerm Syntax.IdentityColumnSpecification -> Typed.TypedTerm Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption+columnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "IdentityColumnSpecification"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the name field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionName :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm Syntax.ColumnName+columnDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the refScope field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionRefScope :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ReferenceScopeCheck)+columnDefinitionRefScope x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeOrDomain field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionTypeOrDomain :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionTypeOrDomainOption)+columnDefinitionTypeOrDomain x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionColumnDefinitionTypeOrDomainOption :: Typed.TypedName Syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionColumnDefinitionTypeOrDomainOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption")++-- | DSL injection for the DataType variant of hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionDataType :: Typed.TypedTerm Syntax.DataType -> Typed.TypedTerm Syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionDataType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "DataType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the DomainName variant of hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionDomainName :: Typed.TypedTerm Syntax.DomainName -> Typed.TypedTerm Syntax.ColumnDefinitionTypeOrDomainOption+columnDefinitionTypeOrDomainOptionDomainName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "DomainName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the collate field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithCollate :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithCollate original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ 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.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the constraints field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithConstraints :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm [Syntax.ColumnConstraintDefinition] -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithConstraints original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ 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.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the defaultOrIdentityOrGeneration field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithDefaultOrIdentityOrGeneration :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption) -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithDefaultOrIdentityOrGeneration original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ 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.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithName :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm Syntax.ColumnName -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the refScope field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithRefScope :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ReferenceScopeCheck) -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithRefScope original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ 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.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "typeOrDomain")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeOrDomain field of hydra.ext.sql.syntax.ColumnDefinition+columnDefinitionWithTypeOrDomain :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm (Maybe Syntax.ColumnDefinitionTypeOrDomainOption) -> Typed.TypedTerm Syntax.ColumnDefinition+columnDefinitionWithTypeOrDomain original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ 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.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeOrDomain"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "refScope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "refScope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "defaultOrIdentityOrGeneration"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "defaultOrIdentityOrGeneration")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "constraints"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "constraints")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnDefinition"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.ColumnName wrapper+columnName :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.ColumnName+columnName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnName+columnNameColumnName :: Typed.TypedName Syntax.ColumnName+columnNameColumnName = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnName")++-- | DSL constructor for hydra.ext.sql.syntax.ColumnNameList+columnNameList :: Typed.TypedTerm Syntax.ColumnName -> Typed.TypedTerm [Syntax.ColumnName] -> Typed.TypedTerm Syntax.ColumnNameList+columnNameList first rest =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm first)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm rest)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnNameList+columnNameListColumnNameList :: Typed.TypedName Syntax.ColumnNameList+columnNameListColumnNameList = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnNameList")++-- | DSL accessor for the first field of hydra.ext.sql.syntax.ColumnNameList+columnNameListFirst :: Typed.TypedTerm Syntax.ColumnNameList -> Typed.TypedTerm Syntax.ColumnName+columnNameListFirst x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rest field of hydra.ext.sql.syntax.ColumnNameList+columnNameListRest :: Typed.TypedTerm Syntax.ColumnNameList -> Typed.TypedTerm [Syntax.ColumnName]+columnNameListRest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the first field of hydra.ext.sql.syntax.ColumnNameList+columnNameListWithFirst :: Typed.TypedTerm Syntax.ColumnNameList -> Typed.TypedTerm Syntax.ColumnName -> Typed.TypedTerm Syntax.ColumnNameList+columnNameListWithFirst original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rest field of hydra.ext.sql.syntax.ColumnNameList+columnNameListWithRest :: Typed.TypedTerm Syntax.ColumnNameList -> Typed.TypedTerm [Syntax.ColumnName] -> Typed.TypedTerm Syntax.ColumnNameList+columnNameListWithRest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnNameList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.ColumnOptions wrapper+columnOptions :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ColumnOptions+columnOptions x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnOptions"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnOptions+columnOptionsColumnOptions :: Typed.TypedName Syntax.ColumnOptions+columnOptionsColumnOptions = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnOptions")++-- | DSL constructor for the hydra.ext.sql.syntax.ColumnReference wrapper+columnReference :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ColumnReference+columnReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ColumnReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ColumnReference+columnReferenceColumnReference :: Typed.TypedName Syntax.ColumnReference+columnReferenceColumnReference = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ColumnReference")++-- | DSL injection for the collection variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionCollection :: Typed.TypedTerm Syntax.CollectionValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionCommonValueExpression :: Typed.TypedName Syntax.CommonValueExpression+commonValueExpressionCommonValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.CommonValueExpression")++-- | DSL injection for the datetime variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionDatetime :: Typed.TypedTerm Syntax.DatetimeValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionDatetime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "datetime"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interval variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionInterval :: Typed.TypedTerm Syntax.IntervalValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionInterval x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interval"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the numeric variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionNumeric :: Typed.TypedTerm Syntax.NumericValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionNumeric x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "numeric"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the reference variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionReference :: Typed.TypedTerm Syntax.ReferenceValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionString :: Typed.TypedTerm Syntax.StringValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the userDefined variant of hydra.ext.sql.syntax.CommonValueExpression+commonValueExpressionUserDefined :: Typed.TypedTerm Syntax.UserDefinedTypeValueExpression -> Typed.TypedTerm Syntax.CommonValueExpression+commonValueExpressionUserDefined x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.CommonValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "userDefined"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor wrapper+contextuallyTypedRowValueConstructor :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueConstructor+contextuallyTypedRowValueConstructor x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor+contextuallyTypedRowValueConstructorContextuallyTypedRowValueConstructor :: Typed.TypedName Syntax.ContextuallyTypedRowValueConstructor+contextuallyTypedRowValueConstructorContextuallyTypedRowValueConstructor =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor")++-- | DSL injection for the constructor variant of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionConstructor :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueConstructor -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionContextuallyTypedRowValueExpression :: Typed.TypedName Syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionContextuallyTypedRowValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression")++-- | DSL constructor for hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionList :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpression -> Typed.TypedTerm [Syntax.ContextuallyTypedRowValueExpression] -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionList first rest =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm first)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm rest)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListContextuallyTypedRowValueExpressionList :: Typed.TypedName Syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListContextuallyTypedRowValueExpressionList =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList")++-- | DSL accessor for the first field of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListFirst :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionListFirst x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rest field of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListRest :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList -> Typed.TypedTerm [Syntax.ContextuallyTypedRowValueExpression]+contextuallyTypedRowValueExpressionListRest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the first field of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListWithFirst :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpression -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListWithFirst original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rest field of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListWithRest :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList -> Typed.TypedTerm [Syntax.ContextuallyTypedRowValueExpression] -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList+contextuallyTypedRowValueExpressionListWithRest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the specialCase variant of hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionSpecialCase :: Typed.TypedTerm Syntax.RowValueSpecialCase -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpression+contextuallyTypedRowValueExpressionSpecialCase x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "specialCase"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor wrapper+contextuallyTypedTableValueConstructor :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList -> Typed.TypedTerm Syntax.ContextuallyTypedTableValueConstructor+contextuallyTypedTableValueConstructor x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor+contextuallyTypedTableValueConstructorContextuallyTypedTableValueConstructor :: Typed.TypedName Syntax.ContextuallyTypedTableValueConstructor+contextuallyTypedTableValueConstructorContextuallyTypedTableValueConstructor =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor")++-- | DSL injection for the collection variant of hydra.ext.sql.syntax.DataType+dataTypeCollection :: Typed.TypedTerm Syntax.CollectionType -> Typed.TypedTerm Syntax.DataType+dataTypeCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.DataType+dataTypeDataType :: Typed.TypedName Syntax.DataType+dataTypeDataType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DataType")++-- | DSL injection for the named variant of hydra.ext.sql.syntax.DataType+dataTypeNamed :: Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName -> Typed.TypedTerm Syntax.DataType+dataTypeNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the predefined variant of hydra.ext.sql.syntax.DataType+dataTypePredefined :: Typed.TypedTerm Syntax.PredefinedType -> Typed.TypedTerm Syntax.DataType+dataTypePredefined x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "predefined"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the reference variant of hydra.ext.sql.syntax.DataType+dataTypeReference :: Typed.TypedTerm Syntax.ReferenceType -> Typed.TypedTerm Syntax.DataType+dataTypeReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the row variant of hydra.ext.sql.syntax.DataType+dataTypeRow :: Typed.TypedTerm Syntax.RowType -> Typed.TypedTerm Syntax.DataType+dataTypeRow x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DataType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "row"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.DateLiteral wrapper+dateLiteral :: Typed.TypedTerm Syntax.DateString -> Typed.TypedTerm Syntax.DateLiteral+dateLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DateLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DateLiteral+dateLiteralDateLiteral :: Typed.TypedName Syntax.DateLiteral+dateLiteralDateLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DateLiteral")++-- | DSL constructor for the hydra.ext.sql.syntax.DateString wrapper+dateString :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.DateString+dateString x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DateString"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DateString+dateStringDateString :: Typed.TypedName Syntax.DateString+dateStringDateString = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DateString")++-- | DSL injection for the date variant of hydra.ext.sql.syntax.DatetimeLiteral+datetimeLiteralDate :: Typed.TypedTerm Syntax.DateLiteral -> Typed.TypedTerm Syntax.DatetimeLiteral+datetimeLiteralDate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DatetimeLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "date"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.DatetimeLiteral+datetimeLiteralDatetimeLiteral :: Typed.TypedName Syntax.DatetimeLiteral+datetimeLiteralDatetimeLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DatetimeLiteral")++-- | DSL injection for the time variant of hydra.ext.sql.syntax.DatetimeLiteral+datetimeLiteralTime :: Typed.TypedTerm Syntax.TimeLiteral -> Typed.TypedTerm Syntax.DatetimeLiteral+datetimeLiteralTime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DatetimeLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "time"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the timestamp variant of hydra.ext.sql.syntax.DatetimeLiteral+datetimeLiteralTimestamp :: Typed.TypedTerm Syntax.TimestampLiteral -> Typed.TypedTerm Syntax.DatetimeLiteral+datetimeLiteralTimestamp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.DatetimeLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timestamp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.DatetimeType wrapper+datetimeType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.DatetimeType+datetimeType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DatetimeType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DatetimeType+datetimeTypeDatetimeType :: Typed.TypedName Syntax.DatetimeType+datetimeTypeDatetimeType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DatetimeType")++-- | DSL constructor for the hydra.ext.sql.syntax.DatetimeValueExpression wrapper+datetimeValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.DatetimeValueExpression+datetimeValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DatetimeValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DatetimeValueExpression+datetimeValueExpressionDatetimeValueExpression :: Typed.TypedName Syntax.DatetimeValueExpression+datetimeValueExpressionDatetimeValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DatetimeValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.DefaultClause wrapper+defaultClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.DefaultClause+defaultClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DefaultClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DefaultClause+defaultClauseDefaultClause :: Typed.TypedName Syntax.DefaultClause+defaultClauseDefaultClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DefaultClause")++-- | DSL constructor for the hydra.ext.sql.syntax.DomainName wrapper+domainName :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.DomainName+domainName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.DomainName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.DomainName+domainNameDomainName :: Typed.TypedName Syntax.DomainName+domainNameDomainName = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.DomainName")++-- | DSL constructor for the hydra.ext.sql.syntax.ExactNumericLiteral wrapper+exactNumericLiteral :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.ExactNumericLiteral+exactNumericLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ExactNumericLiteral+exactNumericLiteralExactNumericLiteral :: Typed.TypedName Syntax.ExactNumericLiteral+exactNumericLiteralExactNumericLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ExactNumericLiteral")++-- | DSL injection for the bigint variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeBigint :: Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeBigint =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bigint"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the dec variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeDec :: Typed.TypedTerm (Maybe Syntax.ExactNumericTypeDecOption) -> Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeDec x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dec"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOption :: Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeDecOption+exactNumericTypeDecOption precision sequence =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm precision)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm sequence)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionExactNumericTypeDecOption :: Typed.TypedName Syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionExactNumericTypeDecOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption")++-- | DSL accessor for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeDecOption -> Typed.TypedTerm Syntax.Precision+exactNumericTypeDecOptionPrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionSequence :: Typed.TypedTerm Syntax.ExactNumericTypeDecOption -> Typed.TypedTerm (Maybe Syntax.Scale)+exactNumericTypeDecOptionSequence x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionWithPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeDecOption -> Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm Syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionWithPrecision original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionWithSequence :: Typed.TypedTerm Syntax.ExactNumericTypeDecOption -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeDecOption+exactNumericTypeDecOptionWithSequence original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the decimal variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeDecimal :: Typed.TypedTerm (Maybe Syntax.ExactNumericTypeDecimalOption) -> Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeDecimal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "decimal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOption :: Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOption precision sequence =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm precision)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm sequence)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionExactNumericTypeDecimalOption :: Typed.TypedName Syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionExactNumericTypeDecimalOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption")++-- | DSL accessor for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption -> Typed.TypedTerm Syntax.Precision+exactNumericTypeDecimalOptionPrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionSequence :: Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption -> Typed.TypedTerm (Maybe Syntax.Scale)+exactNumericTypeDecimalOptionSequence x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionWithPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption -> Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionWithPrecision original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionWithSequence :: Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeDecimalOption+exactNumericTypeDecimalOptionWithSequence original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeExactNumericType :: Typed.TypedName Syntax.ExactNumericType+exactNumericTypeExactNumericType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ExactNumericType")++-- | DSL injection for the int variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeInt :: Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeInt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "int"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the integer variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeInteger :: Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeInteger =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the numeric variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeNumeric :: Typed.TypedTerm (Maybe Syntax.ExactNumericTypeNumericOption) -> Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeNumeric x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "numeric"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOption :: Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOption precision sequence =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm precision)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm sequence)}]}))++-- | DSL name token for hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionExactNumericTypeNumericOption :: Typed.TypedName Syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionExactNumericTypeNumericOption =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption")++-- | DSL accessor for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeNumericOption -> Typed.TypedTerm Syntax.Precision+exactNumericTypeNumericOptionPrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionSequence :: Typed.TypedTerm Syntax.ExactNumericTypeNumericOption -> Typed.TypedTerm (Maybe Syntax.Scale)+exactNumericTypeNumericOptionSequence x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the Precision field of hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionWithPrecision :: Typed.TypedTerm Syntax.ExactNumericTypeNumericOption -> Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm Syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionWithPrecision original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.projectionFieldName = (Model.Name "Sequence")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the Sequence field of hydra.ext.sql.syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionWithSequence :: Typed.TypedTerm Syntax.ExactNumericTypeNumericOption -> Typed.TypedTerm (Maybe Syntax.Scale) -> Typed.TypedTerm Syntax.ExactNumericTypeNumericOption+exactNumericTypeNumericOptionWithSequence original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "Precision"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"),+ Model.projectionFieldName = (Model.Name "Precision")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "Sequence"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the smallint variant of hydra.ext.sql.syntax.ExactNumericType+exactNumericTypeSmallint :: Typed.TypedTerm Syntax.ExactNumericType+exactNumericTypeSmallint =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ExactNumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "smallint"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.sql.syntax.FieldReference wrapper+fieldReference :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.FieldReference+fieldReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.FieldReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.FieldReference+fieldReferenceFieldReference :: Typed.TypedName Syntax.FieldReference+fieldReferenceFieldReference = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.FieldReference")++-- | DSL constructor for hydra.ext.sql.syntax.FromConstructor+fromConstructor :: Typed.TypedTerm (Maybe Syntax.InsertColumnList) -> Typed.TypedTerm (Maybe Syntax.OverrideClause) -> Typed.TypedTerm Syntax.ContextuallyTypedTableValueConstructor -> Typed.TypedTerm Syntax.FromConstructor+fromConstructor columns override values =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm columns)},+ Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = (Typed.unTypedTerm override)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm values)}]}))++-- | DSL accessor for the columns field of hydra.ext.sql.syntax.FromConstructor+fromConstructorColumns :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm (Maybe Syntax.InsertColumnList)+fromConstructorColumns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.FromConstructor+fromConstructorFromConstructor :: Typed.TypedName Syntax.FromConstructor+fromConstructorFromConstructor = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.FromConstructor")++-- | DSL accessor for the override field of hydra.ext.sql.syntax.FromConstructor+fromConstructorOverride :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm (Maybe Syntax.OverrideClause)+fromConstructorOverride x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "override")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the values field of hydra.ext.sql.syntax.FromConstructor+fromConstructorValues :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm Syntax.ContextuallyTypedTableValueConstructor+fromConstructorValues x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the columns field of hydra.ext.sql.syntax.FromConstructor+fromConstructorWithColumns :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm (Maybe Syntax.InsertColumnList) -> Typed.TypedTerm Syntax.FromConstructor+fromConstructorWithColumns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "override")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the override field of hydra.ext.sql.syntax.FromConstructor+fromConstructorWithOverride :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm (Maybe Syntax.OverrideClause) -> Typed.TypedTerm Syntax.FromConstructor+fromConstructorWithOverride original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "values")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the values field of hydra.ext.sql.syntax.FromConstructor+fromConstructorWithValues :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm Syntax.ContextuallyTypedTableValueConstructor -> Typed.TypedTerm Syntax.FromConstructor+fromConstructorWithValues original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "columns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "columns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "override"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.FromConstructor"),+ Model.projectionFieldName = (Model.Name "override")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "values"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.FromDefault wrapper+fromDefault :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.FromDefault+fromDefault x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.FromDefault"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.FromDefault+fromDefaultFromDefault :: Typed.TypedName Syntax.FromDefault+fromDefaultFromDefault = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.FromDefault")++-- | DSL constructor for the hydra.ext.sql.syntax.FromSubquery wrapper+fromSubquery :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.FromSubquery+fromSubquery x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.FromSubquery"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.FromSubquery+fromSubqueryFromSubquery :: Typed.TypedName Syntax.FromSubquery+fromSubqueryFromSubquery = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.FromSubquery")++-- | DSL injection for the binary variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralBinary :: Typed.TypedTerm Syntax.BinaryStringLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralBinary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "binary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the boolean variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralBoolean :: Typed.TypedTerm Syntax.BooleanLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dateTime variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralDateTime :: Typed.TypedTerm Syntax.DatetimeLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralDateTime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dateTime"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.GeneralLiteral+generalLiteralGeneralLiteral :: Typed.TypedName Syntax.GeneralLiteral+generalLiteralGeneralLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.GeneralLiteral")++-- | DSL injection for the interval variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralInterval :: Typed.TypedTerm Syntax.IntervalLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralInterval x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interval"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nationalString variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralNationalString :: Typed.TypedTerm Syntax.NationalCharacterStringLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralNationalString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nationalString"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralString :: Typed.TypedTerm Syntax.CharacterStringLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unicode variant of hydra.ext.sql.syntax.GeneralLiteral+generalLiteralUnicode :: Typed.TypedTerm Syntax.UnicodeCharacterStringLiteral -> Typed.TypedTerm Syntax.GeneralLiteral+generalLiteralUnicode x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unicode"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.ext.sql.syntax.GeneralValueSpecification wrapper+generalValueSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.GeneralValueSpecification+generalValueSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.GeneralValueSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.GeneralValueSpecification+generalValueSpecificationGeneralValueSpecification :: Typed.TypedName Syntax.GeneralValueSpecification+generalValueSpecificationGeneralValueSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.GeneralValueSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.GenerationClause wrapper+generationClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.GenerationClause+generationClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.GenerationClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.GenerationClause+generationClauseGenerationClause :: Typed.TypedName Syntax.GenerationClause+generationClauseGenerationClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.GenerationClause")++-- | DSL injection for the global variant of hydra.ext.sql.syntax.GlobalOrLocal+globalOrLocalGlobal :: Typed.TypedTerm Syntax.GlobalOrLocal+globalOrLocalGlobal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GlobalOrLocal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "global"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.sql.syntax.GlobalOrLocal+globalOrLocalGlobalOrLocal :: Typed.TypedName Syntax.GlobalOrLocal+globalOrLocalGlobalOrLocal = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.GlobalOrLocal")++-- | DSL injection for the local variant of hydra.ext.sql.syntax.GlobalOrLocal+globalOrLocalLocal :: Typed.TypedTerm Syntax.GlobalOrLocal+globalOrLocalLocal =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.GlobalOrLocal"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "local"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for the hydra.ext.sql.syntax.IdentityColumnSpecification wrapper+identityColumnSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.IdentityColumnSpecification+identityColumnSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.IdentityColumnSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.IdentityColumnSpecification+identityColumnSpecificationIdentityColumnSpecification :: Typed.TypedName Syntax.IdentityColumnSpecification+identityColumnSpecificationIdentityColumnSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.IdentityColumnSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.InsertColumnList wrapper+insertColumnList :: Typed.TypedTerm Syntax.ColumnNameList -> Typed.TypedTerm Syntax.InsertColumnList+insertColumnList x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.InsertColumnList"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.InsertColumnList+insertColumnListInsertColumnList :: Typed.TypedName Syntax.InsertColumnList+insertColumnListInsertColumnList = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.InsertColumnList")++-- | DSL injection for the constructor variant of hydra.ext.sql.syntax.InsertColumnsAndSource+insertColumnsAndSourceConstructor :: Typed.TypedTerm Syntax.FromConstructor -> Typed.TypedTerm Syntax.InsertColumnsAndSource+insertColumnsAndSourceConstructor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertColumnsAndSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "constructor"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the default variant of hydra.ext.sql.syntax.InsertColumnsAndSource+insertColumnsAndSourceDefault :: Typed.TypedTerm Syntax.FromDefault -> Typed.TypedTerm Syntax.InsertColumnsAndSource+insertColumnsAndSourceDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertColumnsAndSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.InsertColumnsAndSource+insertColumnsAndSourceInsertColumnsAndSource :: Typed.TypedName Syntax.InsertColumnsAndSource+insertColumnsAndSourceInsertColumnsAndSource = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.InsertColumnsAndSource")++-- | DSL injection for the subquery variant of hydra.ext.sql.syntax.InsertColumnsAndSource+insertColumnsAndSourceSubquery :: Typed.TypedTerm Syntax.FromSubquery -> Typed.TypedTerm Syntax.InsertColumnsAndSource+insertColumnsAndSourceSubquery x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertColumnsAndSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subquery"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.InsertStatement+insertStatement :: Typed.TypedTerm Syntax.InsertionTarget -> Typed.TypedTerm Syntax.InsertColumnsAndSource -> Typed.TypedTerm Syntax.InsertStatement+insertStatement target columnsAndSource =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm target)},+ Model.Field {+ Model.fieldName = (Model.Name "columnsAndSource"),+ Model.fieldTerm = (Typed.unTypedTerm columnsAndSource)}]}))++-- | DSL accessor for the columnsAndSource field of hydra.ext.sql.syntax.InsertStatement+insertStatementColumnsAndSource :: Typed.TypedTerm Syntax.InsertStatement -> Typed.TypedTerm Syntax.InsertColumnsAndSource+insertStatementColumnsAndSource x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.projectionFieldName = (Model.Name "columnsAndSource")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.InsertStatement+insertStatementInsertStatement :: Typed.TypedName Syntax.InsertStatement+insertStatementInsertStatement = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.InsertStatement")++-- | DSL accessor for the target field of hydra.ext.sql.syntax.InsertStatement+insertStatementTarget :: Typed.TypedTerm Syntax.InsertStatement -> Typed.TypedTerm Syntax.InsertionTarget+insertStatementTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the columnsAndSource field of hydra.ext.sql.syntax.InsertStatement+insertStatementWithColumnsAndSource :: Typed.TypedTerm Syntax.InsertStatement -> Typed.TypedTerm Syntax.InsertColumnsAndSource -> Typed.TypedTerm Syntax.InsertStatement+insertStatementWithColumnsAndSource original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.projectionFieldName = (Model.Name "target")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "columnsAndSource"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the target field of hydra.ext.sql.syntax.InsertStatement+insertStatementWithTarget :: Typed.TypedTerm Syntax.InsertStatement -> Typed.TypedTerm Syntax.InsertionTarget -> Typed.TypedTerm Syntax.InsertStatement+insertStatementWithTarget original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "columnsAndSource"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.InsertStatement"),+ Model.projectionFieldName = (Model.Name "columnsAndSource")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.InsertionTarget wrapper+insertionTarget :: Typed.TypedTerm Syntax.TableName -> Typed.TypedTerm Syntax.InsertionTarget+insertionTarget x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.InsertionTarget"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.InsertionTarget+insertionTargetInsertionTarget :: Typed.TypedName Syntax.InsertionTarget+insertionTargetInsertionTarget = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.InsertionTarget")++-- | DSL constructor for the hydra.ext.sql.syntax.IntervalLiteral wrapper+intervalLiteral :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.IntervalLiteral+intervalLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.IntervalLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.IntervalLiteral+intervalLiteralIntervalLiteral :: Typed.TypedName Syntax.IntervalLiteral+intervalLiteralIntervalLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.IntervalLiteral")++-- | DSL constructor for the hydra.ext.sql.syntax.IntervalType wrapper+intervalType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.IntervalType+intervalType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.IntervalType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.IntervalType+intervalTypeIntervalType :: Typed.TypedName Syntax.IntervalType+intervalTypeIntervalType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.IntervalType")++-- | DSL constructor for the hydra.ext.sql.syntax.IntervalValueExpression wrapper+intervalValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.IntervalValueExpression+intervalValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.IntervalValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.IntervalValueExpression+intervalValueExpressionIntervalValueExpression :: Typed.TypedName Syntax.IntervalValueExpression+intervalValueExpressionIntervalValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.IntervalValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.LargeObjectLength wrapper+largeObjectLength :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.LargeObjectLength+largeObjectLength x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.LargeObjectLength"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.LargeObjectLength+largeObjectLengthLargeObjectLength :: Typed.TypedName Syntax.LargeObjectLength+largeObjectLengthLargeObjectLength = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.LargeObjectLength")++-- | DSL constructor for the hydra.ext.sql.syntax.LeftBracketOrTrigraph wrapper+leftBracketOrTrigraph :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.LeftBracketOrTrigraph+leftBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.LeftBracketOrTrigraph"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.LeftBracketOrTrigraph+leftBracketOrTrigraphLeftBracketOrTrigraph :: Typed.TypedName Syntax.LeftBracketOrTrigraph+leftBracketOrTrigraphLeftBracketOrTrigraph = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.LeftBracketOrTrigraph")++-- | DSL constructor for the hydra.ext.sql.syntax.Length wrapper+length :: Typed.TypedTerm Syntax.UnsignedInteger -> Typed.TypedTerm Syntax.Length+length x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.Length"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.Length+lengthLength :: Typed.TypedName Syntax.Length+lengthLength = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.Length")++-- | DSL constructor for the hydra.ext.sql.syntax.LikeClause wrapper+likeClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.LikeClause+likeClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.LikeClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.LikeClause+likeClauseLikeClause :: Typed.TypedName Syntax.LikeClause+likeClauseLikeClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.LikeClause")++-- | DSL constructor for the hydra.ext.sql.syntax.MethodInvocation wrapper+methodInvocation :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.MethodInvocation+methodInvocation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.MethodInvocation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.MethodInvocation+methodInvocationMethodInvocation :: Typed.TypedName Syntax.MethodInvocation+methodInvocationMethodInvocation = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.MethodInvocation")++-- | DSL constructor for the hydra.ext.sql.syntax.MultisetElementReference wrapper+multisetElementReference :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.MultisetElementReference+multisetElementReference x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.MultisetElementReference"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.MultisetElementReference+multisetElementReferenceMultisetElementReference :: Typed.TypedName Syntax.MultisetElementReference+multisetElementReferenceMultisetElementReference =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.MultisetElementReference")++-- | DSL constructor for the hydra.ext.sql.syntax.MultisetType wrapper+multisetType :: Typed.TypedTerm Syntax.DataType -> Typed.TypedTerm Syntax.MultisetType+multisetType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.MultisetType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.MultisetType+multisetTypeMultisetType :: Typed.TypedName Syntax.MultisetType+multisetTypeMultisetType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.MultisetType")++-- | DSL constructor for the hydra.ext.sql.syntax.MultisetValueConstructor wrapper+multisetValueConstructor :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.MultisetValueConstructor+multisetValueConstructor x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.MultisetValueConstructor"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.MultisetValueConstructor+multisetValueConstructorMultisetValueConstructor :: Typed.TypedName Syntax.MultisetValueConstructor+multisetValueConstructorMultisetValueConstructor =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.MultisetValueConstructor")++-- | DSL constructor for the hydra.ext.sql.syntax.MultisetValueExpression wrapper+multisetValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.MultisetValueExpression+multisetValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.MultisetValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.MultisetValueExpression+multisetValueExpressionMultisetValueExpression :: Typed.TypedName Syntax.MultisetValueExpression+multisetValueExpressionMultisetValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.MultisetValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.NationalCharacterStringLiteral wrapper+nationalCharacterStringLiteral :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NationalCharacterStringLiteral+nationalCharacterStringLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.NationalCharacterStringLiteral+nationalCharacterStringLiteralNationalCharacterStringLiteral :: Typed.TypedName Syntax.NationalCharacterStringLiteral+nationalCharacterStringLiteralNationalCharacterStringLiteral =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringLiteral")++-- | DSL constructor for the hydra.ext.sql.syntax.NationalCharacterStringType wrapper+nationalCharacterStringType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NationalCharacterStringType+nationalCharacterStringType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.NationalCharacterStringType+nationalCharacterStringTypeNationalCharacterStringType :: Typed.TypedName Syntax.NationalCharacterStringType+nationalCharacterStringTypeNationalCharacterStringType =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringType")++-- | DSL constructor for the hydra.ext.sql.syntax.NewSpecification wrapper+newSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NewSpecification+newSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.NewSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.NewSpecification+newSpecificationNewSpecification :: Typed.TypedName Syntax.NewSpecification+newSpecificationNewSpecification = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NewSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.NextValueExpression wrapper+nextValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NextValueExpression+nextValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.NextValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.NextValueExpression+nextValueExpressionNextValueExpression :: Typed.TypedName Syntax.NextValueExpression+nextValueExpressionNextValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NextValueExpression")++-- | DSL injection for the arrayElement variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryArrayElement :: Typed.TypedTerm Syntax.ArrayElementReference -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryArrayElement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "arrayElement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the attributeOrMethod variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryAttributeOrMethod :: Typed.TypedTerm Syntax.AttributeOrMethodReference -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryAttributeOrMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "attributeOrMethod"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the cases variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCases :: Typed.TypedTerm Syntax.CaseExpression -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCases x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the cast variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCast :: Typed.TypedTerm Syntax.CastSpecification -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCast x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "cast"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the collection variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCollection :: Typed.TypedTerm Syntax.CollectionValueConstructor -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryCollection x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the column variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryColumn :: Typed.TypedTerm Syntax.ColumnReference -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryColumn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the field variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryField :: Typed.TypedTerm Syntax.FieldReference -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryField x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "field"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the method variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryMethod :: Typed.TypedTerm Syntax.MethodInvocation -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "method"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the multisetElement variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryMultisetElement :: Typed.TypedTerm Syntax.MultisetElementReference -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryMultisetElement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "multisetElement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the new variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNew :: Typed.TypedTerm Syntax.NewSpecification -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNew x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "new"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the next variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNext :: Typed.TypedTerm Syntax.NextValueExpression -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNext x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "next"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNonparenthesizedValueExpressionPrimary :: Typed.TypedName Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryNonparenthesizedValueExpressionPrimary =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary")++-- | DSL injection for the reference variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryReference :: Typed.TypedTerm Syntax.ReferenceResolution -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryReference x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "reference"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the routine variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryRoutine :: Typed.TypedTerm Syntax.RoutineInvocation -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryRoutine x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "routine"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the scalarSubquery variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryScalarSubquery :: Typed.TypedTerm Syntax.ScalarSubquery -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryScalarSubquery x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "scalarSubquery"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the setFunction variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimarySetFunction :: Typed.TypedTerm Syntax.SetFunctionSpecification -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimarySetFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "setFunction"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the staticMethod variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryStaticMethod :: Typed.TypedTerm Syntax.StaticMethodInvocation -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryStaticMethod x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "staticMethod"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the subtype variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimarySubtype :: Typed.TypedTerm Syntax.SubtypeTreatment -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimarySubtype x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subtype"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unsigned variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryUnsigned :: Typed.TypedTerm Syntax.UnsignedValueSpecification -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryUnsigned x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unsigned"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the windowFunction variant of hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryWindowFunction :: Typed.TypedTerm Syntax.WindowFunction -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+nonparenthesizedValueExpressionPrimaryWindowFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "windowFunction"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the approximate variant of hydra.ext.sql.syntax.NumericType+numericTypeApproximate :: Typed.TypedTerm Syntax.ApproximateNumericType -> Typed.TypedTerm Syntax.NumericType+numericTypeApproximate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "approximate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the exact variant of hydra.ext.sql.syntax.NumericType+numericTypeExact :: Typed.TypedTerm Syntax.ExactNumericType -> Typed.TypedTerm Syntax.NumericType+numericTypeExact x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.NumericType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "exact"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.NumericType+numericTypeNumericType :: Typed.TypedName Syntax.NumericType+numericTypeNumericType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NumericType")++-- | DSL constructor for the hydra.ext.sql.syntax.NumericValueExpression wrapper+numericValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.NumericValueExpression+numericValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.NumericValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.NumericValueExpression+numericValueExpressionNumericValueExpression :: Typed.TypedName Syntax.NumericValueExpression+numericValueExpressionNumericValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.NumericValueExpression")++-- | DSL injection for the OVERRIDINGspSYSTEMspVALUE variant of hydra.ext.sql.syntax.OverrideClause+overrideClauseOVERRIDINGspSYSTEMspVALUE :: Typed.TypedTerm Syntax.OverrideClause+overrideClauseOVERRIDINGspSYSTEMspVALUE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.OverrideClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "OVERRIDINGspSYSTEMspVALUE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the OVERRIDINGspUSERspVALUE variant of hydra.ext.sql.syntax.OverrideClause+overrideClauseOVERRIDINGspUSERspVALUE :: Typed.TypedTerm Syntax.OverrideClause+overrideClauseOVERRIDINGspUSERspVALUE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.OverrideClause"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "OVERRIDINGspUSERspVALUE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.sql.syntax.OverrideClause+overrideClauseOverrideClause :: Typed.TypedName Syntax.OverrideClause+overrideClauseOverrideClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.OverrideClause")++-- | DSL constructor for the hydra.ext.sql.syntax.ParenthesizedValueExpression wrapper+parenthesizedValueExpression :: Typed.TypedTerm Syntax.ValueExpression -> Typed.TypedTerm Syntax.ParenthesizedValueExpression+parenthesizedValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ParenthesizedValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ParenthesizedValueExpression+parenthesizedValueExpressionParenthesizedValueExpression :: Typed.TypedName Syntax.ParenthesizedValueExpression+parenthesizedValueExpressionParenthesizedValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ParenthesizedValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName wrapper+pathResolvedUserDefinedTypeName :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName+pathResolvedUserDefinedTypeName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName+pathResolvedUserDefinedTypeNamePathResolvedUserDefinedTypeName :: Typed.TypedName Syntax.PathResolvedUserDefinedTypeName+pathResolvedUserDefinedTypeNamePathResolvedUserDefinedTypeName =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName")++-- | DSL constructor for the hydra.ext.sql.syntax.Precision wrapper+precision :: Typed.TypedTerm Syntax.UnsignedInteger -> Typed.TypedTerm Syntax.Precision+precision x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.Precision"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.Precision+precisionPrecision :: Typed.TypedName Syntax.Precision+precisionPrecision = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.Precision")++-- | DSL injection for the blob variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeBlob :: Typed.TypedTerm Syntax.BinaryLargeObjectStringType -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeBlob x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "blob"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the boolean variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeBoolean :: Typed.TypedTerm Syntax.BooleanType -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the datetime variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeDatetime :: Typed.TypedTerm Syntax.DatetimeType -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeDatetime x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "datetime"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the interval variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeInterval :: Typed.TypedTerm Syntax.IntervalType -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeInterval x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "interval"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalString :: Typed.TypedTerm Syntax.NationalCharacterStringType -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.PredefinedTypeNationalString+predefinedTypeNationalString type_ collate =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm collate)}]}))++-- | DSL accessor for the collate field of hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalStringCollate :: Typed.TypedTerm Syntax.PredefinedTypeNationalString -> Typed.TypedTerm (Maybe Syntax.CollateClause)+predefinedTypeNationalStringCollate x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalStringPredefinedTypeNationalString :: Typed.TypedName Syntax.PredefinedTypeNationalString+predefinedTypeNationalStringPredefinedTypeNationalString =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString")++-- | DSL injection for the nationalStringType variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeNationalStringType :: Typed.TypedTerm Syntax.PredefinedTypeNationalString -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeNationalStringType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nationalStringType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the type field of hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalStringType2 :: Typed.TypedTerm Syntax.PredefinedTypeNationalString -> Typed.TypedTerm Syntax.NationalCharacterStringType+predefinedTypeNationalStringType2 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the collate field of hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalStringWithCollate :: Typed.TypedTerm Syntax.PredefinedTypeNationalString -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.PredefinedTypeNationalString+predefinedTypeNationalStringWithCollate original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.sql.syntax.PredefinedTypeNationalString+predefinedTypeNationalStringWithType :: Typed.TypedTerm Syntax.PredefinedTypeNationalString -> Typed.TypedTerm Syntax.NationalCharacterStringType -> Typed.TypedTerm Syntax.PredefinedTypeNationalString+predefinedTypeNationalStringWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the numeric variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeNumeric :: Typed.TypedTerm Syntax.NumericType -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeNumeric x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "numeric"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.PredefinedType+predefinedTypePredefinedType :: Typed.TypedName Syntax.PredefinedType+predefinedTypePredefinedType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.PredefinedType")++-- | DSL constructor for hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeString :: Typed.TypedTerm Syntax.CharacterStringType -> Typed.TypedTerm (Maybe Syntax.CharacterSetSpecification) -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.PredefinedTypeString+predefinedTypeString type_ characters collate =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "characters"),+ Model.fieldTerm = (Typed.unTypedTerm characters)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm collate)}]}))++-- | DSL accessor for the characters field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringCharacters :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm (Maybe Syntax.CharacterSetSpecification)+predefinedTypeStringCharacters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "characters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the collate field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringCollate :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm (Maybe Syntax.CollateClause)+predefinedTypeStringCollate x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringPredefinedTypeString :: Typed.TypedName Syntax.PredefinedTypeString+predefinedTypeStringPredefinedTypeString = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString")++-- | DSL injection for the stringType variant of hydra.ext.sql.syntax.PredefinedType+predefinedTypeStringType :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm Syntax.PredefinedType+predefinedTypeStringType x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "stringType"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the type field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringType2 :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm Syntax.CharacterStringType+predefinedTypeStringType2 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the characters field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringWithCharacters :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm (Maybe Syntax.CharacterSetSpecification) -> Typed.TypedTerm Syntax.PredefinedTypeString+predefinedTypeStringWithCharacters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "characters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the collate field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringWithCollate :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm (Maybe Syntax.CollateClause) -> Typed.TypedTerm Syntax.PredefinedTypeString+predefinedTypeStringWithCollate original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "characters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "characters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.sql.syntax.PredefinedTypeString+predefinedTypeStringWithType :: Typed.TypedTerm Syntax.PredefinedTypeString -> Typed.TypedTerm Syntax.CharacterStringType -> Typed.TypedTerm Syntax.PredefinedTypeString+predefinedTypeStringWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "characters"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "characters")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collate"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"),+ Model.projectionFieldName = (Model.Name "collate")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.sql.syntax.Predicate wrapper+predicate :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.Predicate+predicate x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.Predicate"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.Predicate+predicatePredicate :: Typed.TypedName Syntax.Predicate+predicatePredicate = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.Predicate")++-- | DSL constructor for the hydra.ext.sql.syntax.QueryExpression wrapper+queryExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.QueryExpression+queryExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.QueryExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.QueryExpression+queryExpressionQueryExpression :: Typed.TypedName Syntax.QueryExpression+queryExpressionQueryExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.QueryExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.ReferenceResolution wrapper+referenceResolution :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ReferenceResolution+referenceResolution x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ReferenceResolution"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ReferenceResolution+referenceResolutionReferenceResolution :: Typed.TypedName Syntax.ReferenceResolution+referenceResolutionReferenceResolution = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ReferenceResolution")++-- | DSL constructor for the hydra.ext.sql.syntax.ReferenceScopeCheck wrapper+referenceScopeCheck :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ReferenceScopeCheck+referenceScopeCheck x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ReferenceScopeCheck"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ReferenceScopeCheck+referenceScopeCheckReferenceScopeCheck :: Typed.TypedName Syntax.ReferenceScopeCheck+referenceScopeCheckReferenceScopeCheck = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ReferenceScopeCheck")++-- | DSL constructor for the hydra.ext.sql.syntax.ReferenceType wrapper+referenceType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.ReferenceType+referenceType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ReferenceType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ReferenceType+referenceTypeReferenceType :: Typed.TypedName Syntax.ReferenceType+referenceTypeReferenceType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ReferenceType")++-- | DSL constructor for the hydra.ext.sql.syntax.ReferenceValueExpression wrapper+referenceValueExpression :: Typed.TypedTerm Syntax.ValueExpressionPrimary -> Typed.TypedTerm Syntax.ReferenceValueExpression+referenceValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ReferenceValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ReferenceValueExpression+referenceValueExpressionReferenceValueExpression :: Typed.TypedName Syntax.ReferenceValueExpression+referenceValueExpressionReferenceValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ReferenceValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.RightBracketOrTrigraph wrapper+rightBracketOrTrigraph :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.RightBracketOrTrigraph+rightBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.RightBracketOrTrigraph"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.RightBracketOrTrigraph+rightBracketOrTrigraphRightBracketOrTrigraph :: Typed.TypedName Syntax.RightBracketOrTrigraph+rightBracketOrTrigraphRightBracketOrTrigraph = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.RightBracketOrTrigraph")++-- | DSL constructor for the hydra.ext.sql.syntax.RoutineInvocation wrapper+routineInvocation :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.RoutineInvocation+routineInvocation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.RoutineInvocation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.RoutineInvocation+routineInvocationRoutineInvocation :: Typed.TypedName Syntax.RoutineInvocation+routineInvocationRoutineInvocation = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.RoutineInvocation")++-- | DSL constructor for the hydra.ext.sql.syntax.RowType wrapper+rowType :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.RowType+rowType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.RowType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.RowType+rowTypeRowType :: Typed.TypedName Syntax.RowType+rowTypeRowType = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.RowType")++-- | DSL constructor for the hydra.ext.sql.syntax.RowValueExpression wrapper+rowValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.RowValueExpression+rowValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.RowValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.RowValueExpression+rowValueExpressionRowValueExpression :: Typed.TypedName Syntax.RowValueExpression+rowValueExpressionRowValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.RowValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.RowValueSpecialCase wrapper+rowValueSpecialCase :: Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary -> Typed.TypedTerm Syntax.RowValueSpecialCase+rowValueSpecialCase x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.RowValueSpecialCase"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.RowValueSpecialCase+rowValueSpecialCaseRowValueSpecialCase :: Typed.TypedName Syntax.RowValueSpecialCase+rowValueSpecialCaseRowValueSpecialCase = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.RowValueSpecialCase")++-- | DSL constructor for the hydra.ext.sql.syntax.ScalarSubquery wrapper+scalarSubquery :: Typed.TypedTerm Syntax.Subquery -> Typed.TypedTerm Syntax.ScalarSubquery+scalarSubquery x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.ScalarSubquery"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.ScalarSubquery+scalarSubqueryScalarSubquery :: Typed.TypedName Syntax.ScalarSubquery+scalarSubqueryScalarSubquery = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ScalarSubquery")++-- | DSL constructor for the hydra.ext.sql.syntax.Scale wrapper+scale :: Typed.TypedTerm Syntax.UnsignedInteger -> Typed.TypedTerm Syntax.Scale+scale x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.Scale"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.Scale+scaleScale :: Typed.TypedName Syntax.Scale+scaleScale = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.Scale")++-- | DSL constructor for the hydra.ext.sql.syntax.SelfReferencingColumnSpecification wrapper+selfReferencingColumnSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.SelfReferencingColumnSpecification+selfReferencingColumnSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.SelfReferencingColumnSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.SelfReferencingColumnSpecification+selfReferencingColumnSpecificationSelfReferencingColumnSpecification :: Typed.TypedName Syntax.SelfReferencingColumnSpecification+selfReferencingColumnSpecificationSelfReferencingColumnSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.SelfReferencingColumnSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.SetFunctionSpecification wrapper+setFunctionSpecification :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.SetFunctionSpecification+setFunctionSpecification x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.SetFunctionSpecification"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.SetFunctionSpecification+setFunctionSpecificationSetFunctionSpecification :: Typed.TypedName Syntax.SetFunctionSpecification+setFunctionSpecificationSetFunctionSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.SetFunctionSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.StaticMethodInvocation wrapper+staticMethodInvocation :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.StaticMethodInvocation+staticMethodInvocation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.StaticMethodInvocation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.StaticMethodInvocation+staticMethodInvocationStaticMethodInvocation :: Typed.TypedName Syntax.StaticMethodInvocation+staticMethodInvocationStaticMethodInvocation = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.StaticMethodInvocation")++-- | DSL constructor for the hydra.ext.sql.syntax.StringValueExpression wrapper+stringValueExpression :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.StringValueExpression+stringValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.StringValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.StringValueExpression+stringValueExpressionStringValueExpression :: Typed.TypedName Syntax.StringValueExpression+stringValueExpressionStringValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.StringValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.Subquery wrapper+subquery :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm Syntax.Subquery+subquery x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.Subquery"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.Subquery+subquerySubquery :: Typed.TypedName Syntax.Subquery+subquerySubquery = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.Subquery")++-- | DSL constructor for the hydra.ext.sql.syntax.SubtableClause wrapper+subtableClause :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.SubtableClause+subtableClause x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.SubtableClause"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.SubtableClause+subtableClauseSubtableClause :: Typed.TypedName Syntax.SubtableClause+subtableClauseSubtableClause = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.SubtableClause")++-- | DSL constructor for the hydra.ext.sql.syntax.SubtypeTreatment wrapper+subtypeTreatment :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.SubtypeTreatment+subtypeTreatment x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.SubtypeTreatment"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.SubtypeTreatment+subtypeTreatmentSubtypeTreatment :: Typed.TypedName Syntax.SubtypeTreatment+subtypeTreatmentSubtypeTreatment = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.SubtypeTreatment")++-- | DSL injection for the delete variant of hydra.ext.sql.syntax.TableCommitAction+tableCommitActionDelete :: Typed.TypedTerm Syntax.TableCommitAction+tableCommitActionDelete =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableCommitAction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delete"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the preserve variant of hydra.ext.sql.syntax.TableCommitAction+tableCommitActionPreserve :: Typed.TypedTerm Syntax.TableCommitAction+tableCommitActionPreserve =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableCommitAction"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "preserve"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.sql.syntax.TableCommitAction+tableCommitActionTableCommitAction :: Typed.TypedName Syntax.TableCommitAction+tableCommitActionTableCommitAction = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableCommitAction")++-- | DSL constructor for the hydra.ext.sql.syntax.TableConstraintDefinition wrapper+tableConstraintDefinition :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.TableConstraintDefinition+tableConstraintDefinition x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TableConstraintDefinition"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableConstraintDefinition+tableConstraintDefinitionTableConstraintDefinition :: Typed.TypedName Syntax.TableConstraintDefinition+tableConstraintDefinitionTableConstraintDefinition =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableConstraintDefinition")++-- | DSL injection for the list variant of hydra.ext.sql.syntax.TableContentsSource+tableContentsSourceList :: Typed.TypedTerm Syntax.TableElementList -> Typed.TypedTerm Syntax.TableContentsSource+tableContentsSourceList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the subquery variant of hydra.ext.sql.syntax.TableContentsSource+tableContentsSourceSubquery :: Typed.TypedTerm Syntax.AsSubqueryClause -> Typed.TypedTerm Syntax.TableContentsSource+tableContentsSourceSubquery x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subquery"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtable :: Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName -> Typed.TypedTerm (Maybe Syntax.SubtableClause) -> Typed.TypedTerm (Maybe Syntax.TableElementList) -> Typed.TypedTerm Syntax.TableContentsSourceSubtable+tableContentsSourceSubtable type_ subtable elements =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "subtable"),+ Model.fieldTerm = (Typed.unTypedTerm subtable)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm elements)}]}))++-- | DSL accessor for the elements field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableElements :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm (Maybe Syntax.TableElementList)+tableContentsSourceSubtableElements x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the subtableOf variant of hydra.ext.sql.syntax.TableContentsSource+tableContentsSourceSubtableOf :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm Syntax.TableContentsSource+tableContentsSourceSubtableOf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSource"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subtableOf"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the subtable field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableSubtable :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm (Maybe Syntax.SubtableClause)+tableContentsSourceSubtableSubtable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "subtable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableTableContentsSourceSubtable :: Typed.TypedName Syntax.TableContentsSourceSubtable+tableContentsSourceSubtableTableContentsSourceSubtable =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable")++-- | DSL accessor for the type field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableType :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName+tableContentsSourceSubtableType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the elements field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithElements :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm (Maybe Syntax.TableElementList) -> Typed.TypedTerm Syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithElements original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subtable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "subtable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the subtable field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithSubtable :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm (Maybe Syntax.SubtableClause) -> Typed.TypedTerm Syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithSubtable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "subtable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.sql.syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithType :: Typed.TypedTerm Syntax.TableContentsSourceSubtable -> Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName -> Typed.TypedTerm Syntax.TableContentsSourceSubtable+tableContentsSourceSubtableWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "subtable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "subtable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "elements"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"),+ Model.projectionFieldName = (Model.Name "elements")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.ext.sql.syntax.TableContentsSource+tableContentsSourceTableContentsSource :: Typed.TypedName Syntax.TableContentsSource+tableContentsSourceTableContentsSource = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableContentsSource")++-- | DSL constructor for hydra.ext.sql.syntax.TableDefinition+tableDefinition :: Typed.TypedTerm (Maybe Syntax.TableScope) -> Typed.TypedTerm Syntax.TableName -> Typed.TypedTerm Syntax.TableContentsSource -> Typed.TypedTerm (Maybe Syntax.TableCommitAction) -> Typed.TypedTerm Syntax.TableDefinition+tableDefinition scope name source commitActions =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scope"),+ Model.fieldTerm = (Typed.unTypedTerm scope)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "source"),+ Model.fieldTerm = (Typed.unTypedTerm source)},+ Model.Field {+ Model.fieldName = (Model.Name "commitActions"),+ Model.fieldTerm = (Typed.unTypedTerm commitActions)}]}))++-- | DSL accessor for the commitActions field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionCommitActions :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm (Maybe Syntax.TableCommitAction)+tableDefinitionCommitActions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "commitActions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionName :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm Syntax.TableName+tableDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the scope field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionScope :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm (Maybe Syntax.TableScope)+tableDefinitionScope x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "scope")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the source field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionSource :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm Syntax.TableContentsSource+tableDefinitionSource x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "source")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableDefinition+tableDefinitionTableDefinition :: Typed.TypedName Syntax.TableDefinition+tableDefinitionTableDefinition = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableDefinition")++-- | DSL updater for the commitActions field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionWithCommitActions :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm (Maybe Syntax.TableCommitAction) -> Typed.TypedTerm Syntax.TableDefinition+tableDefinitionWithCommitActions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "scope")})),+ 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.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "source"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "source")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commitActions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionWithName :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm Syntax.TableName -> Typed.TypedTerm Syntax.TableDefinition+tableDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "scope")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "source"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "source")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commitActions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "commitActions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the scope field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionWithScope :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm (Maybe Syntax.TableScope) -> Typed.TypedTerm Syntax.TableDefinition+tableDefinitionWithScope original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scope"),+ 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.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "source"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "source")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "commitActions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "commitActions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the source field of hydra.ext.sql.syntax.TableDefinition+tableDefinitionWithSource :: Typed.TypedTerm Syntax.TableDefinition -> Typed.TypedTerm Syntax.TableContentsSource -> Typed.TypedTerm Syntax.TableDefinition+tableDefinitionWithSource original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "scope"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "scope")})),+ 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.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "source"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "commitActions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableDefinition"),+ Model.projectionFieldName = (Model.Name "commitActions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the columOptions variant of hydra.ext.sql.syntax.TableElement+tableElementColumOptions :: Typed.TypedTerm Syntax.ColumnOptions -> Typed.TypedTerm Syntax.TableElement+tableElementColumOptions x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "columOptions"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the column variant of hydra.ext.sql.syntax.TableElement+tableElementColumn :: Typed.TypedTerm Syntax.ColumnDefinition -> Typed.TypedTerm Syntax.TableElement+tableElementColumn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "column"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the like variant of hydra.ext.sql.syntax.TableElement+tableElementLike :: Typed.TypedTerm Syntax.LikeClause -> Typed.TypedTerm Syntax.TableElement+tableElementLike x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "like"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.ext.sql.syntax.TableElementList+tableElementList :: Typed.TypedTerm Syntax.TableElement -> Typed.TypedTerm [Syntax.TableElement] -> Typed.TypedTerm Syntax.TableElementList+tableElementList first rest =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm first)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm rest)}]}))++-- | DSL accessor for the first field of hydra.ext.sql.syntax.TableElementList+tableElementListFirst :: Typed.TypedTerm Syntax.TableElementList -> Typed.TypedTerm Syntax.TableElement+tableElementListFirst x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rest field of hydra.ext.sql.syntax.TableElementList+tableElementListRest :: Typed.TypedTerm Syntax.TableElementList -> Typed.TypedTerm [Syntax.TableElement]+tableElementListRest x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableElementList+tableElementListTableElementList :: Typed.TypedName Syntax.TableElementList+tableElementListTableElementList = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableElementList")++-- | DSL updater for the first field of hydra.ext.sql.syntax.TableElementList+tableElementListWithFirst :: Typed.TypedTerm Syntax.TableElementList -> Typed.TypedTerm Syntax.TableElement -> Typed.TypedTerm Syntax.TableElementList+tableElementListWithFirst original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.projectionFieldName = (Model.Name "rest")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rest field of hydra.ext.sql.syntax.TableElementList+tableElementListWithRest :: Typed.TypedTerm Syntax.TableElementList -> Typed.TypedTerm [Syntax.TableElement] -> Typed.TypedTerm Syntax.TableElementList+tableElementListWithRest original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "first"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElementList"),+ Model.projectionFieldName = (Model.Name "first")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rest"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the selfReferencingColumn variant of hydra.ext.sql.syntax.TableElement+tableElementSelfReferencingColumn :: Typed.TypedTerm Syntax.SelfReferencingColumnSpecification -> Typed.TypedTerm Syntax.TableElement+tableElementSelfReferencingColumn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "selfReferencingColumn"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the tableConstraint variant of hydra.ext.sql.syntax.TableElement+tableElementTableConstraint :: Typed.TypedTerm Syntax.TableConstraintDefinition -> Typed.TypedTerm Syntax.TableElement+tableElementTableConstraint x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TableElement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tableConstraint"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.TableElement+tableElementTableElement :: Typed.TypedName Syntax.TableElement+tableElementTableElement = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableElement")++-- | DSL constructor for the hydra.ext.sql.syntax.TableName wrapper+tableName :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TableName+tableName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TableName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableName+tableNameTableName :: Typed.TypedName Syntax.TableName+tableNameTableName = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableName")++-- | DSL constructor for the hydra.ext.sql.syntax.TableScope wrapper+tableScope :: Typed.TypedTerm Syntax.GlobalOrLocal -> Typed.TypedTerm Syntax.TableScope+tableScope x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TableScope"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TableScope+tableScopeTableScope :: Typed.TypedName Syntax.TableScope+tableScopeTableScope = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TableScope")++-- | DSL constructor for the hydra.ext.sql.syntax.TimeLiteral wrapper+timeLiteral :: Typed.TypedTerm Syntax.TimeString -> Typed.TypedTerm Syntax.TimeLiteral+timeLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TimeLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TimeLiteral+timeLiteralTimeLiteral :: Typed.TypedName Syntax.TimeLiteral+timeLiteralTimeLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TimeLiteral")++-- | DSL constructor for the hydra.ext.sql.syntax.TimeString wrapper+timeString :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.TimeString+timeString x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TimeString"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TimeString+timeStringTimeString :: Typed.TypedName Syntax.TimeString+timeStringTimeString = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TimeString")++-- | DSL constructor for the hydra.ext.sql.syntax.TimestampLiteral wrapper+timestampLiteral :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.TimestampLiteral+timestampLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.TimestampLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.TimestampLiteral+timestampLiteralTimestampLiteral :: Typed.TypedName Syntax.TimestampLiteral+timestampLiteralTimestampLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TimestampLiteral")++-- | DSL injection for the FALSE variant of hydra.ext.sql.syntax.TruthValue+truthValueFALSE :: Typed.TypedTerm Syntax.TruthValue+truthValueFALSE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TruthValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "FALSE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the TRUE variant of hydra.ext.sql.syntax.TruthValue+truthValueTRUE :: Typed.TypedTerm Syntax.TruthValue+truthValueTRUE =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TruthValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "TRUE"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.sql.syntax.TruthValue+truthValueTruthValue :: Typed.TypedName Syntax.TruthValue+truthValueTruthValue = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.TruthValue")++-- | DSL injection for the UNKNOWN variant of hydra.ext.sql.syntax.TruthValue+truthValueUNKNOWN :: Typed.TypedTerm Syntax.TruthValue+truthValueUNKNOWN =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.TruthValue"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "UNKNOWN"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ApproximateNumericLiteral+unApproximateNumericLiteral :: Typed.TypedTerm Syntax.ApproximateNumericLiteral -> Typed.TypedTerm String+unApproximateNumericLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ApproximateNumericLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ArrayElement+unArrayElement :: Typed.TypedTerm Syntax.ArrayElement -> Typed.TypedTerm Syntax.ValueExpression+unArrayElement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ArrayElement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ArrayElementReference+unArrayElementReference :: Typed.TypedTerm Syntax.ArrayElementReference -> Typed.TypedTerm ()+unArrayElementReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ArrayElementReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ArrayType+unArrayType :: Typed.TypedTerm Syntax.ArrayType -> Typed.TypedTerm ()+unArrayType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ArrayType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ArrayValueConstructorByQuery+unArrayValueConstructorByQuery :: Typed.TypedTerm Syntax.ArrayValueConstructorByQuery -> Typed.TypedTerm ()+unArrayValueConstructorByQuery x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByQuery")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ArrayValueExpression+unArrayValueExpression :: Typed.TypedTerm Syntax.ArrayValueExpression -> Typed.TypedTerm ()+unArrayValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ArrayValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.AsSubqueryClause+unAsSubqueryClause :: Typed.TypedTerm Syntax.AsSubqueryClause -> Typed.TypedTerm ()+unAsSubqueryClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.AsSubqueryClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.AttributeOrMethodReference+unAttributeOrMethodReference :: Typed.TypedTerm Syntax.AttributeOrMethodReference -> Typed.TypedTerm ()+unAttributeOrMethodReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.AttributeOrMethodReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.BinaryStringLiteral+unBinaryStringLiteral :: Typed.TypedTerm Syntax.BinaryStringLiteral -> Typed.TypedTerm ()+unBinaryStringLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.BinaryStringLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.BooleanPredicand+unBooleanPredicand :: Typed.TypedTerm Syntax.BooleanPredicand -> Typed.TypedTerm ()+unBooleanPredicand x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.BooleanPredicand")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.BooleanType+unBooleanType :: Typed.TypedTerm Syntax.BooleanType -> Typed.TypedTerm ()+unBooleanType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.BooleanType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.CaseExpression+unCaseExpression :: Typed.TypedTerm Syntax.CaseExpression -> Typed.TypedTerm ()+unCaseExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.CaseExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.CastSpecification+unCastSpecification :: Typed.TypedTerm Syntax.CastSpecification -> Typed.TypedTerm ()+unCastSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.CastSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.CharacterSetSpecification+unCharacterSetSpecification :: Typed.TypedTerm Syntax.CharacterSetSpecification -> Typed.TypedTerm ()+unCharacterSetSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.CharacterSetSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.CharacterStringLiteral+unCharacterStringLiteral :: Typed.TypedTerm Syntax.CharacterStringLiteral -> Typed.TypedTerm String+unCharacterStringLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.CharacterStringLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.CollateClause+unCollateClause :: Typed.TypedTerm Syntax.CollateClause -> Typed.TypedTerm ()+unCollateClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.CollateClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ColumnConstraintDefinition+unColumnConstraintDefinition :: Typed.TypedTerm Syntax.ColumnConstraintDefinition -> Typed.TypedTerm ()+unColumnConstraintDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ColumnConstraintDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ColumnName+unColumnName :: Typed.TypedTerm Syntax.ColumnName -> Typed.TypedTerm String+unColumnName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ColumnName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ColumnOptions+unColumnOptions :: Typed.TypedTerm Syntax.ColumnOptions -> Typed.TypedTerm ()+unColumnOptions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ColumnOptions")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ColumnReference+unColumnReference :: Typed.TypedTerm Syntax.ColumnReference -> Typed.TypedTerm ()+unColumnReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ColumnReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor+unContextuallyTypedRowValueConstructor :: Typed.TypedTerm Syntax.ContextuallyTypedRowValueConstructor -> Typed.TypedTerm ()+unContextuallyTypedRowValueConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor+unContextuallyTypedTableValueConstructor :: Typed.TypedTerm Syntax.ContextuallyTypedTableValueConstructor -> Typed.TypedTerm Syntax.ContextuallyTypedRowValueExpressionList+unContextuallyTypedTableValueConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DateLiteral+unDateLiteral :: Typed.TypedTerm Syntax.DateLiteral -> Typed.TypedTerm Syntax.DateString+unDateLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DateLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DateString+unDateString :: Typed.TypedTerm Syntax.DateString -> Typed.TypedTerm ()+unDateString x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DateString")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DatetimeType+unDatetimeType :: Typed.TypedTerm Syntax.DatetimeType -> Typed.TypedTerm ()+unDatetimeType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DatetimeType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DatetimeValueExpression+unDatetimeValueExpression :: Typed.TypedTerm Syntax.DatetimeValueExpression -> Typed.TypedTerm ()+unDatetimeValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DatetimeValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DefaultClause+unDefaultClause :: Typed.TypedTerm Syntax.DefaultClause -> Typed.TypedTerm ()+unDefaultClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DefaultClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.DomainName+unDomainName :: Typed.TypedTerm Syntax.DomainName -> Typed.TypedTerm String+unDomainName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.DomainName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ExactNumericLiteral+unExactNumericLiteral :: Typed.TypedTerm Syntax.ExactNumericLiteral -> Typed.TypedTerm String+unExactNumericLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ExactNumericLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.FieldReference+unFieldReference :: Typed.TypedTerm Syntax.FieldReference -> Typed.TypedTerm ()+unFieldReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.FieldReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.FromDefault+unFromDefault :: Typed.TypedTerm Syntax.FromDefault -> Typed.TypedTerm ()+unFromDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.FromDefault")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.FromSubquery+unFromSubquery :: Typed.TypedTerm Syntax.FromSubquery -> Typed.TypedTerm ()+unFromSubquery x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.FromSubquery")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.GeneralValueSpecification+unGeneralValueSpecification :: Typed.TypedTerm Syntax.GeneralValueSpecification -> Typed.TypedTerm ()+unGeneralValueSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.GeneralValueSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.GenerationClause+unGenerationClause :: Typed.TypedTerm Syntax.GenerationClause -> Typed.TypedTerm ()+unGenerationClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.GenerationClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.IdentityColumnSpecification+unIdentityColumnSpecification :: Typed.TypedTerm Syntax.IdentityColumnSpecification -> Typed.TypedTerm ()+unIdentityColumnSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.IdentityColumnSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.InsertColumnList+unInsertColumnList :: Typed.TypedTerm Syntax.InsertColumnList -> Typed.TypedTerm Syntax.ColumnNameList+unInsertColumnList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.InsertColumnList")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.InsertionTarget+unInsertionTarget :: Typed.TypedTerm Syntax.InsertionTarget -> Typed.TypedTerm Syntax.TableName+unInsertionTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.InsertionTarget")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.IntervalLiteral+unIntervalLiteral :: Typed.TypedTerm Syntax.IntervalLiteral -> Typed.TypedTerm ()+unIntervalLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.IntervalLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.IntervalType+unIntervalType :: Typed.TypedTerm Syntax.IntervalType -> Typed.TypedTerm ()+unIntervalType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.IntervalType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.IntervalValueExpression+unIntervalValueExpression :: Typed.TypedTerm Syntax.IntervalValueExpression -> Typed.TypedTerm ()+unIntervalValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.IntervalValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.LargeObjectLength+unLargeObjectLength :: Typed.TypedTerm Syntax.LargeObjectLength -> Typed.TypedTerm ()+unLargeObjectLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.LargeObjectLength")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.LeftBracketOrTrigraph+unLeftBracketOrTrigraph :: Typed.TypedTerm Syntax.LeftBracketOrTrigraph -> Typed.TypedTerm String+unLeftBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.LeftBracketOrTrigraph")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.Length+unLength :: Typed.TypedTerm Syntax.Length -> Typed.TypedTerm Syntax.UnsignedInteger+unLength x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.Length")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.LikeClause+unLikeClause :: Typed.TypedTerm Syntax.LikeClause -> Typed.TypedTerm ()+unLikeClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.LikeClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.MethodInvocation+unMethodInvocation :: Typed.TypedTerm Syntax.MethodInvocation -> Typed.TypedTerm ()+unMethodInvocation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.MethodInvocation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.MultisetElementReference+unMultisetElementReference :: Typed.TypedTerm Syntax.MultisetElementReference -> Typed.TypedTerm ()+unMultisetElementReference x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.MultisetElementReference")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.MultisetType+unMultisetType :: Typed.TypedTerm Syntax.MultisetType -> Typed.TypedTerm Syntax.DataType+unMultisetType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.MultisetType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.MultisetValueConstructor+unMultisetValueConstructor :: Typed.TypedTerm Syntax.MultisetValueConstructor -> Typed.TypedTerm ()+unMultisetValueConstructor x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.MultisetValueConstructor")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.MultisetValueExpression+unMultisetValueExpression :: Typed.TypedTerm Syntax.MultisetValueExpression -> Typed.TypedTerm ()+unMultisetValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.MultisetValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.NationalCharacterStringLiteral+unNationalCharacterStringLiteral :: Typed.TypedTerm Syntax.NationalCharacterStringLiteral -> Typed.TypedTerm ()+unNationalCharacterStringLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.NationalCharacterStringType+unNationalCharacterStringType :: Typed.TypedTerm Syntax.NationalCharacterStringType -> Typed.TypedTerm ()+unNationalCharacterStringType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.NationalCharacterStringType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.NewSpecification+unNewSpecification :: Typed.TypedTerm Syntax.NewSpecification -> Typed.TypedTerm ()+unNewSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.NewSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.NextValueExpression+unNextValueExpression :: Typed.TypedTerm Syntax.NextValueExpression -> Typed.TypedTerm ()+unNextValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.NextValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.NumericValueExpression+unNumericValueExpression :: Typed.TypedTerm Syntax.NumericValueExpression -> Typed.TypedTerm ()+unNumericValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.NumericValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ParenthesizedValueExpression+unParenthesizedValueExpression :: Typed.TypedTerm Syntax.ParenthesizedValueExpression -> Typed.TypedTerm Syntax.ValueExpression+unParenthesizedValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ParenthesizedValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName+unPathResolvedUserDefinedTypeName :: Typed.TypedTerm Syntax.PathResolvedUserDefinedTypeName -> Typed.TypedTerm String+unPathResolvedUserDefinedTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.Precision+unPrecision :: Typed.TypedTerm Syntax.Precision -> Typed.TypedTerm Syntax.UnsignedInteger+unPrecision x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.Precision")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.Predicate+unPredicate :: Typed.TypedTerm Syntax.Predicate -> Typed.TypedTerm ()+unPredicate x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.Predicate")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.QueryExpression+unQueryExpression :: Typed.TypedTerm Syntax.QueryExpression -> Typed.TypedTerm ()+unQueryExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.QueryExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ReferenceResolution+unReferenceResolution :: Typed.TypedTerm Syntax.ReferenceResolution -> Typed.TypedTerm ()+unReferenceResolution x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ReferenceResolution")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ReferenceScopeCheck+unReferenceScopeCheck :: Typed.TypedTerm Syntax.ReferenceScopeCheck -> Typed.TypedTerm ()+unReferenceScopeCheck x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ReferenceScopeCheck")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ReferenceType+unReferenceType :: Typed.TypedTerm Syntax.ReferenceType -> Typed.TypedTerm ()+unReferenceType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ReferenceType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ReferenceValueExpression+unReferenceValueExpression :: Typed.TypedTerm Syntax.ReferenceValueExpression -> Typed.TypedTerm Syntax.ValueExpressionPrimary+unReferenceValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ReferenceValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.RightBracketOrTrigraph+unRightBracketOrTrigraph :: Typed.TypedTerm Syntax.RightBracketOrTrigraph -> Typed.TypedTerm String+unRightBracketOrTrigraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.RightBracketOrTrigraph")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.RoutineInvocation+unRoutineInvocation :: Typed.TypedTerm Syntax.RoutineInvocation -> Typed.TypedTerm ()+unRoutineInvocation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.RoutineInvocation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.RowType+unRowType :: Typed.TypedTerm Syntax.RowType -> Typed.TypedTerm ()+unRowType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.RowType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.RowValueExpression+unRowValueExpression :: Typed.TypedTerm Syntax.RowValueExpression -> Typed.TypedTerm ()+unRowValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.RowValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.RowValueSpecialCase+unRowValueSpecialCase :: Typed.TypedTerm Syntax.RowValueSpecialCase -> Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary+unRowValueSpecialCase x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.RowValueSpecialCase")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.ScalarSubquery+unScalarSubquery :: Typed.TypedTerm Syntax.ScalarSubquery -> Typed.TypedTerm Syntax.Subquery+unScalarSubquery x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.ScalarSubquery")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.Scale+unScale :: Typed.TypedTerm Syntax.Scale -> Typed.TypedTerm Syntax.UnsignedInteger+unScale x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.Scale")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.SelfReferencingColumnSpecification+unSelfReferencingColumnSpecification :: Typed.TypedTerm Syntax.SelfReferencingColumnSpecification -> Typed.TypedTerm ()+unSelfReferencingColumnSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.SelfReferencingColumnSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.SetFunctionSpecification+unSetFunctionSpecification :: Typed.TypedTerm Syntax.SetFunctionSpecification -> Typed.TypedTerm ()+unSetFunctionSpecification x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.SetFunctionSpecification")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.StaticMethodInvocation+unStaticMethodInvocation :: Typed.TypedTerm Syntax.StaticMethodInvocation -> Typed.TypedTerm ()+unStaticMethodInvocation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.StaticMethodInvocation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.StringValueExpression+unStringValueExpression :: Typed.TypedTerm Syntax.StringValueExpression -> Typed.TypedTerm ()+unStringValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.StringValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.Subquery+unSubquery :: Typed.TypedTerm Syntax.Subquery -> Typed.TypedTerm Syntax.QueryExpression+unSubquery x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.Subquery")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.SubtableClause+unSubtableClause :: Typed.TypedTerm Syntax.SubtableClause -> Typed.TypedTerm ()+unSubtableClause x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.SubtableClause")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.SubtypeTreatment+unSubtypeTreatment :: Typed.TypedTerm Syntax.SubtypeTreatment -> Typed.TypedTerm ()+unSubtypeTreatment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.SubtypeTreatment")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TableConstraintDefinition+unTableConstraintDefinition :: Typed.TypedTerm Syntax.TableConstraintDefinition -> Typed.TypedTerm ()+unTableConstraintDefinition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TableConstraintDefinition")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TableName+unTableName :: Typed.TypedTerm Syntax.TableName -> Typed.TypedTerm String+unTableName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TableName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TableScope+unTableScope :: Typed.TypedTerm Syntax.TableScope -> Typed.TypedTerm Syntax.GlobalOrLocal+unTableScope x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TableScope")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TimeLiteral+unTimeLiteral :: Typed.TypedTerm Syntax.TimeLiteral -> Typed.TypedTerm Syntax.TimeString+unTimeLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TimeLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TimeString+unTimeString :: Typed.TypedTerm Syntax.TimeString -> Typed.TypedTerm ()+unTimeString x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TimeString")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.TimestampLiteral+unTimestampLiteral :: Typed.TypedTerm Syntax.TimestampLiteral -> Typed.TypedTerm ()+unTimestampLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.TimestampLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.UnicodeCharacterStringLiteral+unUnicodeCharacterStringLiteral :: Typed.TypedTerm Syntax.UnicodeCharacterStringLiteral -> Typed.TypedTerm ()+unUnicodeCharacterStringLiteral x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.UnicodeCharacterStringLiteral")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.UnsignedInteger+unUnsignedInteger :: Typed.TypedTerm Syntax.UnsignedInteger -> Typed.TypedTerm String+unUnsignedInteger x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.UnsignedInteger")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.UserDefinedTypeValueExpression+unUserDefinedTypeValueExpression :: Typed.TypedTerm Syntax.UserDefinedTypeValueExpression -> Typed.TypedTerm Syntax.ValueExpressionPrimary+unUserDefinedTypeValueExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.UserDefinedTypeValueExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.sql.syntax.WindowFunction+unWindowFunction :: Typed.TypedTerm Syntax.WindowFunction -> Typed.TypedTerm ()+unWindowFunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.sql.syntax.WindowFunction")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.sql.syntax.UnicodeCharacterStringLiteral wrapper+unicodeCharacterStringLiteral :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.UnicodeCharacterStringLiteral+unicodeCharacterStringLiteral x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.UnicodeCharacterStringLiteral"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.UnicodeCharacterStringLiteral+unicodeCharacterStringLiteralUnicodeCharacterStringLiteral :: Typed.TypedName Syntax.UnicodeCharacterStringLiteral+unicodeCharacterStringLiteralUnicodeCharacterStringLiteral =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UnicodeCharacterStringLiteral")++-- | DSL constructor for the hydra.ext.sql.syntax.UnsignedInteger wrapper+unsignedInteger :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.UnsignedInteger+unsignedInteger x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedInteger"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.UnsignedInteger+unsignedIntegerUnsignedInteger :: Typed.TypedName Syntax.UnsignedInteger+unsignedIntegerUnsignedInteger = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UnsignedInteger")++-- | DSL injection for the general variant of hydra.ext.sql.syntax.UnsignedLiteral+unsignedLiteralGeneral :: Typed.TypedTerm Syntax.GeneralLiteral -> Typed.TypedTerm Syntax.UnsignedLiteral+unsignedLiteralGeneral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "general"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the numeric variant of hydra.ext.sql.syntax.UnsignedLiteral+unsignedLiteralNumeric :: Typed.TypedTerm Syntax.UnsignedNumericLiteral -> Typed.TypedTerm Syntax.UnsignedLiteral+unsignedLiteralNumeric x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "numeric"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.UnsignedLiteral+unsignedLiteralUnsignedLiteral :: Typed.TypedName Syntax.UnsignedLiteral+unsignedLiteralUnsignedLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UnsignedLiteral")++-- | DSL injection for the approximate variant of hydra.ext.sql.syntax.UnsignedNumericLiteral+unsignedNumericLiteralApproximate :: Typed.TypedTerm Syntax.ApproximateNumericLiteral -> Typed.TypedTerm Syntax.UnsignedNumericLiteral+unsignedNumericLiteralApproximate x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedNumericLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "approximate"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the exact variant of hydra.ext.sql.syntax.UnsignedNumericLiteral+unsignedNumericLiteralExact :: Typed.TypedTerm Syntax.ExactNumericLiteral -> Typed.TypedTerm Syntax.UnsignedNumericLiteral+unsignedNumericLiteralExact x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedNumericLiteral"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "exact"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.UnsignedNumericLiteral+unsignedNumericLiteralUnsignedNumericLiteral :: Typed.TypedName Syntax.UnsignedNumericLiteral+unsignedNumericLiteralUnsignedNumericLiteral = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UnsignedNumericLiteral")++-- | DSL injection for the general variant of hydra.ext.sql.syntax.UnsignedValueSpecification+unsignedValueSpecificationGeneral :: Typed.TypedTerm Syntax.GeneralValueSpecification -> Typed.TypedTerm Syntax.UnsignedValueSpecification+unsignedValueSpecificationGeneral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedValueSpecification"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "general"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.ext.sql.syntax.UnsignedValueSpecification+unsignedValueSpecificationLiteral :: Typed.TypedTerm Syntax.UnsignedLiteral -> Typed.TypedTerm Syntax.UnsignedValueSpecification+unsignedValueSpecificationLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.UnsignedValueSpecification"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.UnsignedValueSpecification+unsignedValueSpecificationUnsignedValueSpecification :: Typed.TypedName Syntax.UnsignedValueSpecification+unsignedValueSpecificationUnsignedValueSpecification =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UnsignedValueSpecification")++-- | DSL constructor for the hydra.ext.sql.syntax.UserDefinedTypeValueExpression wrapper+userDefinedTypeValueExpression :: Typed.TypedTerm Syntax.ValueExpressionPrimary -> Typed.TypedTerm Syntax.UserDefinedTypeValueExpression+userDefinedTypeValueExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.UserDefinedTypeValueExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.UserDefinedTypeValueExpression+userDefinedTypeValueExpressionUserDefinedTypeValueExpression :: Typed.TypedName Syntax.UserDefinedTypeValueExpression+userDefinedTypeValueExpressionUserDefinedTypeValueExpression =+ Typed.TypedName (Model.Name "hydra.ext.sql.syntax.UserDefinedTypeValueExpression")++-- | DSL injection for the boolean variant of hydra.ext.sql.syntax.ValueExpression+valueExpressionBoolean :: Typed.TypedTerm Syntax.BooleanValueExpression -> Typed.TypedTerm Syntax.ValueExpression+valueExpressionBoolean x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "boolean"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the common variant of hydra.ext.sql.syntax.ValueExpression+valueExpressionCommon :: Typed.TypedTerm Syntax.CommonValueExpression -> Typed.TypedTerm Syntax.ValueExpression+valueExpressionCommon x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "common"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the noparens variant of hydra.ext.sql.syntax.ValueExpressionPrimary+valueExpressionPrimaryNoparens :: Typed.TypedTerm Syntax.NonparenthesizedValueExpressionPrimary -> Typed.TypedTerm Syntax.ValueExpressionPrimary+valueExpressionPrimaryNoparens x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noparens"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parens variant of hydra.ext.sql.syntax.ValueExpressionPrimary+valueExpressionPrimaryParens :: Typed.TypedTerm Syntax.ParenthesizedValueExpression -> Typed.TypedTerm Syntax.ValueExpressionPrimary+valueExpressionPrimaryParens x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ValueExpressionPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parens"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.ValueExpressionPrimary+valueExpressionPrimaryValueExpressionPrimary :: Typed.TypedName Syntax.ValueExpressionPrimary+valueExpressionPrimaryValueExpressionPrimary = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ValueExpressionPrimary")++-- | DSL injection for the row variant of hydra.ext.sql.syntax.ValueExpression+valueExpressionRow :: Typed.TypedTerm Syntax.RowValueExpression -> Typed.TypedTerm Syntax.ValueExpression+valueExpressionRow x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.sql.syntax.ValueExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "row"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.sql.syntax.ValueExpression+valueExpressionValueExpression :: Typed.TypedName Syntax.ValueExpression+valueExpressionValueExpression = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.ValueExpression")++-- | DSL constructor for the hydra.ext.sql.syntax.WindowFunction wrapper+windowFunction :: Typed.TypedTerm () -> Typed.TypedTerm Syntax.WindowFunction+windowFunction x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.sql.syntax.WindowFunction"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.sql.syntax.WindowFunction+windowFunctionWindowFunction :: Typed.TypedName Syntax.WindowFunction+windowFunctionWindowFunction = Typed.TypedName (Model.Name "hydra.ext.sql.syntax.WindowFunction")
+ src/main/haskell/Hydra/Ext/Dsl/Stac/Items.hs view
@@ -0,0 +1,1015 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.stac.items++module Hydra.Ext.Dsl.Stac.Items where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Ext.Dsl.Geojson.Model as DslGeojsonModel+import qualified Hydra.Ext.Dsl.Iana.Linkrelations as IanaLinkrelations+import qualified Hydra.Ext.Geojson.Model as GeojsonModel+import qualified Hydra.Ext.Iana.Linkrelations as Linkrelations+import qualified Hydra.Ext.Stac.Items as Items+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++-- | DSL constructor for hydra.ext.stac.items.Asset+asset :: Typed.TypedTerm Items.Uri -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm (Maybe Items.MediaType) -> Typed.TypedTerm [Items.Role] -> Typed.TypedTerm Items.Asset+asset href title description type_ roles =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Typed.unTypedTerm href)},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Typed.unTypedTerm title)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Typed.unTypedTerm description)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Typed.unTypedTerm roles)}]}))++-- | DSL name token for hydra.ext.stac.items.Asset+assetAsset :: Typed.TypedName Items.Asset+assetAsset = Typed.TypedName (Model.Name "hydra.ext.stac.items.Asset")++-- | DSL accessor for the description field of hydra.ext.stac.items.Asset+assetDescription :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe String)+assetDescription x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the href field of hydra.ext.stac.items.Asset+assetHref :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm Items.Uri+assetHref x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the roles field of hydra.ext.stac.items.Asset+assetRoles :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm [Items.Role]+assetRoles x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "roles")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the title field of hydra.ext.stac.items.Asset+assetTitle :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe String)+assetTitle x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.stac.items.Asset+assetType :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe Items.MediaType)+assetType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the description field of hydra.ext.stac.items.Asset+assetWithDescription :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Items.Asset+assetWithDescription original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ 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.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "roles")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the href field of hydra.ext.stac.items.Asset+assetWithHref :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm Items.Uri -> Typed.TypedTerm Items.Asset+assetWithHref original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "roles")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the roles field of hydra.ext.stac.items.Asset+assetWithRoles :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm [Items.Role] -> Typed.TypedTerm Items.Asset+assetWithRoles original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the title field of hydra.ext.stac.items.Asset+assetWithTitle :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Items.Asset+assetWithTitle original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "description")})),+ 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.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "roles")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the type field of hydra.ext.stac.items.Asset+assetWithType :: Typed.TypedTerm Items.Asset -> Typed.TypedTerm (Maybe Items.MediaType) -> Typed.TypedTerm Items.Asset+assetWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "description"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "description")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "roles"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Asset"),+ Model.projectionFieldName = (Model.Name "roles")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.stac.items.Item+item :: Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm Items.StacVersion -> Typed.TypedTerm [Items.Url] -> Typed.TypedTerm [Items.Link] -> Typed.TypedTerm (M.Map String Items.Asset) -> Typed.TypedTerm (Maybe GeojsonModel.Id) -> Typed.TypedTerm Items.Item+item feature stacVersion stacExtensions links assets collection =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Typed.unTypedTerm feature)},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Typed.unTypedTerm stacVersion)},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Typed.unTypedTerm stacExtensions)},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Typed.unTypedTerm links)},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Typed.unTypedTerm assets)},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm collection)}]}))++-- | DSL accessor for the assets field of hydra.ext.stac.items.Item+itemAssets :: Typed.TypedTerm Items.Item -> Typed.TypedTerm (M.Map String Items.Asset)+itemAssets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the collection field of hydra.ext.stac.items.Item+itemCollection :: Typed.TypedTerm Items.Item -> Typed.TypedTerm (Maybe GeojsonModel.Id)+itemCollection x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the feature field of hydra.ext.stac.items.Item+itemFeature :: Typed.TypedTerm Items.Item -> Typed.TypedTerm GeojsonModel.Feature+itemFeature x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.Item+itemItem :: Typed.TypedName Items.Item+itemItem = Typed.TypedName (Model.Name "hydra.ext.stac.items.Item")++-- | DSL accessor for the links field of hydra.ext.stac.items.Item+itemLinks :: Typed.TypedTerm Items.Item -> Typed.TypedTerm [Items.Link]+itemLinks x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the stacExtensions field of hydra.ext.stac.items.Item+itemStacExtensions :: Typed.TypedTerm Items.Item -> Typed.TypedTerm [Items.Url]+itemStacExtensions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the stacVersion field of hydra.ext.stac.items.Item+itemStacVersion :: Typed.TypedTerm Items.Item -> Typed.TypedTerm Items.StacVersion+itemStacVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the assets field of hydra.ext.stac.items.Item+itemWithAssets :: Typed.TypedTerm Items.Item -> Typed.TypedTerm (M.Map String Items.Asset) -> Typed.TypedTerm Items.Item+itemWithAssets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the collection field of hydra.ext.stac.items.Item+itemWithCollection :: Typed.TypedTerm Items.Item -> Typed.TypedTerm (Maybe GeojsonModel.Id) -> Typed.TypedTerm Items.Item+itemWithCollection original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the feature field of hydra.ext.stac.items.Item+itemWithFeature :: Typed.TypedTerm Items.Item -> Typed.TypedTerm GeojsonModel.Feature -> Typed.TypedTerm Items.Item+itemWithFeature original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the links field of hydra.ext.stac.items.Item+itemWithLinks :: Typed.TypedTerm Items.Item -> Typed.TypedTerm [Items.Link] -> Typed.TypedTerm Items.Item+itemWithLinks original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the stacExtensions field of hydra.ext.stac.items.Item+itemWithStacExtensions :: Typed.TypedTerm Items.Item -> Typed.TypedTerm [Items.Url] -> Typed.TypedTerm Items.Item+itemWithStacExtensions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacVersion")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the stacVersion field of hydra.ext.stac.items.Item+itemWithStacVersion :: Typed.TypedTerm Items.Item -> Typed.TypedTerm Items.StacVersion -> Typed.TypedTerm Items.Item+itemWithStacVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "feature"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "feature")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stacVersion"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "stacExtensions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "stacExtensions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "links"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "links")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "assets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "assets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Item"),+ Model.projectionFieldName = (Model.Name "collection")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.ext.stac.items.Link+link :: Typed.TypedTerm Items.Url -> Typed.TypedTerm Items.RelationType -> Typed.TypedTerm (Maybe Items.MediaType) -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Items.Link+link href rel type_ title =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Typed.unTypedTerm href)},+ Model.Field {+ Model.fieldName = (Model.Name "rel"),+ Model.fieldTerm = (Typed.unTypedTerm rel)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Typed.unTypedTerm title)}]}))++-- | DSL accessor for the href field of hydra.ext.stac.items.Link+linkHref :: Typed.TypedTerm Items.Link -> Typed.TypedTerm Items.Url+linkHref x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.Link+linkLink :: Typed.TypedName Items.Link+linkLink = Typed.TypedName (Model.Name "hydra.ext.stac.items.Link")++-- | DSL accessor for the rel field of hydra.ext.stac.items.Link+linkRel :: Typed.TypedTerm Items.Link -> Typed.TypedTerm Items.RelationType+linkRel x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "rel")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the title field of hydra.ext.stac.items.Link+linkTitle :: Typed.TypedTerm Items.Link -> Typed.TypedTerm (Maybe String)+linkTitle x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.ext.stac.items.Link+linkType :: Typed.TypedTerm Items.Link -> Typed.TypedTerm (Maybe Items.MediaType)+linkType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the href field of hydra.ext.stac.items.Link+linkWithHref :: Typed.TypedTerm Items.Link -> Typed.TypedTerm Items.Url -> Typed.TypedTerm Items.Link+linkWithHref original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rel"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "rel")})),+ 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.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rel field of hydra.ext.stac.items.Link+linkWithRel :: Typed.TypedTerm Items.Link -> Typed.TypedTerm Items.RelationType -> Typed.TypedTerm Items.Link+linkWithRel original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rel"),+ 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.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the title field of hydra.ext.stac.items.Link+linkWithTitle :: Typed.TypedTerm Items.Link -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Items.Link+linkWithTitle original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rel"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "rel")})),+ 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.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.ext.stac.items.Link+linkWithType :: Typed.TypedTerm Items.Link -> Typed.TypedTerm (Maybe Items.MediaType) -> Typed.TypedTerm Items.Link+linkWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "href"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "href")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rel"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "rel")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "title"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.stac.items.Link"),+ Model.projectionFieldName = (Model.Name "title")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.ext.stac.items.MediaType wrapper+mediaType :: Typed.TypedTerm String -> Typed.TypedTerm Items.MediaType+mediaType x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.stac.items.MediaType"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.MediaType+mediaTypeMediaType :: Typed.TypedName Items.MediaType+mediaTypeMediaType = Typed.TypedName (Model.Name "hydra.ext.stac.items.MediaType")++-- | DSL injection for the iana variant of hydra.ext.stac.items.RelationType+relationTypeIana :: Typed.TypedTerm Linkrelations.LinkRelationType -> Typed.TypedTerm Items.RelationType+relationTypeIana x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.RelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "iana"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the other variant of hydra.ext.stac.items.RelationType+relationTypeOther :: Typed.TypedTerm String -> Typed.TypedTerm Items.RelationType+relationTypeOther x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.RelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "other"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.ext.stac.items.RelationType+relationTypeRelationType :: Typed.TypedName Items.RelationType+relationTypeRelationType = Typed.TypedName (Model.Name "hydra.ext.stac.items.RelationType")++-- | DSL injection for the stac variant of hydra.ext.stac.items.RelationType+relationTypeStac :: Typed.TypedTerm Items.StacRelationType -> Typed.TypedTerm Items.RelationType+relationTypeStac x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.RelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "stac"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the data variant of hydra.ext.stac.items.Role+roleData :: Typed.TypedTerm Items.Role+roleData =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.Role"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "data"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the metadata variant of hydra.ext.stac.items.Role+roleMetadata :: Typed.TypedTerm Items.Role+roleMetadata =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.Role"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "metadata"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the other variant of hydra.ext.stac.items.Role+roleOther :: Typed.TypedTerm String -> Typed.TypedTerm Items.Role+roleOther x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.Role"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "other"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the overview variant of hydra.ext.stac.items.Role+roleOverview :: Typed.TypedTerm Items.Role+roleOverview =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.Role"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "overview"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.stac.items.Role+roleRole :: Typed.TypedName Items.Role+roleRole = Typed.TypedName (Model.Name "hydra.ext.stac.items.Role")++-- | DSL injection for the thumbnail variant of hydra.ext.stac.items.Role+roleThumbnail :: Typed.TypedTerm Items.Role+roleThumbnail =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.Role"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "thumbnail"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the collection variant of hydra.ext.stac.items.StacRelationType+stacRelationTypeCollection :: Typed.TypedTerm Items.StacRelationType+stacRelationTypeCollection =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.StacRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "collection"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the derivedFrom variant of hydra.ext.stac.items.StacRelationType+stacRelationTypeDerivedFrom :: Typed.TypedTerm Items.StacRelationType+stacRelationTypeDerivedFrom =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.StacRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "derivedFrom"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the parent variant of hydra.ext.stac.items.StacRelationType+stacRelationTypeParent :: Typed.TypedTerm Items.StacRelationType+stacRelationTypeParent =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.StacRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parent"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the root variant of hydra.ext.stac.items.StacRelationType+stacRelationTypeRoot :: Typed.TypedTerm Items.StacRelationType+stacRelationTypeRoot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.StacRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "root"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the self variant of hydra.ext.stac.items.StacRelationType+stacRelationTypeSelf :: Typed.TypedTerm Items.StacRelationType+stacRelationTypeSelf =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.stac.items.StacRelationType"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "self"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.stac.items.StacRelationType+stacRelationTypeStacRelationType :: Typed.TypedName Items.StacRelationType+stacRelationTypeStacRelationType = Typed.TypedName (Model.Name "hydra.ext.stac.items.StacRelationType")++-- | DSL constructor for the hydra.ext.stac.items.StacVersion wrapper+stacVersion :: Typed.TypedTerm String -> Typed.TypedTerm Items.StacVersion+stacVersion x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.stac.items.StacVersion"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.StacVersion+stacVersionStacVersion :: Typed.TypedName Items.StacVersion+stacVersionStacVersion = Typed.TypedName (Model.Name "hydra.ext.stac.items.StacVersion")++-- | DSL accessor for the body of hydra.ext.stac.items.MediaType+unMediaType :: Typed.TypedTerm Items.MediaType -> Typed.TypedTerm String+unMediaType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.stac.items.MediaType")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.stac.items.StacVersion+unStacVersion :: Typed.TypedTerm Items.StacVersion -> Typed.TypedTerm String+unStacVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.stac.items.StacVersion")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.stac.items.Uri+unUri :: Typed.TypedTerm Items.Uri -> Typed.TypedTerm String+unUri x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.stac.items.Uri")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.ext.stac.items.Url+unUrl :: Typed.TypedTerm Items.Url -> Typed.TypedTerm String+unUrl x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.ext.stac.items.Url")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.ext.stac.items.Uri wrapper+uri :: Typed.TypedTerm String -> Typed.TypedTerm Items.Uri+uri x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.stac.items.Uri"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.Uri+uriUri :: Typed.TypedName Items.Uri+uriUri = Typed.TypedName (Model.Name "hydra.ext.stac.items.Uri")++-- | DSL constructor for the hydra.ext.stac.items.Url wrapper+url :: Typed.TypedTerm String -> Typed.TypedTerm Items.Url+url x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.ext.stac.items.Url"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.stac.items.Url+urlUrl :: Typed.TypedName Items.Url+urlUrl = Typed.TypedName (Model.Name "hydra.ext.stac.items.Url")
+ src/main/haskell/Hydra/Ext/Dsl/Workflow.hs view
@@ -0,0 +1,297 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.ext.workflow++module Hydra.Ext.Dsl.Workflow 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.Ext.Workflow as Workflow+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL constructor for hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpec :: Typed.TypedTerm [Packaging.Module] -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Workflow.HydraSchemaSpec+hydraSchemaSpec modules typeName =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modules"),+ Model.fieldTerm = (Typed.unTypedTerm modules)},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm typeName)}]}))++-- | DSL name token for hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpecHydraSchemaSpec :: Typed.TypedName Workflow.HydraSchemaSpec+hydraSchemaSpecHydraSchemaSpec = Typed.TypedName (Model.Name "hydra.ext.workflow.HydraSchemaSpec")++-- | DSL accessor for the modules field of hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpecModules :: Typed.TypedTerm Workflow.HydraSchemaSpec -> Typed.TypedTerm [Packaging.Module]+hydraSchemaSpecModules x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.projectionFieldName = (Model.Name "modules")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeName field of hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpecTypeName :: Typed.TypedTerm Workflow.HydraSchemaSpec -> Typed.TypedTerm Model.Name+hydraSchemaSpecTypeName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the modules field of hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpecWithModules :: Typed.TypedTerm Workflow.HydraSchemaSpec -> Typed.TypedTerm [Packaging.Module] -> Typed.TypedTerm Workflow.HydraSchemaSpec+hydraSchemaSpecWithModules original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modules"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.projectionFieldName = (Model.Name "typeName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeName field of hydra.ext.workflow.HydraSchemaSpec+hydraSchemaSpecWithTypeName :: Typed.TypedTerm Workflow.HydraSchemaSpec -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Workflow.HydraSchemaSpec+hydraSchemaSpecWithTypeName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "modules"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.HydraSchemaSpec"),+ Model.projectionFieldName = (Model.Name "modules")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the file variant of hydra.ext.workflow.SchemaSpec+schemaSpecFile :: Typed.TypedTerm String -> Typed.TypedTerm Workflow.SchemaSpec+schemaSpecFile x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.workflow.SchemaSpec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "file"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the hydra variant of hydra.ext.workflow.SchemaSpec+schemaSpecHydra :: Typed.TypedTerm Workflow.HydraSchemaSpec -> Typed.TypedTerm Workflow.SchemaSpec+schemaSpecHydra x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.workflow.SchemaSpec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "hydra"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the provided variant of hydra.ext.workflow.SchemaSpec+schemaSpecProvided :: Typed.TypedTerm Workflow.SchemaSpec+schemaSpecProvided =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.ext.workflow.SchemaSpec"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "provided"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.ext.workflow.SchemaSpec+schemaSpecSchemaSpec :: Typed.TypedName Workflow.SchemaSpec+schemaSpecSchemaSpec = Typed.TypedName (Model.Name "hydra.ext.workflow.SchemaSpec")++-- | DSL constructor for hydra.ext.workflow.TransformWorkflow+transformWorkflow :: Typed.TypedTerm String -> Typed.TypedTerm Workflow.SchemaSpec -> Typed.TypedTerm String -> Typed.TypedTerm String -> Typed.TypedTerm Workflow.TransformWorkflow+transformWorkflow name schemaSpec srcDir destDir =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "schemaSpec"),+ Model.fieldTerm = (Typed.unTypedTerm schemaSpec)},+ Model.Field {+ Model.fieldName = (Model.Name "srcDir"),+ Model.fieldTerm = (Typed.unTypedTerm srcDir)},+ Model.Field {+ Model.fieldName = (Model.Name "destDir"),+ Model.fieldTerm = (Typed.unTypedTerm destDir)}]}))++-- | DSL accessor for the destDir field of hydra.ext.workflow.TransformWorkflow+transformWorkflowDestDir :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String+transformWorkflowDestDir x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "destDir")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.ext.workflow.TransformWorkflow+transformWorkflowName :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String+transformWorkflowName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the schemaSpec field of hydra.ext.workflow.TransformWorkflow+transformWorkflowSchemaSpec :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm Workflow.SchemaSpec+transformWorkflowSchemaSpec x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "schemaSpec")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the srcDir field of hydra.ext.workflow.TransformWorkflow+transformWorkflowSrcDir :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String+transformWorkflowSrcDir x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "srcDir")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.ext.workflow.TransformWorkflow+transformWorkflowTransformWorkflow :: Typed.TypedName Workflow.TransformWorkflow+transformWorkflowTransformWorkflow = Typed.TypedName (Model.Name "hydra.ext.workflow.TransformWorkflow")++-- | DSL updater for the destDir field of hydra.ext.workflow.TransformWorkflow+transformWorkflowWithDestDir :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String -> Typed.TypedTerm Workflow.TransformWorkflow+transformWorkflowWithDestDir original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ 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.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemaSpec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "schemaSpec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "srcDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "srcDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "destDir"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.ext.workflow.TransformWorkflow+transformWorkflowWithName :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String -> Typed.TypedTerm Workflow.TransformWorkflow+transformWorkflowWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "schemaSpec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "schemaSpec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "srcDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "srcDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "destDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "destDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the schemaSpec field of hydra.ext.workflow.TransformWorkflow+transformWorkflowWithSchemaSpec :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm Workflow.SchemaSpec -> Typed.TypedTerm Workflow.TransformWorkflow+transformWorkflowWithSchemaSpec original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ 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.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemaSpec"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "srcDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "srcDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "destDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "destDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the srcDir field of hydra.ext.workflow.TransformWorkflow+transformWorkflowWithSrcDir :: Typed.TypedTerm Workflow.TransformWorkflow -> Typed.TypedTerm String -> Typed.TypedTerm Workflow.TransformWorkflow+transformWorkflowWithSrcDir original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ 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.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "schemaSpec"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "schemaSpec")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "srcDir"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "destDir"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.ext.workflow.TransformWorkflow"),+ Model.projectionFieldName = (Model.Name "destDir")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))
+ src/main/haskell/Hydra/Ext/Geojson/Model.hs view
@@ -0,0 +1,230 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A GeoJSON model based on the specification at https://www.rfc-editor.org/rfc/rfc7946. This model provides some additional structure beyond the JSON encoding described in the specification; For example, it provides MultiPoint not as an object with an array of coordinates which encode points, but as an array of Points. A BoundingBox is not simply an list of numbers, but a list of CoordinateRanges.++module Hydra.Ext.Geojson.Model where++import qualified Hydra.Core.Json.Model as JsonModel+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+import qualified Data.Map as M++-- | A GeoJSON object MAY have a member named "bbox" to include information on the coordinate range for its Geometries, Features, or FeatureCollections. The value of the bbox member MUST be an array of length 2*n where n is the number of dimensions represented in the contained geometries, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. The axes order of a bbox follows the axes order of geometries.+newtype BoundingBox =+ BoundingBox {+ unBoundingBox :: [CoordinateRange]}+ deriving (Eq, Ord, Read, Show)++_BoundingBox = Model.Name "hydra.ext.geojson.model.BoundingBox"++-- | The minimum and maximum values along one axis of a bounding box+data CoordinateRange =+ CoordinateRange {+ coordinateRangeMin :: Double,+ coordinateRangeMax :: Double}+ deriving (Eq, Ord, Read, Show)++_CoordinateRange = Model.Name "hydra.ext.geojson.model.CoordinateRange"++_CoordinateRange_min = Model.Name "min"++_CoordinateRange_max = Model.Name "max"++-- | A Feature object represents a spatially bounded thing. Every Feature object is a GeoJSON object no matter where it occurs in a GeoJSON text.+data Feature =+ Feature {+ -- | A Feature object has a member with the name "geometry". The value of the geometry member SHALL be either a Geometry object as defined above or, in the case that the Feature is unlocated, a JSON null value.+ featureGeometry :: (Maybe Geometry),+ -- | A Feature object has a member with the name "properties". The value of the properties member is an object (any JSON object or a JSON null value).+ featureProperties :: (Maybe (M.Map String JsonModel.Value)),+ -- | If a Feature has a commonly used identifier, that identifier SHOULD be included as a member of the Feature object with the name "id", and the value of this member is either a JSON string or number.+ featureId :: (Maybe Id),+ featureBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_Feature = Model.Name "hydra.ext.geojson.model.Feature"++_Feature_geometry = Model.Name "geometry"++_Feature_properties = Model.Name "properties"++_Feature_id = Model.Name "id"++_Feature_bbox = Model.Name "bbox"++-- | A GeoJSON object with the type "FeatureCollection" is a FeatureCollection object. A FeatureCollection object has a member with the name "features". The value of "features" is a JSON array. Each element of the array is a Feature object as defined above. It is possible for this array to be empty.+data FeatureCollection =+ FeatureCollection {+ featureCollectionFeatures :: [Feature],+ featureCollectionBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_FeatureCollection = Model.Name "hydra.ext.geojson.model.FeatureCollection"++_FeatureCollection_features = Model.Name "features"++_FeatureCollection_bbox = Model.Name "bbox"++-- | A Geometry object represents points, curves, and surfaces in coordinate space. Every Geometry object is a GeoJSON object no matter where it occurs in a GeoJSON text.+data Geometry =+ GeometryPoint Point |+ GeometryMultiPoint MultiPoint |+ GeometryLineString LineString |+ GeometryMultiLineString MultiLineString |+ GeometryPolygon Polygon |+ GeometryMultiPolygon MultiPolygon |+ GeometryGeometryCollection GeometryCollection+ deriving (Eq, Ord, Read, Show)++_Geometry = Model.Name "hydra.ext.geojson.model.Geometry"++_Geometry_point = Model.Name "point"++_Geometry_multiPoint = Model.Name "multiPoint"++_Geometry_lineString = Model.Name "lineString"++_Geometry_multiLineString = Model.Name "multiLineString"++_Geometry_polygon = Model.Name "polygon"++_Geometry_multiPolygon = Model.Name "multiPolygon"++_Geometry_geometryCollection = Model.Name "geometryCollection"++-- | A GeoJSON object with type "GeometryCollection" is a Geometry object. A GeometryCollection has a member with the name "geometries". The value of "geometries" is an array. Each element of this array is a GeoJSON Geometry object. It is possible for this array to be empty.+data GeometryCollection =+ GeometryCollection {+ geometryCollectionGeometries :: [Geometry],+ geometryCollectionBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_GeometryCollection = Model.Name "hydra.ext.geojson.model.GeometryCollection"++_GeometryCollection_geometries = Model.Name "geometries"++_GeometryCollection_bbox = Model.Name "bbox"++-- | A Feature's commonly used identifier, either a JSON string or a number+data Id =+ IdNumber Double |+ IdString String+ deriving (Eq, Ord, Read, Show)++_Id = Model.Name "hydra.ext.geojson.model.Id"++_Id_number = Model.Name "number"++_Id_string = Model.Name "string"++-- | For type "LineString", the "coordinates" member is an array of two or more positions.+data LineString =+ LineString {+ lineStringCoordinates :: [Position],+ lineStringBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_LineString = Model.Name "hydra.ext.geojson.model.LineString"++_LineString_coordinates = Model.Name "coordinates"++_LineString_bbox = Model.Name "bbox"++-- | For type "MultiLineString", the "coordinates" member is an array of LineString coordinate arrays.+data MultiLineString =+ MultiLineString {+ multiLineStringCoordinates :: [LineString],+ multiLineStringBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_MultiLineString = Model.Name "hydra.ext.geojson.model.MultiLineString"++_MultiLineString_coordinates = Model.Name "coordinates"++_MultiLineString_bbox = Model.Name "bbox"++-- | For type "MultiPoint", the "coordinates" member is an array of positions.+data MultiPoint =+ MultiPoint {+ multiPointCoordinates :: [Point],+ multiPointBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_MultiPoint = Model.Name "hydra.ext.geojson.model.MultiPoint"++_MultiPoint_coordinates = Model.Name "coordinates"++_MultiPoint_bbox = Model.Name "bbox"++-- | For type "MultiPolygon", the "coordinates" member is an array of Polygon coordinate arrays.+data MultiPolygon =+ MultiPolygon {+ multiPolygonCoordinates :: [Polygon],+ multiPolygonBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_MultiPolygon = Model.Name "hydra.ext.geojson.model.MultiPolygon"++_MultiPolygon_coordinates = Model.Name "coordinates"++_MultiPolygon_bbox = Model.Name "bbox"++-- | A GeoJSON object represents a Geometry, Feature, or collection of Features.+data Object =+ ObjectGeometry Geometry |+ ObjectFeature Feature |+ ObjectFeatureCollection FeatureCollection+ deriving (Eq, Ord, Read, Show)++_Object = Model.Name "hydra.ext.geojson.model.Object"++_Object_geometry = Model.Name "geometry"++_Object_feature = Model.Name "feature"++_Object_featureCollection = Model.Name "featureCollection"++-- | For type "Point", the "coordinates" member is a single position.+data Point =+ Point {+ pointCoordinates :: Position,+ pointBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_Point = Model.Name "hydra.ext.geojson.model.Point"++_Point_coordinates = Model.Name "coordinates"++_Point_bbox = Model.Name "bbox"++-- | For type "Polygon", the "coordinates" member MUST be an array of linear ring coordinate arrays.+-- | For Polygons with more than one of these rings, the first MUST be the exterior ring, and any others MUST be interior rings. The exterior ring bounds the surface, and the interior rings (if present) bound holes within the surface.+data Polygon =+ Polygon {+ polygonCoordinates :: [Position],+ polygonBbox :: (Maybe BoundingBox)}+ deriving (Eq, Ord, Read, Show)++_Polygon = Model.Name "hydra.ext.geojson.model.Polygon"++_Polygon_coordinates = Model.Name "coordinates"++_Polygon_bbox = Model.Name "bbox"++-- | A position is an array of numbers. There MUST be two or more elements. The first two elements are longitude and latitude, or easting and northing, precisely in that order and using decimal numbers. Altitude or elevation MAY be included as an optional third element.+data Position =+ Position {+ positionLatitude :: Double,+ positionLongitude :: Double,+ positionAltitude :: (Maybe Double)}+ deriving (Eq, Ord, Read, Show)++_Position = Model.Name "hydra.ext.geojson.model.Position"++_Position_latitude = Model.Name "latitude"++_Position_longitude = Model.Name "longitude"++_Position_altitude = Model.Name "altitude"
+ src/main/haskell/Hydra/Ext/Graphql/Coder.hs view
@@ -0,0 +1,259 @@+-- Note: this is an automatically generated file. Do not edit.++-- | GraphQL code generator: converts Hydra modules to GraphQL schema definitions++module Hydra.Ext.Graphql.Coder where++import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Environment as Environment+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Model as JsonModel+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.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.Markdown as Markdown+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.Predicates as Predicates+import qualified Hydra.Core.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Rewriting as Rewriting+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Graphql.Language as Language+import qualified Hydra.Ext.Graphql.Serde as Serde+import qualified Hydra.Ext.Graphql.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++-- | Check whether a map key type is representable in GraphQL as of this coder. Only literal scalar key types are supported; any other key type fails explicitly rather than being silently dropped from the generated schema (#744).+checkMapKeyRepresentable :: Model.Type -> Either Errors.Error ()+checkMapKeyRepresentable kt =+ case (Strip.deannotateType kt) of+ Model.TypeLiteral _ -> Right ()+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Map key types other than literals are not yet supported for GraphQL encoding (dropping the key type would silently corrupt the schema); found: " (PrintModel.type_ kt))))++-- | Get the description from a type as a GraphQL Description+descriptionFromType :: t0 -> Graph.Graph -> Model.Type -> Either Errors.Error (Maybe Syntax.Description)+descriptionFromType cx g typ =+ Eithers.map (\mval -> Optionals.map (\s -> Syntax.Description (Syntax.StringValue s)) mval) (Annotations.getTypeDescription cx g typ)++-- | Encode a field name to a GraphQL EnumValue+encodeEnumFieldName :: Model.Name -> Syntax.EnumValue+encodeEnumFieldName name = Syntax.EnumValue (Syntax.Name (sanitize (Model.unName name)))++-- | Encode an enum field type to a GraphQL EnumValueDefinition+encodeEnumFieldType :: t0 -> Graph.Graph -> Model.FieldType -> Either Errors.Error Syntax.EnumValueDefinition+encodeEnumFieldType cx g ft =+ Eithers.bind (descriptionFromType cx g (Model.fieldTypeType ft)) (\desc -> Right (Syntax.EnumValueDefinition {+ Syntax.enumValueDefinitionDescription = desc,+ Syntax.enumValueDefinitionEnumValue = (encodeEnumFieldName (Model.fieldTypeName ft)),+ Syntax.enumValueDefinitionDirectives = Nothing}))++-- | Encode a field name to a GraphQL Name+encodeFieldName :: Model.Name -> Syntax.Name+encodeFieldName name = Syntax.Name (sanitize (Model.unName name))++-- | Encode a field type to a GraphQL FieldDefinition+encodeFieldType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.FieldType -> Either Errors.Error Syntax.FieldDefinition+encodeFieldType cx g prefixes ft =+ Eithers.bind (encodeType cx g prefixes (Model.fieldTypeType ft)) (\gtype -> Eithers.bind (descriptionFromType cx g (Model.fieldTypeType ft)) (\desc -> Right (Syntax.FieldDefinition {+ Syntax.fieldDefinitionDescription = desc,+ Syntax.fieldDefinitionName = (encodeFieldName (Model.fieldTypeName ft)),+ Syntax.fieldDefinitionArgumentsDefinition = Nothing,+ Syntax.fieldDefinitionType = gtype,+ Syntax.fieldDefinitionDirectives = Nothing})))++-- | Encode a literal type to a GraphQL NamedType+encodeLiteralType :: t0 -> Model.LiteralType -> Either Errors.Error Syntax.NamedType+encodeLiteralType cx lt =+ case lt of+ Model.LiteralTypeBoolean -> Right (Syntax.NamedType (Syntax.Name "Boolean"))+ Model.LiteralTypeFloat v0 -> case v0 of+ Model.FloatTypeFloat64 -> Right (Syntax.NamedType (Syntax.Name "Float"))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected 64-bit float type, found: " (PrintModel.floatType v0))))+ Model.LiteralTypeInteger v0 -> case v0 of+ Model.IntegerTypeInt32 -> Right (Syntax.NamedType (Syntax.Name "Int"))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected 32-bit signed integer type, found: " (PrintModel.integerType v0))))+ Model.LiteralTypeString -> Right (Syntax.NamedType (Syntax.Name "String"))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible literal type, found: " (PrintModel.literalType lt))))++-- | Encode a named type to a GraphQL type definition.+encodeNamedType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.Name -> Model.Type -> Either Errors.Error Syntax.TypeDefinition+encodeNamedType cx g prefixes name typ =+ case (Strip.deannotateType typ) of+ Model.TypeRecord v0 -> Eithers.bind (Eithers.mapList (\f -> encodeFieldType cx g prefixes f) v0) (\gfields -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionObject (Syntax.ObjectTypeDefinition {+ Syntax.objectTypeDefinitionDescription = desc,+ Syntax.objectTypeDefinitionName = (encodeTypeName prefixes name),+ Syntax.objectTypeDefinitionImplementsInterfaces = Nothing,+ Syntax.objectTypeDefinitionDirectives = Nothing,+ Syntax.objectTypeDefinitionFieldsDefinition = (Just (Syntax.FieldsDefinition gfields))}))))+ Model.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (Eithers.bind (Eithers.mapList (\f -> encodeEnumFieldType cx g f) v0) (\values -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionEnum (Syntax.EnumTypeDefinition {+ Syntax.enumTypeDefinitionDescription = desc,+ Syntax.enumTypeDefinitionName = (encodeTypeName prefixes name),+ Syntax.enumTypeDefinitionDirectives = Nothing,+ Syntax.enumTypeDefinitionEnumValuesDefinition = (Just (Syntax.EnumValuesDefinition values))}))))) (Eithers.bind (Eithers.mapList (\f -> encodeUnionFieldType cx g prefixes f) v0) (\gfields -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionObject (Syntax.ObjectTypeDefinition {+ Syntax.objectTypeDefinitionDescription = desc,+ Syntax.objectTypeDefinitionName = (encodeTypeName prefixes name),+ Syntax.objectTypeDefinitionImplementsInterfaces = Nothing,+ Syntax.objectTypeDefinitionDirectives = Nothing,+ Syntax.objectTypeDefinitionFieldsDefinition = (Just (Syntax.FieldsDefinition gfields))})))))+ Model.TypeEither v0 -> encodeNamedType cx g prefixes name (Model.TypeRecord [+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "left"),+ Model.fieldTypeType = (Model.TypeOptional (Model.eitherTypeLeft v0))},+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "right"),+ Model.fieldTypeType = (Model.TypeOptional (Model.eitherTypeRight v0))}])+ Model.TypePair v0 -> encodeNamedType cx g prefixes name (Model.TypeRecord [+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "first"),+ Model.fieldTypeType = (Model.pairTypeFirst v0)},+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "second"),+ Model.fieldTypeType = (Model.pairTypeSecond v0)}])+ Model.TypeList v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Model.TypeList v0))+ Model.TypeSet v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Model.TypeList v0))+ Model.TypeMap v0 -> encodeNamedType cx g prefixes name (Model.TypeRecord [+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "key"),+ Model.fieldTypeType = (Model.mapTypeKeys v0)},+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "value"),+ Model.fieldTypeType = (Model.mapTypeValues v0)}])+ Model.TypeLiteral v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Model.TypeLiteral v0))+ Model.TypeVariable v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Model.TypeVariable v0))+ Model.TypeWrap v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord v0)+ Model.TypeUnit -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Model.TypeLiteral Model.LiteralTypeBoolean))+ Model.TypeForall v0 -> encodeNamedType cx g prefixes name (Model.forallTypeBody v0)+ Model.TypeApplication v0 -> encodeNamedType cx g prefixes name (Model.applicationTypeFunction v0)+ Model.TypeFunction v0 -> encodeNamedType cx g prefixes name (Model.TypeRecord [+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "domain"),+ Model.fieldTypeType = (Model.functionTypeDomain v0)},+ Model.FieldType {+ Model.fieldTypeName = (Model.Name "codomain"),+ Model.fieldTypeType = (Model.functionTypeCodomain v0)}])+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected record or union type, found: " (PrintModel.type_ typ))))++-- | Encode a Hydra type as a GraphQL type reference+encodeType :: t0 -> t1 -> M.Map Packaging.ModuleName String -> Model.Type -> Either Errors.Error Syntax.Type+encodeType cx g prefixes typ =+ case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> case (Strip.deannotateType v0) of+ Model.TypeList v1 -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes v1)+ Model.TypeSet v1 -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes v1)+ Model.TypeMap v1 -> Eithers.bind (checkMapKeyRepresentable (Model.mapTypeKeys v1)) (\_ -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes (Model.mapTypeValues v1)))+ Model.TypeLiteral v1 -> Eithers.map (\nt -> Syntax.TypeNamed nt) (encodeLiteralType cx v1)+ Model.TypePair _ -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes (Model.Name "hydra.core.util.Pair"))))+ Model.TypeEither _ -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes (Model.Name "hydra.core.util.Either"))))+ Model.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))+ Model.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))+ Model.TypeWrap v1 -> encodeType cx g prefixes (Model.TypeOptional v1)+ Model.TypeVariable v1 -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes v1)))+ Model.TypeForall v1 -> encodeType cx g prefixes (Model.TypeOptional (Model.forallTypeBody v1))+ Model.TypeApplication v1 -> encodeType cx g prefixes (Model.TypeOptional (Model.applicationTypeFunction v1))+ Model.TypeFunction _ -> Right (Syntax.TypeNamed (Syntax.NamedType (Syntax.Name "String")))+ Model.TypeUnit -> Right (Syntax.TypeNamed (Syntax.NamedType (Syntax.Name "Boolean")))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible type, found: " (PrintModel.type_ v0))))+ Model.TypeList v0 -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes v0)+ Model.TypeSet v0 -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes v0)+ Model.TypeMap v0 -> Eithers.bind (checkMapKeyRepresentable (Model.mapTypeKeys v0)) (\_ -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes (Model.mapTypeValues v0)))+ Model.TypeLiteral v0 -> Eithers.map (\nt -> Syntax.TypeNonNull (Syntax.NonNullTypeNamed nt)) (encodeLiteralType cx v0)+ Model.TypePair _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes (Model.Name "hydra.core.util.Pair")))))+ Model.TypeEither _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes (Model.Name "hydra.core.util.Either")))))+ Model.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))+ Model.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))+ Model.TypeVariable v0 -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes v0))))+ Model.TypeWrap v0 -> encodeType cx g prefixes v0+ Model.TypeForall v0 -> encodeType cx g prefixes (Model.forallTypeBody v0)+ Model.TypeApplication v0 -> encodeType cx g prefixes (Model.applicationTypeFunction v0)+ Model.TypeFunction _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (Syntax.Name "String"))))+ Model.TypeUnit -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (Syntax.Name "Boolean"))))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible type, found: " (PrintModel.type_ typ))))++-- | Encode a TypeDefinition to a GraphQL TypeDefinition+encodeTypeDefinition :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Packaging.TypeDefinition -> Either Errors.Error Syntax.TypeDefinition+encodeTypeDefinition cx g prefixes tdef =+ encodeNamedType cx g prefixes (Packaging.typeDefinitionName tdef) (Model.typeSchemeBody (Packaging.typeDefinitionBody tdef))++-- | Encode a Hydra Name as a GraphQL Name with namespace prefix+encodeTypeName :: M.Map Packaging.ModuleName String -> Model.Name -> Syntax.Name+encodeTypeName prefixes name =++ let qualName = Names.qualifyName name+ local = Util.qualifiedNameLocal qualName+ mns = Util.qualifiedNameModuleName qualName+ prefix = Optionals.match mns "" (\ns_ -> Optionals.match (Maps.lookup ns_ prefixes) "" (\p -> p))+ in (Syntax.Name (Strings.concat2 prefix (sanitize local)))++-- | Encode a union variant field type to a nullable GraphQL FieldDefinition. Unit-typed variants become Boolean fields; data-carrying variants use their actual type, made nullable.+encodeUnionFieldType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.FieldType -> Either Errors.Error Syntax.FieldDefinition+encodeUnionFieldType cx g prefixes ft =++ let innerType = Model.fieldTypeType ft+ isUnit = Predicates.isUnitType (Strip.deannotateType innerType)+ effectiveType =+ Logic.ifElse isUnit (Model.TypeOptional (Model.TypeLiteral Model.LiteralTypeBoolean)) (Model.TypeOptional innerType)+ in (Eithers.bind (encodeType cx g prefixes effectiveType) (\gtype -> Eithers.bind (descriptionFromType cx g innerType) (\desc -> Right (Syntax.FieldDefinition {+ Syntax.fieldDefinitionDescription = desc,+ Syntax.fieldDefinitionName = (encodeFieldName (Model.fieldTypeName ft)),+ Syntax.fieldDefinitionArgumentsDefinition = Nothing,+ Syntax.fieldDefinitionType = gtype,+ Syntax.fieldDefinitionDirectives = Nothing}))))++-- | Top-level entry point: convert a module to GraphQL schema files.+moduleToGraphql :: Packaging.Module -> [Packaging.Definition] -> t0 -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToGraphql mod defs cx g =++ let partitioned = Environment.partitionDefinitions defs+ typeDefs = Pairs.first partitioned+ prefixes =+ (\modNs -> \tdefs ->+ let namespaces = Lists.distinct (Optionals.givens (Lists.map (\td -> Names.moduleNameOf (Packaging.typeDefinitionName td)) tdefs))+ in (Maps.fromList (Lists.map (\ns_ -> (+ ns_,+ (Logic.ifElse (Equality.equal ns_ modNs) "" (Strings.concat2 (Formatting.sanitizeWithUnderscores Sets.empty (Packaging.unModuleName ns_)) "_")))) namespaces))) (Packaging.moduleName mod) typeDefs+ filePath = Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "graphql") (Packaging.moduleName mod)+ in (Eithers.bind (Eithers.mapList (\td -> encodeTypeDefinition cx g prefixes td) typeDefs) (\gtdefs -> Right (Maps.fromList (Lists.singleton (+ filePath,+ (Serialization.printExpr (Serialization.parenthesize (Serde.documentToExpr (Syntax.Document (Lists.map (\gtdef -> Syntax.DefinitionTypeSystem (Syntax.TypeSystemDefinitionOrExtensionDefinition (Syntax.TypeSystemDefinitionType gtdef))) gtdefs))))))))))++-- | Sanitize a string for use as a GraphQL identifier+sanitize :: String -> String+sanitize s = Formatting.sanitizeWithUnderscores Language.graphqlReservedWords s
+ src/main/haskell/Hydra/Ext/Graphql/Language.hs view
@@ -0,0 +1,121 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints and reserved words for GraphQL++module Hydra.Ext.Graphql.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Sets as Sets+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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+import qualified Data.Set as S++-- | Language constraints for GraphQL+graphqlLanguage :: Coders.Language+graphqlLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.graphql"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "graphql")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes = Sets.fromList [+ Model.FloatTypeFloat64]+ integerTypes = Sets.fromList [+ Model.IntegerTypeInt32]+ termVariants =+ Sets.fromList [+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantOptional,+ Variants.TermVariantRecord,+ Variants.TermVariantInject]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantApplication,+ Variants.TypeVariantEither,+ Variants.TypeVariantForall,+ Variants.TypeVariantFunction,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantPair,+ Variants.TypeVariantSet,+ Variants.TypeVariantUnit,+ Variants.TypeVariantWrap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantRecord,+ Variants.TypeVariantUnion,+ Variants.TypeVariantVariable]+ typePredicate =+ \typ -> case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> case (Strip.deannotateType v0) of+ Model.TypeOptional _ -> False+ _ -> True+ _ -> True++-- | A set of reserved words in GraphQL+graphqlReservedWords :: S.Set String+graphqlReservedWords =+ Sets.fromList [+ "true",+ "false"]
+ src/main/haskell/Hydra/Ext/Graphql/Serde.hs view
@@ -0,0 +1,189 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Serialization functions for converting GraphQL AST to abstract expressions++module Hydra.Ext.Graphql.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Graphql.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++-- | Convert a GraphQL definition to an expression+definitionToExpr :: Syntax.Definition -> Ast.Expr+definitionToExpr def =+ case def of+ Syntax.DefinitionExecutable _ -> Serialization.cst "Unsupported: executable definition"+ Syntax.DefinitionTypeSystem v0 -> typeSystemDefinitionOrExtensionToExpr v0++-- | Convert a GraphQL description to a triple-quoted comment+descriptionToExpr :: Syntax.Description -> Ast.Expr+descriptionToExpr desc =++ let delim = Serialization.cst "\"\"\""+ text = Syntax.unStringValue (Syntax.unDescription desc)+ in (Serialization.newlineSep [+ delim,+ (Serialization.cst text),+ delim])++-- | Convert a GraphQL document to an expression+documentToExpr :: Syntax.Document -> Ast.Expr+documentToExpr d = Serialization.doubleNewlineSep (Lists.map definitionToExpr (Syntax.unDocument d))++-- | Convert a GraphQL enum type definition to an expression+enumTypeDefinitionToExpr :: Syntax.EnumTypeDefinition -> Ast.Expr+enumTypeDefinitionToExpr def =++ let desc = Syntax.enumTypeDefinitionDescription def+ name = Syntax.enumTypeDefinitionName def+ values = Syntax.enumTypeDefinitionEnumValuesDefinition def+ valuesExpr = Optionals.match values [] (\vs -> Lists.map enumValueDefinitionToExpr (Syntax.unEnumValuesDefinition vs))+ in (withDescription desc (Serialization.spaceSep [+ Serialization.cst "enum",+ (nameToExpr name),+ (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle valuesExpr)]))++-- | Convert a GraphQL enum value definition to an expression+enumValueDefinitionToExpr :: Syntax.EnumValueDefinition -> Ast.Expr+enumValueDefinitionToExpr def =++ let desc = Syntax.enumValueDefinitionDescription def+ ev = Syntax.enumValueDefinitionEnumValue def+ in (withDescription desc (enumValueToExpr ev))++-- | Convert a GraphQL enum value to an expression+enumValueToExpr :: Syntax.EnumValue -> Ast.Expr+enumValueToExpr ev = nameToExpr (Syntax.unEnumValue ev)++-- | Convert a GraphQL field definition to an expression+fieldDefinitionToExpr :: Syntax.FieldDefinition -> Ast.Expr+fieldDefinitionToExpr def =++ let desc = Syntax.fieldDefinitionDescription def+ name = Syntax.fieldDefinitionName def+ typ = Syntax.fieldDefinitionType def+ namePart =+ Serialization.noSep [+ nameToExpr name,+ (Serialization.cst ":")]+ typePart = typeToExpr typ+ in (withDescription desc (Serialization.spaceSep [+ namePart,+ typePart]))++-- | Convert a GraphQL list type to an expression+listTypeToExpr :: Syntax.ListType -> Ast.Expr+listTypeToExpr lt =+ Serialization.noSep [+ Serialization.cst "[",+ (typeToExpr (Syntax.unListType lt)),+ (Serialization.cst "]")]++-- | Convert a GraphQL name to an expression+nameToExpr :: Syntax.Name -> Ast.Expr+nameToExpr n = Serialization.cst (Syntax.unName n)++-- | Convert a GraphQL named type to an expression+namedTypeToExpr :: Syntax.NamedType -> Ast.Expr+namedTypeToExpr nt = nameToExpr (Syntax.unNamedType nt)++-- | Convert a GraphQL non-null type to an expression+nonNullTypeToExpr :: Syntax.NonNullType -> Ast.Expr+nonNullTypeToExpr nnt =++ let typeExpr =+ case nnt of+ Syntax.NonNullTypeNamed v0 -> namedTypeToExpr v0+ Syntax.NonNullTypeList v0 -> listTypeToExpr v0+ in (Serialization.noSep [+ typeExpr,+ (Serialization.cst "!")])++-- | Convert a GraphQL object type definition to an expression+objectTypeDefinitionToExpr :: Syntax.ObjectTypeDefinition -> Ast.Expr+objectTypeDefinitionToExpr def =++ let desc = Syntax.objectTypeDefinitionDescription def+ name = Syntax.objectTypeDefinitionName def+ fields = Syntax.objectTypeDefinitionFieldsDefinition def+ fieldsExpr = Optionals.match fields [] (\fs -> Lists.map fieldDefinitionToExpr (Syntax.unFieldsDefinition fs))+ in (withDescription desc (Serialization.spaceSep [+ Serialization.cst "type",+ (nameToExpr name),+ (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle fieldsExpr)]))++-- | Convert a GraphQL type definition to an expression+typeDefinitionToExpr :: Syntax.TypeDefinition -> Ast.Expr+typeDefinitionToExpr def =+ case def of+ Syntax.TypeDefinitionScalar _ -> Serialization.cst "Unsupported: scalar type definition"+ Syntax.TypeDefinitionObject v0 -> objectTypeDefinitionToExpr v0+ Syntax.TypeDefinitionInterface _ -> Serialization.cst "Unsupported: interface type definition"+ Syntax.TypeDefinitionUnion _ -> Serialization.cst "Unsupported: union type definition"+ Syntax.TypeDefinitionEnum v0 -> enumTypeDefinitionToExpr v0+ Syntax.TypeDefinitionInputObject _ -> Serialization.cst "Unsupported: input object type definition"++-- | Convert a GraphQL type system definition or extension to an expression+typeSystemDefinitionOrExtensionToExpr :: Syntax.TypeSystemDefinitionOrExtension -> Ast.Expr+typeSystemDefinitionOrExtensionToExpr de =+ case de of+ Syntax.TypeSystemDefinitionOrExtensionDefinition v0 -> typeSystemDefinitionToExpr v0+ Syntax.TypeSystemDefinitionOrExtensionExtension _ -> Serialization.cst "Unsupported: type system extension"++-- | Convert a GraphQL type system definition to an expression+typeSystemDefinitionToExpr :: Syntax.TypeSystemDefinition -> Ast.Expr+typeSystemDefinitionToExpr def =+ case def of+ Syntax.TypeSystemDefinitionSchema _ -> Serialization.cst "Unsupported: schema definition"+ Syntax.TypeSystemDefinitionType v0 -> typeDefinitionToExpr v0+ Syntax.TypeSystemDefinitionDirective _ -> Serialization.cst "Unsupported: directive definition"++-- | Convert a GraphQL type to an expression+typeToExpr :: Syntax.Type -> Ast.Expr+typeToExpr typ =+ case typ of+ Syntax.TypeNamed v0 -> namedTypeToExpr v0+ Syntax.TypeList v0 -> listTypeToExpr v0+ Syntax.TypeNonNull v0 -> nonNullTypeToExpr v0++-- | Prepend an optional description to an expression+withDescription :: Maybe Syntax.Description -> Ast.Expr -> Ast.Expr+withDescription mdesc expr =+ Serialization.newlineSep (Optionals.givens [+ Optionals.map descriptionToExpr mdesc,+ (Optionals.given expr)])
+ src/main/haskell/Hydra/Ext/Graphql/Syntax.hs view
@@ -0,0 +1,1397 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A GraphQL model. Based on the (extended) BNF at:+-- | https://spec.graphql.org/draft/#sec-Appendix-Grammar-Summary++module Hydra.Ext.Graphql.Syntax where++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++-- | A GraphQL field alias, immediately followed by a colon.+data Alias =+ AliasName Name |+ AliasColon+ deriving (Eq, Ord, Read, Show)++_Alias = Model.Name "hydra.ext.graphql.syntax.Alias"++_Alias_Name = Model.Name "Name"++_Alias_Colon = Model.Name "Colon"++-- | A single GraphQL argument, consisting of a name and a value.+data Argument =+ Argument {+ argumentName :: Name,+ argumentValue :: Value}+ deriving (Eq, Ord, Read, Show)++_Argument = Model.Name "hydra.ext.graphql.syntax.Argument"++_Argument_Name = Model.Name "Name"++_Argument_Value = Model.Name "Value"++-- | A parenthesized list of GraphQL arguments.+newtype Arguments =+ Arguments {+ unArguments :: [Argument]}+ deriving (Eq, Ord, Read, Show)++_Arguments = Model.Name "hydra.ext.graphql.syntax.Arguments"++-- | A parenthesized list of GraphQL input value definitions for a field's arguments.+newtype ArgumentsDefinition =+ ArgumentsDefinition {+ unArgumentsDefinition :: [InputValueDefinition]}+ deriving (Eq, Ord, Read, Show)++_ArgumentsDefinition = Model.Name "hydra.ext.graphql.syntax.ArgumentsDefinition"++-- | A GraphQL boolean literal, either true or false.+data BooleanValue =+ BooleanValueTrue |+ BooleanValueFalse+ deriving (Eq, Ord, Read, Show)++_BooleanValue = Model.Name "hydra.ext.graphql.syntax.BooleanValue"++_BooleanValue_True = Model.Name "True"++_BooleanValue_False = Model.Name "False"++-- | A default value for a GraphQL variable or input field, introduced by an equals sign.+newtype DefaultValue =+ DefaultValue {+ unDefaultValue :: Value}+ deriving (Eq, Ord, Read, Show)++_DefaultValue = Model.Name "hydra.ext.graphql.syntax.DefaultValue"++-- | A top-level GraphQL definition, either executable or part of the type system.+data Definition =+ DefinitionExecutable ExecutableDefinition |+ DefinitionTypeSystem TypeSystemDefinitionOrExtension+ deriving (Eq, Ord, Read, Show)++_Definition = Model.Name "hydra.ext.graphql.syntax.Definition"++_Definition_executable = Model.Name "executable"++_Definition_typeSystem = Model.Name "typeSystem"++-- | An optional string description preceding a GraphQL type system definition.+newtype Description =+ Description {+ unDescription :: StringValue}+ deriving (Eq, Ord, Read, Show)++_Description = Model.Name "hydra.ext.graphql.syntax.Description"++-- | A single GraphQL directive, consisting of a name and optional arguments.+data Directive =+ Directive {+ directiveName :: Name,+ directiveArguments :: (Maybe Arguments)}+ deriving (Eq, Ord, Read, Show)++_Directive = Model.Name "hydra.ext.graphql.syntax.Directive"++_Directive_Name = Model.Name "Name"++_Directive_Arguments = Model.Name "Arguments"++-- | A GraphQL directive definition, giving its name, arguments, repeatability, and locations.+data DirectiveDefinition =+ DirectiveDefinition {+ directiveDefinitionDescription :: (Maybe Description),+ directiveDefinitionName :: Name,+ directiveDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),+ directiveDefinitionRepeatable :: (Maybe ()),+ directiveDefinitionDirectiveLocations :: DirectiveLocations}+ deriving (Eq, Ord, Read, Show)++_DirectiveDefinition = Model.Name "hydra.ext.graphql.syntax.DirectiveDefinition"++_DirectiveDefinition_Description = Model.Name "Description"++_DirectiveDefinition_Name = Model.Name "Name"++_DirectiveDefinition_ArgumentsDefinition = Model.Name "ArgumentsDefinition"++_DirectiveDefinition_Repeatable = Model.Name "Repeatable"++_DirectiveDefinition_DirectiveLocations = Model.Name "DirectiveLocations"++-- | A location at which a GraphQL directive may be applied, either executable or type-system.+data DirectiveLocation =+ DirectiveLocationExecutable ExecutableDirectiveLocation |+ DirectiveLocationTypeSystem TypeSystemDirectiveLocation+ deriving (Eq, Ord, Read, Show)++_DirectiveLocation = Model.Name "hydra.ext.graphql.syntax.DirectiveLocation"++_DirectiveLocation_executable = Model.Name "executable"++_DirectiveLocation_typeSystem = Model.Name "typeSystem"++-- | A pipe-separated list of GraphQL directive locations.+data DirectiveLocations =+ DirectiveLocationsSeq DirectiveLocationsSequence |+ DirectiveLocationsSeq2 DirectiveLocationsSequence2+ deriving (Eq, Ord, Read, Show)++_DirectiveLocations = Model.Name "hydra.ext.graphql.syntax.DirectiveLocations"++_DirectiveLocations_seq = Model.Name "seq"++_DirectiveLocations_seq2 = Model.Name "seq2"++-- | A non-empty DirectiveLocations sequence with a leading list of locations.+data DirectiveLocationsSequence =+ DirectiveLocationsSequence {+ directiveLocationsSequenceDirectiveLocations :: DirectiveLocations,+ directiveLocationsSequenceDirectiveLocation :: DirectiveLocation}+ deriving (Eq, Ord, Read, Show)++_DirectiveLocationsSequence = Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence"++_DirectiveLocationsSequence_DirectiveLocations = Model.Name "DirectiveLocations"++_DirectiveLocationsSequence_DirectiveLocation = Model.Name "DirectiveLocation"++-- | The base case of a DirectiveLocations sequence: a single, optionally pipe-prefixed location.+data DirectiveLocationsSequence2 =+ DirectiveLocationsSequence2 {+ directiveLocationsSequence2Or :: (Maybe ()),+ directiveLocationsSequence2DirectiveLocation :: DirectiveLocation}+ deriving (Eq, Ord, Read, Show)++_DirectiveLocationsSequence2 = Model.Name "hydra.ext.graphql.syntax.DirectiveLocationsSequence2"++_DirectiveLocationsSequence2_Or = Model.Name "Or"++_DirectiveLocationsSequence2_DirectiveLocation = Model.Name "DirectiveLocation"++-- | A list of GraphQL directives applied to a definition or selection.+newtype Directives =+ Directives {+ unDirectives :: [Directive]}+ deriving (Eq, Ord, Read, Show)++_Directives = Model.Name "hydra.ext.graphql.syntax.Directives"++-- | A GraphQL document, consisting of a list of definitions.+newtype Document =+ Document {+ unDocument :: [Definition]}+ deriving (Eq, Ord, Read, Show)++_Document = Model.Name "hydra.ext.graphql.syntax.Document"++-- | A GraphQL enum type definition, giving its name, directives, and enum values.+data EnumTypeDefinition =+ EnumTypeDefinition {+ enumTypeDefinitionDescription :: (Maybe Description),+ enumTypeDefinitionName :: Name,+ enumTypeDefinitionDirectives :: (Maybe Directives),+ enumTypeDefinitionEnumValuesDefinition :: (Maybe EnumValuesDefinition)}+ deriving (Eq, Ord, Read, Show)++_EnumTypeDefinition = Model.Name "hydra.ext.graphql.syntax.EnumTypeDefinition"++_EnumTypeDefinition_Description = Model.Name "Description"++_EnumTypeDefinition_Name = Model.Name "Name"++_EnumTypeDefinition_Directives = Model.Name "Directives"++_EnumTypeDefinition_EnumValuesDefinition = Model.Name "EnumValuesDefinition"++-- | An extension of a GraphQL enum type, either adding enum values or only directives.+data EnumTypeExtension =+ EnumTypeExtensionSeq EnumTypeExtensionSequence |+ EnumTypeExtensionSeq2 EnumTypeExtensionSequence2+ deriving (Eq, Ord, Read, Show)++_EnumTypeExtension = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtension"++_EnumTypeExtension_seq = Model.Name "seq"++_EnumTypeExtension_seq2 = Model.Name "seq2"++-- | An enum type extension that adds new enum values, with optional directives.+data EnumTypeExtensionSequence =+ EnumTypeExtensionSequence {+ enumTypeExtensionSequenceName :: Name,+ enumTypeExtensionSequenceDirectives :: (Maybe Directives),+ enumTypeExtensionSequenceEnumValuesDefinition :: EnumValuesDefinition}+ deriving (Eq, Ord, Read, Show)++_EnumTypeExtensionSequence = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence"++_EnumTypeExtensionSequence_Name = Model.Name "Name"++_EnumTypeExtensionSequence_Directives = Model.Name "Directives"++_EnumTypeExtensionSequence_EnumValuesDefinition = Model.Name "EnumValuesDefinition"++-- | An enum type extension consisting of directives only, with no new enum values.+data EnumTypeExtensionSequence2 =+ EnumTypeExtensionSequence2 {+ enumTypeExtensionSequence2Name :: Name,+ enumTypeExtensionSequence2Directives :: Directives}+ deriving (Eq, Ord, Read, Show)++_EnumTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.EnumTypeExtensionSequence2"++_EnumTypeExtensionSequence2_Name = Model.Name "Name"++_EnumTypeExtensionSequence2_Directives = Model.Name "Directives"++-- | A GraphQL enum value, represented as a name (excluding true, false, and null).+newtype EnumValue =+ EnumValue {+ unEnumValue :: Name}+ deriving (Eq, Ord, Read, Show)++_EnumValue = Model.Name "hydra.ext.graphql.syntax.EnumValue"++-- | A single value definition within a GraphQL enum type, with optional description and directives.+data EnumValueDefinition =+ EnumValueDefinition {+ enumValueDefinitionDescription :: (Maybe Description),+ enumValueDefinitionEnumValue :: EnumValue,+ enumValueDefinitionDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_EnumValueDefinition = Model.Name "hydra.ext.graphql.syntax.EnumValueDefinition"++_EnumValueDefinition_Description = Model.Name "Description"++_EnumValueDefinition_EnumValue = Model.Name "EnumValue"++_EnumValueDefinition_Directives = Model.Name "Directives"++-- | The braced list of enum value definitions in a GraphQL enum type.+newtype EnumValuesDefinition =+ EnumValuesDefinition {+ unEnumValuesDefinition :: [EnumValueDefinition]}+ deriving (Eq, Ord, Read, Show)++_EnumValuesDefinition = Model.Name "hydra.ext.graphql.syntax.EnumValuesDefinition"++-- | A GraphQL executable definition, either an operation or a fragment definition.+data ExecutableDefinition =+ ExecutableDefinitionOperation OperationDefinition |+ ExecutableDefinitionFragment FragmentDefinition+ deriving (Eq, Ord, Read, Show)++_ExecutableDefinition = Model.Name "hydra.ext.graphql.syntax.ExecutableDefinition"++_ExecutableDefinition_operation = Model.Name "operation"++_ExecutableDefinition_fragment = Model.Name "fragment"++-- | A directive location valid on GraphQL executable definitions (queries, fields, fragments, etc.).+data ExecutableDirectiveLocation =+ ExecutableDirectiveLocationQUERY |+ ExecutableDirectiveLocationMUTATION |+ ExecutableDirectiveLocationSUBSCRIPTION |+ ExecutableDirectiveLocationFIELD |+ ExecutableDirectiveLocationFRAGMENT_DEFINITION |+ ExecutableDirectiveLocationFRAGMENT_SPREAD |+ ExecutableDirectiveLocationINLINE_FRAGMENT |+ ExecutableDirectiveLocationVARIABLE_DEFINITION+ deriving (Eq, Ord, Read, Show)++_ExecutableDirectiveLocation = Model.Name "hydra.ext.graphql.syntax.ExecutableDirectiveLocation"++_ExecutableDirectiveLocation_QUERY = Model.Name "QUERY"++_ExecutableDirectiveLocation_MUTATION = Model.Name "MUTATION"++_ExecutableDirectiveLocation_SUBSCRIPTION = Model.Name "SUBSCRIPTION"++_ExecutableDirectiveLocation_FIELD = Model.Name "FIELD"++_ExecutableDirectiveLocation_FRAGMENT_DEFINITION = Model.Name "FRAGMENT_DEFINITION"++_ExecutableDirectiveLocation_FRAGMENT_SPREAD = Model.Name "FRAGMENT_SPREAD"++_ExecutableDirectiveLocation_INLINE_FRAGMENT = Model.Name "INLINE_FRAGMENT"++_ExecutableDirectiveLocation_VARIABLE_DEFINITION = Model.Name "VARIABLE_DEFINITION"++-- | A GraphQL document consisting only of executable definitions.+newtype ExecutableDocument =+ ExecutableDocument {+ unExecutableDocument :: [ExecutableDefinition]}+ deriving (Eq, Ord, Read, Show)++_ExecutableDocument = Model.Name "hydra.ext.graphql.syntax.ExecutableDocument"++-- | A GraphQL field selection, with optional alias, arguments, directives, and sub-selection set.+data Field =+ Field {+ fieldAlias :: (Maybe Alias),+ fieldName :: Name,+ fieldArguments :: (Maybe Arguments),+ fieldDirectives :: (Maybe Directives),+ fieldSelectionSet :: (Maybe SelectionSet)}+ deriving (Eq, Ord, Read, Show)++_Field = Model.Name "hydra.ext.graphql.syntax.Field"++_Field_Alias = Model.Name "Alias"++_Field_Name = Model.Name "Name"++_Field_Arguments = Model.Name "Arguments"++_Field_Directives = Model.Name "Directives"++_Field_SelectionSet = Model.Name "SelectionSet"++-- | A field definition within a GraphQL object or interface type.+data FieldDefinition =+ FieldDefinition {+ fieldDefinitionDescription :: (Maybe Description),+ fieldDefinitionName :: Name,+ fieldDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),+ fieldDefinitionType :: Type,+ fieldDefinitionDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_FieldDefinition = Model.Name "hydra.ext.graphql.syntax.FieldDefinition"++_FieldDefinition_Description = Model.Name "Description"++_FieldDefinition_Name = Model.Name "Name"++_FieldDefinition_ArgumentsDefinition = Model.Name "ArgumentsDefinition"++_FieldDefinition_Type = Model.Name "Type"++_FieldDefinition_Directives = Model.Name "Directives"++-- | The braced list of field definitions in a GraphQL object or interface type.+newtype FieldsDefinition =+ FieldsDefinition {+ unFieldsDefinition :: [FieldDefinition]}+ deriving (Eq, Ord, Read, Show)++_FieldsDefinition = Model.Name "hydra.ext.graphql.syntax.FieldsDefinition"++-- | A GraphQL floating-point literal.+newtype FloatValue =+ FloatValue {+ unFloatValue :: String}+ deriving (Eq, Ord, Read, Show)++_FloatValue = Model.Name "hydra.ext.graphql.syntax.FloatValue"++-- | A GraphQL fragment definition, naming a type condition and a selection set.+data FragmentDefinition =+ FragmentDefinition {+ fragmentDefinitionFragmentName :: FragmentName,+ fragmentDefinitionTypeCondition :: TypeCondition,+ fragmentDefinitionDirectives :: (Maybe Directives),+ fragmentDefinitionSelectionSet :: SelectionSet}+ deriving (Eq, Ord, Read, Show)++_FragmentDefinition = Model.Name "hydra.ext.graphql.syntax.FragmentDefinition"++_FragmentDefinition_FragmentName = Model.Name "FragmentName"++_FragmentDefinition_TypeCondition = Model.Name "TypeCondition"++_FragmentDefinition_Directives = Model.Name "Directives"++_FragmentDefinition_SelectionSet = Model.Name "SelectionSet"++-- | The name of a GraphQL fragment (any name other than "on").+newtype FragmentName =+ FragmentName {+ unFragmentName :: Name}+ deriving (Eq, Ord, Read, Show)++_FragmentName = Model.Name "hydra.ext.graphql.syntax.FragmentName"++-- | A GraphQL fragment spread, referencing a named fragment with optional directives.+data FragmentSpread =+ FragmentSpread {+ fragmentSpreadFragmentName :: FragmentName,+ fragmentSpreadDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_FragmentSpread = Model.Name "hydra.ext.graphql.syntax.FragmentSpread"++_FragmentSpread_FragmentName = Model.Name "FragmentName"++_FragmentSpread_Directives = Model.Name "Directives"++-- | A clause declaring the interfaces implemented by a GraphQL object or interface type.+data ImplementsInterfaces =+ ImplementsInterfacesSeq ImplementsInterfacesSequence |+ ImplementsInterfacesSeq2 ImplementsInterfacesSequence2+ deriving (Eq, Ord, Read, Show)++_ImplementsInterfaces = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfaces"++_ImplementsInterfaces_seq = Model.Name "seq"++_ImplementsInterfaces_seq2 = Model.Name "seq2"++-- | A non-empty ImplementsInterfaces list with a leading list of interfaces.+data ImplementsInterfacesSequence =+ ImplementsInterfacesSequence {+ implementsInterfacesSequenceImplementsInterfaces :: ImplementsInterfaces,+ implementsInterfacesSequenceNamedType :: NamedType}+ deriving (Eq, Ord, Read, Show)++_ImplementsInterfacesSequence = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence"++_ImplementsInterfacesSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_ImplementsInterfacesSequence_NamedType = Model.Name "NamedType"++-- | The base case of an ImplementsInterfaces list: a single, optionally ampersand-prefixed interface.+data ImplementsInterfacesSequence2 =+ ImplementsInterfacesSequence2 {+ implementsInterfacesSequence2Amp :: (Maybe ()),+ implementsInterfacesSequence2NamedType :: NamedType}+ deriving (Eq, Ord, Read, Show)++_ImplementsInterfacesSequence2 = Model.Name "hydra.ext.graphql.syntax.ImplementsInterfacesSequence2"++_ImplementsInterfacesSequence2_Amp = Model.Name "Amp"++_ImplementsInterfacesSequence2_NamedType = Model.Name "NamedType"++-- | A GraphQL inline fragment, with optional type condition, directives, and a selection set.+data InlineFragment =+ InlineFragment {+ inlineFragmentTypeCondition :: (Maybe TypeCondition),+ inlineFragmentDirectives :: (Maybe Directives),+ inlineFragmentSelectionSet :: SelectionSet}+ deriving (Eq, Ord, Read, Show)++_InlineFragment = Model.Name "hydra.ext.graphql.syntax.InlineFragment"++_InlineFragment_TypeCondition = Model.Name "TypeCondition"++_InlineFragment_Directives = Model.Name "Directives"++_InlineFragment_SelectionSet = Model.Name "SelectionSet"++-- | The braced list of input field definitions in a GraphQL input object type.+newtype InputFieldsDefinition =+ InputFieldsDefinition {+ unInputFieldsDefinition :: [InputValueDefinition]}+ deriving (Eq, Ord, Read, Show)++_InputFieldsDefinition = Model.Name "hydra.ext.graphql.syntax.InputFieldsDefinition"++-- | A GraphQL input object type definition, either with or without input fields.+data InputObjectTypeDefinition =+ InputObjectTypeDefinitionSeq InputObjectTypeDefinitionSequence |+ InputObjectTypeDefinitionSeq2 InputObjectTypeDefinitionSequence2+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeDefinition = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinition"++_InputObjectTypeDefinition_seq = Model.Name "seq"++_InputObjectTypeDefinition_seq2 = Model.Name "seq2"++-- | An input object type definition that includes an input fields definition.+data InputObjectTypeDefinitionSequence =+ InputObjectTypeDefinitionSequence {+ inputObjectTypeDefinitionSequenceDescription :: (Maybe Description),+ inputObjectTypeDefinitionSequenceName :: Name,+ inputObjectTypeDefinitionSequenceDirectives :: (Maybe Directives),+ inputObjectTypeDefinitionSequenceInputFieldsDefinition :: InputFieldsDefinition}+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeDefinitionSequence = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence"++_InputObjectTypeDefinitionSequence_Description = Model.Name "Description"++_InputObjectTypeDefinitionSequence_Name = Model.Name "Name"++_InputObjectTypeDefinitionSequence_Directives = Model.Name "Directives"++_InputObjectTypeDefinitionSequence_InputFieldsDefinition = Model.Name "InputFieldsDefinition"++-- | An input object type definition with no input fields definition.+data InputObjectTypeDefinitionSequence2 =+ InputObjectTypeDefinitionSequence2 {+ inputObjectTypeDefinitionSequence2Description :: (Maybe Description),+ inputObjectTypeDefinitionSequence2Name :: Name,+ inputObjectTypeDefinitionSequence2Directives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeDefinitionSequence2 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeDefinitionSequence2"++_InputObjectTypeDefinitionSequence2_Description = Model.Name "Description"++_InputObjectTypeDefinitionSequence2_Name = Model.Name "Name"++_InputObjectTypeDefinitionSequence2_Directives = Model.Name "Directives"++-- | An extension of a GraphQL input object type, either with or without input fields.+data InputObjectTypeExtension =+ InputObjectTypeExtensionSeq InputObjectTypeExtensionSequence |+ InputObjectTypeExtensionSeq2 InputObjectTypeExtensionSequence2+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeExtension = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtension"++_InputObjectTypeExtension_seq = Model.Name "seq"++_InputObjectTypeExtension_seq2 = Model.Name "seq2"++-- | An input object type extension that adds an input fields definition.+data InputObjectTypeExtensionSequence =+ InputObjectTypeExtensionSequence {+ inputObjectTypeExtensionSequenceName :: Name,+ inputObjectTypeExtensionSequenceDirectives :: (Maybe Directives),+ inputObjectTypeExtensionSequenceInputFieldsDefinition :: InputFieldsDefinition}+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeExtensionSequence = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence"++_InputObjectTypeExtensionSequence_Name = Model.Name "Name"++_InputObjectTypeExtensionSequence_Directives = Model.Name "Directives"++_InputObjectTypeExtensionSequence_InputFieldsDefinition = Model.Name "InputFieldsDefinition"++-- | An input object type extension consisting of directives only.+data InputObjectTypeExtensionSequence2 =+ InputObjectTypeExtensionSequence2 {+ inputObjectTypeExtensionSequence2Name :: Name,+ inputObjectTypeExtensionSequence2Directives :: Directives}+ deriving (Eq, Ord, Read, Show)++_InputObjectTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.InputObjectTypeExtensionSequence2"++_InputObjectTypeExtensionSequence2_Name = Model.Name "Name"++_InputObjectTypeExtensionSequence2_Directives = Model.Name "Directives"++-- | A single input value definition, used for field arguments and input object fields.+data InputValueDefinition =+ InputValueDefinition {+ inputValueDefinitionDescription :: (Maybe Description),+ inputValueDefinitionName :: Name,+ inputValueDefinitionType :: Type,+ inputValueDefinitionDefaultValue :: (Maybe DefaultValue),+ inputValueDefinitionDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_InputValueDefinition = Model.Name "hydra.ext.graphql.syntax.InputValueDefinition"++_InputValueDefinition_Description = Model.Name "Description"++_InputValueDefinition_Name = Model.Name "Name"++_InputValueDefinition_Type = Model.Name "Type"++_InputValueDefinition_DefaultValue = Model.Name "DefaultValue"++_InputValueDefinition_Directives = Model.Name "Directives"++-- | A GraphQL integer literal.+newtype IntValue =+ IntValue {+ unIntValue :: String}+ deriving (Eq, Ord, Read, Show)++_IntValue = Model.Name "hydra.ext.graphql.syntax.IntValue"++-- | A GraphQL interface type definition, either with or without a fields definition.+data InterfaceTypeDefinition =+ InterfaceTypeDefinitionSeq InterfaceTypeDefinitionSequence |+ InterfaceTypeDefinitionSeq2 InterfaceTypeDefinitionSequence2+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeDefinition = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinition"++_InterfaceTypeDefinition_seq = Model.Name "seq"++_InterfaceTypeDefinition_seq2 = Model.Name "seq2"++-- | An interface type definition that includes a fields definition.+data InterfaceTypeDefinitionSequence =+ InterfaceTypeDefinitionSequence {+ interfaceTypeDefinitionSequenceDescription :: (Maybe Description),+ interfaceTypeDefinitionSequenceName :: Name,+ interfaceTypeDefinitionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),+ interfaceTypeDefinitionSequenceDirectives :: (Maybe Directives),+ interfaceTypeDefinitionSequenceFieldsDefinition :: FieldsDefinition}+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeDefinitionSequence = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence"++_InterfaceTypeDefinitionSequence_Description = Model.Name "Description"++_InterfaceTypeDefinitionSequence_Name = Model.Name "Name"++_InterfaceTypeDefinitionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_InterfaceTypeDefinitionSequence_Directives = Model.Name "Directives"++_InterfaceTypeDefinitionSequence_FieldsDefinition = Model.Name "FieldsDefinition"++-- | An interface type definition with no fields definition.+data InterfaceTypeDefinitionSequence2 =+ InterfaceTypeDefinitionSequence2 {+ interfaceTypeDefinitionSequence2Description :: (Maybe Description),+ interfaceTypeDefinitionSequence2Name :: Name,+ interfaceTypeDefinitionSequence2ImplementsInterfaces :: ImplementsInterfaces,+ interfaceTypeDefinitionSequence2Directives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeDefinitionSequence2 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeDefinitionSequence2"++_InterfaceTypeDefinitionSequence2_Description = Model.Name "Description"++_InterfaceTypeDefinitionSequence2_Name = Model.Name "Name"++_InterfaceTypeDefinitionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_InterfaceTypeDefinitionSequence2_Directives = Model.Name "Directives"++-- | An extension of a GraphQL interface type, in one of three forms.+data InterfaceTypeExtension =+ InterfaceTypeExtensionSeq InterfaceTypeExtensionSequence |+ InterfaceTypeExtensionSeq2 InterfaceTypeExtensionSequence2 |+ InterfaceTypeExtensionSeq3 InterfaceTypeExtensionSequence3+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeExtension = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtension"++_InterfaceTypeExtension_seq = Model.Name "seq"++_InterfaceTypeExtension_seq2 = Model.Name "seq2"++_InterfaceTypeExtension_seq3 = Model.Name "seq3"++-- | An interface type extension that adds a fields definition.+data InterfaceTypeExtensionSequence =+ InterfaceTypeExtensionSequence {+ interfaceTypeExtensionSequenceName :: Name,+ interfaceTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),+ interfaceTypeExtensionSequenceDirectives :: (Maybe Directives),+ interfaceTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeExtensionSequence = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence"++_InterfaceTypeExtensionSequence_Name = Model.Name "Name"++_InterfaceTypeExtensionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_InterfaceTypeExtensionSequence_Directives = Model.Name "Directives"++_InterfaceTypeExtensionSequence_FieldsDefinition = Model.Name "FieldsDefinition"++-- | An interface type extension that adds directives but no fields definition.+data InterfaceTypeExtensionSequence2 =+ InterfaceTypeExtensionSequence2 {+ interfaceTypeExtensionSequence2Name :: Name,+ interfaceTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),+ interfaceTypeExtensionSequence2Directives :: Directives}+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence2"++_InterfaceTypeExtensionSequence2_Name = Model.Name "Name"++_InterfaceTypeExtensionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_InterfaceTypeExtensionSequence2_Directives = Model.Name "Directives"++-- | An interface type extension that adds only implemented interfaces.+data InterfaceTypeExtensionSequence3 =+ InterfaceTypeExtensionSequence3 {+ interfaceTypeExtensionSequence3Name :: Name,+ interfaceTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}+ deriving (Eq, Ord, Read, Show)++_InterfaceTypeExtensionSequence3 = Model.Name "hydra.ext.graphql.syntax.InterfaceTypeExtensionSequence3"++_InterfaceTypeExtensionSequence3_Name = Model.Name "Name"++_InterfaceTypeExtensionSequence3_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++-- | A GraphQL list type, wrapping an inner type in square brackets.+newtype ListType =+ ListType {+ unListType :: Type}+ deriving (Eq, Ord, Read, Show)++_ListType = Model.Name "hydra.ext.graphql.syntax.ListType"++-- | A GraphQL list literal, either empty or containing a sequence of values.+data ListValue =+ ListValueSeq ListValueSequence |+ ListValueSequence2 [Value]+ deriving (Eq, Ord, Read, Show)++_ListValue = Model.Name "hydra.ext.graphql.syntax.ListValue"++_ListValue_seq = Model.Name "seq"++_ListValue_sequence2 = Model.Name "sequence2"++-- | The empty-list form of a GraphQL ListValue.+type ListValueSequence = ()++_ListValueSequence = Model.Name "hydra.ext.graphql.syntax.ListValueSequence"++-- | A GraphQL name: an identifier matching [_A-Za-z][_0-9A-Za-z]*.+newtype Name =+ Name {+ unName :: String}+ deriving (Eq, Ord, Read, Show)++_Name = Model.Name "hydra.ext.graphql.syntax.Name"++-- | A GraphQL named type, referencing a type by its name.+newtype NamedType =+ NamedType {+ unNamedType :: Name}+ deriving (Eq, Ord, Read, Show)++_NamedType = Model.Name "hydra.ext.graphql.syntax.NamedType"++-- | A GraphQL non-null type, wrapping a named or list type with a trailing exclamation mark.+data NonNullType =+ NonNullTypeNamed NamedType |+ NonNullTypeList ListType+ deriving (Eq, Ord, Read, Show)++_NonNullType = Model.Name "hydra.ext.graphql.syntax.NonNullType"++_NonNullType_named = Model.Name "named"++_NonNullType_list = Model.Name "list"++-- | The GraphQL null literal.+newtype NullValue =+ NullValue {+ unNullValue :: ()}+ deriving (Eq, Ord, Read, Show)++_NullValue = Model.Name "hydra.ext.graphql.syntax.NullValue"++-- | A single field of a GraphQL object literal, consisting of a name and a value.+data ObjectField =+ ObjectField {+ objectFieldName :: Name,+ objectFieldValue :: Value}+ deriving (Eq, Ord, Read, Show)++_ObjectField = Model.Name "hydra.ext.graphql.syntax.ObjectField"++_ObjectField_Name = Model.Name "Name"++_ObjectField_Value = Model.Name "Value"++-- | A GraphQL object type definition, giving its name, interfaces, directives, and fields.+data ObjectTypeDefinition =+ ObjectTypeDefinition {+ objectTypeDefinitionDescription :: (Maybe Description),+ objectTypeDefinitionName :: Name,+ objectTypeDefinitionImplementsInterfaces :: (Maybe ImplementsInterfaces),+ objectTypeDefinitionDirectives :: (Maybe Directives),+ objectTypeDefinitionFieldsDefinition :: (Maybe FieldsDefinition)}+ deriving (Eq, Ord, Read, Show)++_ObjectTypeDefinition = Model.Name "hydra.ext.graphql.syntax.ObjectTypeDefinition"++_ObjectTypeDefinition_Description = Model.Name "Description"++_ObjectTypeDefinition_Name = Model.Name "Name"++_ObjectTypeDefinition_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_ObjectTypeDefinition_Directives = Model.Name "Directives"++_ObjectTypeDefinition_FieldsDefinition = Model.Name "FieldsDefinition"++-- | An extension of a GraphQL object type, in one of three forms.+data ObjectTypeExtension =+ ObjectTypeExtensionSeq ObjectTypeExtensionSequence |+ ObjectTypeExtensionSeq2 ObjectTypeExtensionSequence2 |+ ObjectTypeExtensionSeq3 ObjectTypeExtensionSequence3+ deriving (Eq, Ord, Read, Show)++_ObjectTypeExtension = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtension"++_ObjectTypeExtension_seq = Model.Name "seq"++_ObjectTypeExtension_seq2 = Model.Name "seq2"++_ObjectTypeExtension_seq3 = Model.Name "seq3"++-- | An object type extension that adds a fields definition.+data ObjectTypeExtensionSequence =+ ObjectTypeExtensionSequence {+ objectTypeExtensionSequenceName :: Name,+ objectTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),+ objectTypeExtensionSequenceDirectives :: (Maybe Directives),+ objectTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}+ deriving (Eq, Ord, Read, Show)++_ObjectTypeExtensionSequence = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence"++_ObjectTypeExtensionSequence_Name = Model.Name "Name"++_ObjectTypeExtensionSequence_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_ObjectTypeExtensionSequence_Directives = Model.Name "Directives"++_ObjectTypeExtensionSequence_FieldsDefinition = Model.Name "FieldsDefinition"++-- | An object type extension that adds directives but no fields definition.+data ObjectTypeExtensionSequence2 =+ ObjectTypeExtensionSequence2 {+ objectTypeExtensionSequence2Name :: Name,+ objectTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),+ objectTypeExtensionSequence2Directives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_ObjectTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence2"++_ObjectTypeExtensionSequence2_Name = Model.Name "Name"++_ObjectTypeExtensionSequence2_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++_ObjectTypeExtensionSequence2_Directives = Model.Name "Directives"++-- | An object type extension that adds only implemented interfaces.+data ObjectTypeExtensionSequence3 =+ ObjectTypeExtensionSequence3 {+ objectTypeExtensionSequence3Name :: Name,+ objectTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}+ deriving (Eq, Ord, Read, Show)++_ObjectTypeExtensionSequence3 = Model.Name "hydra.ext.graphql.syntax.ObjectTypeExtensionSequence3"++_ObjectTypeExtensionSequence3_Name = Model.Name "Name"++_ObjectTypeExtensionSequence3_ImplementsInterfaces = Model.Name "ImplementsInterfaces"++-- | A GraphQL object literal, either empty or containing a sequence of object fields.+data ObjectValue =+ ObjectValueSeq ObjectValueSequence |+ ObjectValueSequence2 [ObjectField]+ deriving (Eq, Ord, Read, Show)++_ObjectValue = Model.Name "hydra.ext.graphql.syntax.ObjectValue"++_ObjectValue_seq = Model.Name "seq"++_ObjectValue_sequence2 = Model.Name "sequence2"++-- | The empty-object form of a GraphQL ObjectValue.+type ObjectValueSequence = ()++_ObjectValueSequence = Model.Name "hydra.ext.graphql.syntax.ObjectValueSequence"++-- | A GraphQL operation definition, either a shorthand query or an explicit operation.+data OperationDefinition =+ OperationDefinitionSeq OperationDefinitionSequence |+ OperationDefinitionSelectionSet SelectionSet+ deriving (Eq, Ord, Read, Show)++_OperationDefinition = Model.Name "hydra.ext.graphql.syntax.OperationDefinition"++_OperationDefinition_seq = Model.Name "seq"++_OperationDefinition_SelectionSet = Model.Name "SelectionSet"++-- | An explicit GraphQL operation definition with a type, optional name, variables, and directives.+data OperationDefinitionSequence =+ OperationDefinitionSequence {+ operationDefinitionSequenceOperationType :: OperationType,+ operationDefinitionSequenceName :: (Maybe Name),+ operationDefinitionSequenceVariablesDefinition :: (Maybe VariablesDefinition),+ operationDefinitionSequenceDirectives :: (Maybe Directives),+ operationDefinitionSequenceSelectionSet :: SelectionSet}+ deriving (Eq, Ord, Read, Show)++_OperationDefinitionSequence = Model.Name "hydra.ext.graphql.syntax.OperationDefinitionSequence"++_OperationDefinitionSequence_OperationType = Model.Name "OperationType"++_OperationDefinitionSequence_Name = Model.Name "Name"++_OperationDefinitionSequence_VariablesDefinition = Model.Name "VariablesDefinition"++_OperationDefinitionSequence_Directives = Model.Name "Directives"++_OperationDefinitionSequence_SelectionSet = Model.Name "SelectionSet"++-- | The type of a GraphQL operation: query, mutation, or subscription.+data OperationType =+ OperationTypeQuery |+ OperationTypeMutation |+ OperationTypeSubscription+ deriving (Eq, Ord, Read, Show)++_OperationType = Model.Name "hydra.ext.graphql.syntax.OperationType"++_OperationType_Query = Model.Name "Query"++_OperationType_Mutation = Model.Name "Mutation"++_OperationType_Subscription = Model.Name "Subscription"++-- | A mapping from a GraphQL operation type to its root object type.+data RootOperationTypeDefinition =+ RootOperationTypeDefinition {+ rootOperationTypeDefinitionOperationType :: OperationType,+ rootOperationTypeDefinitionNamedType :: NamedType}+ deriving (Eq, Ord, Read, Show)++_RootOperationTypeDefinition = Model.Name "hydra.ext.graphql.syntax.RootOperationTypeDefinition"++_RootOperationTypeDefinition_OperationType = Model.Name "OperationType"++_RootOperationTypeDefinition_NamedType = Model.Name "NamedType"++-- | A GraphQL scalar type definition, with optional description and directives.+data ScalarTypeDefinition =+ ScalarTypeDefinition {+ scalarTypeDefinitionDescription :: (Maybe Description),+ scalarTypeDefinitionName :: Name,+ scalarTypeDefinitionDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_ScalarTypeDefinition = Model.Name "hydra.ext.graphql.syntax.ScalarTypeDefinition"++_ScalarTypeDefinition_Description = Model.Name "Description"++_ScalarTypeDefinition_Name = Model.Name "Name"++_ScalarTypeDefinition_Directives = Model.Name "Directives"++-- | An extension of a GraphQL scalar type, adding directives.+data ScalarTypeExtension =+ ScalarTypeExtension {+ scalarTypeExtensionName :: Name,+ scalarTypeExtensionDirectives :: Directives}+ deriving (Eq, Ord, Read, Show)++_ScalarTypeExtension = Model.Name "hydra.ext.graphql.syntax.ScalarTypeExtension"++_ScalarTypeExtension_Name = Model.Name "Name"++_ScalarTypeExtension_Directives = Model.Name "Directives"++-- | A GraphQL schema definition, declaring its root operation types.+data SchemaDefinition =+ SchemaDefinition {+ schemaDefinitionDescription :: (Maybe Description),+ schemaDefinitionDirectives :: (Maybe Directives),+ schemaDefinitionRootOperationTypeDefinition :: RootOperationTypeDefinition}+ deriving (Eq, Ord, Read, Show)++_SchemaDefinition = Model.Name "hydra.ext.graphql.syntax.SchemaDefinition"++_SchemaDefinition_Description = Model.Name "Description"++_SchemaDefinition_Directives = Model.Name "Directives"++_SchemaDefinition_RootOperationTypeDefinition = Model.Name "RootOperationTypeDefinition"++-- | An extension of a GraphQL schema, adding root operation types or directives.+data SchemaExtension =+ SchemaExtensionSeq SchemaExtensionSequence |+ SchemaExtensionSequence2 Directives+ deriving (Eq, Ord, Read, Show)++_SchemaExtension = Model.Name "hydra.ext.graphql.syntax.SchemaExtension"++_SchemaExtension_seq = Model.Name "seq"++_SchemaExtension_sequence2 = Model.Name "sequence2"++-- | A schema extension that adds a root operation type definition.+data SchemaExtensionSequence =+ SchemaExtensionSequence {+ schemaExtensionSequenceDirectives :: (Maybe Directives),+ schemaExtensionSequenceRootOperationTypeDefinition :: RootOperationTypeDefinition}+ deriving (Eq, Ord, Read, Show)++_SchemaExtensionSequence = Model.Name "hydra.ext.graphql.syntax.SchemaExtensionSequence"++_SchemaExtensionSequence_Directives = Model.Name "Directives"++_SchemaExtensionSequence_RootOperationTypeDefinition = Model.Name "RootOperationTypeDefinition"++-- | A single selection within a GraphQL selection set: a field, fragment spread, or inline fragment.+data Selection =+ SelectionField Field |+ SelectionFragmentSpread FragmentSpread |+ SelectionInlineFragment InlineFragment+ deriving (Eq, Ord, Read, Show)++_Selection = Model.Name "hydra.ext.graphql.syntax.Selection"++_Selection_Field = Model.Name "Field"++_Selection_FragmentSpread = Model.Name "FragmentSpread"++_Selection_InlineFragment = Model.Name "InlineFragment"++-- | A braced list of GraphQL selections.+newtype SelectionSet =+ SelectionSet {+ unSelectionSet :: [Selection]}+ deriving (Eq, Ord, Read, Show)++_SelectionSet = Model.Name "hydra.ext.graphql.syntax.SelectionSet"++-- | A GraphQL string literal.+newtype StringValue =+ StringValue {+ unStringValue :: String}+ deriving (Eq, Ord, Read, Show)++_StringValue = Model.Name "hydra.ext.graphql.syntax.StringValue"++-- | A GraphQL type reference: named, list, or non-null.+data Type =+ TypeNamed NamedType |+ TypeList ListType |+ TypeNonNull NonNullType+ deriving (Eq, Ord, Read, Show)++_Type = Model.Name "hydra.ext.graphql.syntax.Type"++_Type_named = Model.Name "named"++_Type_list = Model.Name "list"++_Type_nonNull = Model.Name "nonNull"++-- | A GraphQL type condition, naming the type a fragment applies to.+data TypeCondition =+ TypeConditionOn |+ TypeConditionNamedType NamedType+ deriving (Eq, Ord, Read, Show)++_TypeCondition = Model.Name "hydra.ext.graphql.syntax.TypeCondition"++_TypeCondition_On = Model.Name "On"++_TypeCondition_NamedType = Model.Name "NamedType"++-- | A GraphQL type system definition for a single named type.+data TypeDefinition =+ TypeDefinitionScalar ScalarTypeDefinition |+ TypeDefinitionObject ObjectTypeDefinition |+ TypeDefinitionInterface InterfaceTypeDefinition |+ TypeDefinitionUnion UnionTypeDefinition |+ TypeDefinitionEnum EnumTypeDefinition |+ TypeDefinitionInputObject InputObjectTypeDefinition+ deriving (Eq, Ord, Read, Show)++_TypeDefinition = Model.Name "hydra.ext.graphql.syntax.TypeDefinition"++_TypeDefinition_scalar = Model.Name "scalar"++_TypeDefinition_object = Model.Name "object"++_TypeDefinition_interface = Model.Name "interface"++_TypeDefinition_union = Model.Name "union"++_TypeDefinition_enum = Model.Name "enum"++_TypeDefinition_inputObject = Model.Name "inputObject"++-- | An extension of a GraphQL named type.+data TypeExtension =+ TypeExtensionScalar ScalarTypeExtension |+ TypeExtensionObject ObjectTypeExtension |+ TypeExtensionInterface InterfaceTypeExtension |+ TypeExtensionUnion UnionTypeExtension |+ TypeExtensionEnum EnumTypeExtension |+ TypeExtensionInputObject InputObjectTypeExtension+ deriving (Eq, Ord, Read, Show)++_TypeExtension = Model.Name "hydra.ext.graphql.syntax.TypeExtension"++_TypeExtension_scalar = Model.Name "scalar"++_TypeExtension_object = Model.Name "object"++_TypeExtension_interface = Model.Name "interface"++_TypeExtension_union = Model.Name "union"++_TypeExtension_enum = Model.Name "enum"++_TypeExtension_inputObject = Model.Name "inputObject"++-- | A GraphQL type system definition: schema, type, or directive.+data TypeSystemDefinition =+ TypeSystemDefinitionSchema SchemaDefinition |+ TypeSystemDefinitionType TypeDefinition |+ TypeSystemDefinitionDirective DirectiveDefinition+ deriving (Eq, Ord, Read, Show)++_TypeSystemDefinition = Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinition"++_TypeSystemDefinition_schema = Model.Name "schema"++_TypeSystemDefinition_type = Model.Name "type"++_TypeSystemDefinition_directive = Model.Name "directive"++-- | Either a GraphQL type system definition or an extension of one.+data TypeSystemDefinitionOrExtension =+ TypeSystemDefinitionOrExtensionDefinition TypeSystemDefinition |+ TypeSystemDefinitionOrExtensionExtension TypeSystemExtension+ deriving (Eq, Ord, Read, Show)++_TypeSystemDefinitionOrExtension = Model.Name "hydra.ext.graphql.syntax.TypeSystemDefinitionOrExtension"++_TypeSystemDefinitionOrExtension_definition = Model.Name "definition"++_TypeSystemDefinitionOrExtension_extension = Model.Name "extension"++-- | A directive location valid on GraphQL type system definitions.+data TypeSystemDirectiveLocation =+ TypeSystemDirectiveLocationSCHEMA |+ TypeSystemDirectiveLocationSCALAR |+ TypeSystemDirectiveLocationOBJECT |+ TypeSystemDirectiveLocationFIELD_DEFINITION |+ TypeSystemDirectiveLocationARGUMENT_DEFINITION |+ TypeSystemDirectiveLocationINTERFACE |+ TypeSystemDirectiveLocationUNION |+ TypeSystemDirectiveLocationENUM |+ TypeSystemDirectiveLocationENUM_VALUE |+ TypeSystemDirectiveLocationINPUT_OBJECT |+ TypeSystemDirectiveLocationINPUT_FIELD_DEFINITION+ deriving (Eq, Ord, Read, Show)++_TypeSystemDirectiveLocation = Model.Name "hydra.ext.graphql.syntax.TypeSystemDirectiveLocation"++_TypeSystemDirectiveLocation_SCHEMA = Model.Name "SCHEMA"++_TypeSystemDirectiveLocation_SCALAR = Model.Name "SCALAR"++_TypeSystemDirectiveLocation_OBJECT = Model.Name "OBJECT"++_TypeSystemDirectiveLocation_FIELD_DEFINITION = Model.Name "FIELD_DEFINITION"++_TypeSystemDirectiveLocation_ARGUMENT_DEFINITION = Model.Name "ARGUMENT_DEFINITION"++_TypeSystemDirectiveLocation_INTERFACE = Model.Name "INTERFACE"++_TypeSystemDirectiveLocation_UNION = Model.Name "UNION"++_TypeSystemDirectiveLocation_ENUM = Model.Name "ENUM"++_TypeSystemDirectiveLocation_ENUM_VALUE = Model.Name "ENUM_VALUE"++_TypeSystemDirectiveLocation_INPUT_OBJECT = Model.Name "INPUT_OBJECT"++_TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION = Model.Name "INPUT_FIELD_DEFINITION"++-- | A GraphQL document consisting only of type system definitions.+newtype TypeSystemDocment =+ TypeSystemDocment {+ unTypeSystemDocment :: [TypeSystemDefinition]}+ deriving (Eq, Ord, Read, Show)++_TypeSystemDocment = Model.Name "hydra.ext.graphql.syntax.TypeSystemDocment"++-- | An extension of a GraphQL schema or type.+data TypeSystemExtension =+ TypeSystemExtensionSchema SchemaExtension |+ TypeSystemExtensionType TypeExtension+ deriving (Eq, Ord, Read, Show)++_TypeSystemExtension = Model.Name "hydra.ext.graphql.syntax.TypeSystemExtension"++_TypeSystemExtension_schema = Model.Name "schema"++_TypeSystemExtension_type = Model.Name "type"++-- | A GraphQL document consisting of type system definitions and extensions.+newtype TypeSystemExtensionDocument =+ TypeSystemExtensionDocument {+ unTypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension]}+ deriving (Eq, Ord, Read, Show)++_TypeSystemExtensionDocument = Model.Name "hydra.ext.graphql.syntax.TypeSystemExtensionDocument"++-- | The list of member types of a GraphQL union type, introduced by an equals sign.+data UnionMemberTypes =+ UnionMemberTypesSeq UnionMemberTypesSequence |+ UnionMemberTypesSeq2 UnionMemberTypesSequence2+ deriving (Eq, Ord, Read, Show)++_UnionMemberTypes = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypes"++_UnionMemberTypes_seq = Model.Name "seq"++_UnionMemberTypes_seq2 = Model.Name "seq2"++-- | A non-empty UnionMemberTypes list with a leading list of member types.+data UnionMemberTypesSequence =+ UnionMemberTypesSequence {+ unionMemberTypesSequenceUnionMemberTypes :: UnionMemberTypes,+ unionMemberTypesSequenceNamedType :: NamedType}+ deriving (Eq, Ord, Read, Show)++_UnionMemberTypesSequence = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence"++_UnionMemberTypesSequence_UnionMemberTypes = Model.Name "UnionMemberTypes"++_UnionMemberTypesSequence_NamedType = Model.Name "NamedType"++-- | The base case of a UnionMemberTypes list: a single, optionally pipe-prefixed member type.+data UnionMemberTypesSequence2 =+ UnionMemberTypesSequence2 {+ unionMemberTypesSequence2Or :: (Maybe ()),+ unionMemberTypesSequence2NamedType :: NamedType}+ deriving (Eq, Ord, Read, Show)++_UnionMemberTypesSequence2 = Model.Name "hydra.ext.graphql.syntax.UnionMemberTypesSequence2"++_UnionMemberTypesSequence2_Or = Model.Name "Or"++_UnionMemberTypesSequence2_NamedType = Model.Name "NamedType"++-- | A GraphQL union type definition, giving its name, directives, and member types.+data UnionTypeDefinition =+ UnionTypeDefinition {+ unionTypeDefinitionDescription :: (Maybe Description),+ unionTypeDefinitionName :: Name,+ unionTypeDefinitionDirectives :: (Maybe Directives),+ unionTypeDefinitionUnionMemberTypes :: (Maybe UnionMemberTypes)}+ deriving (Eq, Ord, Read, Show)++_UnionTypeDefinition = Model.Name "hydra.ext.graphql.syntax.UnionTypeDefinition"++_UnionTypeDefinition_Description = Model.Name "Description"++_UnionTypeDefinition_Name = Model.Name "Name"++_UnionTypeDefinition_Directives = Model.Name "Directives"++_UnionTypeDefinition_UnionMemberTypes = Model.Name "UnionMemberTypes"++-- | An extension of a GraphQL union type, either adding member types or only directives.+data UnionTypeExtension =+ UnionTypeExtensionSeq UnionTypeExtensionSequence |+ UnionTypeExtensionSeq2 UnionTypeExtensionSequence2+ deriving (Eq, Ord, Read, Show)++_UnionTypeExtension = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtension"++_UnionTypeExtension_seq = Model.Name "seq"++_UnionTypeExtension_seq2 = Model.Name "seq2"++-- | A union type extension that adds new member types.+data UnionTypeExtensionSequence =+ UnionTypeExtensionSequence {+ unionTypeExtensionSequenceName :: Name,+ unionTypeExtensionSequenceDirectives :: (Maybe Directives),+ unionTypeExtensionSequenceUnionMemberTypes :: UnionMemberTypes}+ deriving (Eq, Ord, Read, Show)++_UnionTypeExtensionSequence = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence"++_UnionTypeExtensionSequence_Name = Model.Name "Name"++_UnionTypeExtensionSequence_Directives = Model.Name "Directives"++_UnionTypeExtensionSequence_UnionMemberTypes = Model.Name "UnionMemberTypes"++-- | A union type extension consisting of directives only.+data UnionTypeExtensionSequence2 =+ UnionTypeExtensionSequence2 {+ unionTypeExtensionSequence2Name :: Name,+ unionTypeExtensionSequence2Directives :: Directives}+ deriving (Eq, Ord, Read, Show)++_UnionTypeExtensionSequence2 = Model.Name "hydra.ext.graphql.syntax.UnionTypeExtensionSequence2"++_UnionTypeExtensionSequence2_Name = Model.Name "Name"++_UnionTypeExtensionSequence2_Directives = Model.Name "Directives"++-- | A GraphQL value: a variable, literal, list, or object.+data Value =+ ValueVariable Variable |+ ValueInt IntValue |+ ValueFloat FloatValue |+ ValueString StringValue |+ ValueBoolean BooleanValue |+ ValueNull NullValue |+ ValueEnum EnumValue |+ ValueList ListValue |+ ValueObject ObjectValue+ deriving (Eq, Ord, Read, Show)++_Value = Model.Name "hydra.ext.graphql.syntax.Value"++_Value_Variable = Model.Name "Variable"++_Value_int = Model.Name "int"++_Value_float = Model.Name "float"++_Value_string = Model.Name "string"++_Value_boolean = Model.Name "boolean"++_Value_null = Model.Name "null"++_Value_enum = Model.Name "enum"++_Value_list = Model.Name "list"++_Value_object = Model.Name "object"++-- | A GraphQL variable reference, introduced by a dollar sign.+newtype Variable =+ Variable {+ unVariable :: Name}+ deriving (Eq, Ord, Read, Show)++_Variable = Model.Name "hydra.ext.graphql.syntax.Variable"++-- | A single variable definition in a GraphQL operation's variable list.+data VariablesDefinition =+ VariablesDefinition {+ variablesDefinitionVariable :: Variable,+ variablesDefinitionType :: Type,+ variablesDefinitionDefaultValue :: (Maybe DefaultValue),+ variablesDefinitionDirectives :: (Maybe Directives)}+ deriving (Eq, Ord, Read, Show)++_VariablesDefinition = Model.Name "hydra.ext.graphql.syntax.VariablesDefinition"++_VariablesDefinition_Variable = Model.Name "Variable"++_VariablesDefinition_Type = Model.Name "Type"++_VariablesDefinition_DefaultValue = Model.Name "DefaultValue"++_VariablesDefinition_Directives = Model.Name "Directives"
+ src/main/haskell/Hydra/Ext/Iana/Linkrelations.hs view
@@ -0,0 +1,500 @@+-- Note: this is an automatically generated file. Do not edit.++-- | All IANA Link Relation Types, as of 2022-10-11. See https://www.iana.org/assignments/link-relations/link-relations.xhtml++module Hydra.Ext.Iana.Linkrelations where++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++-- | An IANA link relation type+data LinkRelationType =+ -- | Refers to a resource that is the subject of the link's context. [RFC6903], section 2+ LinkRelationTypeAbout |+ -- | Asserts that the link target provides an access control resource for the link context. [https://solidproject.org/TR/wac#acl-link-relation]+ LinkRelationTypeAcl |+ -- | Refers to a substitute for this context [HTML]+ LinkRelationTypeAlternate |+ -- | Used to reference alternative content that uses the AMP profile of the HTML format. [AMP HTML]+ LinkRelationTypeAmphtml |+ -- | Refers to an appendix. [HTML 4.01 Specification]+ LinkRelationTypeAppendix |+ -- | Refers to an icon for the context. Synonym for icon. [Configuring Web Applications]+ LinkRelationTypeApple_touch_icon |+ -- | Refers to a launch screen for the context. [Configuring Web Applications]+ LinkRelationTypeApple_touch_startup_image |+ -- | Refers to a collection of records, documents, or other materials of historical interest. [HTML5]+ LinkRelationTypeArchives |+ -- | Refers to the context's author. [HTML]+ LinkRelationTypeAuthor |+ -- | Identifies the entity that blocks access to a resource following receipt of a legal demand. [RFC7725]+ LinkRelationTypeBlocked_by |+ -- | Gives a permanent link to use for bookmarking purposes. [HTML]+ LinkRelationTypeBookmark |+ -- | Designates the preferred version of a resource (the IRI and its contents). [RFC6596]+ LinkRelationTypeCanonical |+ -- | Refers to a chapter in a collection of resources. [HTML 4.01 Specification]+ LinkRelationTypeChapter |+ -- | Indicates that the link target is preferred over the link context for the purpose of permanent citation. [RFC8574]+ LinkRelationTypeCite_as |+ -- | The target IRI points to a resource which represents the collection resource for the context IRI. [RFC6573]+ LinkRelationTypeCollection |+ -- | Refers to a table of contents. [HTML 4.01 Specification]+ LinkRelationTypeContents |+ -- | The document linked to was later converted to the document that contains this link relation. For example, an RFC can have a link to the Internet-Draft that became the RFC; in that case, the link relation would be "convertedFrom". [RFC7991] This relation is different than "predecessor-version" in that "predecessor-version" is for items in a version control system. It is also different than "previous" in that this relation is used for converted resources, not those that are part of a sequence of resources.+ LinkRelationTypeConvertedfrom |+ -- | Refers to a copyright statement that applies to the link's context. [HTML 4.01 Specification]+ LinkRelationTypeCopyright |+ -- | The target IRI points to a resource where a submission form can be obtained. [RFC6861]+ LinkRelationTypeCreate_form |+ -- | Refers to a resource containing the most recent item(s) in a collection of resources. [RFC5005]+ LinkRelationTypeCurrent |+ -- | Refers to a resource providing information about the link's context. [Protocol for Web Description Resources (POWDER)]+ LinkRelationTypeDescribedby |+ -- | The relationship A 'describes' B asserts that resource A provides a description of resource B. There are no constraints on the format or representation of either A or B, neither are there any further constraints on either resource. [RFC6892] This link relation type is the inverse of the 'describedby' relation type. While 'describedby' establishes a relation from the described resource back to the resource that describes it, 'describes' established a relation from the describing resource to the resource it describes. If B is 'describedby' A, then A 'describes' B.+ LinkRelationTypeDescribes |+ -- | Refers to a list of patent disclosures made with respect to material for which 'disclosure' relation is specified. [RFC6579]+ LinkRelationTypeDisclosure |+ -- | Used to indicate an origin that will be used to fetch required resources for the link context, and that the user agent ought to resolve as early as possible. [Resource Hints]+ LinkRelationTypeDns_prefetch |+ -- | Refers to a resource whose available representations are byte-for-byte identical with the corresponding representations of the context IRI. [RFC6249] This relation is for static resources. That is, an HTTP GET request on any duplicate will return the same representation. It does not make sense for dynamic or POSTable resources and should not be used for them.+ LinkRelationTypeDuplicate |+ -- | Refers to a resource that can be used to edit the link's context. [RFC5023]+ LinkRelationTypeEdit |+ -- | The target IRI points to a resource where a submission form for editing associated resource can be obtained. [RFC6861]+ LinkRelationTypeEdit_form |+ -- | Refers to a resource that can be used to edit media associated with the link's context. [RFC5023]+ LinkRelationTypeEdit_media |+ -- | Identifies a related resource that is potentially large and might require special handling. [RFC4287]+ LinkRelationTypeEnclosure |+ -- | Refers to a resource that is not part of the same site as the current context. [HTML]+ LinkRelationTypeExternal |+ -- | An IRI that refers to the furthest preceding resource in a series of resources. [RFC8288] This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004.+ LinkRelationTypeFirst |+ -- | Refers to a glossary of terms. [HTML 4.01 Specification]+ LinkRelationTypeGlossary |+ -- | Refers to context-sensitive help. [HTML]+ LinkRelationTypeHelp |+ -- | Refers to a resource hosted by the server indicated by the link context. [RFC6690] This relation is used in CoRE where links are retrieved as a "/.well-known/core" resource representation, and is the default relation type in the CoRE Link Format.+ LinkRelationTypeHosts |+ -- | Refers to a hub that enables registration for notification of updates to the context. [WebSub] This relation type was requested by Brett Slatkin.+ LinkRelationTypeHub |+ -- | Refers to an icon representing the link's context. [HTML]+ LinkRelationTypeIcon |+ -- | Refers to an index. [HTML 4.01 Specification]+ LinkRelationTypeIndex |+ -- | refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.21+ LinkRelationTypeIntervalafter |+ -- | refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.22+ LinkRelationTypeIntervalbefore |+ -- | refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.23+ LinkRelationTypeIntervalcontains |+ -- | refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.24+ LinkRelationTypeIntervaldisjoint |+ -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.25+ LinkRelationTypeIntervalduring |+ -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.26+ LinkRelationTypeIntervalequals |+ -- | refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.27+ LinkRelationTypeIntervalfinishedby |+ -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.28+ LinkRelationTypeIntervalfinishes |+ -- | refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.29+ LinkRelationTypeIntervalin |+ -- | refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.30+ LinkRelationTypeIntervalmeets |+ -- | refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.31+ LinkRelationTypeIntervalmetby |+ -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.32+ LinkRelationTypeIntervaloverlappedby |+ -- | refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.33+ LinkRelationTypeIntervaloverlaps |+ -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.34+ LinkRelationTypeIntervalstartedby |+ -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.35+ LinkRelationTypeIntervalstarts |+ -- | The target IRI points to a resource that is a member of the collection represented by the context IRI. [RFC6573]+ LinkRelationTypeItem |+ -- | An IRI that refers to the furthest following resource in a series of resources. [RFC8288] This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004.+ LinkRelationTypeLast |+ -- | Points to a resource containing the latest (e.g., current) version of the context. [RFC5829]+ LinkRelationTypeLatest_version |+ -- | Refers to a license associated with this context. [RFC4946] For implications of use in HTML, see: http://www.w3.org/TR/html5/links.html#link-type-license+ LinkRelationTypeLicense |+ -- | The link target of a link with the "linkset" relation type provides a set of links, including links in which the link context of the link participates. [RFC9264]+ LinkRelationTypeLinkset |+ -- | Refers to further information about the link's context, expressed as a LRDD ("Link-based Resource Descriptor Document") resource. See [RFC6415] for information about processing this relation type in host-meta documents. When used elsewhere, it refers to additional links and other metadata. Multiple instances indicate additional LRDD resources. LRDD resources MUST have an "application/xrd+xml" representation, and MAY have others. [RFC6415]+ LinkRelationTypeLrdd |+ -- | Links to a manifest file for the context. [Web App Manifest]+ LinkRelationTypeManifest |+ -- | Refers to a mask that can be applied to the icon for the context. [Creating Pinned Tab Icons]+ LinkRelationTypeMask_icon |+ -- | Refers to a feed of personalised media recommendations relevant to the link context. [https://wicg.github.io/media-feeds/#discovery-of-media-feeds]+ LinkRelationTypeMedia_feed |+ -- | The Target IRI points to a Memento, a fixed resource that will not change state anymore. [RFC7089] A Memento for an Original Resource is a resource that encapsulates a prior state of the Original Resource.+ LinkRelationTypeMemento |+ -- | Links to the context's Micropub endpoint. [Micropub]+ LinkRelationTypeMicropub |+ -- | Refers to a module that the user agent is to preemptively fetch and store for use in the current context. [HTML]+ LinkRelationTypeModulepreload |+ -- | Refers to a resource that can be used to monitor changes in an HTTP resource. [RFC5989]+ LinkRelationTypeMonitor |+ -- | Refers to a resource that can be used to monitor changes in a specified group of HTTP resources. [RFC5989]+ LinkRelationTypeMonitor_group |+ -- | Indicates that the link's context is a part of a series, and that the next in the series is the link target. [HTML]+ LinkRelationTypeNext |+ -- | Refers to the immediately following archive resource. [RFC5005]+ LinkRelationTypeNext_archive |+ -- | Indicates that the context's original author or publisher does not endorse the link target. [HTML]+ LinkRelationTypeNofollow |+ -- | Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context. [HTML]+ LinkRelationTypeNoopener |+ -- | Indicates that no referrer information is to be leaked when following the link. [HTML]+ LinkRelationTypeNoreferrer |+ -- | Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context. [HTML]+ LinkRelationTypeOpener |+ -- | Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier. [OpenID Authentication 2.0 - Final]+ LinkRelationTypeOpenid2_local_id |+ -- | Refers to a resource which accepts OpenID Authentication protocol messages for the context. [OpenID Authentication 2.0 - Final]+ LinkRelationTypeOpenid2_provider |+ -- | The Target IRI points to an Original Resource. [RFC7089] An Original Resource is a resource that exists or used to exist, and for which access to one of its prior states may be required.+ LinkRelationTypeOriginal |+ -- | Refers to a P3P privacy policy for the context. [The Platform for Privacy Preferences 1.0 (P3P1.0) Specification]+ LinkRelationTypeP3pv1 |+ -- | Indicates a resource where payment is accepted. [RFC8288] This relation type registration did not indicate a reference. Requested by Joshua Kinberg and Robert Sayre. It is meant as a general way to facilitate acts of payment, and thus this specification makes no assumptions on the type of payment or transaction protocol. Examples may include a web page where donations are accepted or where goods and services are available for purchase. rel="payment" is not intended to initiate an automated transaction. In Atom documents, a link element with a rel="payment" attribute may exist at the feed/channel level and/or the entry/item level. For example, a rel="payment" link at the feed/channel level may point to a "tip jar" URI, whereas an entry/ item containing a book review may include a rel="payment" link that points to the location where the book may be purchased through an online retailer.+ LinkRelationTypePayment |+ -- | Gives the address of the pingback resource for the link context. [Pingback 1.0]+ LinkRelationTypePingback |+ -- | Used to indicate an origin that will be used to fetch required resources for the link context. Initiating an early connection, which includes the DNS lookup, TCP handshake, and optional TLS negotiation, allows the user agent to mask the high latency costs of establishing a connection. [Resource Hints]+ LinkRelationTypePreconnect |+ -- | Points to a resource containing the predecessor version in the version history. [RFC5829]+ LinkRelationTypePredecessor_version |+ -- | The prefetch link relation type is used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch, such that the user agent can deliver a faster response once the resource is requested in the future. [Resource Hints]+ LinkRelationTypePrefetch |+ -- | Refers to a resource that should be loaded early in the processing of the link's context, without blocking rendering. [Preload] Additional target attributes establish the detailed fetch properties of the link.+ LinkRelationTypePreload |+ -- | Used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch and execute, such that the user agent can deliver a faster response once the resource is requested in the future. [Resource Hints]+ LinkRelationTypePrerender |+ -- | Indicates that the link's context is a part of a series, and that the previous in the series is the link target. [HTML]+ LinkRelationTypePrev |+ -- | Refers to a resource that provides a preview of the link's context. [RFC6903], section 3+ LinkRelationTypePreview |+ -- | Refers to the previous resource in an ordered series of resources. Synonym for "prev". [HTML 4.01 Specification]+ LinkRelationTypePrevious |+ -- | Refers to the immediately preceding archive resource. [RFC5005]+ LinkRelationTypePrev_archive |+ -- | Refers to a privacy policy associated with the link's context. [RFC6903], section 4+ LinkRelationTypePrivacy_policy |+ -- | Identifying that a resource representation conforms to a certain profile, without affecting the non-profile semantics of the resource representation. [RFC6906] Profile URIs are primarily intended to be used as identifiers, and thus clients SHOULD NOT indiscriminately access profile URIs.+ LinkRelationTypeProfile |+ -- | Links to a publication manifest. A manifest represents structured information about a publication, such as informative metadata, a list of resources, and a default reading order. [Publication Manifest]+ LinkRelationTypePublication |+ -- | Identifies a related resource. [RFC4287]+ LinkRelationTypeRelated |+ -- | Identifies the root of RESTCONF API as configured on this HTTP server. The "restconf" relation defines the root of the API defined in RFC8040. Subsequent revisions of RESTCONF will use alternate relation values to support protocol versioning. [RFC8040]+ LinkRelationTypeRestconf |+ -- | Identifies a resource that is a reply to the context of the link. [RFC4685]+ LinkRelationTypeReplies |+ -- | The resource identified by the link target provides an input value to an instance of a rule, where the resource which represents the rule instance is identified by the link context. [OCF Core Optional 2.2.0]+ LinkRelationTypeRuleinput |+ -- | Refers to a resource that can be used to search through the link's context and related resources. [OpenSearch]+ LinkRelationTypeSearch |+ -- | Refers to a section in a collection of resources. [HTML 4.01 Specification]+ LinkRelationTypeSection |+ -- | Conveys an identifier for the link's context. [RFC4287]+ LinkRelationTypeSelf |+ -- | Indicates a URI that can be used to retrieve a service document. [RFC5023] When used in an Atom document, this relation type specifies Atom Publishing Protocol service documents by default. Requested by James Snell.+ LinkRelationTypeService |+ -- | Identifies service description for the context that is primarily intended for consumption by machines. [RFC8631]+ LinkRelationTypeService_desc |+ -- | Identifies service documentation for the context that is primarily intended for human consumption. [RFC8631]+ LinkRelationTypeService_doc |+ -- | Identifies general metadata for the context that is primarily intended for consumption by machines. [RFC8631]+ LinkRelationTypeService_meta |+ -- | refers to a capability document that defines parameters or configuration requirements for automated peering and communication channel negotiation of the Session Initiation Protocol (SIP). [draft-engi-siptrunkingcapability-link]+ LinkRelationTypeSiptrunkingcapability |+ -- | Refers to a resource that is within a context that is sponsored (such as advertising or another compensation agreement). [Google Blog post 09-2019]+ LinkRelationTypeSponsored |+ -- | Refers to the first resource in a collection of resources. [HTML 4.01 Specification]+ LinkRelationTypeStart |+ -- | Identifies a resource that represents the context's status. [RFC8631]+ LinkRelationTypeStatus |+ -- | Refers to a stylesheet. [HTML]+ LinkRelationTypeStylesheet |+ -- | Refers to a resource serving as a subsection in a collection of resources. [HTML 4.01 Specification]+ LinkRelationTypeSubsection |+ -- | Points to a resource containing the successor version in the version history. [RFC5829]+ LinkRelationTypeSuccessor_version |+ -- | Identifies a resource that provides information about the context's retirement policy. [RFC8594]+ LinkRelationTypeSunset |+ -- | Gives a tag (identified by the given address) that applies to the current document. [HTML]+ LinkRelationTypeTag |+ -- | Refers to the terms of service associated with the link's context. [RFC6903], section 5+ LinkRelationTypeTerms_of_service |+ -- | The Target IRI points to a TimeGate for an Original Resource. [RFC7089] A TimeGate for an Original Resource is a resource that is capable of datetime negotiation to support access to prior states of the Original Resource.+ LinkRelationTypeTimegate |+ -- | The Target IRI points to a TimeMap for an Original Resource. [RFC7089] A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available.+ LinkRelationTypeTimemap |+ -- | Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance. [RFC6903], section 6+ LinkRelationTypeType |+ -- | Refers to a resource that is within a context that is User Generated Content. [Google Blog post 09-2019]+ LinkRelationTypeUgc |+ -- | Refers to a parent document in a hierarchy of documents. [RFC8288] This relation type registration did not indicate a reference. Requested by Noah Slater.+ LinkRelationTypeUp |+ -- | Points to a resource containing the version history for the context. [RFC5829]+ LinkRelationTypeVersion_history |+ -- | Identifies a resource that is the source of the information in the link's context. [RFC4287]+ LinkRelationTypeVia |+ -- | Identifies a target URI that supports the Webmention protocol. This allows clients that mention a resource in some form of publishing process to contact that endpoint and inform it that this resource has been mentioned. [Webmention] This is a similar "Linkback" mechanism to the ones of Refback, Trackback, and Pingback. It uses a different protocol, though, and thus should be discoverable through its own link relation type.+ LinkRelationTypeWebmention |+ -- | Points to a working copy for this resource. [RFC5829]+ LinkRelationTypeWorking_copy |+ -- | Points to the versioned resource from which this working copy was obtained. [RFC5829]+ LinkRelationTypeWorking_copy_of+ deriving (Eq, Ord, Read, Show)++_LinkRelationType = Model.Name "hydra.ext.iana.linkrelations.LinkRelationType"++_LinkRelationType_about = Model.Name "about"++_LinkRelationType_acl = Model.Name "acl"++_LinkRelationType_alternate = Model.Name "alternate"++_LinkRelationType_amphtml = Model.Name "amphtml"++_LinkRelationType_appendix = Model.Name "appendix"++_LinkRelationType_apple_touch_icon = Model.Name "apple-touch-icon"++_LinkRelationType_apple_touch_startup_image = Model.Name "apple-touch-startup-image"++_LinkRelationType_archives = Model.Name "archives"++_LinkRelationType_author = Model.Name "author"++_LinkRelationType_blocked_by = Model.Name "blocked-by"++_LinkRelationType_bookmark = Model.Name "bookmark"++_LinkRelationType_canonical = Model.Name "canonical"++_LinkRelationType_chapter = Model.Name "chapter"++_LinkRelationType_cite_as = Model.Name "cite-as"++_LinkRelationType_collection = Model.Name "collection"++_LinkRelationType_contents = Model.Name "contents"++_LinkRelationType_convertedfrom = Model.Name "convertedfrom"++_LinkRelationType_copyright = Model.Name "copyright"++_LinkRelationType_create_form = Model.Name "create-form"++_LinkRelationType_current = Model.Name "current"++_LinkRelationType_describedby = Model.Name "describedby"++_LinkRelationType_describes = Model.Name "describes"++_LinkRelationType_disclosure = Model.Name "disclosure"++_LinkRelationType_dns_prefetch = Model.Name "dns-prefetch"++_LinkRelationType_duplicate = Model.Name "duplicate"++_LinkRelationType_edit = Model.Name "edit"++_LinkRelationType_edit_form = Model.Name "edit-form"++_LinkRelationType_edit_media = Model.Name "edit-media"++_LinkRelationType_enclosure = Model.Name "enclosure"++_LinkRelationType_external = Model.Name "external"++_LinkRelationType_first = Model.Name "first"++_LinkRelationType_glossary = Model.Name "glossary"++_LinkRelationType_help = Model.Name "help"++_LinkRelationType_hosts = Model.Name "hosts"++_LinkRelationType_hub = Model.Name "hub"++_LinkRelationType_icon = Model.Name "icon"++_LinkRelationType_index = Model.Name "index"++_LinkRelationType_intervalafter = Model.Name "intervalafter"++_LinkRelationType_intervalbefore = Model.Name "intervalbefore"++_LinkRelationType_intervalcontains = Model.Name "intervalcontains"++_LinkRelationType_intervaldisjoint = Model.Name "intervaldisjoint"++_LinkRelationType_intervalduring = Model.Name "intervalduring"++_LinkRelationType_intervalequals = Model.Name "intervalequals"++_LinkRelationType_intervalfinishedby = Model.Name "intervalfinishedby"++_LinkRelationType_intervalfinishes = Model.Name "intervalfinishes"++_LinkRelationType_intervalin = Model.Name "intervalin"++_LinkRelationType_intervalmeets = Model.Name "intervalmeets"++_LinkRelationType_intervalmetby = Model.Name "intervalmetby"++_LinkRelationType_intervaloverlappedby = Model.Name "intervaloverlappedby"++_LinkRelationType_intervaloverlaps = Model.Name "intervaloverlaps"++_LinkRelationType_intervalstartedby = Model.Name "intervalstartedby"++_LinkRelationType_intervalstarts = Model.Name "intervalstarts"++_LinkRelationType_item = Model.Name "item"++_LinkRelationType_last = Model.Name "last"++_LinkRelationType_latest_version = Model.Name "latest-version"++_LinkRelationType_license = Model.Name "license"++_LinkRelationType_linkset = Model.Name "linkset"++_LinkRelationType_lrdd = Model.Name "lrdd"++_LinkRelationType_manifest = Model.Name "manifest"++_LinkRelationType_mask_icon = Model.Name "mask-icon"++_LinkRelationType_media_feed = Model.Name "media-feed"++_LinkRelationType_memento = Model.Name "memento"++_LinkRelationType_micropub = Model.Name "micropub"++_LinkRelationType_modulepreload = Model.Name "modulepreload"++_LinkRelationType_monitor = Model.Name "monitor"++_LinkRelationType_monitor_group = Model.Name "monitor-group"++_LinkRelationType_next = Model.Name "next"++_LinkRelationType_next_archive = Model.Name "next-archive"++_LinkRelationType_nofollow = Model.Name "nofollow"++_LinkRelationType_noopener = Model.Name "noopener"++_LinkRelationType_noreferrer = Model.Name "noreferrer"++_LinkRelationType_opener = Model.Name "opener"++_LinkRelationType_openid2_local_id = Model.Name "openid2.local_id"++_LinkRelationType_openid2_provider = Model.Name "openid2.provider"++_LinkRelationType_original = Model.Name "original"++_LinkRelationType_p3pv1 = Model.Name "p3pv1"++_LinkRelationType_payment = Model.Name "payment"++_LinkRelationType_pingback = Model.Name "pingback"++_LinkRelationType_preconnect = Model.Name "preconnect"++_LinkRelationType_predecessor_version = Model.Name "predecessor-version"++_LinkRelationType_prefetch = Model.Name "prefetch"++_LinkRelationType_preload = Model.Name "preload"++_LinkRelationType_prerender = Model.Name "prerender"++_LinkRelationType_prev = Model.Name "prev"++_LinkRelationType_preview = Model.Name "preview"++_LinkRelationType_previous = Model.Name "previous"++_LinkRelationType_prev_archive = Model.Name "prev-archive"++_LinkRelationType_privacy_policy = Model.Name "privacy-policy"++_LinkRelationType_profile = Model.Name "profile"++_LinkRelationType_publication = Model.Name "publication"++_LinkRelationType_related = Model.Name "related"++_LinkRelationType_restconf = Model.Name "restconf"++_LinkRelationType_replies = Model.Name "replies"++_LinkRelationType_ruleinput = Model.Name "ruleinput"++_LinkRelationType_search = Model.Name "search"++_LinkRelationType_section = Model.Name "section"++_LinkRelationType_self = Model.Name "self"++_LinkRelationType_service = Model.Name "service"++_LinkRelationType_service_desc = Model.Name "service-desc"++_LinkRelationType_service_doc = Model.Name "service-doc"++_LinkRelationType_service_meta = Model.Name "service-meta"++_LinkRelationType_siptrunkingcapability = Model.Name "siptrunkingcapability"++_LinkRelationType_sponsored = Model.Name "sponsored"++_LinkRelationType_start = Model.Name "start"++_LinkRelationType_status = Model.Name "status"++_LinkRelationType_stylesheet = Model.Name "stylesheet"++_LinkRelationType_subsection = Model.Name "subsection"++_LinkRelationType_successor_version = Model.Name "successor-version"++_LinkRelationType_sunset = Model.Name "sunset"++_LinkRelationType_tag = Model.Name "tag"++_LinkRelationType_terms_of_service = Model.Name "terms-of-service"++_LinkRelationType_timegate = Model.Name "timegate"++_LinkRelationType_timemap = Model.Name "timemap"++_LinkRelationType_type = Model.Name "type"++_LinkRelationType_ugc = Model.Name "ugc"++_LinkRelationType_up = Model.Name "up"++_LinkRelationType_version_history = Model.Name "version-history"++_LinkRelationType_via = Model.Name "via"++_LinkRelationType_webmention = Model.Name "webmention"++_LinkRelationType_working_copy = Model.Name "working-copy"++_LinkRelationType_working_copy_of = Model.Name "working-copy-of"
+ src/main/haskell/Hydra/Ext/Json/Schema/Coder.hs view
@@ -0,0 +1,292 @@+-- Note: this is an automatically generated file. Do not edit.++-- | JSON Schema code generator: converts Hydra modules to JSON Schema documents++module Hydra.Ext.Json.Schema.Coder where++import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Dependencies as Dependencies+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Environment as Environment+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Model as JsonModel+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.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.Markdown as Markdown+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.Predicates as Predicates+import qualified Hydra.Core.Print.Variants as PrintVariants+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Reflect as Reflect+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Json.Schema.Model as SchemaModel+import qualified Hydra.Ext.Json.Schema.Serde as Serde+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++-- | Construct JSON Schema documents from type definitions+constructModule :: t0 -> Graph.Graph -> t1 -> [Packaging.TypeDefinition] -> Either Errors.Error (M.Map String SchemaModel.Document)+constructModule cx g mod typeDefs =++ let typeBody = \td -> Model.typeSchemeBody (Packaging.typeDefinitionBody td)+ typeMap = Maps.fromList (Lists.map (\td -> (Packaging.typeDefinitionName td, (typeBody td))) typeDefs)+ in (Eithers.map (\ps -> Maps.fromList ps) (Eithers.mapList (\td -> typeDefToDocument cx g typeMap (Packaging.typeDefinitionName td) (typeBody td)) typeDefs))++-- | Build a single-property record Schema for one branch of an Either oneOf+eitherBranch :: String -> [SchemaModel.Restriction] -> SchemaModel.Schema+eitherBranch label res =+ SchemaModel.Schema [+ SchemaModel.RestrictionType (SchemaModel.TypeSingle SchemaModel.TypeNameObject),+ (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.singleton (SchemaModel.Keyword label) (SchemaModel.Schema res)))),+ (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired [+ SchemaModel.Keyword label])),+ (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False)))]++-- | Encode a field type as a JSON Schema keyword-schema pair+encodeField :: t0 -> Graph.Graph -> Model.FieldType -> Either Errors.Error (SchemaModel.Keyword, SchemaModel.Schema)+encodeField cx g ft =++ let name = Model.fieldTypeName ft+ typ = Model.fieldTypeType ft+ in (Eithers.map (\res -> (SchemaModel.Keyword (Model.unName name), (SchemaModel.Schema res))) (typeToExpr cx g False typ))++-- | Encode a Hydra name as a safe identifier string, replacing non-alphanumeric characters with underscores+encodeName :: Model.Name -> String+encodeName name = Formatting.nonAlnumToUnderscores (Model.unName name)++-- | Encode a named type as a list of JSON Schema restrictions with a title+encodeNamedType :: t0 -> Graph.Graph -> Model.Name -> Model.Type -> Either Errors.Error [SchemaModel.Restriction]+encodeNamedType cx g name typ =+ Eithers.map (\res -> Lists.concat [+ [+ SchemaModel.RestrictionTitle (Model.unName name)],+ res]) (typeToExpr cx g False (Strip.deannotateType typ))++-- | Encode a record or union as a list of JSON Schema object restrictions; isUnion adds min/maxProperties=1+encodeRecordOrUnion :: t0 -> Graph.Graph -> Bool -> Bool -> [Model.FieldType] -> Either Errors.Error [SchemaModel.Restriction]+encodeRecordOrUnion cx g optional isUnion fields =+ Eithers.bind (Eithers.mapList (\ft -> encodeField cx g ft) fields) (\props ->+ let objRes = [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.fromList props))]+ reqs =+ Lists.foldl (\acc -> \f -> Logic.ifElse (isRequiredField f) (Lists.concat2 acc [+ SchemaModel.Keyword (Model.unName (Model.fieldTypeName f))]) acc) [] fields+ reqRes =+ Logic.ifElse (Lists.isEmpty reqs) [] [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired reqs)]+ addPropsRes =+ [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False))]+ cardRes =+ Logic.ifElse isUnion [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionMinProperties 1),+ (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionMaxProperties 1))] []+ in (Right (Lists.concat [+ jsType optional SchemaModel.TypeNameObject,+ objRes,+ reqRes,+ addPropsRes,+ cardRes])))++-- | Encode a union type, splitting unit-typed (simple) variants into a string-enum branch+encodeUnion :: t0 -> Graph.Graph -> Bool -> [Model.FieldType] -> Either Errors.Error [SchemaModel.Restriction]+encodeUnion cx g optional fields =++ let isSimple = \f -> Predicates.isUnitType (Strip.deannotateType (Model.fieldTypeType f))+ simple = Lists.filter isSimple fields+ nonsimple = Lists.filter (\f -> Logic.not (isSimple f)) fields+ in (Logic.ifElse (Lists.isEmpty simple) (encodeRecordOrUnion cx g optional True fields) (Eithers.bind (encodeRecordOrUnion cx g False True nonsimple) (\recRes ->+ let names = Lists.map (\f -> Model.unName (Model.fieldTypeName f)) simple+ simpleSchema =+ SchemaModel.Schema [+ SchemaModel.RestrictionType (SchemaModel.TypeSingle SchemaModel.TypeNameString),+ (SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionEnum (Lists.map (\n -> JsonModel.ValueString n) names)))]+ in (Right [+ SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionOneOf [+ SchemaModel.Schema recRes,+ simpleSchema])]))))++-- | Determine whether a field is required (i.e., not optional/Maybe)+isRequiredField :: Model.FieldType -> Bool+isRequiredField ft =++ let typ = Model.fieldTypeType ft+ in case (Strip.deannotateType typ) of+ Model.TypeOptional _ -> False+ _ -> True++-- | Build the JSON Schema type-restriction list for a type name, optionally widening to allow null+jsType :: Bool -> SchemaModel.TypeName -> [SchemaModel.Restriction]+jsType optional tname =+ [+ SchemaModel.RestrictionType (Logic.ifElse optional (SchemaModel.TypeMultiple [+ tname,+ SchemaModel.TypeNameNull]) (SchemaModel.TypeSingle tname))]++-- | Map a Hydra literal type to a JSON Schema type name. Integer widths beyond the JSON number safe-integer range (int64, uint64, bigint) map to "string", matching the value coder (Hydra.Sources.Json.Encode.encodeInteger), which writes those widths as JSON strings to preserve precision beyond 2^53-1.+literalTypeName :: Model.LiteralType -> SchemaModel.TypeName+literalTypeName lt =+ case lt of+ Model.LiteralTypeBinary -> SchemaModel.TypeNameString+ Model.LiteralTypeBoolean -> SchemaModel.TypeNameBoolean+ Model.LiteralTypeFloat _ -> SchemaModel.TypeNameNumber+ Model.LiteralTypeInteger v0 -> case v0 of+ Model.IntegerTypeBigint -> SchemaModel.TypeNameString+ Model.IntegerTypeInt64 -> SchemaModel.TypeNameString+ Model.IntegerTypeUint64 -> SchemaModel.TypeNameString+ _ -> SchemaModel.TypeNameInteger+ Model.LiteralTypeString -> SchemaModel.TypeNameString+ _ -> SchemaModel.TypeNameString++-- | Convert a Hydra module to a map from file path to JSON Schema document string+moduleToJsonSchema :: t0 -> [Packaging.Definition] -> t1 -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToJsonSchema mod defs cx g =++ let partitioned = Environment.partitionDefinitions defs+ typeDefs = Pairs.first partitioned+ in (Eithers.map (\docs -> Maps.map (\doc -> Serde.jsonSchemaDocumentToString doc) docs) (constructModule cx g mod typeDefs))++-- | Compute the JSON Schema output file path for a named type+nameToPath :: Model.Name -> String+nameToPath name =++ let qn = Names.qualifyName name+ mns = Util.qualifiedNameModuleName qn+ local = Util.qualifiedNameLocal qn+ nsPart = Optionals.match mns "" (\ns -> Strings.concat2 (Packaging.unModuleName ns) ".")+ in (Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "json") (Packaging.ModuleName (Strings.concat2 nsPart local)))++-- | Build the JSON Schema restriction list for a pair type+pairRestrictions :: Bool -> [SchemaModel.Restriction] -> [SchemaModel.Restriction] -> [SchemaModel.Restriction]+pairRestrictions optional firstRes secondRes =+ Lists.concat [+ jsType optional SchemaModel.TypeNameObject,+ [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.fromList [+ (SchemaModel.Keyword "first", (SchemaModel.Schema firstRes)),+ (SchemaModel.Keyword "second", (SchemaModel.Schema secondRes))]))],+ [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired [+ SchemaModel.Keyword "first",+ (SchemaModel.Keyword "second")])],+ [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False))]]++-- | Create a JSON Schema reference restriction for a named type+referenceRestriction :: Model.Name -> SchemaModel.Restriction+referenceRestriction name =+ SchemaModel.RestrictionReference (SchemaModel.SchemaReference (Strings.concat [+ "#/$defs/",+ (encodeName name)]))++-- | Walk the transitive named-type dependency closure of a root type through typeMap; the visited set guards against cycles in self-/mutually-recursive types+transitiveTypeDeps :: M.Map Model.Name Model.Type -> S.Set Model.Name -> Model.Type -> S.Set Model.Name+transitiveTypeDeps typeMap visited rootType =++ let directDeps = Dependencies.typeDependencyNames True rootType+ step =+ \acc -> \n -> Logic.ifElse (Sets.member n acc) acc (+ let acc1 = Sets.insert n acc+ in (Optionals.match (Maps.lookup n typeMap) acc1 (\t -> transitiveTypeDeps typeMap acc1 t)))+ in (Lists.foldl step visited (Sets.toList directDeps))++-- | Build a JSON Schema document for a single named type, with $defs covering its transitive dependencies and short-name substitution applied+typeDefToDocument :: t0 -> Graph.Graph -> M.Map Model.Name Model.Type -> Model.Name -> Model.Type -> Either Errors.Error (String, SchemaModel.Document)+typeDefToDocument cx g typeMap rootName rootType =++ let depNames = Sets.toList (transitiveTypeDeps typeMap Sets.empty rootType)+ allNames = Lists.concat2 [+ rootName] (Lists.filter (\n -> Logic.not (Equality.equal n rootName)) depNames)+ allTypes = Lists.map (\n -> Optionals.withDefault (Model.TypeVariable n) (Maps.lookup n typeMap)) allNames+ nameSubst = Dependencies.toShortNames allNames+ types = Lists.map (\t -> Variables.substituteTypeVariables nameSubst t) allTypes+ names = Lists.map (\n -> Optionals.withDefault n (Maps.lookup n nameSubst)) allNames+ subRoot = Optionals.withDefault rootName (Maps.lookup rootName nameSubst)+ pairs = Lists.zip names types+ in (Eithers.bind (Eithers.mapList (\p -> typeToKeywordSchemaPair cx g (Pairs.first p) (Pairs.second p)) pairs) (\schemas -> Right (+ nameToPath rootName,+ SchemaModel.Document {+ SchemaModel.documentId = Nothing,+ SchemaModel.documentDefinitions = (Just (Maps.fromList schemas)),+ SchemaModel.documentRoot = (SchemaModel.Schema [+ referenceRestriction subRoot])})))++-- | Encode a Hydra type as a list of JSON Schema restrictions+typeToExpr :: t0 -> Graph.Graph -> Bool -> Model.Type -> Either Errors.Error [SchemaModel.Restriction]+typeToExpr cx g optional typ =+ case typ of+ Model.TypeAnnotated _ -> Eithers.bind (typeToExpr cx g optional (Strip.deannotateType typ)) (\res -> Eithers.bind (Annotations.getTypeDescription cx g typ) (\mdesc -> Right (Lists.concat2 (Optionals.match mdesc [] (\d -> [+ SchemaModel.RestrictionDescription d])) res)))+ Model.TypeApplication v0 -> typeToExpr cx g optional (Model.applicationTypeFunction v0)+ Model.TypeEither v0 ->+ let lt = Model.eitherTypeLeft v0+ rt = Model.eitherTypeRight v0+ in (Eithers.bind (typeToExpr cx g False lt) (\leftRes -> Eithers.bind (typeToExpr cx g False rt) (\rightRes -> Right [+ SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionOneOf [+ eitherBranch "left" leftRes,+ (eitherBranch "right" rightRes)])])))+ Model.TypeForall v0 -> typeToExpr cx g optional (Model.forallTypeBody v0)+ Model.TypeList v0 -> Eithers.bind (typeToExpr cx g False v0) (\els -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameArray) [+ SchemaModel.RestrictionArray (SchemaModel.ArrayRestrictionItems (SchemaModel.ItemsSameItems (SchemaModel.Schema els)))]))+ Model.TypeLiteral v0 -> Right (jsType optional (literalTypeName v0))+ Model.TypeMap v0 ->+ let vt = Model.mapTypeValues v0+ in (Eithers.bind (typeToExpr cx g False vt) (\vRes -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameObject) [+ SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsSchema (SchemaModel.Schema vRes)))])))+ Model.TypeOptional v0 -> typeToExpr cx g True v0+ Model.TypePair v0 ->+ let ft = Model.pairTypeFirst v0+ st = Model.pairTypeSecond v0+ in (Eithers.bind (typeToExpr cx g False ft) (\firstRes -> Eithers.bind (typeToExpr cx g False st) (\secondRes -> Right (pairRestrictions optional firstRes secondRes))))+ Model.TypeRecord v0 -> encodeRecordOrUnion cx g optional False v0+ Model.TypeSet v0 -> Eithers.bind (typeToExpr cx g False v0) (\els -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameArray) [+ SchemaModel.RestrictionArray (SchemaModel.ArrayRestrictionItems (SchemaModel.ItemsSameItems (SchemaModel.Schema els)))]))+ Model.TypeUnion v0 -> encodeUnion cx g optional v0+ Model.TypeVariable v0 -> Right [+ referenceRestriction v0]+ Model.TypeWrap v0 -> typeToExpr cx g optional v0+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "JSON Schema: unsupported type variant: " (PrintVariants.typeVariant (Reflect.typeVariant typ)))))++-- | Build a (Keyword, Schema) pair for a named type, used as a $defs entry+typeToKeywordSchemaPair :: t0 -> Graph.Graph -> Model.Name -> Model.Type -> Either Errors.Error (SchemaModel.Keyword, SchemaModel.Schema)+typeToKeywordSchemaPair cx g name typ =+ Eithers.map (\res -> (SchemaModel.Keyword (encodeName name), (SchemaModel.Schema res))) (encodeNamedType cx g name typ)
+ src/main/haskell/Hydra/Ext/Json/Schema/Language.hs view
@@ -0,0 +1,100 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints for JSON Schema++module Hydra.Ext.Json.Schema.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Markdown as Markdown+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.Reflect as Reflect+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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++-- | Language constraints for JSON Schema+jsonSchemaLanguage :: Coders.Language+jsonSchemaLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.json.schema"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "json")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes = Sets.fromList [+ Model.FloatTypeFloat64]+ integerTypes = Sets.fromList [+ Model.IntegerTypeBigint]+ termVariants = Sets.fromList Reflect.termVariants+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantAnnotated,+ Variants.TypeVariantApplication,+ Variants.TypeVariantEither,+ Variants.TypeVariantForall,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantPair,+ Variants.TypeVariantRecord,+ Variants.TypeVariantSet,+ Variants.TypeVariantUnion,+ Variants.TypeVariantVariable,+ Variants.TypeVariantWrap]+ typePredicate = \_ -> True
+ src/main/haskell/Hydra/Ext/Json/Schema/Model.hs view
@@ -0,0 +1,280 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for JSON Schema. Based on https://cswr.github.io/JsonSchema/spec/grammar++module Hydra.Ext.Json.Schema.Model where++import qualified Hydra.Core.Json.Model as JsonModel+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+import qualified Data.Map as M++-- | Whether additional array items beyond those explicitly typed are permitted, and if so, their schema+data AdditionalItems =+ AdditionalItemsAny Bool |+ AdditionalItemsSchema Schema+ deriving (Eq, Ord, Read, Show)++_AdditionalItems = Model.Name "hydra.ext.json.schema.model.AdditionalItems"++_AdditionalItems_any = Model.Name "any"++_AdditionalItems_schema = Model.Name "schema"++-- | A restriction on array-typed values: items, additionalItems, minItems, maxItems, or uniqueItems+data ArrayRestriction =+ ArrayRestrictionItems Items |+ ArrayRestrictionAdditionalItems AdditionalItems |+ ArrayRestrictionMinItems Int |+ ArrayRestrictionMaxItems Int |+ ArrayRestrictionUniqueItems Bool+ deriving (Eq, Ord, Read, Show)++_ArrayRestriction = Model.Name "hydra.ext.json.schema.model.ArrayRestriction"++_ArrayRestriction_items = Model.Name "items"++_ArrayRestriction_additionalItems = Model.Name "additionalItems"++_ArrayRestriction_minItems = Model.Name "minItems"++_ArrayRestriction_maxItems = Model.Name "maxItems"++_ArrayRestriction_uniqueItems = Model.Name "uniqueItems"++-- | A JSON Schema document: an optional id, optional local definitions, and a root schema+data Document =+ Document {+ documentId :: (Maybe String),+ documentDefinitions :: (Maybe (M.Map Keyword Schema)),+ documentRoot :: Schema}+ deriving (Eq, Ord, Read, Show)++_Document = Model.Name "hydra.ext.json.schema.model.Document"++_Document_id = Model.Name "id"++_Document_definitions = Model.Name "definitions"++_Document_root = Model.Name "root"++-- | The schema(s) for array items: either a single schema shared by all items, or one schema per item+data Items =+ ItemsSameItems Schema |+ ItemsVarItems [Schema]+ deriving (Eq, Ord, Read, Show)++_Items = Model.Name "hydra.ext.json.schema.model.Items"++_Items_sameItems = Model.Name "sameItems"++_Items_varItems = Model.Name "varItems"++-- | A property name used as a key in a JSON Schema keyword-to-schema map+newtype Keyword =+ Keyword {+ unKeyword :: String}+ deriving (Eq, Ord, Read, Show)++_Keyword = Model.Name "hydra.ext.json.schema.model.Keyword"++-- | A numeric bound with a flag indicating whether the bound itself is excluded+data Limit =+ Limit {+ limitValue :: Int,+ limitExclusive :: Bool}+ deriving (Eq, Ord, Read, Show)++_Limit = Model.Name "hydra.ext.json.schema.model.Limit"++_Limit_value = Model.Name "value"++_Limit_exclusive = Model.Name "exclusive"++-- | A restriction combining multiple schemas: allOf, anyOf, oneOf, not, or enum+data MultipleRestriction =+ MultipleRestrictionAllOf [Schema] |+ MultipleRestrictionAnyOf [Schema] |+ MultipleRestrictionOneOf [Schema] |+ MultipleRestrictionNot Schema |+ MultipleRestrictionEnum [JsonModel.Value]+ deriving (Eq, Ord, Read, Show)++_MultipleRestriction = Model.Name "hydra.ext.json.schema.model.MultipleRestriction"++_MultipleRestriction_allOf = Model.Name "allOf"++_MultipleRestriction_anyOf = Model.Name "anyOf"++_MultipleRestriction_oneOf = Model.Name "oneOf"++_MultipleRestriction_not = Model.Name "not"++_MultipleRestriction_enum = Model.Name "enum"++-- | A restriction on numeric-typed values: a minimum, a maximum, or a multipleOf constraint+data NumericRestriction =+ NumericRestrictionMinimum Limit |+ NumericRestrictionMaximum Limit |+ NumericRestrictionMultipleOf Int+ deriving (Eq, Ord, Read, Show)++_NumericRestriction = Model.Name "hydra.ext.json.schema.model.NumericRestriction"++_NumericRestriction_minimum = Model.Name "minimum"++_NumericRestriction_maximum = Model.Name "maximum"++_NumericRestriction_multipleOf = Model.Name "multipleOf"++-- | A restriction on object-typed values: properties, additionalProperties, required, and related keywords+data ObjectRestriction =+ ObjectRestrictionProperties (M.Map Keyword Schema) |+ ObjectRestrictionAdditionalProperties AdditionalItems |+ ObjectRestrictionRequired [Keyword] |+ ObjectRestrictionMinProperties Int |+ ObjectRestrictionMaxProperties Int |+ ObjectRestrictionDependencies (M.Map Keyword SchemaOrArray) |+ ObjectRestrictionPatternProperties (M.Map RegularExpression Schema)+ deriving (Eq, Ord, Read, Show)++_ObjectRestriction = Model.Name "hydra.ext.json.schema.model.ObjectRestriction"++_ObjectRestriction_properties = Model.Name "properties"++_ObjectRestriction_additionalProperties = Model.Name "additionalProperties"++_ObjectRestriction_required = Model.Name "required"++_ObjectRestriction_minProperties = Model.Name "minProperties"++_ObjectRestriction_maxProperties = Model.Name "maxProperties"++_ObjectRestriction_dependencies = Model.Name "dependencies"++_ObjectRestriction_patternProperties = Model.Name "patternProperties"++-- | A regular expression pattern, as used by the pattern and patternProperties keywords+newtype RegularExpression =+ RegularExpression {+ unRegularExpression :: String}+ deriving (Eq, Ord, Read, Show)++_RegularExpression = Model.Name "hydra.ext.json.schema.model.RegularExpression"++-- | A single JSON Schema restriction: a type, value restriction, reference, title, or description+data Restriction =+ RestrictionType Type |+ RestrictionString StringRestriction |+ RestrictionNumber NumericRestriction |+ RestrictionArray ArrayRestriction |+ RestrictionObject ObjectRestriction |+ RestrictionMultiple MultipleRestriction |+ RestrictionReference SchemaReference |+ RestrictionTitle String |+ RestrictionDescription String+ deriving (Eq, Ord, Read, Show)++_Restriction = Model.Name "hydra.ext.json.schema.model.Restriction"++_Restriction_type = Model.Name "type"++_Restriction_string = Model.Name "string"++_Restriction_number = Model.Name "number"++_Restriction_array = Model.Name "array"++_Restriction_object = Model.Name "object"++_Restriction_multiple = Model.Name "multiple"++_Restriction_reference = Model.Name "reference"++_Restriction_title = Model.Name "title"++_Restriction_description = Model.Name "description"++-- | A JSON schema: a non-empty list of restrictions that a conforming value must satisfy+newtype Schema =+ Schema {+ unSchema :: [Restriction]}+ deriving (Eq, Ord, Read, Show)++_Schema = Model.Name "hydra.ext.json.schema.model.Schema"++-- | A dependency value: either a schema, or a list of required keyword names+data SchemaOrArray =+ SchemaOrArraySchema Schema |+ SchemaOrArrayArray [Keyword]+ deriving (Eq, Ord, Read, Show)++_SchemaOrArray = Model.Name "hydra.ext.json.schema.model.SchemaOrArray"++_SchemaOrArray_schema = Model.Name "schema"++_SchemaOrArray_array = Model.Name "array"++-- | A reference to another schema by URI+newtype SchemaReference =+ SchemaReference {+ unSchemaReference :: String}+ deriving (Eq, Ord, Read, Show)++_SchemaReference = Model.Name "hydra.ext.json.schema.model.SchemaReference"++-- | A restriction on string-typed values: minLength, maxLength, or pattern+data StringRestriction =+ StringRestrictionMinLength Int |+ StringRestrictionMaxLength Int |+ StringRestrictionPattern RegularExpression+ deriving (Eq, Ord, Read, Show)++_StringRestriction = Model.Name "hydra.ext.json.schema.model.StringRestriction"++_StringRestriction_minLength = Model.Name "minLength"++_StringRestriction_maxLength = Model.Name "maxLength"++_StringRestriction_pattern = Model.Name "pattern"++-- | A type restriction: a single type name, or a list of alternative type names+data Type =+ TypeSingle TypeName |+ TypeMultiple [TypeName]+ deriving (Eq, Ord, Read, Show)++_Type = Model.Name "hydra.ext.json.schema.model.Type"++_Type_single = Model.Name "single"++_Type_multiple = Model.Name "multiple"++-- | The name of a JSON Schema primitive type+data TypeName =+ TypeNameString |+ TypeNameInteger |+ TypeNameNumber |+ TypeNameBoolean |+ TypeNameNull |+ TypeNameArray |+ TypeNameObject+ deriving (Eq, Ord, Read, Show)++_TypeName = Model.Name "hydra.ext.json.schema.model.TypeName"++_TypeName_string = Model.Name "string"++_TypeName_integer = Model.Name "integer"++_TypeName_number = Model.Name "number"++_TypeName_boolean = Model.Name "boolean"++_TypeName_null = Model.Name "null"++_TypeName_array = Model.Name "array"++_TypeName_object = Model.Name "object"
+ src/main/haskell/Hydra/Ext/Json/Schema/Serde.hs view
@@ -0,0 +1,386 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Serialization functions for converting JSON Schema documents to JSON values++module Hydra.Ext.Json.Schema.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Writer as Writer+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.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Json.Schema.Model as SchemaModel+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++-- | Encode additional items as a JSON value+additionalItemsToExpr :: SchemaModel.AdditionalItems -> JsonModel.Value+additionalItemsToExpr ai =+ case ai of+ SchemaModel.AdditionalItemsAny v0 -> JsonModel.ValueBoolean v0+ SchemaModel.AdditionalItemsSchema v0 -> schemaToExpr v0++-- | Encode an array restriction as a key-value pair+arrayRestrictionToExpr :: SchemaModel.ArrayRestriction -> (String, JsonModel.Value)+arrayRestrictionToExpr r =+ case r of+ SchemaModel.ArrayRestrictionItems v0 -> itemsToExpr v0+ SchemaModel.ArrayRestrictionAdditionalItems v0 -> (keyAdditionalItems, (additionalItemsToExpr v0))+ SchemaModel.ArrayRestrictionMinItems v0 -> (keyMinItems, (integerToExpr v0))+ SchemaModel.ArrayRestrictionMaxItems v0 -> (keyMaxItems, (integerToExpr v0))+ SchemaModel.ArrayRestrictionUniqueItems v0 -> (keyUniqueItems, (JsonModel.ValueBoolean v0))++-- | Extract a name-keyed map from a JSON object value (field order is dropped)+fromObject :: JsonModel.Value -> M.Map String JsonModel.Value+fromObject v =+ case v of+ JsonModel.ValueObject v0 -> Maps.fromList v0++-- | Encode an integer as a JSON number value+integerToExpr :: Int -> JsonModel.Value+integerToExpr n = JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint n))++-- | Encode items as a key-value pair+itemsToExpr :: SchemaModel.Items -> (String, JsonModel.Value)+itemsToExpr items =+ (+ keyItems,+ case items of+ SchemaModel.ItemsSameItems v0 -> schemaToExpr v0+ SchemaModel.ItemsVarItems v0 -> JsonModel.ValueArray (Lists.map schemaToExpr v0))++-- | Convert a JSON Schema document to a JSON value+jsonSchemaDocumentToJsonValue :: SchemaModel.Document -> JsonModel.Value+jsonSchemaDocumentToJsonValue doc =++ let mid = SchemaModel.documentId doc+ mdefs = SchemaModel.documentDefinitions doc+ root = SchemaModel.documentRoot doc+ schemaMap = fromObject (schemaToExpr root)+ restMap =+ fromObject (toObject [+ (keyId, (Optionals.map (\i -> JsonModel.ValueString i) mid)),+ (keySchema, (Optionals.given (JsonModel.ValueString "http://json-schema.org/2020-12/schema"))),+ (+ keyDefinitions,+ (Optionals.map (\mp -> JsonModel.ValueObject (Lists.map (\p ->+ let k = Pairs.first p+ schema = Pairs.second p+ in (SchemaModel.unKeyword k, (schemaToExpr schema))) (Maps.toList mp))) mdefs))])+ in (JsonModel.ValueObject (Maps.toList (Maps.union schemaMap restMap)))++-- | Convert a JSON Schema document to a JSON string+jsonSchemaDocumentToString :: SchemaModel.Document -> String+jsonSchemaDocumentToString doc = Writer.printJson (jsonSchemaDocumentToJsonValue doc)++-- | The JSON Schema "additionalItems" keyword+keyAdditionalItems :: String+keyAdditionalItems = "additionalItems"++-- | The JSON Schema "additionalProperties" keyword+keyAdditionalProperties :: String+keyAdditionalProperties = "additionalProperties"++-- | The JSON Schema "allOf" keyword+keyAllOf :: String+keyAllOf = "allOf"++-- | The JSON Schema "anyOf" keyword+keyAnyOf :: String+keyAnyOf = "anyOf"++-- | The JSON Schema "$defs" keyword, used for reusable schema definitions+keyDefinitions :: String+keyDefinitions = "$defs"++-- | The JSON Schema "dependencies" keyword+keyDependencies :: String+keyDependencies = "dependencies"++-- | The JSON Schema "description" keyword+keyDescription :: String+keyDescription = "description"++-- | The JSON Schema "enum" keyword+keyEnum :: String+keyEnum = "enum"++-- | The JSON Schema "exclusiveMaximum" keyword+keyExclusiveMaximum :: String+keyExclusiveMaximum = "exclusiveMaximum"++-- | The JSON Schema "exclusiveMinimum" keyword+keyExclusiveMinimum :: String+keyExclusiveMinimum = "exclusiveMinimum"++-- | The JSON Schema "$id" keyword, identifying the schema+keyId :: String+keyId = "$id"++-- | The JSON Schema "items" keyword+keyItems :: String+keyItems = "items"++-- | The JSON Schema "label" keyword+keyLabel :: String+keyLabel = "label"++-- | The JSON Schema "maxItems" keyword+keyMaxItems :: String+keyMaxItems = "maxItems"++-- | The JSON Schema "maxLength" keyword+keyMaxLength :: String+keyMaxLength = "maxLength"++-- | The JSON Schema "maxProperties" keyword+keyMaxProperties :: String+keyMaxProperties = "maxProperties"++-- | The JSON Schema "maximum" keyword+keyMaximum :: String+keyMaximum = "maximum"++-- | The JSON Schema "minItems" keyword+keyMinItems :: String+keyMinItems = "minItems"++-- | The JSON Schema "minLength" keyword+keyMinLength :: String+keyMinLength = "minLength"++-- | The JSON Schema "minProperties" keyword+keyMinProperties :: String+keyMinProperties = "minProperties"++-- | The JSON Schema "minimum" keyword+keyMinimum :: String+keyMinimum = "minimum"++-- | The JSON Schema "multipleOf" keyword+keyMultipleOf :: String+keyMultipleOf = "multipleOf"++-- | The JSON Schema "not" keyword+keyNot :: String+keyNot = "not"++-- | The JSON Schema "oneOf" keyword+keyOneOf :: String+keyOneOf = "oneOf"++-- | The JSON Schema "pattern" keyword+keyPattern :: String+keyPattern = "pattern"++-- | The JSON Schema "patternProperties" keyword+keyPatternProperties :: String+keyPatternProperties = "patternProperties"++-- | The JSON Schema "properties" keyword+keyProperties :: String+keyProperties = "properties"++-- | The JSON Schema "$ref" keyword, used for schema references+keyRef :: String+keyRef = "$ref"++-- | The JSON Schema "required" keyword+keyRequired :: String+keyRequired = "required"++-- | The JSON Schema "$schema" keyword, identifying the schema dialect+keySchema :: String+keySchema = "$schema"++-- | The JSON Schema "title" keyword+keyTitle :: String+keyTitle = "title"++-- | The JSON Schema "type" keyword+keyType :: String+keyType = "type"++-- | The JSON Schema "uniqueItems" keyword+keyUniqueItems :: String+keyUniqueItems = "uniqueItems"++-- | Encode a keyword-schema-or-array pair as a key-value pair+keywordSchemaOrArrayToExpr :: (SchemaModel.Keyword, SchemaModel.SchemaOrArray) -> (String, JsonModel.Value)+keywordSchemaOrArrayToExpr p =++ let k = Pairs.first p+ s = Pairs.second p+ in (SchemaModel.unKeyword k, (schemaOrArrayToExpr s))++-- | Encode a keyword as a JSON string value+keywordToExpr :: SchemaModel.Keyword -> JsonModel.Value+keywordToExpr k = JsonModel.ValueString (SchemaModel.unKeyword k)++-- | Encode a multiple restriction as a key-value pair+multipleRestrictionToExpr :: SchemaModel.MultipleRestriction -> (String, JsonModel.Value)+multipleRestrictionToExpr r =+ case r of+ SchemaModel.MultipleRestrictionAllOf v0 -> (keyAllOf, (JsonModel.ValueArray (Lists.map schemaToExpr v0)))+ SchemaModel.MultipleRestrictionAnyOf v0 -> (keyAnyOf, (JsonModel.ValueArray (Lists.map schemaToExpr v0)))+ SchemaModel.MultipleRestrictionOneOf v0 -> (keyOneOf, (JsonModel.ValueArray (Lists.map schemaToExpr v0)))+ SchemaModel.MultipleRestrictionNot v0 -> (keyNot, (schemaToExpr v0))+ SchemaModel.MultipleRestrictionEnum v0 -> (keyEnum, (JsonModel.ValueArray v0))++-- | Encode a numeric restriction as a list of key-value pairs+numericRestrictionToExpr :: SchemaModel.NumericRestriction -> [(String, JsonModel.Value)]+numericRestrictionToExpr r =+ case r of+ SchemaModel.NumericRestrictionMinimum v0 ->+ let value = SchemaModel.limitValue v0+ excl = SchemaModel.limitExclusive v0+ in (Lists.concat [+ [+ (keyMinimum, (integerToExpr value))],+ (Logic.ifElse excl [+ (keyExclusiveMinimum, (JsonModel.ValueBoolean True))] [])])+ SchemaModel.NumericRestrictionMaximum v0 ->+ let value = SchemaModel.limitValue v0+ excl = SchemaModel.limitExclusive v0+ in (Lists.concat [+ [+ (keyMaximum, (integerToExpr value))],+ (Logic.ifElse excl [+ (keyExclusiveMaximum, (JsonModel.ValueBoolean True))] [])])+ SchemaModel.NumericRestrictionMultipleOf v0 -> [+ (keyMultipleOf, (integerToExpr v0))]++-- | Encode an object restriction as a key-value pair+objectRestrictionToExpr :: SchemaModel.ObjectRestriction -> (String, JsonModel.Value)+objectRestrictionToExpr r =+ case r of+ SchemaModel.ObjectRestrictionProperties v0 -> (keyProperties, (JsonModel.ValueObject (Lists.map propertyToExpr (Maps.toList v0))))+ SchemaModel.ObjectRestrictionAdditionalProperties v0 -> (keyAdditionalProperties, (additionalItemsToExpr v0))+ SchemaModel.ObjectRestrictionRequired v0 -> (keyRequired, (JsonModel.ValueArray (Lists.map keywordToExpr v0)))+ SchemaModel.ObjectRestrictionMinProperties v0 -> (keyMinProperties, (integerToExpr v0))+ SchemaModel.ObjectRestrictionMaxProperties v0 -> (keyMaxProperties, (integerToExpr v0))+ SchemaModel.ObjectRestrictionDependencies v0 -> (keyDependencies, (JsonModel.ValueObject (Lists.map keywordSchemaOrArrayToExpr (Maps.toList v0))))+ SchemaModel.ObjectRestrictionPatternProperties v0 -> (keyPatternProperties, (JsonModel.ValueObject (Lists.map patternPropertyToExpr (Maps.toList v0))))++-- | Encode a pattern property pair as a key-value pair+patternPropertyToExpr :: (SchemaModel.RegularExpression, SchemaModel.Schema) -> (String, JsonModel.Value)+patternPropertyToExpr p =++ let pat = Pairs.first p+ s = Pairs.second p+ in (SchemaModel.unRegularExpression pat, (schemaToExpr s))++-- | Encode a property pair as a key-value pair+propertyToExpr :: (SchemaModel.Keyword, SchemaModel.Schema) -> (String, JsonModel.Value)+propertyToExpr p =++ let k = Pairs.first p+ s = Pairs.second p+ in (SchemaModel.unKeyword k, (schemaToExpr s))++-- | Encode a restriction as a list of key-value pairs+restrictionToExpr :: SchemaModel.Restriction -> [(String, JsonModel.Value)]+restrictionToExpr r =+ case r of+ SchemaModel.RestrictionType v0 -> [+ (keyType, (typeToExpr v0))]+ SchemaModel.RestrictionString v0 -> [+ stringRestrictionToExpr v0]+ SchemaModel.RestrictionNumber v0 -> numericRestrictionToExpr v0+ SchemaModel.RestrictionArray v0 -> [+ arrayRestrictionToExpr v0]+ SchemaModel.RestrictionObject v0 -> [+ objectRestrictionToExpr v0]+ SchemaModel.RestrictionMultiple v0 -> [+ multipleRestrictionToExpr v0]+ SchemaModel.RestrictionReference v0 -> [+ (keyRef, (schemaReferenceToExpr v0))]+ SchemaModel.RestrictionTitle v0 -> [+ (keyTitle, (JsonModel.ValueString v0))]+ SchemaModel.RestrictionDescription v0 -> [+ (keyDescription, (JsonModel.ValueString v0))]++-- | Encode a schema or array as a JSON value+schemaOrArrayToExpr :: SchemaModel.SchemaOrArray -> JsonModel.Value+schemaOrArrayToExpr soa =+ case soa of+ SchemaModel.SchemaOrArraySchema v0 -> schemaToExpr v0+ SchemaModel.SchemaOrArrayArray v0 -> JsonModel.ValueArray (Lists.map keywordToExpr v0)++-- | Encode a schema reference as a JSON string value+schemaReferenceToExpr :: SchemaModel.SchemaReference -> JsonModel.Value+schemaReferenceToExpr sr = JsonModel.ValueString (SchemaModel.unSchemaReference sr)++-- | Encode a schema as a JSON object value+schemaToExpr :: SchemaModel.Schema -> JsonModel.Value+schemaToExpr s = JsonModel.ValueObject (Lists.concat (Lists.map restrictionToExpr (SchemaModel.unSchema s)))++-- | Encode a string restriction as a key-value pair+stringRestrictionToExpr :: SchemaModel.StringRestriction -> (String, JsonModel.Value)+stringRestrictionToExpr r =+ case r of+ SchemaModel.StringRestrictionMaxLength v0 -> (keyMaxLength, (JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint v0))))+ SchemaModel.StringRestrictionMinLength v0 -> (keyMinLength, (JsonModel.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint v0))))+ SchemaModel.StringRestrictionPattern v0 -> (keyPattern, (JsonModel.ValueString (SchemaModel.unRegularExpression v0)))++-- | Construct a JSON object from a list of optional key-value pairs, filtering out Nothing values+toObject :: [(String, (Maybe JsonModel.Value))] -> JsonModel.Value+toObject pairs =+ JsonModel.ValueObject (Optionals.givens (Lists.map (\p ->+ let k = Pairs.first p+ mv = Pairs.second p+ in (Optionals.map (\v -> (k, v)) mv)) pairs))++-- | Encode a type name as a JSON string value+typeNameToExpr :: SchemaModel.TypeName -> JsonModel.Value+typeNameToExpr t =+ case t of+ SchemaModel.TypeNameString -> JsonModel.ValueString "string"+ SchemaModel.TypeNameInteger -> JsonModel.ValueString "integer"+ SchemaModel.TypeNameNumber -> JsonModel.ValueString "number"+ SchemaModel.TypeNameBoolean -> JsonModel.ValueString "boolean"+ SchemaModel.TypeNameNull -> JsonModel.ValueString "null"+ SchemaModel.TypeNameArray -> JsonModel.ValueString "array"+ SchemaModel.TypeNameObject -> JsonModel.ValueString "object"++-- | Encode a type as a JSON value+typeToExpr :: SchemaModel.Type -> JsonModel.Value+typeToExpr t =+ case t of+ SchemaModel.TypeSingle v0 -> typeNameToExpr v0+ SchemaModel.TypeMultiple v0 -> JsonModel.ValueArray (Lists.map typeNameToExpr v0)
+ src/main/haskell/Hydra/Ext/Kusto/Kql.hs view
@@ -0,0 +1,737 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A partial KQL (Kusto Query Language) model, based on examples from the documentation. Not normative.++module Hydra.Ext.Kusto.Kql where++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+import qualified Data.Int as I++-- | A 'between' range test on an expression, optionally negated+data BetweenExpression =+ BetweenExpression {+ betweenExpressionNot :: Bool,+ betweenExpressionExpression :: Expression,+ betweenExpressionLowerBound :: Expression,+ betweenExpressionUpperBound :: Expression}+ deriving (Eq, Ord, Read, Show)++_BetweenExpression = Model.Name "hydra.ext.kusto.kql.BetweenExpression"++_BetweenExpression_not = Model.Name "not"++_BetweenExpression_expression = Model.Name "expression"++_BetweenExpression_lowerBound = Model.Name "lowerBound"++_BetweenExpression_upperBound = Model.Name "upperBound"++-- | A binary operator expression, combining a left and right operand+data BinaryExpression =+ BinaryExpression {+ binaryExpressionLeft :: Expression,+ binaryExpressionOperator :: BinaryOperator,+ binaryExpressionRight :: Expression}+ deriving (Eq, Ord, Read, Show)++_BinaryExpression = Model.Name "hydra.ext.kusto.kql.BinaryExpression"++_BinaryExpression_left = Model.Name "left"++_BinaryExpression_operator = Model.Name "operator"++_BinaryExpression_right = Model.Name "right"++-- | A binary comparison or arithmetic operator used in KQL expressions+data BinaryOperator =+ BinaryOperatorCaseInsensitiveEqual |+ BinaryOperatorContains |+ BinaryOperatorDivide |+ BinaryOperatorEndsWith |+ BinaryOperatorEqual |+ BinaryOperatorGreater |+ BinaryOperatorGreaterOrEqual |+ BinaryOperatorHas |+ BinaryOperatorHasPrefix |+ BinaryOperatorHasSuffix |+ BinaryOperatorLess |+ BinaryOperatorLessOrEqual |+ BinaryOperatorMatchesRegex |+ BinaryOperatorMinus |+ BinaryOperatorNotEqual |+ BinaryOperatorPlus |+ BinaryOperatorStartsWith |+ BinaryOperatorTimes+ deriving (Eq, Ord, Read, Show)++_BinaryOperator = Model.Name "hydra.ext.kusto.kql.BinaryOperator"++_BinaryOperator_caseInsensitiveEqual = Model.Name "caseInsensitiveEqual"++_BinaryOperator_contains = Model.Name "contains"++_BinaryOperator_divide = Model.Name "divide"++_BinaryOperator_endsWith = Model.Name "endsWith"++_BinaryOperator_equal = Model.Name "equal"++_BinaryOperator_greater = Model.Name "greater"++_BinaryOperator_greaterOrEqual = Model.Name "greaterOrEqual"++_BinaryOperator_has = Model.Name "has"++_BinaryOperator_hasPrefix = Model.Name "hasPrefix"++_BinaryOperator_hasSuffix = Model.Name "hasSuffix"++_BinaryOperator_less = Model.Name "less"++_BinaryOperator_lessOrEqual = Model.Name "lessOrEqual"++_BinaryOperator_matchesRegex = Model.Name "matchesRegex"++_BinaryOperator_minus = Model.Name "minus"++_BinaryOperator_notEqual = Model.Name "notEqual"++_BinaryOperator_plus = Model.Name "plus"++_BinaryOperator_startsWith = Model.Name "startsWith"++_BinaryOperator_times = Model.Name "times"++-- | One of the built-in scalar or aggregation functions supported by KQL+data BuiltInFunction =+ BuiltInFunctionAgo |+ BuiltInFunctionBin |+ BuiltInFunctionCount |+ BuiltInFunctionDcount |+ BuiltInFunctionEndofday |+ BuiltInFunctionExtract |+ BuiltInFunctionFormat_datetime |+ BuiltInFunctionMaterialize |+ BuiltInFunctionNow |+ BuiltInFunctionRange |+ BuiltInFunctionStartofday |+ BuiltInFunctionStrcat |+ BuiltInFunctionTodynamic+ deriving (Eq, Ord, Read, Show)++_BuiltInFunction = Model.Name "hydra.ext.kusto.kql.BuiltInFunction"++_BuiltInFunction_ago = Model.Name "ago"++_BuiltInFunction_bin = Model.Name "bin"++_BuiltInFunction_count = Model.Name "count"++_BuiltInFunction_dcount = Model.Name "dcount"++_BuiltInFunction_endofday = Model.Name "endofday"++_BuiltInFunction_extract = Model.Name "extract"++_BuiltInFunction_format_datetime = Model.Name "format_datetime"++_BuiltInFunction_materialize = Model.Name "materialize"++_BuiltInFunction_now = Model.Name "now"++_BuiltInFunction_range = Model.Name "range"++_BuiltInFunction_startofday = Model.Name "startofday"++_BuiltInFunction_strcat = Model.Name "strcat"++_BuiltInFunction_todynamic = Model.Name "todynamic"++-- | An association between a column and an alternate (renamed) column name+data ColumnAlias =+ ColumnAlias {+ columnAliasColumn :: ColumnName,+ columnAliasAlias :: ColumnName}+ deriving (Eq, Ord, Read, Show)++_ColumnAlias = Model.Name "hydra.ext.kusto.kql.ColumnAlias"++_ColumnAlias_column = Model.Name "column"++_ColumnAlias_alias = Model.Name "alias"++-- | An assignment of a computed expression to a column+data ColumnAssignment =+ ColumnAssignment {+ columnAssignmentColumn :: ColumnName,+ columnAssignmentExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_ColumnAssignment = Model.Name "hydra.ext.kusto.kql.ColumnAssignment"++_ColumnAssignment_column = Model.Name "column"++_ColumnAssignment_expression = Model.Name "expression"++-- | The name of a table column+newtype ColumnName =+ ColumnName {+ unColumnName :: String}+ deriving (Eq, Ord, Read, Show)++_ColumnName = Model.Name "hydra.ext.kusto.kql.ColumnName"++-- | A selection of either all columns, or a single named column+data Columns =+ ColumnsAll |+ ColumnsSingle ColumnName+ deriving (Eq, Ord, Read, Show)++_Columns = Model.Name "hydra.ext.kusto.kql.Columns"++_Columns_all = Model.Name "all"++_Columns_single = Model.Name "single"++-- | A tabular operator, applied in sequence within a pipeline expression+data Command =+ CommandCount |+ -- | See https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/distinct-operator+ CommandDistinct [ColumnName] |+ CommandExtend [ColumnAssignment] |+ CommandJoin JoinCommand |+ CommandLimit Int |+ CommandMvexpand ColumnName |+ CommandOrderBy [SortBy] |+ CommandParse ParseCommand |+ CommandPrint PrintCommand |+ CommandProject [Projection] |+ CommandProjectAway [ColumnName] |+ CommandProjectRename [ColumnAlias] |+ CommandRender String |+ CommandSearch SearchCommand |+ CommandSortBy [SortBy] |+ CommandSummarize SummarizeCommand |+ -- | Limit a search to a specified number of results+ CommandTake Int |+ CommandTop TopCommand |+ CommandUnion UnionCommand |+ CommandWhere Expression+ deriving (Eq, Ord, Read, Show)++_Command = Model.Name "hydra.ext.kusto.kql.Command"++_Command_count = Model.Name "count"++_Command_distinct = Model.Name "distinct"++_Command_extend = Model.Name "extend"++_Command_join = Model.Name "join"++_Command_limit = Model.Name "limit"++_Command_mvexpand = Model.Name "mvexpand"++_Command_orderBy = Model.Name "orderBy"++_Command_parse = Model.Name "parse"++_Command_print = Model.Name "print"++_Command_project = Model.Name "project"++_Command_projectAway = Model.Name "projectAway"++_Command_projectRename = Model.Name "projectRename"++_Command_render = Model.Name "render"++_Command_search = Model.Name "search"++_Command_sortBy = Model.Name "sortBy"++_Command_summarize = Model.Name "summarize"++_Command_take = Model.Name "take"++_Command_top = Model.Name "top"++_Command_union = Model.Name "union"++_Command_where = Model.Name "where"++-- | A KQL datetime literal+newtype Datetime =+ Datetime {+ unDatetime :: String}+ deriving (Eq, Ord, Read, Show)++_Datetime = Model.Name "hydra.ext.kusto.kql.Datetime"++-- | A duration (timespan) literal, expressed as a value and a unit+data Duration =+ Duration {+ durationValue :: Int,+ durationUnit :: DurationUnit}+ deriving (Eq, Ord, Read, Show)++_Duration = Model.Name "hydra.ext.kusto.kql.Duration"++_Duration_value = Model.Name "value"++_Duration_unit = Model.Name "unit"++-- | The unit of measure of a Duration value+data DurationUnit =+ DurationUnitSecond |+ DurationUnitMinute |+ DurationUnitHour+ deriving (Eq, Ord, Read, Show)++_DurationUnit = Model.Name "hydra.ext.kusto.kql.DurationUnit"++_DurationUnit_second = Model.Name "second"++_DurationUnit_minute = Model.Name "minute"++_DurationUnit_hour = Model.Name "hour"++-- | A KQL scalar expression+data Expression =+ ExpressionAnd [Expression] |+ ExpressionAny |+ ExpressionBetween BetweenExpression |+ ExpressionBinary BinaryExpression |+ ExpressionBraces Expression |+ ExpressionColumn ColumnName |+ ExpressionDataset TableName |+ ExpressionIndex IndexExpression |+ ExpressionList [Expression] |+ ExpressionLiteral Literal |+ ExpressionOr [Expression] |+ ExpressionParentheses Expression |+ ExpressionProperty PropertyExpression |+ ExpressionUnary UnaryExpression+ deriving (Eq, Ord, Read, Show)++_Expression = Model.Name "hydra.ext.kusto.kql.Expression"++_Expression_and = Model.Name "and"++_Expression_any = Model.Name "any"++_Expression_between = Model.Name "between"++_Expression_binary = Model.Name "binary"++_Expression_braces = Model.Name "braces"++_Expression_column = Model.Name "column"++_Expression_dataset = Model.Name "dataset"++_Expression_index = Model.Name "index"++_Expression_list = Model.Name "list"++_Expression_literal = Model.Name "literal"++_Expression_or = Model.Name "or"++_Expression_parentheses = Model.Name "parentheses"++_Expression_property = Model.Name "property"++_Expression_unary = Model.Name "unary"++-- | A reference to either a built-in or a user-defined function+data Function =+ FunctionBuiltIn BuiltInFunction |+ FunctionCustom FunctionName+ deriving (Eq, Ord, Read, Show)++_Function = Model.Name "hydra.ext.kusto.kql.Function"++_Function_builtIn = Model.Name "builtIn"++_Function_custom = Model.Name "custom"++-- | An invocation of a function with a list of argument expressions+data FunctionExpression =+ FunctionExpression {+ functionExpressionFunction :: Function,+ functionExpressionArguments :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_FunctionExpression = Model.Name "hydra.ext.kusto.kql.FunctionExpression"++_FunctionExpression_function = Model.Name "function"++_FunctionExpression_arguments = Model.Name "arguments"++-- | The name of a user-defined function+newtype FunctionName =+ FunctionName {+ unFunctionName :: String}+ deriving (Eq, Ord, Read, Show)++_FunctionName = Model.Name "hydra.ext.kusto.kql.FunctionName"++-- | An indexing operation applied to an expression, e.g. array or property access+data IndexExpression =+ IndexExpression {+ indexExpressionExpression :: Expression,+ indexExpressionIndex :: String}+ deriving (Eq, Ord, Read, Show)++_IndexExpression = Model.Name "hydra.ext.kusto.kql.IndexExpression"++_IndexExpression_expression = Model.Name "expression"++_IndexExpression_index = Model.Name "index"++-- | A 'join' operator combining rows from the current and a second tabular expression+data JoinCommand =+ JoinCommand {+ joinCommandKind :: JoinKind,+ joinCommandExpression :: TableName,+ joinCommandOn :: Expression}+ deriving (Eq, Ord, Read, Show)++_JoinCommand = Model.Name "hydra.ext.kusto.kql.JoinCommand"++_JoinCommand_kind = Model.Name "kind"++_JoinCommand_expression = Model.Name "expression"++_JoinCommand_on = Model.Name "on"++-- | The kind of join to perform, e.g. inner, left outer, or left semi/anti+data JoinKind =+ JoinKindLeftouter |+ JoinKindLeftsemi |+ JoinKindLeftanti |+ JoinKindFullouter |+ JoinKindInner |+ JoinKindInnerunique |+ JoinKindRightouter |+ JoinKindRightsemi |+ JoinKindRightanti+ deriving (Eq, Ord, Read, Show)++_JoinKind = Model.Name "hydra.ext.kusto.kql.JoinKind"++_JoinKind_leftouter = Model.Name "leftouter"++_JoinKind_leftsemi = Model.Name "leftsemi"++_JoinKind_leftanti = Model.Name "leftanti"++_JoinKind_fullouter = Model.Name "fullouter"++_JoinKind_inner = Model.Name "inner"++_JoinKind_innerunique = Model.Name "innerunique"++_JoinKind_rightouter = Model.Name "rightouter"++_JoinKind_rightsemi = Model.Name "rightsemi"++_JoinKind_rightanti = Model.Name "rightanti"++-- | A key-value pair extracted by a 'parse' command+data KeyValuePair =+ KeyValuePair {+ keyValuePairKey :: String,+ keyValuePairValue :: Expression}+ deriving (Eq, Ord, Read, Show)++_KeyValuePair = Model.Name "hydra.ext.kusto.kql.KeyValuePair"++_KeyValuePair_key = Model.Name "key"++_KeyValuePair_value = Model.Name "value"++-- | A single 'let' binding of a name to an expression+data LetBinding =+ LetBinding {+ letBindingName :: ColumnName,+ letBindingExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_LetBinding = Model.Name "hydra.ext.kusto.kql.LetBinding"++_LetBinding_name = Model.Name "name"++_LetBinding_expression = Model.Name "expression"++-- | A sequence of 'let' bindings followed by a tabular expression that may reference them+data LetExpression =+ LetExpression {+ letExpressionBindings :: [LetBinding],+ letExpressionExpression :: TabularExpression}+ deriving (Eq, Ord, Read, Show)++_LetExpression = Model.Name "hydra.ext.kusto.kql.LetExpression"++_LetExpression_bindings = Model.Name "bindings"++_LetExpression_expression = Model.Name "expression"++-- | A literal value in a KQL expression+data Literal =+ LiteralDuration Duration |+ LiteralDatetime Datetime |+ LiteralString String |+ LiteralInt Int |+ LiteralLong I.Int64 |+ LiteralDouble Double |+ LiteralBoolean Bool+ deriving (Eq, Ord, Read, Show)++_Literal = Model.Name "hydra.ext.kusto.kql.Literal"++_Literal_duration = Model.Name "duration"++_Literal_datetime = Model.Name "datetime"++_Literal_string = Model.Name "string"++_Literal_int = Model.Name "int"++_Literal_long = Model.Name "long"++_Literal_double = Model.Name "double"++_Literal_boolean = Model.Name "boolean"++-- | The sort direction for an 'order by' or 'sort by' clause+data Order =+ OrderAscending |+ OrderDescending+ deriving (Eq, Ord, Read, Show)++_Order = Model.Name "hydra.ext.kusto.kql.Order"++_Order_ascending = Model.Name "ascending"++_Order_descending = Model.Name "descending"++-- | A named parameter with a literal value, e.g. for a union operator+data Parameter =+ Parameter {+ parameterKey :: String,+ parameterValue :: Literal}+ deriving (Eq, Ord, Read, Show)++_Parameter = Model.Name "hydra.ext.kusto.kql.Parameter"++_Parameter_key = Model.Name "key"++_Parameter_value = Model.Name "value"++-- | A 'parse' command that extracts key-value pairs from a column into new columns+data ParseCommand =+ ParseCommand {+ parseCommandColumn :: ColumnName,+ parseCommandPairs :: [KeyValuePair]}+ deriving (Eq, Ord, Read, Show)++_ParseCommand = Model.Name "hydra.ext.kusto.kql.ParseCommand"++_ParseCommand_column = Model.Name "column"++_ParseCommand_pairs = Model.Name "pairs"++-- | A pipe ('|')-separated sequence of tabular expressions+newtype PipelineExpression =+ PipelineExpression {+ unPipelineExpression :: [TabularExpression]}+ deriving (Eq, Ord, Read, Show)++_PipelineExpression = Model.Name "hydra.ext.kusto.kql.PipelineExpression"++-- | A 'print' command that outputs the value of an expression, optionally naming a column+data PrintCommand =+ PrintCommand {+ printCommandColumn :: (Maybe ColumnName),+ printCommandExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_PrintCommand = Model.Name "hydra.ext.kusto.kql.PrintCommand"++_PrintCommand_column = Model.Name "column"++_PrintCommand_expression = Model.Name "expression"++-- | An expression to project as a column, with an optional alias, used by a 'project' command+data Projection =+ Projection {+ projectionExpression :: Expression,+ projectionAlias :: (Maybe ColumnName)}+ deriving (Eq, Ord, Read, Show)++_Projection = Model.Name "hydra.ext.kusto.kql.Projection"++_Projection_expression = Model.Name "expression"++_Projection_alias = Model.Name "alias"++-- | A dotted property access on an expression, e.g. 'x.property'+data PropertyExpression =+ PropertyExpression {+ propertyExpressionExpression :: Expression,+ propertyExpressionProperty :: String}+ deriving (Eq, Ord, Read, Show)++_PropertyExpression = Model.Name "hydra.ext.kusto.kql.PropertyExpression"++_PropertyExpression_expression = Model.Name "expression"++_PropertyExpression_property = Model.Name "property"++-- | A complete KQL query, consisting of a single tabular expression+newtype Query =+ Query {+ unQuery :: TabularExpression}+ deriving (Eq, Ord, Read, Show)++_Query = Model.Name "hydra.ext.kusto.kql.Query"++-- | Search across all datasets and columns or, if provided, specific datasets and/or columns+data SearchCommand =+ SearchCommand {+ searchCommandDatasets :: [TableName],+ searchCommandPattern :: Expression}+ deriving (Eq, Ord, Read, Show)++_SearchCommand = Model.Name "hydra.ext.kusto.kql.SearchCommand"++_SearchCommand_datasets = Model.Name "datasets"++_SearchCommand_pattern = Model.Name "pattern"++-- | A single sort key with an optional sort order, used by 'order by'/'sort by'+data SortBy =+ SortBy {+ sortByColumn :: ColumnName,+ sortByOrder :: (Maybe Order)}+ deriving (Eq, Ord, Read, Show)++_SortBy = Model.Name "hydra.ext.kusto.kql.SortBy"++_SortBy_column = Model.Name "column"++_SortBy_order = Model.Name "order"++-- | A 'summarize' command that computes aggregate columns, optionally grouped by other columns+data SummarizeCommand =+ SummarizeCommand {+ summarizeCommandColumns :: [ColumnAssignment],+ summarizeCommandBy :: [ColumnName]}+ deriving (Eq, Ord, Read, Show)++_SummarizeCommand = Model.Name "hydra.ext.kusto.kql.SummarizeCommand"++_SummarizeCommand_columns = Model.Name "columns"++_SummarizeCommand_by = Model.Name "by"++-- | The name of a table or dataset+newtype TableName =+ TableName {+ unTableName :: String}+ deriving (Eq, Ord, Read, Show)++_TableName = Model.Name "hydra.ext.kusto.kql.TableName"++-- | An expression which produces a table: a command, pipeline, let expression, or table reference+data TabularExpression =+ TabularExpressionCommand Command |+ TabularExpressionPipeline PipelineExpression |+ TabularExpressionLet LetExpression |+ TabularExpressionTable TableName+ deriving (Eq, Ord, Read, Show)++_TabularExpression = Model.Name "hydra.ext.kusto.kql.TabularExpression"++_TabularExpression_command = Model.Name "command"++_TabularExpression_pipeline = Model.Name "pipeline"++_TabularExpression_let = Model.Name "let"++_TabularExpression_table = Model.Name "table"++-- | A 'top' command that returns the first N rows sorted by the given columns+data TopCommand =+ TopCommand {+ topCommandCount :: Int,+ topCommandSort :: [SortBy]}+ deriving (Eq, Ord, Read, Show)++_TopCommand = Model.Name "hydra.ext.kusto.kql.TopCommand"++_TopCommand_count = Model.Name "count"++_TopCommand_sort = Model.Name "sort"++-- | A unary operator expression applied to a single operand+data UnaryExpression =+ UnaryExpression {+ unaryExpressionOperator :: UnaryOperator,+ unaryExpressionExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_UnaryExpression = Model.Name "hydra.ext.kusto.kql.UnaryExpression"++_UnaryExpression_operator = Model.Name "operator"++_UnaryExpression_expression = Model.Name "expression"++-- | A unary operator used in KQL expressions+data UnaryOperator =+ UnaryOperatorNot+ deriving (Eq, Ord, Read, Show)++_UnaryOperator = Model.Name "hydra.ext.kusto.kql.UnaryOperator"++_UnaryOperator_not = Model.Name "not"++-- | A 'union' command that combines rows from multiple tables+data UnionCommand =+ UnionCommand {+ unionCommandParameters :: [Parameter],+ unionCommandKind :: (Maybe UnionKind),+ unionCommandWithSource :: (Maybe ColumnName),+ unionCommandIsFuzzy :: (Maybe Bool),+ unionCommandTables :: [TableName]}+ deriving (Eq, Ord, Read, Show)++_UnionCommand = Model.Name "hydra.ext.kusto.kql.UnionCommand"++_UnionCommand_parameters = Model.Name "parameters"++_UnionCommand_kind = Model.Name "kind"++_UnionCommand_withSource = Model.Name "withSource"++_UnionCommand_isFuzzy = Model.Name "isFuzzy"++_UnionCommand_tables = Model.Name "tables"++-- | Whether a union preserves only common columns (inner) or all columns (outer)+data UnionKind =+ UnionKindInner |+ UnionKindOuter+ deriving (Eq, Ord, Read, Show)++_UnionKind = Model.Name "hydra.ext.kusto.kql.UnionKind"++_UnionKind_inner = Model.Name "inner"++_UnionKind_outer = Model.Name "outer"
+ src/main/haskell/Hydra/Ext/Osv/Schema.hs view
@@ -0,0 +1,266 @@+-- Note: this is an automatically generated file. Do not edit.++-- | See https://ossf.github.io/osv-schema++module Hydra.Ext.Osv.Schema where++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++-- | A person or entity credited with discovering, fixing, or reporting a vulnerability+data Credited =+ Credited {+ creditedName :: String,+ creditedContact :: (Maybe [Url])}+ deriving (Eq, Ord, Read, Show)++_Credited = Model.Name "hydra.ext.osv.schema.Credited"++_Credited_name = Model.Name "name"++_Credited_contact = Model.Name "contact"++-- | One of a limited set of defined ecosystems, currently Go, npm, OSS-Fuzz, PyPI, RubyGems, crates.io, Packagist, Maven, NuGet, Linux, Debian, Hex, Android, GitHub Actions, or Pub+newtype Ecosystem =+ Ecosystem {+ unEcosystem :: String}+ deriving (Eq, Ord, Read, Show)++_Ecosystem = Model.Name "hydra.ext.osv.schema.Ecosystem"++-- | A single OSV vulnerability entry+data Entry =+ Entry {+ -- | The default value is '1.0.0', matching version 1.0 of the OSV Schema+ entrySchemaVersion :: (Maybe OsvVersion),+ entryId :: Id,+ entryModified :: Timestamp,+ entryPublished :: (Maybe Timestamp),+ entryWithdrawn :: (Maybe Timestamp),+ entryAliases :: (Maybe [Id]),+ entryRelated :: (Maybe [Id]),+ entrySummary :: (Maybe String),+ entryDetails :: (Maybe Markdown),+ entrySeverity :: (Maybe [Severity]),+ entryAffected :: (Maybe [PackageVersions]),+ entryReferences :: (Maybe [Reference]),+ entryCredits :: (Maybe [Credited])}+ deriving (Eq, Ord, Read, Show)++_Entry = Model.Name "hydra.ext.osv.schema.Entry"++_Entry_schemaVersion = Model.Name "schemaVersion"++_Entry_id = Model.Name "id"++_Entry_modified = Model.Name "modified"++_Entry_published = Model.Name "published"++_Entry_withdrawn = Model.Name "withdrawn"++_Entry_aliases = Model.Name "aliases"++_Entry_related = Model.Name "related"++_Entry_summary = Model.Name "summary"++_Entry_details = Model.Name "details"++_Entry_severity = Model.Name "severity"++_Entry_affected = Model.Name "affected"++_Entry_references = Model.Name "references"++_Entry_credits = Model.Name "credits"++-- | A version event marking a point in a range where a vulnerability's status changes+data Event =+ EventIntroduced VersionOrZero |+ EventFixed Version |+ EventLastAffected Version |+ EventLimit VersionOrStar+ deriving (Eq, Ord, Read, Show)++_Event = Model.Name "hydra.ext.osv.schema.Event"++_Event_introduced = Model.Name "introduced"++_Event_fixed = Model.Name "fixed"++_Event_lastAffected = Model.Name "lastAffected"++_Event_limit = Model.Name "limit"++-- | A string of the format <DB>-<ENTRYID>, where DB names the database and ENTRYID is in the format used by the database. For example: OSV-2020-111, CVE-2021-3114, or GHSA-vp9c-fpxx-744v+newtype Id =+ Id {+ unId :: String}+ deriving (Eq, Ord, Read, Show)++_Id = Model.Name "hydra.ext.osv.schema.Id"++-- | CommonMark markdown text+newtype Markdown =+ Markdown {+ unMarkdown :: String}+ deriving (Eq, Ord, Read, Show)++_Markdown = Model.Name "hydra.ext.osv.schema.Markdown"++-- | A string which follows the SemVer 2.0.0 format, with no leading 'v' prefix+newtype OsvVersion =+ OsvVersion {+ unOsvVersion :: String}+ deriving (Eq, Ord, Read, Show)++_OsvVersion = Model.Name "hydra.ext.osv.schema.OsvVersion"++-- | The identity of a software package within a given ecosystem+data Package =+ Package {+ packageEcosystem :: Ecosystem,+ packageName :: String,+ packagePurl :: (Maybe Url)}+ deriving (Eq, Ord, Read, Show)++_Package = Model.Name "hydra.ext.osv.schema.Package"++_Package_ecosystem = Model.Name "ecosystem"++_Package_name = Model.Name "name"++_Package_purl = Model.Name "purl"++-- | The package affected by a vulnerability, along with its affected version ranges and versions+data PackageVersions =+ PackageVersions {+ packageVersionsPackage :: Package,+ packageVersionsRanges :: (Maybe [VersionRange]),+ packageVersionsVersions :: (Maybe [Version])}+ deriving (Eq, Ord, Read, Show)++_PackageVersions = Model.Name "hydra.ext.osv.schema.PackageVersions"++_PackageVersions_package = Model.Name "package"++_PackageVersions_ranges = Model.Name "ranges"++_PackageVersions_versions = Model.Name "versions"++-- | A link to additional information about a vulnerability, together with its type+data Reference =+ Reference {+ referenceType :: ReferenceType,+ referenceUrl :: Url}+ deriving (Eq, Ord, Read, Show)++_Reference = Model.Name "hydra.ext.osv.schema.Reference"++_Reference_type = Model.Name "type"++_Reference_url = Model.Name "url"++-- | One of ADVISORY, ARTICLE, REPORT, FIX, GIT, PACKAGE, EVIDENCE, or WEB+newtype ReferenceType =+ ReferenceType {+ unReferenceType :: String}+ deriving (Eq, Ord, Read, Show)++_ReferenceType = Model.Name "hydra.ext.osv.schema.ReferenceType"++-- | A severity score for a vulnerability, together with the scoring type used+data Severity =+ Severity {+ severityType :: SeverityType,+ severityScore :: SeverityScore}+ deriving (Eq, Ord, Read, Show)++_Severity = Model.Name "hydra.ext.osv.schema.Severity"++_Severity_type = Model.Name "type"++_Severity_score = Model.Name "score"++-- | The severity score value, formatted according to its severity type+newtype SeverityScore =+ SeverityScore {+ unSeverityScore :: String}+ deriving (Eq, Ord, Read, Show)++_SeverityScore = Model.Name "hydra.ext.osv.schema.SeverityScore"++-- | The value CVSS_V3, or future supported types+newtype SeverityType =+ SeverityType {+ unSeverityType :: String}+ deriving (Eq, Ord, Read, Show)++_SeverityType = Model.Name "hydra.ext.osv.schema.SeverityType"++-- | An RFC3339-formatted timestamp in UTC (ending in 'Z')+newtype Timestamp =+ Timestamp {+ unTimestamp :: String}+ deriving (Eq, Ord, Read, Show)++_Timestamp = Model.Name "hydra.ext.osv.schema.Timestamp"++-- | A URL string+newtype Url =+ Url {+ unUrl :: String}+ deriving (Eq, Ord, Read, Show)++_Url = Model.Name "hydra.ext.osv.schema.Url"++-- | A version number in an ecosystem-specific format+newtype Version =+ Version {+ unVersion :: String}+ deriving (Eq, Ord, Read, Show)++_Version = Model.Name "hydra.ext.osv.schema.Version"++-- | An ecosystem-specific version number, or the string '*' representing infinity+newtype VersionOrStar =+ VersionOrStar {+ unVersionOrStar :: String}+ deriving (Eq, Ord, Read, Show)++_VersionOrStar = Model.Name "hydra.ext.osv.schema.VersionOrStar"++-- | An ecosystem-specific version number, or the string '0' representing a version that sorts before any other version+newtype VersionOrZero =+ VersionOrZero {+ unVersionOrZero :: String}+ deriving (Eq, Ord, Read, Show)++_VersionOrZero = Model.Name "hydra.ext.osv.schema.VersionOrZero"++-- | A range of affected versions, expressed as a type and an ordered list of events+data VersionRange =+ VersionRange {+ versionRangeType :: VersionType,+ versionRangeRepo :: (Maybe Url),+ versionRangeEvents :: [Event]}+ deriving (Eq, Ord, Read, Show)++_VersionRange = Model.Name "hydra.ext.osv.schema.VersionRange"++_VersionRange_type = Model.Name "type"++_VersionRange_repo = Model.Name "repo"++_VersionRange_events = Model.Name "events"++-- | One of the values 'SEMVER', 'ECOSYSTEM', or 'GIT+newtype VersionType =+ VersionType {+ unVersionType :: String}+ deriving (Eq, Ord, Read, Show)++_VersionType = Model.Name "hydra.ext.osv.schema.VersionType"
+ src/main/haskell/Hydra/Ext/Parquet/Format.hs view
@@ -0,0 +1,990 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for the Parquet format. Based on the Thrift-based specification at:+-- | https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift++module Hydra.Ext.Parquet.Format where++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+import qualified Data.ByteString as B+import qualified Data.Int as I++-- | AES GCM CTR mode encryption parameters+data AesGcmCtrV1 =+ AesGcmCtrV1 {+ -- | AAD prefix+ aesGcmCtrV1AadPrefix :: (Maybe B.ByteString),+ -- | Unique file identifier part of AAD suffix+ aesGcmCtrV1AadFileUnique :: (Maybe B.ByteString),+ -- | In files encrypted with AAD prefix without storing it, readers must supply the prefix+ aesGcmCtrV1SupplyAadPrefix :: (Maybe Bool)}+ deriving (Eq, Ord, Read, Show)++_AesGcmCtrV1 = Model.Name "hydra.ext.parquet.format.AesGcmCtrV1"++_AesGcmCtrV1_aadPrefix = Model.Name "aadPrefix"++_AesGcmCtrV1_aadFileUnique = Model.Name "aadFileUnique"++_AesGcmCtrV1_supplyAadPrefix = Model.Name "supplyAadPrefix"++-- | AES GCM mode encryption parameters+data AesGcmV1 =+ AesGcmV1 {+ -- | AAD prefix+ aesGcmV1AadPrefix :: (Maybe B.ByteString),+ -- | Unique file identifier part of AAD suffix+ aesGcmV1AadFileUnique :: (Maybe B.ByteString),+ -- | In files encrypted with AAD prefix without storing it, readers must supply the prefix+ aesGcmV1SupplyAadPrefix :: (Maybe Bool)}+ deriving (Eq, Ord, Read, Show)++_AesGcmV1 = Model.Name "hydra.ext.parquet.format.AesGcmV1"++_AesGcmV1_aadPrefix = Model.Name "aadPrefix"++_AesGcmV1_aadFileUnique = Model.Name "aadFileUnique"++_AesGcmV1_supplyAadPrefix = Model.Name "supplyAadPrefix"++-- | The algorithm used in Bloom filter.+data BloomFilterAlgorithm =+ -- | Block-based Bloom filter.+ BloomFilterAlgorithmBlock+ deriving (Eq, Ord, Read, Show)++_BloomFilterAlgorithm = Model.Name "hydra.ext.parquet.format.BloomFilterAlgorithm"++_BloomFilterAlgorithm_block = Model.Name "block"++-- | The compression used in the Bloom filter.+data BloomFilterCompression =+ BloomFilterCompressionUncompressed+ deriving (Eq, Ord, Read, Show)++_BloomFilterCompression = Model.Name "hydra.ext.parquet.format.BloomFilterCompression"++_BloomFilterCompression_uncompressed = Model.Name "uncompressed"++-- | The hash function used in Bloom filter. This function takes the hash of a column value using plain encoding.+data BloomFilterHash =+ -- | xxHash Strategy.+ BloomFilterHashXxhash+ deriving (Eq, Ord, Read, Show)++_BloomFilterHash = Model.Name "hydra.ext.parquet.format.BloomFilterHash"++_BloomFilterHash_xxhash = Model.Name "xxhash"++-- | Bloom filter header is stored at beginning of Bloom filter data of each column and followed by its bitset.+data BloomFilterHeader =+ BloomFilterHeader {+ -- | The size of bitset in bytes+ bloomFilterHeaderNumBytes :: Int,+ -- | The algorithm for setting bits.+ bloomFilterHeaderAlgorithm :: BloomFilterAlgorithm,+ -- | The hash function used for Bloom filter.+ bloomFilterHeaderHash :: BloomFilterHash,+ -- | The compression used in the Bloom filter+ bloomFilterHeaderCompression :: BloomFilterCompression}+ deriving (Eq, Ord, Read, Show)++_BloomFilterHeader = Model.Name "hydra.ext.parquet.format.BloomFilterHeader"++_BloomFilterHeader_numBytes = Model.Name "numBytes"++_BloomFilterHeader_algorithm = Model.Name "algorithm"++_BloomFilterHeader_hash = Model.Name "hash"++_BloomFilterHeader_compression = Model.Name "compression"++-- | Enum to annotate whether lists of min/max elements inside ColumnIndex are ordered and if so, in which direction.+data BoundaryOrder =+ BoundaryOrderUnordered |+ BoundaryOrderAscending |+ BoundaryOrderDescending+ deriving (Eq, Ord, Read, Show)++_BoundaryOrder = Model.Name "hydra.ext.parquet.format.BoundaryOrder"++_BoundaryOrder_unordered = Model.Name "unordered"++_BoundaryOrder_ascending = Model.Name "ascending"++_BoundaryOrder_descending = Model.Name "descending"++-- | Metadata and location of a single column's data within a row group+data ColumnChunk =+ ColumnChunk {+ -- | File where column data is stored. If not set, assumed to be same file as metadata. This path is relative to the current file.+ columnChunkFilePath :: (Maybe String),+ -- | Byte offset in file_path to the ColumnMetaData+ columnChunkFileOffset :: I.Int64,+ -- | Column metadata for this chunk. This is the same content as what is at file_path/file_offset. Having it here has it replicated in the file metadata.+ columnChunkMetaData :: (Maybe ColumnMetaData),+ -- | File offset of ColumnChunk's OffsetIndex+ columnChunkOffsetIndexOffset :: (Maybe I.Int64),+ -- | Size of ColumnChunk's OffsetIndex, in bytes+ columnChunkOffsetIndexLength :: (Maybe Int),+ -- | File offset of ColumnChunk's ColumnIndex+ columnChunkColumnIndexOffset :: (Maybe I.Int64),+ -- | Size of ColumnChunk's ColumnIndex, in bytes+ columnChunkColumnIndexLength :: (Maybe Int),+ -- | Crypto metadata of encrypted columns+ columnChunkCryptoMetadata :: (Maybe ColumnCryptoMetaData),+ -- | Encrypted column metadata for this chunk+ columnChunkEncryptedColumnMetadata :: (Maybe B.ByteString)}+ deriving (Eq, Ord, Read, Show)++_ColumnChunk = Model.Name "hydra.ext.parquet.format.ColumnChunk"++_ColumnChunk_filePath = Model.Name "filePath"++_ColumnChunk_fileOffset = Model.Name "fileOffset"++_ColumnChunk_metaData = Model.Name "metaData"++_ColumnChunk_offsetIndexOffset = Model.Name "offsetIndexOffset"++_ColumnChunk_offsetIndexLength = Model.Name "offsetIndexLength"++_ColumnChunk_columnIndexOffset = Model.Name "columnIndexOffset"++_ColumnChunk_columnIndexLength = Model.Name "columnIndexLength"++_ColumnChunk_cryptoMetadata = Model.Name "cryptoMetadata"++_ColumnChunk_encryptedColumnMetadata = Model.Name "encryptedColumnMetadata"++-- | Crypto metadata for a column, specifying which key was used to encrypt it+data ColumnCryptoMetaData =+ ColumnCryptoMetaDataEncryptionWithFooterKey EncryptionWithFooterKey |+ ColumnCryptoMetaDataEncryptionWithColumnKey EncryptionWithColumnKey+ deriving (Eq, Ord, Read, Show)++_ColumnCryptoMetaData = Model.Name "hydra.ext.parquet.format.ColumnCryptoMetaData"++_ColumnCryptoMetaData_encryptionWithFooterKey = Model.Name "encryptionWithFooterKey"++_ColumnCryptoMetaData_encryptionWithColumnKey = Model.Name "encryptionWithColumnKey"++-- | Description for ColumnIndex. Each <array-field>[i] refers to the page at OffsetIndex.page_locations[i]+data ColumnIndex =+ ColumnIndex {+ -- | A list of Boolean values to determine the validity of the corresponding min and max values. If true, a page contains only null values, and writers have to set the corresponding entries in min_values and max_values to byte[0], so that all lists have the same length. If false, the corresponding entries in min_values and max_values must be valid.+ columnIndexNullPages :: [Bool],+ -- | minValues and maxValues are lists containing lower and upper bounds for the values of each page determined by the ColumnOrder of the column. These may be the actual minimum and maximum values found on a page, but can also be (more compact) values that do not exist on a page. For example, instead of storing "Blart Versenwald III", a writer may set min_values[i]="B", max_values[i]="C". Such more compact values must still be valid values within the column's logical type. Readers must make sure that list entries are populated before using them by inspecting null_pages.+ columnIndexMinValues :: [B.ByteString],+ columnIndexMaxValues :: [B.ByteString],+ -- | Stores whether both min_values and max_values are orderd and if so, in which direction. This allows readers to perform binary searches in both lists. Readers cannot assume that max_values[i] <= min_values[i+1], even if the lists are ordered.+ columnIndexBoundaryOrder :: BoundaryOrder,+ -- | A list containing the number of null values for each page+ columnIndexNullCounts :: (Maybe [I.Int64])}+ deriving (Eq, Ord, Read, Show)++_ColumnIndex = Model.Name "hydra.ext.parquet.format.ColumnIndex"++_ColumnIndex_nullPages = Model.Name "nullPages"++_ColumnIndex_minValues = Model.Name "minValues"++_ColumnIndex_maxValues = Model.Name "maxValues"++_ColumnIndex_boundaryOrder = Model.Name "boundaryOrder"++_ColumnIndex_nullCounts = Model.Name "nullCounts"++-- | Description for column metadata+data ColumnMetaData =+ ColumnMetaData {+ -- | Type of this column+ columnMetaDataType :: Type,+ -- | Set of all encodings used for this column. The purpose is to validate whether we can decode those pages.+ columnMetaDataEncodings :: [Encoding],+ -- | Path in schema+ columnMetaDataPathInSchema :: [String],+ -- | Compression codec+ columnMetaDataCodec :: CompressionCodec,+ -- | Number of values in this column+ columnMetaDataNumValues :: I.Int64,+ -- | total byte size of all uncompressed pages in this column chunk (including the headers)+ columnMetaDataTotalUncompressedSize :: I.Int64,+ -- | total byte size of all compressed, and potentially encrypted, pages in this column chunk (including the headers)+ columnMetaDataTotalCompressedSize :: I.Int64,+ -- | Optional key/value metadata+ columnMetaDataKeyValueMetadata :: (Maybe [KeyValue]),+ -- | Byte offset from beginning of file to first data page+ columnMetaDataDataPageOffset :: I.Int64,+ -- | Byte offset from beginning of file to root index page+ columnMetaDataIndexPageOffset :: (Maybe I.Int64),+ -- | Byte offset from the beginning of file to first (only) dictionary page+ columnMetaDataDictionaryPageOffset :: (Maybe I.Int64),+ -- | optional statistics for this column chunk+ columnMetaDataStatistics :: (Maybe Statistics),+ -- | Set of all encodings used for pages in this column chunk. This information can be used to determine if all data pages are dictionary encoded for example+ columnMetaDataEncodingStats :: (Maybe [PageEncodingStats]),+ -- | Byte offset from beginning of file to Bloom filter data.+ columnMetaDataBloomFilterOffset :: (Maybe I.Int64)}+ deriving (Eq, Ord, Read, Show)++_ColumnMetaData = Model.Name "hydra.ext.parquet.format.ColumnMetaData"++_ColumnMetaData_type = Model.Name "type"++_ColumnMetaData_encodings = Model.Name "encodings"++_ColumnMetaData_pathInSchema = Model.Name "pathInSchema"++_ColumnMetaData_codec = Model.Name "codec"++_ColumnMetaData_numValues = Model.Name "numValues"++_ColumnMetaData_totalUncompressedSize = Model.Name "totalUncompressedSize"++_ColumnMetaData_totalCompressedSize = Model.Name "totalCompressedSize"++_ColumnMetaData_keyValueMetadata = Model.Name "keyValueMetadata"++_ColumnMetaData_dataPageOffset = Model.Name "dataPageOffset"++_ColumnMetaData_indexPageOffset = Model.Name "indexPageOffset"++_ColumnMetaData_dictionaryPageOffset = Model.Name "dictionaryPageOffset"++_ColumnMetaData_statistics = Model.Name "statistics"++_ColumnMetaData_encodingStats = Model.Name "encodingStats"++_ColumnMetaData_bloomFilterOffset = Model.Name "bloomFilterOffset"++-- | Union to specify the order used for the min_value and max_value fields for a column. This union takes the role of an enhanced enum that allows rich elements (which will be needed for a collation-based ordering in the future). Possible values are:+-- | * TypeDefinedOrder - the column uses the order defined by its logical or physical type (if there is no logical type).+-- | If the reader does not support the value of this union, min and max stats for this column should be ignored. +data ColumnOrder =+ -- | The sort orders for logical types are:+ -- | UTF8 - unsigned byte-wise comparison+ -- | INT8 - signed comparison+ -- | INT16 - signed comparison+ -- | INT32 - signed comparison+ -- | INT64 - signed comparison+ -- | UINT8 - unsigned comparison+ -- | UINT16 - unsigned comparison+ -- | UINT32 - unsigned comparison+ -- | UINT64 - unsigned comparison+ -- | DECIMAL - signed comparison of the represented value+ -- | DATE - signed comparison+ -- | TIME_MILLIS - signed comparison+ -- | TIME_MICROS - signed comparison+ -- | TIMESTAMP_MILLIS - signed comparison+ -- | TIMESTAMP_MICROS - signed comparison+ -- | INTERVAL - unsigned comparison+ -- | JSON - unsigned byte-wise comparison+ -- | BSON - unsigned byte-wise comparison+ -- | ENUM - unsigned byte-wise comparison+ -- | LIST - undefined+ -- | MAP - undefined+ -- | In the absence of logical types, the sort order is determined by the physical type:+ -- | BOOLEAN - false, true+ -- | INT32 - signed comparison+ -- | INT64 - signed comparison+ -- | INT96 (only used for legacy timestamps) - undefined+ -- | FLOAT - signed comparison of the represented value (*)+ -- | DOUBLE - signed comparison of the represented value (*)+ -- | BYTE_ARRAY - unsigned byte-wise comparison+ -- | FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison+ -- | (*) Because the sorting order is not specified properly for floating+ -- | point values (relations vs. total ordering) the following+ -- | compatibility rules should be applied when reading statistics:+ -- | - If the min is a NaN, it should be ignored.+ -- | - If the max is a NaN, it should be ignored.+ -- | - If the min is +0, the row group may contain -0 values as well.+ -- | - If the max is -0, the row group may contain +0 values as well.+ -- | - When looking for NaN values, min and max should be ignored.+ ColumnOrderTypeOrder+ deriving (Eq, Ord, Read, Show)++_ColumnOrder = Model.Name "hydra.ext.parquet.format.ColumnOrder"++_ColumnOrder_typeOrder = Model.Name "typeOrder"++-- | Supported compression algorithms. Codecs added in format version X.Y can be read by readers based on X.Y and later. Codec support may vary between readers based on the format version and libraries available at runtime. See Compression.md for a detailed specification of these algorithms.+data CompressionCodec =+ CompressionCodecUncompressed |+ CompressionCodecSnappy |+ CompressionCodecGzip |+ CompressionCodecLzo |+ -- | Added in 2.4+ CompressionCodecBrotli |+ -- | Added in 2.4+ CompressionCodecZstd |+ -- | Added in 2.9+ CompressionCodecLz4Raw+ deriving (Eq, Ord, Read, Show)++_CompressionCodec = Model.Name "hydra.ext.parquet.format.CompressionCodec"++_CompressionCodec_uncompressed = Model.Name "uncompressed"++_CompressionCodec_snappy = Model.Name "snappy"++_CompressionCodec_gzip = Model.Name "gzip"++_CompressionCodec_lzo = Model.Name "lzo"++_CompressionCodec_brotli = Model.Name "brotli"++_CompressionCodec_zstd = Model.Name "zstd"++_CompressionCodec_lz4Raw = Model.Name "lz4Raw"++-- | Data page header+data DataPageHeader =+ DataPageHeader {+ -- | Number of values, including NULLs, in this data page.+ dataPageHeaderNumValues :: Int,+ -- | Encoding used for this data page+ dataPageHeaderEncoding :: Encoding,+ -- | Encoding used for definition levels+ dataPageHeaderDefinitionLevelEncoding :: Encoding,+ -- | Encoding used for repetition levels+ dataPageHeaderRepetitionLevelEncoding :: Encoding,+ -- | Optional statistics for the data in this page+ dataPageHeaderStatistics :: (Maybe Statistics)}+ deriving (Eq, Ord, Read, Show)++_DataPageHeader = Model.Name "hydra.ext.parquet.format.DataPageHeader"++_DataPageHeader_numValues = Model.Name "numValues"++_DataPageHeader_encoding = Model.Name "encoding"++_DataPageHeader_definitionLevelEncoding = Model.Name "definitionLevelEncoding"++_DataPageHeader_repetitionLevelEncoding = Model.Name "repetitionLevelEncoding"++_DataPageHeader_statistics = Model.Name "statistics"++-- | New page format allowing reading levels without decompressing the data Repetition and definition levels are uncompressed The remaining section containing the data is compressed if is_compressed is true+data DataPageHeaderV2 =+ DataPageHeaderV2 {+ -- | Number of values, including NULLs, in this data page.+ dataPageHeaderV2NumValues :: Int,+ -- | Number of NULL values, in this data page. Number of non-null = num_values - num_nulls which is also the number of values in the data section+ dataPageHeaderV2NumNulls :: Int,+ -- | Number of rows in this data page. which means pages change on record boundaries (r = 0)+ dataPageHeaderV2NumRows :: Int,+ -- | Encoding used for data in this page+ dataPageHeaderV2Encoding :: Encoding,+ -- | length of the definition levels+ dataPageHeaderV2DefinitionLevelsByteLength :: Int,+ -- | length of the repetition levels+ dataPageHeaderV2RepetitionLevelsByteLength :: Int,+ -- | whether the values are compressed. Which means the section of the page between definition_levels_byte_length + repetition_levels_byte_length + 1 and compressed_page_size (included) is compressed with the compression_codec. If missing it is considered compressed+ dataPageHeaderV2IsCompressed :: (Maybe Bool),+ -- | optional statistics for the data in this page+ dataPageHeaderV2Statistics :: (Maybe Statistics)}+ deriving (Eq, Ord, Read, Show)++_DataPageHeaderV2 = Model.Name "hydra.ext.parquet.format.DataPageHeaderV2"++_DataPageHeaderV2_numValues = Model.Name "numValues"++_DataPageHeaderV2_numNulls = Model.Name "numNulls"++_DataPageHeaderV2_numRows = Model.Name "numRows"++_DataPageHeaderV2_encoding = Model.Name "encoding"++_DataPageHeaderV2_definitionLevelsByteLength = Model.Name "definitionLevelsByteLength"++_DataPageHeaderV2_repetitionLevelsByteLength = Model.Name "repetitionLevelsByteLength"++_DataPageHeaderV2_isCompressed = Model.Name "isCompressed"++_DataPageHeaderV2_statistics = Model.Name "statistics"++-- | Decimal logical type annotation. To maintain forward-compatibility in v1, implementations using this logical type must also set scale and precision on the annotated SchemaElement. Allowed for physical types: INT32, INT64, FIXED, and BINARY+data DecimalType =+ DecimalType {+ decimalTypeScale :: Int,+ decimalTypePrecision :: Int}+ deriving (Eq, Ord, Read, Show)++_DecimalType = Model.Name "hydra.ext.parquet.format.DecimalType"++_DecimalType_scale = Model.Name "scale"++_DecimalType_precision = Model.Name "precision"++-- | The dictionary page must be placed at the first position of the column chunk if it is partly or completely dictionary encoded. At most one dictionary page can be placed in a column chunk.+data DictionaryPageHeader =+ DictionaryPageHeader {+ -- | Number of values in the dictionary+ dictionaryPageHeaderNumValues :: Int,+ -- | Encoding using this dictionary page+ dictionaryPageHeaderEncoding :: Encoding,+ -- | If true, the entries in the dictionary are sorted in ascending order+ dictionaryPageHeaderIsSorted :: (Maybe Bool)}+ deriving (Eq, Ord, Read, Show)++_DictionaryPageHeader = Model.Name "hydra.ext.parquet.format.DictionaryPageHeader"++_DictionaryPageHeader_numValues = Model.Name "numValues"++_DictionaryPageHeader_encoding = Model.Name "encoding"++_DictionaryPageHeader_isSorted = Model.Name "isSorted"++-- | Encodings supported by Parquet. Not all encodings are valid for all types. These enums are also used to specify the encoding of definition and repetition levels. See the accompanying doc for the details of the more complicated encodings.+data Encoding =+ -- | Default encoding.+ -- | BOOLEAN - 1 bit per value. 0 is false; 1 is true.+ -- | INT32 - 4 bytes per value. Stored as little-endian.+ -- | INT64 - 8 bytes per value. Stored as little-endian.+ -- | FLOAT - 4 bytes per value. IEEE. Stored as little-endian.+ -- | DOUBLE - 8 bytes per value. IEEE. Stored as little-endian.+ -- | BYTE_ARRAY - 4 byte length stored as little endian, followed by bytes.+ -- | FIXED_LEN_BYTE_ARRAY - Just the bytes.+ EncodingPlain |+ -- | Group packed run length encoding. Usable for definition/repetition levels encoding and Booleans (on one bit: 0 is false; 1 is true.)+ EncodingRle |+ -- | Bit packed encoding. This can only be used if the data has a known max width. Usable for definition/repetition levels encoding.+ EncodingBitPacked |+ -- | Delta encoding for integers. This can be used for int columns and works best on sorted data+ EncodingDeltaBinaryPacked |+ -- | Encoding for byte arrays to separate the length values and the data. The lengths are encoded using DELTA_BINARY_PACKED+ EncodingDeltaLengthByteArray |+ -- | Incremental-encoded byte array. Prefix lengths are encoded using DELTA_BINARY_PACKED. Suffixes are stored as delta length byte arrays.+ EncodingDeltaByteArray |+ -- | Dictionary encoding: the ids are encoded using the RLE encoding+ EncodingRleDictionary |+ -- | Encoding for floating-point data. K byte-streams are created where K is the size in bytes of the data type. The individual bytes of an FP value are scattered to the corresponding stream and the streams are concatenated. This itself does not reduce the size of the data but can lead to better compression afterwards.+ EncodingByteStreamSplit+ deriving (Eq, Ord, Read, Show)++_Encoding = Model.Name "hydra.ext.parquet.format.Encoding"++_Encoding_plain = Model.Name "plain"++_Encoding_rle = Model.Name "rle"++_Encoding_bitPacked = Model.Name "bitPacked"++_Encoding_deltaBinaryPacked = Model.Name "deltaBinaryPacked"++_Encoding_deltaLengthByteArray = Model.Name "deltaLengthByteArray"++_Encoding_deltaByteArray = Model.Name "deltaByteArray"++_Encoding_rleDictionary = Model.Name "rleDictionary"++_Encoding_byteStreamSplit = Model.Name "byteStreamSplit"++-- | The encryption algorithm used to protect a Parquet file, with its parameters+data EncryptionAlgorithm =+ EncryptionAlgorithmAesGcmV1 AesGcmV1 |+ EncryptionAlgorithmAesGcmCtrV1 AesGcmCtrV1+ deriving (Eq, Ord, Read, Show)++_EncryptionAlgorithm = Model.Name "hydra.ext.parquet.format.EncryptionAlgorithm"++_EncryptionAlgorithm_aesGcmV1 = Model.Name "aesGcmV1"++_EncryptionAlgorithm_aesGcmCtrV1 = Model.Name "aesGcmCtrV1"++-- | Identifies a column as encrypted with its own per-column encryption key+data EncryptionWithColumnKey =+ EncryptionWithColumnKey {+ -- | Column path in schema+ encryptionWithColumnKeyPathInSchema :: [String],+ -- | Retrieval metadata of column encryption key+ encryptionWithColumnKeyKeyMetadata :: (Maybe B.ByteString)}+ deriving (Eq, Ord, Read, Show)++_EncryptionWithColumnKey = Model.Name "hydra.ext.parquet.format.EncryptionWithColumnKey"++_EncryptionWithColumnKey_pathInSchema = Model.Name "pathInSchema"++_EncryptionWithColumnKey_keyMetadata = Model.Name "keyMetadata"++-- | Identifies a column as encrypted with the same key used to encrypt the footer+type EncryptionWithFooterKey = ()++_EncryptionWithFooterKey = Model.Name "hydra.ext.parquet.format.EncryptionWithFooterKey"++-- | Representation of Schemas+data FieldRepetitionType =+ -- | This field is required (can not be null) and each record has exactly 1 value.+ FieldRepetitionTypeRequired |+ -- | The field is optional (can be null) and each record has 0 or 1 values.+ FieldRepetitionTypeOptional |+ -- | The field is repeated and can contain 0 or more values+ FieldRepetitionTypeRepeated+ deriving (Eq, Ord, Read, Show)++_FieldRepetitionType = Model.Name "hydra.ext.parquet.format.FieldRepetitionType"++_FieldRepetitionType_required = Model.Name "required"++_FieldRepetitionType_optional = Model.Name "optional"++_FieldRepetitionType_repeated = Model.Name "repeated"++-- | Crypto metadata for files with encrypted footer+data FileCryptoMetaData =+ FileCryptoMetaData {+ -- | Encryption algorithm. This field is only used for files with encrypted footer. Files with plaintext footer store algorithm id inside footer (FileMetaData structure).+ fileCryptoMetaDataEncryptionAlgorithm :: EncryptionAlgorithm,+ -- | Retrieval metadata of key used for encryption of footer, and (possibly) columns+ fileCryptoMetaDataKeyMetadata :: (Maybe B.ByteString)}+ deriving (Eq, Ord, Read, Show)++_FileCryptoMetaData = Model.Name "hydra.ext.parquet.format.FileCryptoMetaData"++_FileCryptoMetaData_encryptionAlgorithm = Model.Name "encryptionAlgorithm"++_FileCryptoMetaData_keyMetadata = Model.Name "keyMetadata"++-- | Description for file metadata+data FileMetaData =+ FileMetaData {+ -- | Version of this file+ fileMetaDataVersion :: Int,+ -- | Parquet schema for this file. This schema contains metadata for all the columns. The schema is represented as a tree with a single root. The nodes of the tree are flattened to a list by doing a depth-first traversal. The column metadata contains the path in the schema for that column which can be used to map columns to nodes in the schema. The first element is the root+ fileMetaDataSchema :: [SchemaElement],+ -- | Number of rows in this file+ fileMetaDataNumRows :: I.Int64,+ -- | Row groups in this file+ fileMetaDataRowGroups :: [RowGroup],+ -- | Optional key/value metadata+ fileMetaDataKeyValueMetadata :: (Maybe [KeyValue]),+ -- | String for application that wrote this file. This should be in the format <Application> version <App Version> (build <App Build Hash>). e.g. impala version 1.0 (build 6cf94d29b2b7115df4de2c06e2ab4326d721eb55)+ fileMetaDataCreatedBy :: (Maybe String),+ -- | Sort order used for the min_value and max_value fields in the Statistics objects and the min_values and max_values fields in the ColumnIndex objects of each column in this file. Sort orders are listed in the order matching the columns in the schema. The indexes are not necessary the same though, because only leaf nodes of the schema are represented in the list of sort orders.+ -- | Without column_orders, the meaning of the min_value and max_value fields in the Statistics object and the ColumnIndex object is undefined. To ensure well-defined behaviour, if these fields are written to a Parquet file, column_orders must be written as well.+ -- | The obsolete min and max fields in the Statistics object are always sorted by signed comparison regardless of column_orders.+ fileMetaDataColumnOrders :: (Maybe [ColumnOrder]),+ -- | Encryption algorithm. This field is set only in encrypted files with plaintext footer. Files with encrypted footer store algorithm id in FileCryptoMetaData structure.+ fileMetaDataEncryptionAlgorithm :: (Maybe EncryptionAlgorithm),+ -- | Retrieval metadata of key used for signing the footer. Used only in encrypted files with plaintext footer.+ fileMetaDataFooterSigningKeyMetadata :: (Maybe B.ByteString)}+ deriving (Eq, Ord, Read, Show)++_FileMetaData = Model.Name "hydra.ext.parquet.format.FileMetaData"++_FileMetaData_version = Model.Name "version"++_FileMetaData_schema = Model.Name "schema"++_FileMetaData_numRows = Model.Name "numRows"++_FileMetaData_rowGroups = Model.Name "rowGroups"++_FileMetaData_keyValueMetadata = Model.Name "keyValueMetadata"++_FileMetaData_createdBy = Model.Name "createdBy"++_FileMetaData_columnOrders = Model.Name "columnOrders"++_FileMetaData_encryptionAlgorithm = Model.Name "encryptionAlgorithm"++_FileMetaData_footerSigningKeyMetadata = Model.Name "footerSigningKeyMetadata"++-- | Header for an index page (currently unused in the Parquet format)+type IndexPageHeader = ()++_IndexPageHeader = Model.Name "hydra.ext.parquet.format.IndexPageHeader"++-- | Integer logical type annotation. bitWidth must be 8, 16, 32, or 64. Allowed for physical types: INT32, INT64+data IntType =+ IntType {+ intTypeBitWidth :: I.Int16,+ intTypeIsSigned :: Bool}+ deriving (Eq, Ord, Read, Show)++_IntType = Model.Name "hydra.ext.parquet.format.IntType"++_IntType_bitWidth = Model.Name "bitWidth"++_IntType_isSigned = Model.Name "isSigned"++-- | Wrapper struct to store key values+data KeyValue =+ KeyValue {+ keyValueKey :: String,+ keyValueValue :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_KeyValue = Model.Name "hydra.ext.parquet.format.KeyValue"++_KeyValue_key = Model.Name "key"++_KeyValue_value = Model.Name "value"++-- | LogicalType annotations to replace ConvertedType. To maintain compatibility, implementations using LogicalType for a SchemaElement aust also set the corresponding ConvertedType (if any) from the following table.+data LogicalType =+ -- | use ConvertedType UTF8+ LogicalTypeString |+ -- | use ConvertedType MAP+ LogicalTypeMap |+ -- | use ConvertedType LIST+ LogicalTypeList |+ -- | use ConvertedType ENUM+ LogicalTypeEnum |+ -- | use ConvertedType DECIMAL + SchemaElement.{scale, precision}+ LogicalTypeDecimal DecimalType |+ -- | use ConvertedType DATE+ LogicalTypeDate |+ -- | use ConvertedType TIME_MICROS for TIME(isAdjustedToUTC = *, unit = MICROS). use ConvertedType TIME_MILLIS for TIME(isAdjustedToUTC = *, unit = MILLIS)+ LogicalTypeTime TimeType |+ -- | use ConvertedType TIMESTAMP_MICROS for TIMESTAMP(isAdjustedToUTC = *, unit = MICROS). use ConvertedType TIMESTAMP_MILLIS for TIMESTAMP(isAdjustedToUTC = *, unit = MILLIS)+ LogicalTypeTimestamp TimestampType |+ -- | use ConvertedType INT_* or UINT_*+ LogicalTypeInteger IntType |+ -- | no compatible ConvertedType+ LogicalTypeUnknown |+ -- | use ConvertedType JSON+ LogicalTypeJson |+ -- | use ConvertedType BSON+ LogicalTypeBson |+ -- | no compatible ConvertedType+ LogicalTypeUuid+ deriving (Eq, Ord, Read, Show)++_LogicalType = Model.Name "hydra.ext.parquet.format.LogicalType"++_LogicalType_string = Model.Name "string"++_LogicalType_map = Model.Name "map"++_LogicalType_list = Model.Name "list"++_LogicalType_enum = Model.Name "enum"++_LogicalType_decimal = Model.Name "decimal"++_LogicalType_date = Model.Name "date"++_LogicalType_time = Model.Name "time"++_LogicalType_timestamp = Model.Name "timestamp"++_LogicalType_integer = Model.Name "integer"++_LogicalType_unknown = Model.Name "unknown"++_LogicalType_json = Model.Name "json"++_LogicalType_bson = Model.Name "bson"++_LogicalType_uuid = Model.Name "uuid"++-- | The offset index for a column chunk, giving byte offsets and row indices of its pages+data OffsetIndex =+ OffsetIndex {+ -- | PageLocations, ordered by increasing PageLocation.offset. It is required that page_locations[i].first_row_index < page_locations[i+1].first_row_index.+ offsetIndexPageLocations :: [PageLocation]}+ deriving (Eq, Ord, Read, Show)++_OffsetIndex = Model.Name "hydra.ext.parquet.format.OffsetIndex"++_OffsetIndex_pageLocations = Model.Name "pageLocations"++-- | statistics of a given page type and encoding+data PageEncodingStats =+ PageEncodingStats {+ -- | the page type (data/dic/...)+ pageEncodingStatsPageType :: PageType,+ -- | encoding of the page+ pageEncodingStatsEncoding :: Encoding,+ -- | number of pages of this type with this encoding+ pageEncodingStatsCount :: Int}+ deriving (Eq, Ord, Read, Show)++_PageEncodingStats = Model.Name "hydra.ext.parquet.format.PageEncodingStats"++_PageEncodingStats_pageType = Model.Name "pageType"++_PageEncodingStats_encoding = Model.Name "encoding"++_PageEncodingStats_count = Model.Name "count"++-- | Common header shared by all page types, wrapping a type-specific header+data PageHeader =+ PageHeader {+ -- | the type of the page: indicates which of the *_header fields is set+ pageHeaderType :: PageType,+ -- | Uncompressed page size in bytes (not including this header)+ pageHeaderUncompressedPageSize :: Int,+ -- | Compressed (and potentially encrypted) page size in bytes, not including this header+ pageHeaderCompressedPageSize :: Int,+ -- | The 32bit CRC for the page, to be be calculated as follows:+ -- | - Using the standard CRC32 algorithm+ -- | - On the data only, i.e. this header should not be included. 'Data'+ -- | hereby refers to the concatenation of the repetition levels, the+ -- | definition levels and the column value, in this exact order.+ -- | - On the encoded versions of the repetition levels, definition levels and+ -- | column values+ -- | - On the compressed versions of the repetition levels, definition levels+ -- | and column values where possible;+ -- | - For v1 data pages, the repetition levels, definition levels and column+ -- | values are always compressed together. If a compression scheme is+ -- | specified, the CRC shall be calculated on the compressed version of+ -- | this concatenation. If no compression scheme is specified, the CRC+ -- | shall be calculated on the uncompressed version of this concatenation.+ -- | - For v2 data pages, the repetition levels and definition levels are+ -- | handled separately from the data and are never compressed (only+ -- | encoded). If a compression scheme is specified, the CRC shall be+ -- | calculated on the concatenation of the uncompressed repetition levels,+ -- | uncompressed definition levels and the compressed column values.+ -- | If no compression scheme is specified, the CRC shall be calculated on+ -- | the uncompressed concatenation.+ -- | - In encrypted columns, CRC is calculated after page encryption; the+ -- | encryption itself is performed after page compression (if compressed)+ -- | If enabled, this allows for disabling checksumming in HDFS if only a few pages need to be read. + pageHeaderCrc :: (Maybe Int),+ pageHeaderDataPageHeader :: (Maybe DataPageHeader),+ pageHeaderIndexPageHeader :: (Maybe IndexPageHeader),+ pageHeaderDictionaryPageHeader :: (Maybe DictionaryPageHeader),+ pageHeaderDataPageHeaderV2 :: (Maybe DataPageHeaderV2)}+ deriving (Eq, Ord, Read, Show)++_PageHeader = Model.Name "hydra.ext.parquet.format.PageHeader"++_PageHeader_type = Model.Name "type"++_PageHeader_uncompressedPageSize = Model.Name "uncompressedPageSize"++_PageHeader_compressedPageSize = Model.Name "compressedPageSize"++_PageHeader_crc = Model.Name "crc"++_PageHeader_dataPageHeader = Model.Name "dataPageHeader"++_PageHeader_indexPageHeader = Model.Name "indexPageHeader"++_PageHeader_dictionaryPageHeader = Model.Name "dictionaryPageHeader"++_PageHeader_dataPageHeaderV2 = Model.Name "dataPageHeaderV2"++-- | Location and size of a single page, used as an entry in an OffsetIndex+data PageLocation =+ PageLocation {+ -- | Offset of the page in the file+ pageLocationOffset :: I.Int64,+ -- | Size of the page, including header. Sum of compressed_page_size and header length+ pageLocationCompressedPageSize :: Int,+ -- | Index within the RowGroup of the first row of the page; this means pages change on record boundaries (r = 0).+ pageLocationFirstRowIndex :: I.Int64}+ deriving (Eq, Ord, Read, Show)++_PageLocation = Model.Name "hydra.ext.parquet.format.PageLocation"++_PageLocation_offset = Model.Name "offset"++_PageLocation_compressedPageSize = Model.Name "compressedPageSize"++_PageLocation_firstRowIndex = Model.Name "firstRowIndex"++-- | The type of a page within a column chunk+data PageType =+ PageTypeDataPage |+ PageTypeIndexPage |+ PageTypeDictionaryPage |+ PageTypeDataPageV2+ deriving (Eq, Ord, Read, Show)++_PageType = Model.Name "hydra.ext.parquet.format.PageType"++_PageType_dataPage = Model.Name "dataPage"++_PageType_indexPage = Model.Name "indexPage"++_PageType_dictionaryPage = Model.Name "dictionaryPage"++_PageType_dataPageV2 = Model.Name "dataPageV2"++-- | Metadata for a horizontal partition of the data into a row group+data RowGroup =+ RowGroup {+ -- | Metadata for each column chunk in this row group. This list must have the same order as the SchemaElement list in FileMetaData.+ rowGroupColumns :: [ColumnChunk],+ -- | Total byte size of all the uncompressed column data in this row group+ rowGroupTotalByteSize :: I.Int64,+ -- | Number of rows in this row group+ rowGroupNumRows :: I.Int64,+ -- | If set, specifies a sort ordering of the rows in this RowGroup. The sorting columns can be a subset of all the columns.+ rowGroupSortingColumns :: (Maybe [SortingColumn]),+ -- | Byte offset from beginning of file to first page (data or dictionary) in this row group+ rowGroupFileOffset :: (Maybe I.Int64),+ -- | Total byte size of all compressed (and potentially encrypted) column data in this row group+ rowGroupTotalCompressedSize :: (Maybe I.Int64),+ -- | Row group ordinal in the file+ rowGroupOrdinal :: (Maybe I.Int16)}+ deriving (Eq, Ord, Read, Show)++_RowGroup = Model.Name "hydra.ext.parquet.format.RowGroup"++_RowGroup_columns = Model.Name "columns"++_RowGroup_totalByteSize = Model.Name "totalByteSize"++_RowGroup_numRows = Model.Name "numRows"++_RowGroup_sortingColumns = Model.Name "sortingColumns"++_RowGroup_fileOffset = Model.Name "fileOffset"++_RowGroup_totalCompressedSize = Model.Name "totalCompressedSize"++_RowGroup_ordinal = Model.Name "ordinal"++-- | Represents a element inside a schema definition.+-- | - if it is a group (inner node) then type is undefined and num_children is defined+-- | - if it is a primitive type (leaf) then type is defined and num_children is undefined+-- | the nodes are listed in depth first traversal order.+data SchemaElement =+ SchemaElement {+ -- | Data type for this field. Not set if the current element is a non-leaf node+ schemaElementType :: (Maybe Type),+ -- | If type is FIXED_LEN_BYTE_ARRAY, this is the byte length of the values. Otherwise, if specified, this is the maximum bit length to store any of the values. (e.g. a low cardinality INT col could have this set to 3). Note that this is in the schema, and therefore fixed for the entire file.+ schemaElementTypeLength :: (Maybe Int),+ -- | repetition of the field. The root of the schema does not have a repetition_type. All other nodes must have one+ schemaElementRepetitionType :: (Maybe FieldRepetitionType),+ -- | Name of the field in the schema+ schemaElementName :: String,+ -- | Nested fields. Since thrift does not support nested fields, the nesting is flattened to a single list by a depth-first traversal. The children count is used to construct the nested relationship. This field is not set when the element is a primitive type+ schemaElementNumChildren :: (Maybe Int),+ -- | When the original schema supports field ids, this will save the original field id in the parquet schema+ schemaElementFieldId :: (Maybe Int),+ -- | The logical type of this SchemaElement. LogicalType replaces ConvertedType, but ConvertedType is still required for some logical types to ensure forward-compatibility in format v1.+ schemaElementLogicalType :: (Maybe LogicalType)}+ deriving (Eq, Ord, Read, Show)++_SchemaElement = Model.Name "hydra.ext.parquet.format.SchemaElement"++_SchemaElement_type = Model.Name "type"++_SchemaElement_typeLength = Model.Name "typeLength"++_SchemaElement_repetitionType = Model.Name "repetitionType"++_SchemaElement_name = Model.Name "name"++_SchemaElement_numChildren = Model.Name "numChildren"++_SchemaElement_fieldId = Model.Name "fieldId"++_SchemaElement_logicalType = Model.Name "logicalType"++-- | Wrapper struct to specify sort order+data SortingColumn =+ SortingColumn {+ -- | The column index (in this row group)+ sortingColumnColumnIdx :: Int,+ -- | If true, indicates this column is sorted in descending order.+ sortingColumnDescending :: Bool,+ -- | If true, nulls will come before non-null values, otherwise, nulls go at the end.+ sortingColumnNullsFirst :: Bool}+ deriving (Eq, Ord, Read, Show)++_SortingColumn = Model.Name "hydra.ext.parquet.format.SortingColumn"++_SortingColumn_columnIdx = Model.Name "columnIdx"++_SortingColumn_descending = Model.Name "descending"++_SortingColumn_nullsFirst = Model.Name "nullsFirst"++-- | Statistics per row group and per page. All fields are optional.+data Statistics =+ Statistics {+ statisticsNullCount :: (Maybe Integer),+ statisticsDistinctCount :: (Maybe Integer),+ -- | Max value for the column, determined by its ColumnOrder. Values are encoded using PLAIN encoding, except that variable-length byte arrays do not include a length prefix.+ statisticsMaxValue :: (Maybe B.ByteString),+ -- | Max value for the column, determined by its ColumnOrder. Values are encoded using PLAIN encoding, except that variable-length byte arrays do not include a length prefix.+ statisticsMinValue :: (Maybe B.ByteString)}+ deriving (Eq, Ord, Read, Show)++_Statistics = Model.Name "hydra.ext.parquet.format.Statistics"++_Statistics_nullCount = Model.Name "nullCount"++_Statistics_distinctCount = Model.Name "distinctCount"++_Statistics_maxValue = Model.Name "maxValue"++_Statistics_minValue = Model.Name "minValue"++-- | Time logical type annotation. Allowed for physical types: INT32 (millis), INT64 (micros, nanos)+data TimeType =+ TimeType {+ timeTypeIsAdjustedToUtc :: Bool,+ timeTypeUnit :: TimeUnit}+ deriving (Eq, Ord, Read, Show)++_TimeType = Model.Name "hydra.ext.parquet.format.TimeType"++_TimeType_isAdjustedToUtc = Model.Name "isAdjustedToUtc"++_TimeType_unit = Model.Name "unit"++-- | The unit of measurement for a TIME or TIMESTAMP logical type+data TimeUnit =+ TimeUnitMillis |+ TimeUnitMicros |+ TimeUnitNanos+ deriving (Eq, Ord, Read, Show)++_TimeUnit = Model.Name "hydra.ext.parquet.format.TimeUnit"++_TimeUnit_millis = Model.Name "millis"++_TimeUnit_micros = Model.Name "micros"++_TimeUnit_nanos = Model.Name "nanos"++-- | Timestamp logical type annotation. Allowed for physical types: INT64+data TimestampType =+ TimestampType {+ timestampTypeIsAdjustedToUtc :: Bool,+ timestampTypeUnit :: TimeUnit}+ deriving (Eq, Ord, Read, Show)++_TimestampType = Model.Name "hydra.ext.parquet.format.TimestampType"++_TimestampType_isAdjustedToUtc = Model.Name "isAdjustedToUtc"++_TimestampType_unit = Model.Name "unit"++-- | Types supported by Parquet. These types are intended to be used in combination with the encodings to control the on disk storage format. For example INT16 is not included as a type since a good encoding of INT32 would handle this.+data Type =+ TypeBoolean |+ TypeInt32 |+ TypeInt64 |+ TypeFloat |+ TypeDouble |+ TypeByteArray |+ TypeFixedLenByteArray+ deriving (Eq, Ord, Read, Show)++_Type = Model.Name "hydra.ext.parquet.format.Type"++_Type_boolean = Model.Name "boolean"++_Type_int32 = Model.Name "int32"++_Type_int64 = Model.Name "int64"++_Type_float = Model.Name "float"++_Type_double = Model.Name "double"++_Type_byteArray = Model.Name "byteArray"++_Type_fixedLenByteArray = Model.Name "fixedLenByteArray"
+ src/main/haskell/Hydra/Ext/Pegasus/Coder.hs view
@@ -0,0 +1,307 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Pegasus PDL code generator: converts Hydra modules to PDL schema files++module Hydra.Ext.Pegasus.Coder where++import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Dependencies as Dependencies+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Environment as Environment+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Model as JsonModel+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.Maps as Maps+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.Markdown as Markdown+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.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+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.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Pegasus.Language as Language+import qualified Hydra.Ext.Pegasus.Pdl as Pdl+import qualified Hydra.Ext.Pegasus.Serde as Serde+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++-- | Construct PDL schema files from type definitions, with topological sorting and cycle detection+constructModule :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Packaging.Module -> [Packaging.TypeDefinition] -> Either Errors.Error (M.Map String Pdl.SchemaFile)+constructModule cx g aliases mod typeDefs =++ let groups = Dependencies.topologicalSortTypeDefinitions typeDefs+ in (Optionals.match (Lists.find (\grp -> Ordering.gt (Lists.length grp) 1) groups) (+ let sortedDefs = Lists.concat groups+ in (Eithers.bind (Eithers.mapList (\typeDef -> typeToSchema cx g aliases mod typeDef) sortedDefs) (\schemas -> Right (Maps.fromList (Lists.map (toPair mod aliases) schemas))))) (\cycle -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "types form a cycle (unsupported in PDL): [" (Strings.concat2 (Strings.join ", " (Lists.map (\td -> Model.unName (Packaging.typeDefinitionName td)) cycle)) "]"))))))++-- | Create PDL annotations from an optional doc string+doc :: Maybe String -> Pdl.Annotations+doc s =+ Pdl.Annotations {+ Pdl.annotationsDoc = s,+ Pdl.annotationsDeprecated = False}++-- | Encode a Hydra type as a PDL schema, failing if it resolves to a nested named schema+encode :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.Type -> Either Errors.Error Pdl.Schema+encode cx g aliases t =+ case (Strip.deannotateType t) of+ Model.TypeRecord v0 -> Logic.ifElse (Lists.isEmpty v0) (encode cx g aliases (Model.TypeLiteral (Model.LiteralTypeInteger Model.IntegerTypeInt32))) (Eithers.bind (encodeType cx g aliases t) (\res -> Eithers.either (\schema -> Right schema) (\_ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "type resolved to an unsupported nested named schema: " (PrintModel.type_ t))))) res))+ _ -> Eithers.bind (encodeType cx g aliases t) (\res -> Eithers.either (\schema -> Right schema) (\_ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "type resolved to an unsupported nested named schema: " (PrintModel.type_ t))))) res)++-- | Encode a Hydra field type as a PDL enum field, converting the name to upper snake case+encodeEnumField :: t0 -> Graph.Graph -> Model.FieldType -> Either Errors.Error Pdl.EnumField+encodeEnumField cx g ft =++ let name = Model.fieldTypeName ft+ typ = Model.fieldTypeType ft+ in (Eithers.bind (getAnns cx g typ) (\anns -> Right (Pdl.EnumField {+ Pdl.enumFieldName = (Pdl.EnumFieldName (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Model.unName name))),+ Pdl.enumFieldAnnotations = anns})))++-- | Encode a type as a PDL schema together with a flag indicating whether it was optional+encodePossiblyOptionalType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.Type -> Either Errors.Error (Pdl.Schema, Bool)+encodePossiblyOptionalType cx g aliases typ =+ case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> Eithers.bind (encode cx g aliases v0) (\t -> Right (t, True))+ Model.TypeRecord _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeUnion _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeLiteral _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeList _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeMap _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeSet _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeVariable _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeWrap _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeEither _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypePair _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeVoid -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))+ Model.TypeAnnotated v0 -> encodePossiblyOptionalType cx g aliases (Model.annotatedTypeBody v0)++-- | Encode a Hydra field type as a PDL record field+encodeRecordField :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.FieldType -> Either Errors.Error Pdl.RecordField+encodeRecordField cx g aliases ft =++ let name = Model.fieldTypeName ft+ typ = Model.fieldTypeType ft+ in (Eithers.bind (getAnns cx g typ) (\anns -> Eithers.bind (encodePossiblyOptionalType cx g aliases typ) (\optResult ->+ let schema = Pairs.first optResult+ optional = Pairs.second optResult+ in (Right (Pdl.RecordField {+ Pdl.recordFieldName = (Pdl.FieldName (Model.unName name)),+ Pdl.recordFieldValue = schema,+ Pdl.recordFieldOptional = optional,+ Pdl.recordFieldDefault = Nothing,+ Pdl.recordFieldAnnotations = anns})))))++-- | Encode a Hydra type as either a PDL Schema (Left) or a PDL NamedSchemaType (Right)+encodeType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.Type -> Either Errors.Error (Either Pdl.Schema Pdl.NamedSchemaType)+encodeType cx g aliases typ =+ case typ of+ Model.TypeAnnotated v0 -> encodeType cx g aliases (Model.annotatedTypeBody v0)+ Model.TypeEither v0 -> Eithers.bind (encode cx g aliases (Model.eitherTypeLeft v0)) (\leftSchema -> Eithers.bind (encode cx g aliases (Model.eitherTypeRight v0)) (\rightSchema ->+ let leftMember =+ Pdl.UnionMember {+ Pdl.unionMemberAlias = (Just (Pdl.FieldName "left")),+ Pdl.unionMemberValue = leftSchema,+ Pdl.unionMemberAnnotations = noAnnotations}+ rightMember =+ Pdl.UnionMember {+ Pdl.unionMemberAlias = (Just (Pdl.FieldName "right")),+ Pdl.unionMemberValue = rightSchema,+ Pdl.unionMemberAnnotations = noAnnotations}+ in (Right (Left (Pdl.SchemaUnion (Pdl.UnionSchema [+ leftMember,+ rightMember]))))))+ Model.TypeList v0 -> Eithers.bind (encode cx g aliases v0) (\inner -> Right (Left (Pdl.SchemaArray inner)))+ Model.TypeLiteral v0 -> case v0 of+ Model.LiteralTypeBinary -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeBytes))+ Model.LiteralTypeBoolean -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeBoolean))+ Model.LiteralTypeFloat v1 -> case v1 of+ Model.FloatTypeFloat32 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeFloat))+ Model.FloatTypeFloat64 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeDouble))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "float32 or float64" (Strings.concat2 ", found: " (PrintModel.type_ typ))))))+ Model.LiteralTypeInteger v1 -> case v1 of+ Model.IntegerTypeInt32 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeInt))+ Model.IntegerTypeInt64 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeLong))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "int32 or int64" (Strings.concat2 ", found: " (PrintModel.type_ typ))))))+ Model.LiteralTypeString -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeString))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "PDL-supported literal type" (Strings.concat2 ", found: " (PrintModel.type_ typ))))))+ Model.TypeMap v0 -> Eithers.bind (encode cx g aliases (Model.mapTypeValues v0)) (\inner -> Right (Left (Pdl.SchemaMap inner)))+ Model.TypePair v0 -> Eithers.bind (encode cx g aliases (Model.pairTypeFirst v0)) (\firstSchema -> Eithers.bind (encode cx g aliases (Model.pairTypeSecond v0)) (\secondSchema ->+ let firstField =+ Pdl.RecordField {+ Pdl.recordFieldName = (Pdl.FieldName "first"),+ Pdl.recordFieldValue = firstSchema,+ Pdl.recordFieldOptional = False,+ Pdl.recordFieldDefault = Nothing,+ Pdl.recordFieldAnnotations = noAnnotations}+ secondField =+ Pdl.RecordField {+ Pdl.recordFieldName = (Pdl.FieldName "second"),+ Pdl.recordFieldValue = secondSchema,+ Pdl.recordFieldOptional = False,+ Pdl.recordFieldDefault = Nothing,+ Pdl.recordFieldAnnotations = noAnnotations}+ in (Right (Right (Pdl.NamedSchemaTypeRecord (Pdl.RecordSchema {+ Pdl.recordSchemaFields = [+ firstField,+ secondField],+ Pdl.recordSchemaIncludes = []}))))))+ Model.TypeSet v0 -> Eithers.bind (encode cx g aliases v0) (\inner -> Right (Left (Pdl.SchemaArray inner)))+ Model.TypeVariable v0 -> Right (Left (Pdl.SchemaNamed (pdlNameForElement aliases True v0)))+ Model.TypeWrap v0 -> encodeType cx g aliases v0+ Model.TypeOptional _ -> Left (Errors.ErrorOther (Errors.OtherError "optionals unexpected at top level"))+ Model.TypeRecord v0 -> Eithers.bind (Eithers.mapList (encodeRecordField cx g aliases) v0) (\rfields -> Right (Right (Pdl.NamedSchemaTypeRecord (Pdl.RecordSchema {+ Pdl.recordSchemaFields = rfields,+ Pdl.recordSchemaIncludes = []}))))+ Model.TypeUnion v0 -> Logic.ifElse (Lists.foldl (\b -> \t -> Logic.and b (Equality.equal (Strip.deannotateType t) Model.TypeUnit)) True (Lists.map (\f -> Model.fieldTypeType f) v0)) (Eithers.bind (Eithers.mapList (encodeEnumField cx g) v0) (\fs -> Right (Right (Pdl.NamedSchemaTypeEnum (Pdl.EnumSchema {+ Pdl.enumSchemaFields = fs}))))) (Eithers.bind (Eithers.mapList (encodeUnionField cx g aliases) v0) (\members -> Right (Left (Pdl.SchemaUnion (Pdl.UnionSchema members)))))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "PDL-supported type" (Strings.concat2 ", found: " (PrintModel.type_ typ))))))++-- | Encode a Hydra field type as a PDL union member, wrapping optional types in a null union+encodeUnionField :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Model.FieldType -> Either Errors.Error Pdl.UnionMember+encodeUnionField cx g aliases ft =++ let name = Model.fieldTypeName ft+ typ = Model.fieldTypeType ft+ in (Eithers.bind (getAnns cx g typ) (\anns -> Eithers.bind (encodePossiblyOptionalType cx g aliases typ) (\optResult ->+ let s = Pairs.first optResult+ optional = Pairs.second optResult+ schema =+ Logic.ifElse optional (Pdl.SchemaUnion (Pdl.UnionSchema (Lists.map (\ms -> simpleUnionMember ms) [+ Pdl.SchemaNull,+ s]))) s+ in (Right (Pdl.UnionMember {+ Pdl.unionMemberAlias = (Just (Pdl.FieldName (Model.unName name))),+ Pdl.unionMemberValue = schema,+ Pdl.unionMemberAnnotations = anns})))))++-- | Get PDL annotations for a type by looking up its description in the graph+getAnns :: t0 -> Graph.Graph -> Model.Type -> Either Errors.Error Pdl.Annotations+getAnns cx g typ = Eithers.bind (Annotations.getTypeDescription cx g typ) (\r -> Right (doc r))++-- | Compute import aliases for a module's dependencies+importAliasesForModule :: t0 -> Graph.Graph -> Packaging.Module -> Either Errors.Error (M.Map Packaging.ModuleName String)+importAliasesForModule cx g mod =+ Eithers.bind (Analysis.moduleDependencyModuleNames cx g False True True False mod) (\nss -> Right (Maps.fromList (Lists.map (\ns_ -> (ns_, (slashesToDots (Packaging.unModuleName ns_)))) (Sets.toList nss))))++-- | Convert a Hydra module to a map of file paths to PDL schema strings+moduleToPdl :: Packaging.Module -> [Packaging.Definition] -> t0 -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToPdl mod defs cx g =+ Eithers.bind (moduleToPegasusSchemas cx g mod defs) (\files -> Right (Maps.fromList (Lists.map (\pair -> (Pairs.first pair, (Serialization.printExpr (Serialization.parenthesize (Serde.schemaFileToExpr (Pairs.second pair)))))) (Maps.toList files))))++-- | Convert a Hydra module and its definitions to PDL schema files+moduleToPegasusSchemas :: t0 -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error (M.Map String Pdl.SchemaFile)+moduleToPegasusSchemas cx g mod defs =++ let partitioned = Environment.partitionDefinitions defs+ typeDefs = Pairs.first partitioned+ in (Eithers.bind (importAliasesForModule cx g mod) (\aliases -> constructModule cx g aliases mod typeDefs))++-- | Empty PDL annotations+noAnnotations :: Pdl.Annotations+noAnnotations =+ Pdl.Annotations {+ Pdl.annotationsDoc = Nothing,+ Pdl.annotationsDeprecated = False}++-- | Convert a Hydra element name to a PDL qualified name+pdlNameForElement :: M.Map Packaging.ModuleName String -> Bool -> Model.Name -> Pdl.QualifiedName+pdlNameForElement aliases withNs name =++ let qn = Names.qualifyName name+ ns_ = Util.qualifiedNameModuleName qn+ local = Util.qualifiedNameLocal qn+ alias = Optionals.bind ns_ (\n -> Maps.lookup n aliases)+ in Pdl.QualifiedName {+ Pdl.qualifiedNameName = (Pdl.Name local),+ Pdl.qualifiedNameNamespace = (Logic.ifElse withNs (Optionals.map (\a -> Pdl.Namespace a) alias) Nothing)}++-- | Convert a module's namespace to a PDL namespace+pdlNameForModule :: Packaging.Module -> Pdl.Namespace+pdlNameForModule mod = Pdl.Namespace (slashesToDots (Packaging.unModuleName (Packaging.moduleName mod)))++-- | Create a simple union member without an alias+simpleUnionMember :: Pdl.Schema -> Pdl.UnionMember+simpleUnionMember schema =+ Pdl.UnionMember {+ Pdl.unionMemberAlias = Nothing,+ Pdl.unionMemberValue = schema,+ Pdl.unionMemberAnnotations = noAnnotations}++-- | Replace all forward slashes with dots in a string+slashesToDots :: String -> String+slashesToDots s = Strings.join "." (Strings.splitOn "/" s)++-- | Pair a file path derived from a module and schema name with the resulting PDL schema file+toPair :: Packaging.Module -> t0 -> (Pdl.NamedSchema, [Pdl.QualifiedName]) -> (String, Pdl.SchemaFile)+toPair mod aliases schemaPair =++ let schema = Pairs.first schemaPair+ imports = Pairs.second schemaPair+ ns_ = pdlNameForModule mod+ local = Pdl.unName (Pdl.qualifiedNameName (Pdl.namedSchemaQualifiedName schema))+ path =+ Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "pdl") (Packaging.ModuleName (Strings.concat2 (Packaging.unModuleName (Packaging.moduleName mod)) (Strings.concat2 "/" local)))+ in (+ path,+ Pdl.SchemaFile {+ Pdl.schemaFileNamespace = ns_,+ Pdl.schemaFilePackage = Nothing,+ Pdl.schemaFileImports = imports,+ Pdl.schemaFileSchemas = [+ schema]})++-- | Convert a Hydra type definition into a named PDL schema together with its imports+typeToSchema :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> t1 -> Packaging.TypeDefinition -> Either Errors.Error (Pdl.NamedSchema, [t2])+typeToSchema cx g aliases mod typeDef =++ let typ = Model.typeSchemeBody (Packaging.typeDefinitionBody typeDef)+ in (Eithers.bind (encodeType cx g aliases typ) (\res ->+ let ptype = Eithers.either (\schema -> Pdl.NamedSchemaTypeTyperef schema) (\t -> t) res+ in (Eithers.bind (Annotations.getTypeDescription cx g typ) (\descr ->+ let anns = doc descr+ qname = pdlNameForElement aliases False (Packaging.typeDefinitionName typeDef)+ in (Right (+ Pdl.NamedSchema {+ Pdl.namedSchemaQualifiedName = qname,+ Pdl.namedSchemaType = ptype,+ Pdl.namedSchemaAnnotations = anns},+ []))))))
+ src/main/haskell/Hydra/Ext/Pegasus/Language.hs view
@@ -0,0 +1,114 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints for LinkedIn Pegasus (PDL)++module Hydra.Ext.Pegasus.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Sets as Sets+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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++-- | Language constraints for LinkedIn Pegasus (PDL)+pdlLanguage :: Coders.Language+pdlLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.ext.pegasus.pdl"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "pdl")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBinary,+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes =+ Sets.fromList [+ Model.FloatTypeFloat32,+ Model.FloatTypeFloat64]+ integerTypes =+ Sets.fromList [+ Model.IntegerTypeInt32,+ Model.IntegerTypeInt64]+ termVariants =+ Sets.fromList [+ Variants.TermVariantEither,+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantMap,+ Variants.TermVariantPair,+ Variants.TermVariantSet,+ Variants.TermVariantWrap,+ Variants.TermVariantOptional,+ Variants.TermVariantRecord,+ Variants.TermVariantInject]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantAnnotated,+ Variants.TypeVariantEither,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantPair,+ Variants.TypeVariantSet,+ Variants.TypeVariantWrap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantRecord,+ Variants.TypeVariantUnion,+ Variants.TypeVariantVariable]+ typePredicate = \_ -> True
+ src/main/haskell/Hydra/Ext/Pegasus/Pdl.hs view
@@ -0,0 +1,288 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for PDL (Pegasus Data Language) schemas. Based on the specification at:+-- | https://linkedin.github.io/rest.li/pdl_schema++module Hydra.Ext.Pegasus.Pdl where++import qualified Hydra.Core.Json.Model as JsonModel+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++-- | Annotations which can be applied to record fields, aliased union members, enum symbols, or named schemas+data Annotations =+ Annotations {+ annotationsDoc :: (Maybe String),+ annotationsDeprecated :: Bool}+ deriving (Eq, Ord, Read, Show)++_Annotations = Model.Name "hydra.ext.pegasus.pdl.Annotations"++_Annotations_doc = Model.Name "doc"++_Annotations_deprecated = Model.Name "deprecated"++-- | A single symbol of a PDL enum schema, with its optional annotations+data EnumField =+ EnumField {+ enumFieldName :: EnumFieldName,+ enumFieldAnnotations :: Annotations}+ deriving (Eq, Ord, Read, Show)++_EnumField = Model.Name "hydra.ext.pegasus.pdl.EnumField"++_EnumField_name = Model.Name "name"++_EnumField_annotations = Model.Name "annotations"++-- | The name of a PDL enum symbol, conventionally in upper snake case+newtype EnumFieldName =+ EnumFieldName {+ unEnumFieldName :: String}+ deriving (Eq, Ord, Read, Show)++_EnumFieldName = Model.Name "hydra.ext.pegasus.pdl.EnumFieldName"++-- | A PDL enum schema, defined as a fixed set of enumerated symbols+data EnumSchema =+ EnumSchema {+ enumSchemaFields :: [EnumField]}+ deriving (Eq, Ord, Read, Show)++_EnumSchema = Model.Name "hydra.ext.pegasus.pdl.EnumSchema"++_EnumSchema_fields = Model.Name "fields"++-- | The name of a record field or an aliased union member+newtype FieldName =+ FieldName {+ unFieldName :: String}+ deriving (Eq, Ord, Read, Show)++_FieldName = Model.Name "hydra.ext.pegasus.pdl.FieldName"++-- | The unqualified (non-namespaced) name of a PDL named schema+newtype Name =+ Name {+ unName :: String}+ deriving (Eq, Ord, Read, Show)++_Name = Model.Name "hydra.ext.pegasus.pdl.Name"++-- | A PDL schema that has a qualified name: a record, enum, or typeref+data NamedSchema =+ NamedSchema {+ namedSchemaQualifiedName :: QualifiedName,+ namedSchemaType :: NamedSchemaType,+ namedSchemaAnnotations :: Annotations}+ deriving (Eq, Ord, Read, Show)++_NamedSchema = Model.Name "hydra.ext.pegasus.pdl.NamedSchema"++_NamedSchema_qualifiedName = Model.Name "qualifiedName"++_NamedSchema_type = Model.Name "type"++_NamedSchema_annotations = Model.Name "annotations"++-- | The variety of a PDL named schema: record, enum, or typeref+data NamedSchemaType =+ NamedSchemaTypeRecord RecordSchema |+ NamedSchemaTypeEnum EnumSchema |+ NamedSchemaTypeTyperef Schema+ deriving (Eq, Ord, Read, Show)++_NamedSchemaType = Model.Name "hydra.ext.pegasus.pdl.NamedSchemaType"++_NamedSchemaType_record = Model.Name "record"++_NamedSchemaType_enum = Model.Name "enum"++_NamedSchemaType_typeref = Model.Name "typeref"++-- | A dot-separated PDL namespace, analogous to a Java package name+newtype Namespace =+ Namespace {+ unNamespace :: String}+ deriving (Eq, Ord, Read, Show)++_Namespace = Model.Name "hydra.ext.pegasus.pdl.Namespace"++-- | The Java package under which generated bindings for a schema file are placed+newtype Package =+ Package {+ unPackage :: String}+ deriving (Eq, Ord, Read, Show)++_Package = Model.Name "hydra.ext.pegasus.pdl.Package"++-- | One of the built-in PDL primitive types+data PrimitiveType =+ PrimitiveTypeBoolean |+ PrimitiveTypeBytes |+ PrimitiveTypeDouble |+ PrimitiveTypeFloat |+ PrimitiveTypeInt |+ PrimitiveTypeLong |+ PrimitiveTypeString+ deriving (Eq, Ord, Read, Show)++_PrimitiveType = Model.Name "hydra.ext.pegasus.pdl.PrimitiveType"++_PrimitiveType_boolean = Model.Name "boolean"++_PrimitiveType_bytes = Model.Name "bytes"++_PrimitiveType_double = Model.Name "double"++_PrimitiveType_float = Model.Name "float"++_PrimitiveType_int = Model.Name "int"++_PrimitiveType_long = Model.Name "long"++_PrimitiveType_string = Model.Name "string"++-- | A custom key/value property attached to a PDL schema, field, or member+data Property =+ Property {+ propertyKey :: PropertyKey,+ propertyValue :: (Maybe JsonModel.Value)}+ deriving (Eq, Ord, Read, Show)++_Property = Model.Name "hydra.ext.pegasus.pdl.Property"++_Property_key = Model.Name "key"++_Property_value = Model.Name "value"++-- | The key of a custom PDL schema property, e.g. a dot-separated path+newtype PropertyKey =+ PropertyKey {+ unPropertyKey :: String}+ deriving (Eq, Ord, Read, Show)++_PropertyKey = Model.Name "hydra.ext.pegasus.pdl.PropertyKey"++-- | A PDL name together with the optional namespace that qualifies it+data QualifiedName =+ QualifiedName {+ qualifiedNameName :: Name,+ qualifiedNameNamespace :: (Maybe Namespace)}+ deriving (Eq, Ord, Read, Show)++_QualifiedName = Model.Name "hydra.ext.pegasus.pdl.QualifiedName"++_QualifiedName_name = Model.Name "name"++_QualifiedName_namespace = Model.Name "namespace"++-- | Note: the default value for an enum-valued must be one of the enumerated string symbols+data RecordField =+ RecordField {+ recordFieldName :: FieldName,+ recordFieldValue :: Schema,+ recordFieldOptional :: Bool,+ recordFieldDefault :: (Maybe JsonModel.Value),+ recordFieldAnnotations :: Annotations}+ deriving (Eq, Ord, Read, Show)++_RecordField = Model.Name "hydra.ext.pegasus.pdl.RecordField"++_RecordField_name = Model.Name "name"++_RecordField_value = Model.Name "value"++_RecordField_optional = Model.Name "optional"++_RecordField_default = Model.Name "default"++_RecordField_annotations = Model.Name "annotations"++-- | Note: all included schemas must be record schemas+data RecordSchema =+ RecordSchema {+ recordSchemaFields :: [RecordField],+ recordSchemaIncludes :: [NamedSchema]}+ deriving (Eq, Ord, Read, Show)++_RecordSchema = Model.Name "hydra.ext.pegasus.pdl.RecordSchema"++_RecordSchema_fields = Model.Name "fields"++_RecordSchema_includes = Model.Name "includes"++-- | A PDL data schema: either a primitive, a reference by name, or a complex type+data Schema =+ SchemaArray Schema |+ SchemaFixed Int |+ SchemaInline NamedSchema |+ SchemaMap Schema |+ SchemaNamed QualifiedName |+ SchemaNull |+ SchemaPrimitive PrimitiveType |+ SchemaUnion UnionSchema+ deriving (Eq, Ord, Read, Show)++_Schema = Model.Name "hydra.ext.pegasus.pdl.Schema"++_Schema_array = Model.Name "array"++_Schema_fixed = Model.Name "fixed"++_Schema_inline = Model.Name "inline"++_Schema_map = Model.Name "map"++_Schema_named = Model.Name "named"++_Schema_null = Model.Name "null"++_Schema_primitive = Model.Name "primitive"++_Schema_union = Model.Name "union"++-- | A .pdl source file: a namespace declaration, imports, and one or more named schemas+data SchemaFile =+ SchemaFile {+ schemaFileNamespace :: Namespace,+ schemaFilePackage :: (Maybe Package),+ schemaFileImports :: [QualifiedName],+ schemaFileSchemas :: [NamedSchema]}+ deriving (Eq, Ord, Read, Show)++_SchemaFile = Model.Name "hydra.ext.pegasus.pdl.SchemaFile"++_SchemaFile_namespace = Model.Name "namespace"++_SchemaFile_package = Model.Name "package"++_SchemaFile_imports = Model.Name "imports"++_SchemaFile_schemas = Model.Name "schemas"++-- | Note: annotations are only available for aliased members+data UnionMember =+ UnionMember {+ unionMemberAlias :: (Maybe FieldName),+ unionMemberValue :: Schema,+ unionMemberAnnotations :: Annotations}+ deriving (Eq, Ord, Read, Show)++_UnionMember = Model.Name "hydra.ext.pegasus.pdl.UnionMember"++_UnionMember_alias = Model.Name "alias"++_UnionMember_value = Model.Name "value"++_UnionMember_annotations = Model.Name "annotations"++-- | Note: unions are not allowed as member types of other unions+newtype UnionSchema =+ UnionSchema {+ unUnionSchema :: [UnionMember]}+ deriving (Eq, Ord, Read, Show)++_UnionSchema = Model.Name "hydra.ext.pegasus.pdl.UnionSchema"
+ src/main/haskell/Hydra/Ext/Pegasus/Serde.hs view
@@ -0,0 +1,196 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Serialization functions for converting Pegasus PDL AST to abstract expressions++module Hydra.Ext.Pegasus.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Model as JsonModel+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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Pegasus.Pdl as Pdl+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | Convert PDL annotations to an optional expression (doc comment)+annotationsToExpr :: Pdl.Annotations -> Maybe Ast.Expr+annotationsToExpr anns =++ let d = Pdl.annotationsDoc anns+ in (Optionals.map (\s -> Serialization.cst (Formatting.javaStyleComment s)) d)++-- | Convert a PDL enum field to an expression+enumFieldToExpr :: Pdl.EnumField -> Ast.Expr+enumFieldToExpr ef =++ let name = Pdl.unEnumFieldName (Pdl.enumFieldName ef)+ anns = Pdl.enumFieldAnnotations ef+ in (withAnnotations anns (Serialization.cst name))++-- | Convert a qualified name to an import expression+importToExpr :: Pdl.QualifiedName -> Ast.Expr+importToExpr qn =+ Serialization.spaceSep [+ Serialization.cst "import",+ (qualifiedNameToExpr qn)]++-- | Convert a named schema to an expression+namedSchemaToExpr :: Pdl.NamedSchema -> Ast.Expr+namedSchemaToExpr ns =++ let qn = Pdl.namedSchemaQualifiedName ns+ t = Pdl.namedSchemaType ns+ anns = Pdl.namedSchemaAnnotations ns+ in (withAnnotations anns (case t of+ Pdl.NamedSchemaTypeRecord v0 ->+ let fields = Pdl.recordSchemaFields v0+ in (Serialization.spaceSep [+ Serialization.cst "record",+ (qualifiedNameToExpr qn),+ (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle (Lists.map recordFieldToExpr fields))])+ Pdl.NamedSchemaTypeEnum v0 ->+ let fields = Pdl.enumSchemaFields v0+ in (Serialization.spaceSep [+ Serialization.cst "enum",+ (qualifiedNameToExpr qn),+ (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle (Lists.map enumFieldToExpr fields))])+ Pdl.NamedSchemaTypeTyperef v0 -> Serialization.spaceSep [+ Serialization.cst "typeref",+ (qualifiedNameToExpr qn),+ (Serialization.cst "="),+ (schemaToExpr v0)]))++-- | Convert a primitive type to an expression+primitiveTypeToExpr :: Pdl.PrimitiveType -> Ast.Expr+primitiveTypeToExpr pt =+ Serialization.cst (case pt of+ Pdl.PrimitiveTypeBoolean -> "boolean"+ Pdl.PrimitiveTypeBytes -> "bytes"+ Pdl.PrimitiveTypeDouble -> "double"+ Pdl.PrimitiveTypeFloat -> "float"+ Pdl.PrimitiveTypeInt -> "int"+ Pdl.PrimitiveTypeLong -> "long"+ Pdl.PrimitiveTypeString -> "string")++-- | Convert a qualified name to an expression+qualifiedNameToExpr :: Pdl.QualifiedName -> Ast.Expr+qualifiedNameToExpr qn =++ let name = Pdl.unName (Pdl.qualifiedNameName qn)+ ns = Pdl.qualifiedNameNamespace qn+ parts =+ Optionals.givens [+ Optionals.map (\n -> Pdl.unNamespace n) ns,+ (Optionals.given name)]+ in (Serialization.cst (Strings.join "." parts))++-- | Convert a record field to an expression+recordFieldToExpr :: Pdl.RecordField -> Ast.Expr+recordFieldToExpr rf =++ let name = Pdl.unFieldName (Pdl.recordFieldName rf)+ schema = Pdl.recordFieldValue rf+ optional = Pdl.recordFieldOptional rf+ anns = Pdl.recordFieldAnnotations rf+ in (withAnnotations anns (Serialization.spaceSep (Optionals.givens [+ Optionals.given (Serialization.cst (Strings.concat2 name ":")),+ (Logic.ifElse optional (Optionals.given (Serialization.cst "optional")) Nothing),+ (Optionals.given (schemaToExpr schema))])))++-- | Convert a schema file to an expression+schemaFileToExpr :: Pdl.SchemaFile -> Ast.Expr+schemaFileToExpr sf =++ let ns = Pdl.unNamespace (Pdl.schemaFileNamespace sf)+ pkg = Pdl.schemaFilePackage sf+ imports = Pdl.schemaFileImports sf+ schemas = Pdl.schemaFileSchemas sf+ namespaceSec =+ Optionals.given (Serialization.spaceSep [+ Serialization.cst "namespace",+ (Serialization.cst ns)])+ packageSec =+ Optionals.map (\p -> Serialization.spaceSep [+ Serialization.cst "package",+ (Serialization.cst (Pdl.unPackage p))]) pkg+ importsSec =+ Logic.ifElse (Lists.isEmpty imports) Nothing (Optionals.given (Serialization.newlineSep (Lists.map importToExpr imports)))+ schemaSecs = Lists.map (\s -> Optionals.given (namedSchemaToExpr s)) schemas+ in (Serialization.doubleNewlineSep (Optionals.givens (Lists.concat [+ [+ namespaceSec,+ packageSec,+ importsSec],+ schemaSecs])))++-- | Convert a schema to an expression+schemaToExpr :: Pdl.Schema -> Ast.Expr+schemaToExpr schema =+ case schema of+ Pdl.SchemaArray v0 -> Serialization.noSep [+ Serialization.cst "array",+ (Serialization.bracketList Serialization.inlineStyle [+ schemaToExpr v0])]+ Pdl.SchemaMap v0 -> Serialization.noSep [+ Serialization.cst "map",+ (Serialization.bracketList Serialization.inlineStyle [+ Serialization.cst "string",+ (schemaToExpr v0)])]+ Pdl.SchemaNamed v0 -> qualifiedNameToExpr v0+ Pdl.SchemaNull -> Serialization.cst "null"+ Pdl.SchemaPrimitive v0 -> primitiveTypeToExpr v0+ Pdl.SchemaUnion v0 -> Serialization.noSep [+ Serialization.cst "union",+ (Serialization.bracketList Serialization.fullBlockStyle (Lists.map unionMemberToExpr (Pdl.unUnionSchema v0)))]++-- | Convert a union member to an expression+unionMemberToExpr :: Pdl.UnionMember -> Ast.Expr+unionMemberToExpr um =++ let alias = Pdl.unionMemberAlias um+ schema = Pdl.unionMemberValue um+ anns = Pdl.unionMemberAnnotations um+ in (withAnnotations anns (Serialization.spaceSep (Optionals.givens [+ Optionals.map (\fn -> Serialization.cst (Strings.concat2 (Pdl.unFieldName fn) ":")) alias,+ (Optionals.given (schemaToExpr schema))])))++-- | Prepend annotations (doc comment) to an expression+withAnnotations :: Pdl.Annotations -> Ast.Expr -> Ast.Expr+withAnnotations anns expr =+ Serialization.newlineSep (Optionals.givens [+ annotationsToExpr anns,+ (Optionals.given expr)])
+ src/main/haskell/Hydra/Ext/Protobuf/Any.hs view
@@ -0,0 +1,26 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/any.proto++module Hydra.Ext.Protobuf.Any where++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+import qualified Data.ByteString as B++-- | `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.+data Any =+ Any {+ -- | A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.+ anyTypeUrl :: String,+ -- | Must be a valid serialized protocol buffer of the above specified type.+ anyValue :: B.ByteString}+ deriving (Eq, Ord, Read, Show)++_Any = Model.Name "hydra.ext.protobuf.any.Any"++_Any_typeUrl = Model.Name "typeUrl"++_Any_value = Model.Name "value"
+ src/main/haskell/Hydra/Ext/Protobuf/Coder.hs view
@@ -0,0 +1,598 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Protobuf code generator: converts Hydra modules to Protocol Buffers v3 definitions++module Hydra.Ext.Protobuf.Coder where++import qualified Hydra.Core.Adapt as Adapt+import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Decode.Model as DecodeModel+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Environment as Environment+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Extract.Model as ExtractModel+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.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.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.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.Markdown as Markdown+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.Predicates as Predicates+import qualified Hydra.Core.Print.Errors as PrintErrors+import qualified Hydra.Core.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Rewriting as Rewriting+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Protobuf.Environment as ProtobufEnvironment+import qualified Hydra.Ext.Protobuf.Language as Language+import qualified Hydra.Ext.Protobuf.Proto3 as Proto3+import qualified Hydra.Ext.Protobuf.Serde as Serde+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++-- | Collect all structural type references (Either, Pair) from a list of types+collectStructuralTypes :: [Model.Type] -> S.Set ProtobufEnvironment.StructuralTypeRef+collectStructuralTypes types =+ Lists.foldl (\acc -> \t -> Sets.union acc (collectStructuralTypesFromType t)) Sets.empty types++-- | Collect structural type references from a single type+collectStructuralTypesFromType :: Model.Type -> S.Set ProtobufEnvironment.StructuralTypeRef+collectStructuralTypesFromType typ =+ Rewriting.foldOverType Coders.TraversalOrderPre (\acc -> \t ->+ let st = simplifyType t+ in case st of+ Model.TypeEither v0 -> Sets.insert (ProtobufEnvironment.StructuralTypeRefEither (Model.eitherTypeLeft v0, (Model.eitherTypeRight v0))) acc+ Model.TypePair v0 -> Sets.insert (ProtobufEnvironment.StructuralTypeRefPair (Model.pairTypeFirst v0, (Model.pairTypeSecond v0))) acc+ _ -> acc) Sets.empty typ++-- | Construct a Protobuf file from a Hydra module and its type definitions+constructModule :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.Module -> [Packaging.TypeDefinition] -> Either Errors.Error Proto3.ProtoFile+constructModule cx g mod typeDefs =++ let ns_ = Packaging.moduleName mod+ desc = Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em)+ toDef =+ \td ->+ let name = Packaging.typeDefinitionName td+ typ = Model.typeSchemeBody (Packaging.typeDefinitionBody td)+ encodeDefEither = \n -> \t -> encodeDefinition cx g ns_ n t+ flatTyp = flattenType typ+ enc = encodeDefEither name+ in case (Strip.deannotateType flatTyp) of+ Model.TypeVariable _ -> enc flatTyp+ _ -> Eithers.bind (Adapt.adaptTypeForLanguage Language.protobufLanguage flatTyp) (\adaptedType -> enc adaptedType)+ types = Lists.map (\td -> Model.typeSchemeBody (Packaging.typeDefinitionBody td)) typeDefs+ structRefs = collectStructuralTypes types+ javaOptions =+ [+ Proto3.Option {+ Proto3.optionName = javaMultipleFilesOptionName,+ Proto3.optionValue = (Proto3.ValueBoolean True)},+ Proto3.Option {+ Proto3.optionName = javaPackageOptionName,+ Proto3.optionValue = (Proto3.ValueString (Proto3.unPackageName (namespaceToPackageName ns_)))}]+ descOption =+ Proto3.Option {+ Proto3.optionName = Serde.descriptionOptionName,+ Proto3.optionValue = (Proto3.ValueString (Strings.concat2 (Optionals.match desc "" (\d -> Strings.concat2 d "\n\n")) Constants.warningAutoGeneratedFile))}+ checkFieldType_wrapper =+ \typ -> case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> case (Strip.deannotateType v0) of+ Model.TypeLiteral _ -> True+ _ -> False+ _ -> False+ checkFieldType_empty = \typ -> Predicates.isUnitType typ+ checkFields =+ \checkType -> \checkFieldType -> \ts -> Lists.foldl (\b -> \t -> Logic.or b (Rewriting.foldOverType Coders.TraversalOrderPre (\b2 -> \t2 -> Logic.or b2 (+ let checkResult = checkType t2+ in (Optionals.match checkResult (case t2 of+ Model.TypeRecord v0 -> Lists.foldl (\b3 -> \f -> Logic.or b3 (checkFieldType (Strip.deannotateType (Model.fieldTypeType f)))) False v0+ Model.TypeUnion v0 -> Lists.foldl (\b3 -> \f -> Logic.or b3 (checkFieldType (Strip.deannotateType (Model.fieldTypeType f)))) False v0+ _ -> False) (\b3 -> b3)))) False t)) False ts+ wrapperImport =+ Logic.ifElse (checkFields (\_ -> Nothing) checkFieldType_wrapper types) [+ Proto3.FileReference "google/protobuf/wrappers.proto"] []+ emptyCheckType = \typ -> Logic.ifElse (isEnumDefinition typ) (Just False) Nothing+ emptyImport =+ Logic.ifElse (checkFields emptyCheckType checkFieldType_empty types) [+ Proto3.FileReference "google/protobuf/empty.proto"] []+ in (Eithers.bind (Analysis.moduleDependencyModuleNames (ProtobufEnvironment.encoderStateContext cx) g True False False False mod) (\schemaImports -> Eithers.bind (Eithers.mapList toDef typeDefs) (\definitions ->+ let schemaImportList = Lists.map (\n -> namespaceToFileReference n) (Sets.toList schemaImports)+ in (Eithers.bind (mapAccumResult (\cx0 -> \ref -> generateStructuralTypeMessage cx0 g ns_ ref) cx (Sets.toList structRefs)) (\helperResult ->+ let helperDefs = Pairs.first helperResult+ in (Right (Proto3.ProtoFile {+ Proto3.protoFilePackage = (namespaceToPackageName ns_),+ Proto3.protoFileImports = (Lists.concat [+ schemaImportList,+ wrapperImport,+ emptyImport]),+ Proto3.protoFileTypes = (Lists.concat [+ helperDefs,+ definitions]),+ Proto3.protoFileOptions = (Lists.cons descOption javaOptions)})))))))++-- | Encode a Hydra type as a Protobuf definition+encodeDefinition :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> Model.Name -> Model.Type -> Either Errors.Error Proto3.Definition+encodeDefinition cx g localNs name typ =++ let cx1 =+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),+ ProtobufEnvironment.encoderStateFieldIndex = 0}+ cx2 =+ Pairs.second (+ ProtobufEnvironment.encoderStateFieldIndex cx1,+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx1),+ ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx1) 1)})+ toEitherString = \result -> result+ encode =+ \cx0 -> \options -> \t -> case (simplifyType t) of+ Model.TypeRecord v0 -> Eithers.map (\md -> Proto3.DefinitionMessage md) (toEitherString (encodeRecordType cx0 g localNs options name v0))+ Model.TypeUnion v0 -> Logic.ifElse (isEnumDefinition t) (Eithers.map (\ed -> Proto3.DefinitionEnum ed) (toEitherString (encodeEnumDefinition cx0 g options name v0))) (encode cx0 options (Rewriting.wrapTypeToRecord (Model.TypeUnion v0)))+ _ -> encode cx0 options (Rewriting.wrapTypeToRecord t)+ in (Eithers.bind (toEitherString (findOptions cx g typ)) (\options -> encode cx2 options typ))++-- | Encode a Hydra union type as a Protobuf enum definition+encodeEnumDefinition :: ProtobufEnvironment.EncoderState -> Graph.Graph -> [Proto3.Option] -> Model.Name -> [Model.FieldType] -> Either Errors.Error Proto3.EnumDefinition+encodeEnumDefinition cx g options tname fts =++ let unspecifiedField =+ Proto3.EnumValue {+ Proto3.enumValueName = (encodeEnumValueName tname (Model.Name "unspecified")),+ Proto3.enumValueNumber = 0,+ Proto3.enumValueOptions = []}+ encodeEnumField =+ \field -> \idx ->+ let fname = Model.fieldTypeName field+ ftype = Model.fieldTypeType field+ in (Eithers.bind (findOptions cx g ftype) (\opts -> Right (Proto3.EnumValue {+ Proto3.enumValueName = (encodeEnumValueName tname fname),+ Proto3.enumValueNumber = idx,+ Proto3.enumValueOptions = opts})))+ indices = Math.range 1 (Math.add (Lists.length fts) 1)+ in (Eithers.bind (Eithers.mapList (\p -> encodeEnumField (Pairs.first p) (Pairs.second p)) (Lists.zip fts indices)) (\values -> Right (Proto3.EnumDefinition {+ Proto3.enumDefinitionName = (encodeTypeName tname),+ Proto3.enumDefinitionValues = (Lists.cons unspecifiedField values),+ Proto3.enumDefinitionOptions = options})))++-- | Encode an enum value name from type name and field name+encodeEnumValueName :: Model.Name -> Model.Name -> Proto3.EnumValueName+encodeEnumValueName tname fname =++ let prefix = Formatting.nonAlnumToUnderscores (Formatting.convertCaseCamelToUpperSnake (Names.localNameOf tname))+ suffix = Formatting.nonAlnumToUnderscores (Formatting.convertCaseCamelToUpperSnake (Model.unName fname))+ in (Proto3.EnumValueName (Strings.concat [+ prefix,+ "_",+ suffix]))++-- | Encode a field name, optionally preserving the original case+encodeFieldName :: Bool -> Model.Name -> Proto3.FieldName+encodeFieldName preserve name =+ Proto3.FieldName (Logic.ifElse preserve (Model.unName name) (Formatting.convertCaseCamelToLowerSnake (Model.unName name)))++-- | Encode a Hydra field type as a Protobuf field+encodeFieldType :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> Model.FieldType -> Either Errors.Error (Proto3.Field, ProtobufEnvironment.EncoderState)+encodeFieldType cx g localNs ft =++ let fname = Model.fieldTypeName ft+ ftype = Model.fieldTypeType ft+ encodeType_ =+ \cx0 -> \g0 -> \ns0 -> \typ -> case (simplifyType typ) of+ Model.TypeEither v0 ->+ let ref = ProtobufEnvironment.StructuralTypeRefEither (Model.eitherTypeLeft v0, (Model.eitherTypeRight v0))+ in (Right (Proto3.FieldTypeSimple (Proto3.SimpleTypeReference (structuralTypeName ns0 ref))))+ Model.TypePair v0 ->+ let ref = ProtobufEnvironment.StructuralTypeRefPair (Model.pairTypeFirst v0, (Model.pairTypeSecond v0))+ in (Right (Proto3.FieldTypeSimple (Proto3.SimpleTypeReference (structuralTypeName ns0 ref))))+ Model.TypeList v0 -> Eithers.map (\st -> Proto3.FieldTypeRepeated st) (encodeSimpleType_ cx0 g0 ns0 True v0)+ Model.TypeSet v0 -> Eithers.map (\st -> Proto3.FieldTypeRepeated st) (encodeSimpleType_ cx0 g0 ns0 True v0)+ Model.TypeMap v0 -> Eithers.bind (encodeSimpleType_ cx0 g0 ns0 False (Model.mapTypeKeys v0)) (\kt -> Eithers.bind (encodeSimpleType_ cx0 g0 ns0 True (Model.mapTypeValues v0)) (\vt -> Right (Proto3.FieldTypeMap (Proto3.MapType {+ Proto3.mapTypeKeys = kt,+ Proto3.mapTypeValues = vt}))))+ Model.TypeOptional v0 -> case (Strip.deannotateType v0) of+ Model.TypeLiteral v1 -> Eithers.map (\st -> Proto3.FieldTypeSimple st) (encodeScalarTypeWrapped cx0 v1)+ _ -> encodeType_ cx0 g0 ns0 v0+ Model.TypeUnion v0 -> Eithers.bind (mapAccumResult (\cx_ -> \f -> encodeFieldType cx_ g0 ns0 f) cx0 v0) (\pfields ->+ let fields_ = Pairs.first pfields+ in (Right (Proto3.FieldTypeOneof fields_)))+ _ -> Eithers.map (\st -> Proto3.FieldTypeSimple st) (encodeSimpleType_ cx0 g0 ns0 True typ)+ encodeSimpleType_ =+ \cx0 -> \g0 -> \ns0 -> \noms -> \typ ->+ let forNominal = \name -> Right (Proto3.SimpleTypeReference (encodeTypeReference ns0 name))+ in case (simplifyType typ) of+ Model.TypeLiteral v0 -> Eithers.map (\st -> Proto3.SimpleTypeScalar st) (encodeScalarType cx0 v0)+ Model.TypeRecord _ -> unexpectedE cx0 "named type reference" "anonymous record type"+ Model.TypeUnion _ -> unexpectedE cx0 "named type reference" "anonymous union type"+ Model.TypeUnit -> Right (Proto3.SimpleTypeReference (Proto3.TypeName "google.protobuf.Empty"))+ Model.TypeVariable v0 -> Logic.ifElse noms (forNominal v0) (Eithers.bind (Lexical.requireBinding g0 v0) (\el ->+ let term = Model.bindingTerm el+ in (Eithers.bind (Eithers.bimap (\de -> Errors.ErrorOther (Errors.OtherError (Errors.unDecodingError de))) (\t -> t) (DecodeModel.type_ g0 term)) (\resolvedTyp -> encodeSimpleType_ cx0 g0 ns0 noms resolvedTyp))))+ _ -> unexpectedE cx0 "simple type" (PrintModel.type_ (Strip.removeTypeAnnotations typ))+ in (Eithers.bind (findOptions cx g ftype) (\options -> Eithers.bind (encodeType_ cx g localNs ftype) (\ft_ ->+ let idxPair =+ (+ ProtobufEnvironment.encoderStateFieldIndex cx,+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),+ ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx) 1)})+ idx = Pairs.first idxPair+ cx1 = Pairs.second idxPair+ in (Eithers.bind (readBooleanAnnotation cx g Constants.keyPreserveFieldName ftype) (\preserve -> Right (+ Proto3.Field {+ Proto3.fieldName = (encodeFieldName preserve fname),+ Proto3.fieldJsonName = Nothing,+ Proto3.fieldType = ft_,+ Proto3.fieldNumber = idx,+ Proto3.fieldOptions = options},+ cx1))))))++-- | Encode a Hydra record type as a Protobuf message definition+encodeRecordType :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> [Proto3.Option] -> Model.Name -> [Model.FieldType] -> Either Errors.Error Proto3.MessageDefinition+encodeRecordType cx g localNs options tname fts =+ Eithers.bind (mapAccumResult (\cx_ -> \f -> encodeFieldType cx_ g localNs f) cx fts) (\result ->+ let pfields = Pairs.first result+ in (Right (Proto3.MessageDefinition {+ Proto3.messageDefinitionName = (encodeTypeName tname),+ Proto3.messageDefinitionFields = pfields,+ Proto3.messageDefinitionOptions = options})))++-- | Encode a Hydra literal type as a Protobuf scalar type. Protobuf has no int8/int16/uint8/uint16/bigint scalar, so int8 and int16 widen (losslessly) to int32, uint8 and uint16 widen (losslessly) to uint32, and bigint narrows (lossily, matching the Avro coder's fallback) to int64.+encodeScalarType :: t0 -> Model.LiteralType -> Either Errors.Error Proto3.ScalarType+encodeScalarType cx lt =+ case lt of+ Model.LiteralTypeBinary -> Right Proto3.ScalarTypeBytes+ Model.LiteralTypeBoolean -> Right Proto3.ScalarTypeBool+ Model.LiteralTypeFloat v0 -> case v0 of+ Model.FloatTypeFloat32 -> Right Proto3.ScalarTypeFloat+ Model.FloatTypeFloat64 -> Right Proto3.ScalarTypeDouble+ _ -> unexpectedE cx "32-bit or 64-bit floating-point type" (PrintModel.floatType v0)+ Model.LiteralTypeInteger v0 -> case v0 of+ Model.IntegerTypeBigint -> Right Proto3.ScalarTypeInt64+ Model.IntegerTypeInt8 -> Right Proto3.ScalarTypeInt32+ Model.IntegerTypeInt16 -> Right Proto3.ScalarTypeInt32+ Model.IntegerTypeInt32 -> Right Proto3.ScalarTypeInt32+ Model.IntegerTypeInt64 -> Right Proto3.ScalarTypeInt64+ Model.IntegerTypeUint8 -> Right Proto3.ScalarTypeUint32+ Model.IntegerTypeUint16 -> Right Proto3.ScalarTypeUint32+ Model.IntegerTypeUint32 -> Right Proto3.ScalarTypeUint32+ Model.IntegerTypeUint64 -> Right Proto3.ScalarTypeUint64+ _ -> unexpectedE cx "supported integer type" (PrintModel.integerType v0)+ Model.LiteralTypeString -> Right Proto3.ScalarTypeString+ _ -> unexpectedE cx "supported literal type" (PrintModel.literalType lt)++-- | Encode a Hydra literal type as a wrapped Protobuf type (for optional scalars). Widths without a dedicated Protobuf wrapper type widen/narrow the same way as encodeScalarType.+encodeScalarTypeWrapped :: t0 -> Model.LiteralType -> Either Errors.Error Proto3.SimpleType+encodeScalarTypeWrapped cx lt =++ let toType =+ \label -> Right (Proto3.SimpleTypeReference (Proto3.TypeName (Strings.concat [+ "google.protobuf.",+ label,+ "Value"])))+ in case lt of+ Model.LiteralTypeBinary -> toType "Bytes"+ Model.LiteralTypeBoolean -> toType "Bool"+ Model.LiteralTypeFloat v0 -> case v0 of+ Model.FloatTypeFloat32 -> toType "Float"+ Model.FloatTypeFloat64 -> toType "Double"+ _ -> unexpectedE cx "32-bit or 64-bit floating-point type" (PrintModel.floatType v0)+ Model.LiteralTypeInteger v0 -> case v0 of+ Model.IntegerTypeBigint -> toType "Int64"+ Model.IntegerTypeInt8 -> toType "Int32"+ Model.IntegerTypeInt16 -> toType "Int32"+ Model.IntegerTypeInt32 -> toType "Int32"+ Model.IntegerTypeInt64 -> toType "Int64"+ Model.IntegerTypeUint8 -> toType "UInt32"+ Model.IntegerTypeUint16 -> toType "UInt32"+ Model.IntegerTypeUint32 -> toType "UInt32"+ Model.IntegerTypeUint64 -> toType "UInt64"+ _ -> unexpectedE cx "supported integer type" (PrintModel.integerType v0)+ Model.LiteralTypeString -> toType "String"+ _ -> unexpectedE cx "supported literal type" (PrintModel.literalType lt)++-- | Encode a simple type for helper message fields+encodeSimpleTypeForHelper :: t0 -> Packaging.ModuleName -> Model.Type -> Either Errors.Error Proto3.SimpleType+encodeSimpleTypeForHelper cx localNs typ =++ let forNominal = \name -> Right (Proto3.SimpleTypeReference (encodeTypeReference localNs name))+ in case (simplifyType typ) of+ Model.TypeLiteral v0 -> Eithers.map (\st -> Proto3.SimpleTypeScalar st) (encodeScalarType cx v0)+ Model.TypeRecord _ -> unexpectedE cx "named type reference" "anonymous record type"+ Model.TypeUnion _ -> unexpectedE cx "named type reference" "anonymous union type"+ Model.TypeUnit -> Right (Proto3.SimpleTypeReference (Proto3.TypeName "google.protobuf.Empty"))+ Model.TypeVariable v0 -> forNominal v0+ _ -> unexpectedE cx "simple type in structural type helper" (PrintModel.type_ (Strip.removeTypeAnnotations typ))++-- | Encode a Hydra type name as a Protobuf type name+encodeTypeName :: Model.Name -> Proto3.TypeName+encodeTypeName name = Proto3.TypeName (Names.localNameOf name)++-- | Encode a Hydra name as a Protobuf type reference+encodeTypeReference :: Packaging.ModuleName -> Model.Name -> Proto3.TypeName+encodeTypeReference localNs name =++ let qn = Names.qualifyName name+ local = Util.qualifiedNameLocal qn+ ns_ = Util.qualifiedNameModuleName qn+ localNsParts = Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName localNs)))+ in (Proto3.TypeName (Optionals.match ns_ local (\nsVal ->+ let nsParts = Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName nsVal)))+ in (Logic.ifElse (Equality.equal nsParts localNsParts) local (Strings.join "." (Lists.concat [+ nsParts,+ [+ local]]))))))++-- | Construct a Left error result from an error message, ignoring the encoder state+err :: t0 -> String -> Either Errors.Error t1+err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))++-- | Find Protobuf options for a type (description and deprecated)+findOptions :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Model.Type -> Either Errors.Error [Proto3.Option]+findOptions cx g typ =+ Eithers.bind (Annotations.getTypeDescription (ProtobufEnvironment.encoderStateContext cx) g typ) (\mdesc -> Eithers.bind (readBooleanAnnotation cx g Constants.keyDeprecated typ) (\bdep ->+ let mdescAnn =+ Optionals.map (\desc_ -> Proto3.Option {+ Proto3.optionName = Serde.descriptionOptionName,+ Proto3.optionValue = (Proto3.ValueString desc_)}) mdesc+ mdepAnn =+ Logic.ifElse bdep (Just (Proto3.Option {+ Proto3.optionName = "deprecated",+ Proto3.optionValue = (Proto3.ValueBoolean True)})) Nothing+ in (Right (Optionals.givens [+ mdescAnn,+ mdepAnn]))))++-- | Eliminate type lambdas and type applications, replacing type variables with the string type+flattenType :: Model.Type -> Model.Type+flattenType typ =+ Rewriting.rewriteType (\recurse -> \t -> case t of+ Model.TypeForall v0 -> recurse (Variables.replaceFreeTypeVariable (Model.forallTypeParameter v0) (Model.TypeLiteral Model.LiteralTypeString) (Model.forallTypeBody v0))+ Model.TypeApplication v0 -> recurse (Model.applicationTypeFunction v0)+ _ -> recurse t) typ++-- | Convert an Either String result into an Either Error result+fromEitherString :: t0 -> Either String t1 -> Either Errors.Error t1+fromEitherString cx e = Eithers.bimap (\msg -> Errors.ErrorOther (Errors.OtherError msg)) (\a -> a) e++-- | Generate a helper message definition for a structural type+generateStructuralTypeMessage :: ProtobufEnvironment.EncoderState -> t0 -> Packaging.ModuleName -> ProtobufEnvironment.StructuralTypeRef -> Either Errors.Error (Proto3.Definition, ProtobufEnvironment.EncoderState)+generateStructuralTypeMessage cx g localNs ref =++ let cx1 =+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),+ ProtobufEnvironment.encoderStateFieldIndex = 0}+ cx2 =+ Pairs.second (+ ProtobufEnvironment.encoderStateFieldIndex cx1,+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx1),+ ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx1) 1)})+ makeField =+ \cx0 -> \fname -> \ftyp -> Eithers.bind (encodeSimpleTypeForHelper cx0 localNs ftyp) (\ft ->+ let idxPair =+ (+ ProtobufEnvironment.encoderStateFieldIndex cx0,+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx0),+ ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx0) 1)})+ idx = Pairs.first idxPair+ cx1_ = Pairs.second idxPair+ in (Right (+ Proto3.Field {+ Proto3.fieldName = (Proto3.FieldName fname),+ Proto3.fieldJsonName = Nothing,+ Proto3.fieldType = (Proto3.FieldTypeSimple ft),+ Proto3.fieldNumber = idx,+ Proto3.fieldOptions = []},+ cx1_)))+ in case ref of+ ProtobufEnvironment.StructuralTypeRefEither v0 ->+ let lt = Pairs.first v0+ rt = Pairs.second v0+ in (Eithers.bind (makeField cx2 "left" lt) (\leftResult ->+ let leftField = Pairs.first leftResult+ cx3 = Pairs.second leftResult+ in (Eithers.bind (makeField cx3 "right" rt) (\rightResult ->+ let rightField = Pairs.first rightResult+ cx4 = Pairs.second rightResult+ in (Right (+ Proto3.DefinitionMessage (Proto3.MessageDefinition {+ Proto3.messageDefinitionName = (structuralTypeName localNs ref),+ Proto3.messageDefinitionFields = [+ leftField,+ rightField],+ Proto3.messageDefinitionOptions = []}),+ cx4))))))+ ProtobufEnvironment.StructuralTypeRefPair v0 ->+ let ft = Pairs.first v0+ st = Pairs.second v0+ in (Eithers.bind (makeField cx2 "first" ft) (\firstResult ->+ let firstField = Pairs.first firstResult+ cx3 = Pairs.second firstResult+ in (Eithers.bind (makeField cx3 "second" st) (\secondResult ->+ let secondField = Pairs.first secondResult+ cx4 = Pairs.second secondResult+ in (Right (+ Proto3.DefinitionMessage (Proto3.MessageDefinition {+ Proto3.messageDefinitionName = (structuralTypeName localNs ref),+ Proto3.messageDefinitionFields = [+ firstField,+ secondField],+ Proto3.messageDefinitionOptions = []}),+ cx4))))))++-- | Check if a type is an enum definition+isEnumDefinition :: Model.Type -> Bool+isEnumDefinition typ =+ case (simplifyType typ) of+ Model.TypeUnion v0 -> isEnumFields v0+ _ -> False++-- | Check if all fields are unit types (i.e., this is an enum)+isEnumFields :: [Model.FieldType] -> Bool+isEnumFields fts =+ Lists.foldl (\b -> \f -> Logic.and b (Predicates.isUnitType (simplifyType (Model.fieldTypeType f)))) True fts++-- | The name of the Protobuf java_multiple_files option+javaMultipleFilesOptionName :: String+javaMultipleFilesOptionName = "java_multiple_files"++-- | The name of the Protobuf java_package option+javaPackageOptionName :: String+javaPackageOptionName = "java_package"++-- | Annotation key under which the assigned Protobuf field index is recorded+keyProtoFieldIndex :: Model.Name+keyProtoFieldIndex = Model.Name "proto_field_index"++-- | Thread context through a list, accumulating results+mapAccumResult :: (t0 -> t1 -> Either t2 (t3, t0)) -> t0 -> [t1] -> Either t2 ([t3], t0)+mapAccumResult f cx0 xs =+ Lists.foldl (\accE -> \x -> Eithers.bind accE (\accPair ->+ let bs = Pairs.first accPair+ cxN = Pairs.second accPair+ in (Eithers.map (\resultPair -> (+ Lists.concat [+ bs,+ [+ Pairs.first resultPair]],+ (Pairs.second resultPair))) (f cxN x)))) (Right ([], cx0)) xs++-- | Convert a Hydra module to Protocol Buffers v3 source files+moduleToProtobuf :: Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToProtobuf mod defs cx g =++ let ns_ = Packaging.moduleName mod+ partitioned = Environment.partitionDefinitions defs+ typeDefs = Pairs.first partitioned+ es =+ ProtobufEnvironment.EncoderState {+ ProtobufEnvironment.encoderStateContext = cx,+ ProtobufEnvironment.encoderStateFieldIndex = 0}+ in (Eithers.bind (constructModule es g mod typeDefs) (\pfile ->+ let content = Serialization.printExpr (Serialization.parenthesize (Serde.protoFileToExpr pfile))+ path = Proto3.unFileReference (namespaceToFileReference ns_)+ in (Right (Maps.singleton path content))))++-- | Convert a Hydra namespace to a Protobuf file reference+namespaceToFileReference :: Packaging.ModuleName -> Proto3.FileReference+namespaceToFileReference ns_ =++ let pns =+ Strings.join "/" (Lists.map (\s -> Formatting.convertCaseCamelToLowerSnake s) (Strings.splitOn "." (Packaging.unModuleName ns_)))+ in (Proto3.FileReference (Strings.concat2 pns ".proto"))++-- | Convert a Hydra namespace to a Protobuf package name+namespaceToPackageName :: Packaging.ModuleName -> Proto3.PackageName+namespaceToPackageName ns_ =+ Proto3.PackageName (Strings.join "." (Lists.map (\s -> Formatting.convertCaseCamelToLowerSnake s) (Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName ns_))))))++-- | Read a boolean annotation from a type+readBooleanAnnotation :: t0 -> Graph.Graph -> Model.Name -> Model.Type -> Either Errors.Error Bool+readBooleanAnnotation cx g key typ =+ Optionals.match (Maps.lookup key (Annotations.typeAnnotationInternal typ)) (Right False) (\term -> ExtractModel.boolean g term)++-- | Simplify a type by removing annotations and unwrapping newtypes+simplifyType :: Model.Type -> Model.Type+simplifyType typ =+ case (Strip.deannotateType typ) of+ Model.TypeWrap v0 -> simplifyType v0+ _ -> Strip.deannotateType typ++-- | Generate a message name for a structural type reference+structuralTypeName :: t0 -> ProtobufEnvironment.StructuralTypeRef -> Proto3.TypeName+structuralTypeName localNs ref =++ let typeSuffix =+ \typ ->+ let st = simplifyType typ+ in case st of+ Model.TypeLiteral v0 -> case v0 of+ Model.LiteralTypeBinary -> "bytes"+ Model.LiteralTypeBoolean -> "bool"+ Model.LiteralTypeFloat v1 -> case v1 of+ Model.FloatTypeFloat32 -> "float"+ Model.FloatTypeFloat64 -> "double"+ _ -> "float"+ Model.LiteralTypeInteger v1 -> case v1 of+ Model.IntegerTypeInt32 -> "int32"+ Model.IntegerTypeInt64 -> "int64"+ Model.IntegerTypeUint32 -> "uint32"+ Model.IntegerTypeUint64 -> "uint64"+ _ -> "int64"+ Model.LiteralTypeString -> "string"+ _ -> "value"+ Model.TypeRecord _ -> "record"+ Model.TypeUnion _ -> "union"+ Model.TypeVariable v0 -> Names.localNameOf v0+ Model.TypeUnit -> "unit"+ Model.TypeList _ -> "list"+ Model.TypeSet _ -> "set"+ Model.TypeMap _ -> "map"+ Model.TypeOptional _ -> "optional"+ _ -> "value"+ in (Proto3.TypeName (case ref of+ ProtobufEnvironment.StructuralTypeRefEither v0 -> Strings.concat [+ "Either_",+ (typeSuffix (Pairs.first v0)),+ "_",+ (typeSuffix (Pairs.second v0))]+ ProtobufEnvironment.StructuralTypeRefPair v0 -> Strings.concat [+ "Pair_",+ (typeSuffix (Pairs.first v0)),+ "_",+ (typeSuffix (Pairs.second v0))]))++-- | Construct an error reporting an expected construct versus what was actually found+unexpectedE :: t0 -> String -> String -> Either Errors.Error t1+unexpectedE cx expected found =+ err cx (Strings.concat [+ "Expected ",+ expected,+ ", found: ",+ found])
+ src/main/haskell/Hydra/Ext/Protobuf/Environment.hs view
@@ -0,0 +1,40 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Type definitions for the Protobuf code generation environment++module Hydra.Ext.Protobuf.Environment where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typing as Typing+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | State threaded through Protobuf encoding: inference context plus field-index counter+data EncoderState =+ EncoderState {+ -- | Inference context used by kernel utilities (annotations, dependency analysis)+ encoderStateContext :: Typing.InferenceContext,+ -- | Counter used to assign the next Protobuf field index within the current message+ encoderStateFieldIndex :: Int}+ deriving (Eq, Ord, Read, Show)++_EncoderState = Model.Name "hydra.ext.protobuf.environment.EncoderState"++_EncoderState_context = Model.Name "context"++_EncoderState_fieldIndex = Model.Name "fieldIndex"++-- | A reference to a structural type (Either or Pair) with its component types+data StructuralTypeRef =+ -- | An Either type with left and right component types+ StructuralTypeRefEither (Model.Type, Model.Type) |+ -- | A Pair type with first and second component types+ StructuralTypeRefPair (Model.Type, Model.Type)+ deriving (Eq, Ord, Read, Show)++_StructuralTypeRef = Model.Name "hydra.ext.protobuf.environment.StructuralTypeRef"++_StructuralTypeRef_either = Model.Name "either"++_StructuralTypeRef_pair = Model.Name "pair"
+ src/main/haskell/Hydra/Ext/Protobuf/Language.hs view
@@ -0,0 +1,164 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints for Protobuf v3++module Hydra.Ext.Protobuf.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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+import qualified Data.Set as S++-- | Language constraints for Protocol Buffers v3+protobufLanguage :: Coders.Language+protobufLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.protobuf"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "proto")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBinary,+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes =+ Sets.fromList [+ Model.FloatTypeFloat32,+ Model.FloatTypeFloat64]+ integerTypes =+ Sets.fromList [+ Model.IntegerTypeInt32,+ Model.IntegerTypeInt64,+ Model.IntegerTypeUint32,+ Model.IntegerTypeUint64]+ termVariants =+ Sets.fromList [+ Variants.TermVariantEither,+ Variants.TermVariantList,+ Variants.TermVariantLiteral,+ Variants.TermVariantMap,+ Variants.TermVariantOptional,+ Variants.TermVariantPair,+ Variants.TermVariantRecord,+ Variants.TermVariantSet,+ Variants.TermVariantInject,+ Variants.TermVariantUnit,+ Variants.TermVariantWrap]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantAnnotated,+ Variants.TypeVariantEither,+ Variants.TypeVariantList,+ Variants.TypeVariantLiteral,+ Variants.TypeVariantMap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantPair,+ Variants.TypeVariantRecord,+ Variants.TypeVariantSet,+ Variants.TypeVariantUnion,+ Variants.TypeVariantUnit,+ Variants.TypeVariantVariable,+ Variants.TypeVariantVoid,+ Variants.TypeVariantWrap]+ typePredicate =+ \typ -> case typ of+ Model.TypeMap v0 ->+ let valuesType = Model.mapTypeValues v0+ stripped = Strip.deannotateType valuesType+ in case stripped of+ Model.TypeOptional _ -> False+ _ -> True+ _ -> True++-- | A set of reserved words in Protobuf+protobufReservedWords :: S.Set String+protobufReservedWords = Sets.fromList (Lists.concat [+ fieldNames])+ where+ fieldNames =+ [+ "case",+ "class",+ "data",+ "default",+ "deriving",+ "do",+ "else",+ "foreign",+ "if",+ "import",+ "in",+ "infix",+ "infixl",+ "infixr",+ "instance",+ "let",+ "mdo",+ "module",+ "newtype",+ "of",+ "pattern",+ "proc",+ "rec",+ "then",+ "type",+ "where"]
+ src/main/haskell/Hydra/Ext/Protobuf/Proto3.hs view
@@ -0,0 +1,294 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for Protocol Buffers v3 enum and message types, designed as a target for transformations.This model is loosely based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/type.proto, as well as the proto3 reference documentation++module Hydra.Ext.Protobuf.Proto3 where++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++-- | A top-level Protobuf definition, either an enum or a message type+data Definition =+ DefinitionEnum EnumDefinition |+ DefinitionMessage MessageDefinition+ deriving (Eq, Ord, Read, Show)++_Definition = Model.Name "hydra.ext.protobuf.proto3.Definition"++_Definition_enum = Model.Name "enum"++_Definition_message = Model.Name "message"++-- | Enum type definition+data EnumDefinition =+ EnumDefinition {+ -- | Enum type name+ enumDefinitionName :: TypeName,+ -- | Enum value definitions+ enumDefinitionValues :: [EnumValue],+ -- | Protocol buffer options+ enumDefinitionOptions :: [Option]}+ deriving (Eq, Ord, Read, Show)++_EnumDefinition = Model.Name "hydra.ext.protobuf.proto3.EnumDefinition"++_EnumDefinition_name = Model.Name "name"++_EnumDefinition_values = Model.Name "values"++_EnumDefinition_options = Model.Name "options"++-- | Enum value definition+data EnumValue =+ EnumValue {+ -- | Enum value name+ enumValueName :: EnumValueName,+ -- | Enum value number+ enumValueNumber :: Int,+ -- | Protocol buffer options+ enumValueOptions :: [Option]}+ deriving (Eq, Ord, Read, Show)++_EnumValue = Model.Name "hydra.ext.protobuf.proto3.EnumValue"++_EnumValue_name = Model.Name "name"++_EnumValue_number = Model.Name "number"++_EnumValue_options = Model.Name "options"++-- | The name of an enum value, conventionally an upper-snake-case identifier+newtype EnumValueName =+ EnumValueName {+ unEnumValueName :: String}+ deriving (Eq, Ord, Read, Show)++_EnumValueName = Model.Name "hydra.ext.protobuf.proto3.EnumValueName"++-- | A single field of a message type+data Field =+ Field {+ -- | The field name+ fieldName :: FieldName,+ -- | The field JSON name+ fieldJsonName :: (Maybe String),+ -- | The datatype of the field+ fieldType :: FieldType,+ -- | The field number+ fieldNumber :: Int,+ -- | The protocol buffer options+ fieldOptions :: [Option]}+ deriving (Eq, Ord, Read, Show)++_Field = Model.Name "hydra.ext.protobuf.proto3.Field"++_Field_name = Model.Name "name"++_Field_jsonName = Model.Name "jsonName"++_Field_type = Model.Name "type"++_Field_number = Model.Name "number"++_Field_options = Model.Name "options"++-- | The name of a field+newtype FieldName =+ FieldName {+ unFieldName :: String}+ deriving (Eq, Ord, Read, Show)++_FieldName = Model.Name "hydra.ext.protobuf.proto3.FieldName"++-- | The type of a message field: a map, a oneof group, a repeated field, or a simple field+data FieldType =+ FieldTypeMap MapType |+ FieldTypeOneof [Field] |+ FieldTypeRepeated SimpleType |+ FieldTypeSimple SimpleType+ deriving (Eq, Ord, Read, Show)++_FieldType = Model.Name "hydra.ext.protobuf.proto3.FieldType"++_FieldType_map = Model.Name "map"++_FieldType_oneof = Model.Name "oneof"++_FieldType_repeated = Model.Name "repeated"++_FieldType_simple = Model.Name "simple"++-- | A path to a .proto file, as used in import statements+newtype FileReference =+ FileReference {+ unFileReference :: String}+ deriving (Eq, Ord, Read, Show)++_FileReference = Model.Name "hydra.ext.protobuf.proto3.FileReference"++-- | The key and value types of a proto3 map field+data MapType =+ MapType {+ mapTypeKeys :: SimpleType,+ mapTypeValues :: SimpleType}+ deriving (Eq, Ord, Read, Show)++_MapType = Model.Name "hydra.ext.protobuf.proto3.MapType"++_MapType_keys = Model.Name "keys"++_MapType_values = Model.Name "values"++-- | A protocol buffer message type+data MessageDefinition =+ MessageDefinition {+ -- | The fully qualified message name+ messageDefinitionName :: TypeName,+ -- | The list of fields+ messageDefinitionFields :: [Field],+ -- | The protocol buffer options+ messageDefinitionOptions :: [Option]}+ deriving (Eq, Ord, Read, Show)++_MessageDefinition = Model.Name "hydra.ext.protobuf.proto3.MessageDefinition"++_MessageDefinition_name = Model.Name "name"++_MessageDefinition_fields = Model.Name "fields"++_MessageDefinition_options = Model.Name "options"++-- | A protocol buffer option, which can be attached to a message, field, enumeration, etc+data Option =+ Option {+ -- | The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`.+ optionName :: String,+ -- | The option's value+ optionValue :: Value}+ deriving (Eq, Ord, Read, Show)++_Option = Model.Name "hydra.ext.protobuf.proto3.Option"++_Option_name = Model.Name "name"++_Option_value = Model.Name "value"++-- | A Protobuf package name, i.e. the value of a package declaration+newtype PackageName =+ PackageName {+ unPackageName :: String}+ deriving (Eq, Ord, Read, Show)++_PackageName = Model.Name "hydra.ext.protobuf.proto3.PackageName"++-- | A .proto file, usually containing one or more enum or message type definitions+data ProtoFile =+ ProtoFile {+ protoFilePackage :: PackageName,+ protoFileImports :: [FileReference],+ protoFileTypes :: [Definition],+ protoFileOptions :: [Option]}+ deriving (Eq, Ord, Read, Show)++_ProtoFile = Model.Name "hydra.ext.protobuf.proto3.ProtoFile"++_ProtoFile_package = Model.Name "package"++_ProtoFile_imports = Model.Name "imports"++_ProtoFile_types = Model.Name "types"++_ProtoFile_options = Model.Name "options"++-- | One of several Proto3 scalar types+data ScalarType =+ ScalarTypeBool |+ ScalarTypeBytes |+ ScalarTypeDouble |+ ScalarTypeFixed32 |+ ScalarTypeFixed64 |+ ScalarTypeFloat |+ ScalarTypeInt32 |+ ScalarTypeInt64 |+ ScalarTypeSfixed32 |+ ScalarTypeSfixed64 |+ ScalarTypeSint32 |+ ScalarTypeSint64 |+ ScalarTypeString |+ ScalarTypeUint32 |+ ScalarTypeUint64+ deriving (Eq, Ord, Read, Show)++_ScalarType = Model.Name "hydra.ext.protobuf.proto3.ScalarType"++_ScalarType_bool = Model.Name "bool"++_ScalarType_bytes = Model.Name "bytes"++_ScalarType_double = Model.Name "double"++_ScalarType_fixed32 = Model.Name "fixed32"++_ScalarType_fixed64 = Model.Name "fixed64"++_ScalarType_float = Model.Name "float"++_ScalarType_int32 = Model.Name "int32"++_ScalarType_int64 = Model.Name "int64"++_ScalarType_sfixed32 = Model.Name "sfixed32"++_ScalarType_sfixed64 = Model.Name "sfixed64"++_ScalarType_sint32 = Model.Name "sint32"++_ScalarType_sint64 = Model.Name "sint64"++_ScalarType_string = Model.Name "string"++_ScalarType_uint32 = Model.Name "uint32"++_ScalarType_uint64 = Model.Name "uint64"++-- | A scalar type or a reference to an enum type or message type+data SimpleType =+ SimpleTypeReference TypeName |+ SimpleTypeScalar ScalarType+ deriving (Eq, Ord, Read, Show)++_SimpleType = Model.Name "hydra.ext.protobuf.proto3.SimpleType"++_SimpleType_reference = Model.Name "reference"++_SimpleType_scalar = Model.Name "scalar"++-- | The local name of an enum type or message type+newtype TypeName =+ TypeName {+ unTypeName :: String}+ deriving (Eq, Ord, Read, Show)++_TypeName = Model.Name "hydra.ext.protobuf.proto3.TypeName"++-- | A reference to an enum type or message type+newtype TypeReference =+ TypeReference {+ unTypeReference :: String}+ deriving (Eq, Ord, Read, Show)++_TypeReference = Model.Name "hydra.ext.protobuf.proto3.TypeReference"++-- | A scalar value+data Value =+ ValueBoolean Bool |+ ValueString String+ deriving (Eq, Ord, Read, Show)++_Value = Model.Name "hydra.ext.protobuf.proto3.Value"++_Value_boolean = Model.Name "boolean"++_Value_string = Model.Name "string"
+ src/main/haskell/Hydra/Ext/Protobuf/Serde.hs view
@@ -0,0 +1,296 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Serialization functions for converting Protocol Buffers v3 AST to abstract expressions++module Hydra.Ext.Protobuf.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.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.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Ext.Protobuf.Proto3 as Proto3+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | Convert a definition to an expression+definitionToExpr :: Proto3.Definition -> Ast.Expr+definitionToExpr def =+ case def of+ Proto3.DefinitionEnum v0 -> enumDefinitionToExpr v0+ Proto3.DefinitionMessage v0 -> messageDefinitionToExpr v0++-- | The name of the deprecated option+deprecatedOptionName :: String+deprecatedOptionName = "deprecated"++-- | A special Protobuf option name for descriptions (documentation)+descriptionOptionName :: String+descriptionOptionName = "_description"++-- | Convert an enum definition to an expression+enumDefinitionToExpr :: Proto3.EnumDefinition -> Ast.Expr+enumDefinitionToExpr ed =++ let name = Proto3.enumDefinitionName ed+ values = Proto3.enumDefinitionValues ed+ options = Proto3.enumDefinitionOptions ed+ in (optDesc False options (Serialization.spaceSep [+ Serialization.cst "enum",+ (Serialization.cst (Proto3.unTypeName name)),+ (protoBlock (Lists.map enumValueToExpr values))]))++-- | Convert an enum value to an expression+enumValueToExpr :: Proto3.EnumValue -> Ast.Expr+enumValueToExpr ev =++ let name = Proto3.enumValueName ev+ number = Proto3.enumValueNumber ev+ options = Proto3.enumValueOptions ev+ in (optDesc False options (semi (Serialization.spaceSep [+ Serialization.cst (Proto3.unEnumValueName name),+ (Serialization.cst "="),+ (Serialization.cst (Literals.printInt32 number))])))++-- | Filter out internal options (those whose names start with underscore)+excludeInternalOptions :: [Proto3.Option] -> [Proto3.Option]+excludeInternalOptions opts =+ Lists.filter (\opt -> Logic.not (Equality.equal (Optionals.withDefault 0 (Strings.charAt 0 (Proto3.optionName opt))) 95)) opts++-- | Convert a field option to an expression+fieldOptionToExpr :: Proto3.Option -> Ast.Expr+fieldOptionToExpr opt =++ let name = Proto3.optionName opt+ value = Proto3.optionValue opt+ in (Serialization.spaceSep [+ Serialization.cst name,+ (Serialization.cst "="),+ (valueToExpr value)])++-- | Convert field options to an optional bracket-enclosed expression+fieldOptionsToExpr :: [Proto3.Option] -> Maybe Ast.Expr+fieldOptionsToExpr opts0 =++ let opts = excludeInternalOptions opts0+ in (Logic.ifElse (Lists.isEmpty opts) Nothing (Optionals.given (Serialization.bracketList Serialization.inlineStyle (Lists.map fieldOptionToExpr opts))))++-- | Convert a field to an expression+fieldToExpr :: Proto3.Field -> Ast.Expr+fieldToExpr f =++ let name = Proto3.fieldName f+ typ = Proto3.fieldType f+ num = Proto3.fieldNumber f+ options = Proto3.fieldOptions f+ in (optDesc False options (case typ of+ Proto3.FieldTypeOneof v0 -> Serialization.spaceSep [+ Serialization.cst "oneof",+ (Serialization.cst (Proto3.unFieldName name)),+ (protoBlock (Lists.map fieldToExpr v0))]+ Proto3.FieldTypeMap v0 ->+ let kt = Proto3.mapTypeKeys v0+ vt = Proto3.mapTypeValues v0+ in (semi (Serialization.spaceSep (Optionals.givens [+ Optionals.given (fieldTypeToExpr typ),+ (Optionals.given (Serialization.cst (Proto3.unFieldName name))),+ (Optionals.given (Serialization.cst "=")),+ (Optionals.given (Serialization.cst (Literals.printInt32 num))),+ (fieldOptionsToExpr options)])))+ Proto3.FieldTypeRepeated _ -> semi (Serialization.spaceSep (Optionals.givens [+ Optionals.given (fieldTypeToExpr typ),+ (Optionals.given (Serialization.cst (Proto3.unFieldName name))),+ (Optionals.given (Serialization.cst "=")),+ (Optionals.given (Serialization.cst (Literals.printInt32 num))),+ (fieldOptionsToExpr options)]))+ Proto3.FieldTypeSimple _ -> semi (Serialization.spaceSep (Optionals.givens [+ Optionals.given (fieldTypeToExpr typ),+ (Optionals.given (Serialization.cst (Proto3.unFieldName name))),+ (Optionals.given (Serialization.cst "=")),+ (Optionals.given (Serialization.cst (Literals.printInt32 num))),+ (fieldOptionsToExpr options)]))))++-- | Convert a field type to an expression+fieldTypeToExpr :: Proto3.FieldType -> Ast.Expr+fieldTypeToExpr ftyp =+ case ftyp of+ Proto3.FieldTypeMap v0 ->+ let kt = Proto3.mapTypeKeys v0+ vt = Proto3.mapTypeValues v0+ in (Serialization.noSep [+ Serialization.cst "map",+ (Serialization.angleBracesList Serialization.inlineStyle [+ simpleTypeToExpr kt,+ (simpleTypeToExpr vt)])])+ Proto3.FieldTypeRepeated v0 -> Serialization.spaceSep [+ Serialization.cst "repeated",+ (simpleTypeToExpr v0)]+ Proto3.FieldTypeSimple v0 -> simpleTypeToExpr v0+ Proto3.FieldTypeOneof _ -> Serialization.cst "oneof"++-- | Convert a file-level option to an expression+fileOptionToExpr :: Proto3.Option -> Ast.Expr+fileOptionToExpr opt =++ let name = Proto3.optionName opt+ value = Proto3.optionValue opt+ in (semi (Serialization.spaceSep [+ Serialization.cst "option",+ (Serialization.cst name),+ (Serialization.cst "="),+ (valueToExpr value)]))++-- | Convert file-level options to an optional newline-separated expression+fileOptionsToExpr :: [Proto3.Option] -> Maybe Ast.Expr+fileOptionsToExpr opts0 =++ let opts = excludeInternalOptions opts0+ in (Logic.ifElse (Lists.isEmpty opts) Nothing (Optionals.given (Serialization.newlineSep (Lists.map fileOptionToExpr opts))))++-- | Convert a file reference to an import expression+importToExpr :: Proto3.FileReference -> Ast.Expr+importToExpr ref =+ semi (Serialization.spaceSep [+ Serialization.cst "import",+ (Serialization.cst (Literals.printString (Proto3.unFileReference ref)))])++-- | Convert a message definition to an expression+messageDefinitionToExpr :: Proto3.MessageDefinition -> Ast.Expr+messageDefinitionToExpr md =++ let name = Proto3.messageDefinitionName md+ fields = Proto3.messageDefinitionFields md+ options = Proto3.messageDefinitionOptions md+ in (optDesc False options (Serialization.spaceSep [+ Serialization.cst "message",+ (Serialization.cst (Proto3.unTypeName name)),+ (protoBlock (Lists.map fieldToExpr fields))]))++-- | Prepend an optional description comment to an expression+optDesc :: Bool -> [Proto3.Option] -> Ast.Expr -> Ast.Expr+optDesc doubleNewline opts expr =++ let descs = Lists.filter (\opt -> Equality.equal (Proto3.optionName opt) "_description") opts+ in (Optionals.match (Lists.head descs) expr (\firstDesc ->+ let descValue = Proto3.optionValue firstDesc+ descStr =+ case descValue of+ Proto3.ValueBoolean v0 -> Logic.ifElse v0 "true" "false"+ Proto3.ValueString v0 -> v0+ commentLines =+ Lists.map (\line -> Logic.ifElse (Equality.equal line "") "//" (Strings.concat2 "// " line)) (Formatting.lines descStr)+ comment = Serialization.cst (Strings.join "\n" commentLines)+ sep =+ Logic.ifElse doubleNewline (Serialization.doubleNewlineSep [+ comment,+ expr]) (Serialization.newlineSep [+ comment,+ expr])+ in sep))++-- | Wrap expressions in a curly-braced block with double-newline separation+protoBlock :: [Ast.Expr] -> Ast.Expr+protoBlock exprs =+ Serialization.brackets Serialization.curlyBraces Serialization.fullBlockStyle (Serialization.doubleNewlineSep exprs)++-- | Convert a proto file to an expression+protoFileToExpr :: Proto3.ProtoFile -> Ast.Expr+protoFileToExpr pf =++ let pkg = Proto3.protoFilePackage pf+ imports = Proto3.protoFileImports pf+ defs = Proto3.protoFileTypes pf+ options = Proto3.protoFileOptions pf+ headerSec =+ Optionals.given (Serialization.newlineSep [+ semi (Serialization.cst "syntax = \"proto3\""),+ (semi (Serialization.spaceSep [+ Serialization.cst "package",+ (Serialization.cst (Proto3.unPackageName pkg))]))])+ importsSec =+ Logic.ifElse (Lists.isEmpty imports) Nothing (Optionals.given (Serialization.newlineSep (Lists.map importToExpr imports)))+ options1 = Lists.filter (\opt -> Logic.not (Equality.equal (Proto3.optionName opt) "_description")) options+ optionsSec = fileOptionsToExpr options1+ defsSec =+ Logic.ifElse (Lists.isEmpty defs) Nothing (Optionals.given (Serialization.doubleNewlineSep (Lists.map definitionToExpr defs)))+ in (optDesc True options (Serialization.doubleNewlineSep (Optionals.givens [+ headerSec,+ importsSec,+ optionsSec,+ defsSec])))++-- | Convert a scalar type to an expression+scalarTypeToExpr :: Proto3.ScalarType -> Ast.Expr+scalarTypeToExpr sct =+ Serialization.cst (case sct of+ Proto3.ScalarTypeBool -> "bool"+ Proto3.ScalarTypeBytes -> "bytes"+ Proto3.ScalarTypeDouble -> "double"+ Proto3.ScalarTypeFixed32 -> "fixed32"+ Proto3.ScalarTypeFixed64 -> "fixed64"+ Proto3.ScalarTypeFloat -> "float"+ Proto3.ScalarTypeInt32 -> "int32"+ Proto3.ScalarTypeInt64 -> "int64"+ Proto3.ScalarTypeSfixed32 -> "sfixed32"+ Proto3.ScalarTypeSfixed64 -> "sfixed64"+ Proto3.ScalarTypeSint32 -> "sint32"+ Proto3.ScalarTypeSint64 -> "sint64"+ Proto3.ScalarTypeString -> "string"+ Proto3.ScalarTypeUint32 -> "uint32"+ Proto3.ScalarTypeUint64 -> "uint64")++-- | Append a semicolon to an expression+semi :: Ast.Expr -> Ast.Expr+semi e =+ Serialization.noSep [+ e,+ (Serialization.cst ";")]++-- | Convert a simple type to an expression+simpleTypeToExpr :: Proto3.SimpleType -> Ast.Expr+simpleTypeToExpr st =+ case st of+ Proto3.SimpleTypeReference v0 -> Serialization.cst (Proto3.unTypeName v0)+ Proto3.SimpleTypeScalar v0 -> scalarTypeToExpr v0++-- | Convert a value to an expression+valueToExpr :: Proto3.Value -> Ast.Expr+valueToExpr v =+ Serialization.cst (case v of+ Proto3.ValueBoolean v0 -> Logic.ifElse v0 "true" "false"+ Proto3.ValueString v0 -> Literals.printString v0)
+ src/main/haskell/Hydra/Ext/Protobuf/SourceContext.hs view
@@ -0,0 +1,21 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/source_context.proto++module Hydra.Ext.Protobuf.SourceContext where++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++-- | `SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.+data SourceContext =+ SourceContext {+ -- | The path-qualified name of the .proto file that contained the associated protobuf element. For example: `"google/protobuf/source_context.proto"`.+ sourceContextFileName :: String}+ deriving (Eq, Ord, Read, Show)++_SourceContext = Model.Name "hydra.ext.protobuf.sourceContext.SourceContext"++_SourceContext_fileName = Model.Name "fileName"
+ src/main/haskell/Hydra/Ext/Sql/Syntax.hs view
@@ -0,0 +1,1577 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A subset of ANSI SQL:2003, capturing selected productions of the BNF grammar provided at https://ronsavage.github.io/SQL/sql-2003-2.bnf.html, which is based on the Final Committee Draft (FCD) of ISO/IEC 9075-2:2003++module Hydra.Ext.Sql.Syntax where++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++-- | An approximate (floating-point) numeric literal, such as 1.5E10+newtype ApproximateNumericLiteral =+ ApproximateNumericLiteral {+ unApproximateNumericLiteral :: String}+ deriving (Eq, Ord, Read, Show)++_ApproximateNumericLiteral = Model.Name "hydra.ext.sql.syntax.ApproximateNumericLiteral"++-- | An approximate numeric type: FLOAT, REAL, or DOUBLE PRECISION+data ApproximateNumericType =+ ApproximateNumericTypeFloat (Maybe Precision) |+ ApproximateNumericTypeReal |+ ApproximateNumericTypeDouble+ deriving (Eq, Ord, Read, Show)++_ApproximateNumericType = Model.Name "hydra.ext.sql.syntax.ApproximateNumericType"++_ApproximateNumericType_float = Model.Name "float"++_ApproximateNumericType_real = Model.Name "real"++_ApproximateNumericType_double = Model.Name "double"++-- | A single element of an array value+newtype ArrayElement =+ ArrayElement {+ unArrayElement :: ValueExpression}+ deriving (Eq, Ord, Read, Show)++_ArrayElement = Model.Name "hydra.ext.sql.syntax.ArrayElement"++-- | A non-empty, comma-separated list of array elements+data ArrayElementList =+ ArrayElementList {+ arrayElementListFirst :: ArrayElement,+ arrayElementListRest :: [ArrayElement]}+ deriving (Eq, Ord, Read, Show)++_ArrayElementList = Model.Name "hydra.ext.sql.syntax.ArrayElementList"++_ArrayElementList_first = Model.Name "first"++_ArrayElementList_rest = Model.Name "rest"++-- | A reference to an element of an array by index+newtype ArrayElementReference =+ ArrayElementReference {+ unArrayElementReference :: ()}+ deriving (Eq, Ord, Read, Show)++_ArrayElementReference = Model.Name "hydra.ext.sql.syntax.ArrayElementReference"++-- | An ARRAY collection type+newtype ArrayType =+ ArrayType {+ unArrayType :: ()}+ deriving (Eq, Ord, Read, Show)++_ArrayType = Model.Name "hydra.ext.sql.syntax.ArrayType"++-- | A constructor for an array value, either by enumeration or by query+data ArrayValueConstructor =+ ArrayValueConstructorEnumeration ArrayValueConstructorByEnumeration |+ ArrayValueConstructorQuery ArrayValueConstructorByQuery+ deriving (Eq, Ord, Read, Show)++_ArrayValueConstructor = Model.Name "hydra.ext.sql.syntax.ArrayValueConstructor"++_ArrayValueConstructor_enumeration = Model.Name "enumeration"++_ArrayValueConstructor_query = Model.Name "query"++-- | An array value constructed by explicitly enumerating its elements+data ArrayValueConstructorByEnumeration =+ ArrayValueConstructorByEnumeration {+ arrayValueConstructorByEnumerationLeftBracketOrTrigraph :: LeftBracketOrTrigraph,+ arrayValueConstructorByEnumerationArrayElementList :: ArrayElementList,+ arrayValueConstructorByEnumerationRightBracketOrTrigraph :: RightBracketOrTrigraph}+ deriving (Eq, Ord, Read, Show)++_ArrayValueConstructorByEnumeration = Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByEnumeration"++_ArrayValueConstructorByEnumeration_LeftBracketOrTrigraph = Model.Name "LeftBracketOrTrigraph"++_ArrayValueConstructorByEnumeration_ArrayElementList = Model.Name "ArrayElementList"++_ArrayValueConstructorByEnumeration_RightBracketOrTrigraph = Model.Name "RightBracketOrTrigraph"++-- | An array value constructed from the result of a query+newtype ArrayValueConstructorByQuery =+ ArrayValueConstructorByQuery {+ unArrayValueConstructorByQuery :: ()}+ deriving (Eq, Ord, Read, Show)++_ArrayValueConstructorByQuery = Model.Name "hydra.ext.sql.syntax.ArrayValueConstructorByQuery"++-- | An expression that evaluates to an array value+newtype ArrayValueExpression =+ ArrayValueExpression {+ unArrayValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_ArrayValueExpression = Model.Name "hydra.ext.sql.syntax.ArrayValueExpression"++-- | A clause introducing a table's contents as the result of a subquery+newtype AsSubqueryClause =+ AsSubqueryClause {+ unAsSubqueryClause :: ()}+ deriving (Eq, Ord, Read, Show)++_AsSubqueryClause = Model.Name "hydra.ext.sql.syntax.AsSubqueryClause"++-- | A reference to an attribute or method of a structured value+newtype AttributeOrMethodReference =+ AttributeOrMethodReference {+ unAttributeOrMethodReference :: ()}+ deriving (Eq, Ord, Read, Show)++_AttributeOrMethodReference = Model.Name "hydra.ext.sql.syntax.AttributeOrMethodReference"++-- | A binary large object string type: BINARY LARGE OBJECT or BLOB+data BinaryLargeObjectStringType =+ BinaryLargeObjectStringTypeBinary (Maybe LargeObjectLength) |+ BinaryLargeObjectStringTypeBlob (Maybe LargeObjectLength)+ deriving (Eq, Ord, Read, Show)++_BinaryLargeObjectStringType = Model.Name "hydra.ext.sql.syntax.BinaryLargeObjectStringType"++_BinaryLargeObjectStringType_binary = Model.Name "binary"++_BinaryLargeObjectStringType_blob = Model.Name "blob"++-- | A binary string literal, e.g. X'FF00'+newtype BinaryStringLiteral =+ BinaryStringLiteral {+ unBinaryStringLiteral :: ()}+ deriving (Eq, Ord, Read, Show)++_BinaryStringLiteral = Model.Name "hydra.ext.sql.syntax.BinaryStringLiteral"++-- | A boolean test, optionally negated with NOT+data BooleanFactor =+ BooleanFactor {+ booleanFactorNOT :: (Maybe ()),+ booleanFactorBooleanTest :: BooleanTest}+ deriving (Eq, Ord, Read, Show)++_BooleanFactor = Model.Name "hydra.ext.sql.syntax.BooleanFactor"++_BooleanFactor_NOT = Model.Name "NOT"++_BooleanFactor_BooleanTest = Model.Name "BooleanTest"++-- | A boolean literal: TRUE, FALSE, or UNKNOWN+data BooleanLiteral =+ BooleanLiteralTRUE |+ BooleanLiteralFALSE |+ BooleanLiteralUNKNOWN+ deriving (Eq, Ord, Read, Show)++_BooleanLiteral = Model.Name "hydra.ext.sql.syntax.BooleanLiteral"++_BooleanLiteral_TRUE = Model.Name "TRUE"++_BooleanLiteral_FALSE = Model.Name "FALSE"++_BooleanLiteral_UNKNOWN = Model.Name "UNKNOWN"++-- | An operand of a boolean predicate+newtype BooleanPredicand =+ BooleanPredicand {+ unBooleanPredicand :: ()}+ deriving (Eq, Ord, Read, Show)++_BooleanPredicand = Model.Name "hydra.ext.sql.syntax.BooleanPredicand"++-- | A boolean primary expression: either a predicate or a boolean predicand+data BooleanPrimary =+ BooleanPrimaryPredicate Predicate |+ BooleanPrimaryPredicand BooleanPredicand+ deriving (Eq, Ord, Read, Show)++_BooleanPrimary = Model.Name "hydra.ext.sql.syntax.BooleanPrimary"++_BooleanPrimary_predicate = Model.Name "predicate"++_BooleanPrimary_predicand = Model.Name "predicand"++-- | A boolean term: a factor, or a conjunction of terms with AND+data BooleanTerm =+ BooleanTermFactor BooleanFactor |+ BooleanTermConjunction BooleanTermAnd+ deriving (Eq, Ord, Read, Show)++_BooleanTerm = Model.Name "hydra.ext.sql.syntax.BooleanTerm"++_BooleanTerm_factor = Model.Name "factor"++_BooleanTerm_conjunction = Model.Name "conjunction"++-- | A conjunction of two boolean terms joined by AND+data BooleanTermAnd =+ BooleanTermAnd {+ booleanTermAndLhs :: BooleanTerm,+ booleanTermAndRhs :: BooleanFactor}+ deriving (Eq, Ord, Read, Show)++_BooleanTermAnd = Model.Name "hydra.ext.sql.syntax.BooleanTermAnd"++_BooleanTermAnd_lhs = Model.Name "lhs"++_BooleanTermAnd_rhs = Model.Name "rhs"++-- | A boolean primary, optionally compared against a truth value with IS+data BooleanTest =+ BooleanTest {+ booleanTestBooleanPrimary :: BooleanPrimary,+ booleanTestSequence :: (Maybe BooleanTestSequenceOption)}+ deriving (Eq, Ord, Read, Show)++_BooleanTest = Model.Name "hydra.ext.sql.syntax.BooleanTest"++_BooleanTest_BooleanPrimary = Model.Name "BooleanPrimary"++_BooleanTest_Sequence = Model.Name "Sequence"++-- | The IS [NOT] truth-value suffix of a boolean test+data BooleanTestSequenceOption =+ BooleanTestSequenceOption {+ booleanTestSequenceOptionNOT :: (Maybe ()),+ booleanTestSequenceOptionTruthValue :: TruthValue}+ deriving (Eq, Ord, Read, Show)++_BooleanTestSequenceOption = Model.Name "hydra.ext.sql.syntax.BooleanTestSequenceOption"++_BooleanTestSequenceOption_NOT = Model.Name "NOT"++_BooleanTestSequenceOption_TruthValue = Model.Name "TruthValue"++-- | The BOOLEAN data type+newtype BooleanType =+ BooleanType {+ unBooleanType :: ()}+ deriving (Eq, Ord, Read, Show)++_BooleanType = Model.Name "hydra.ext.sql.syntax.BooleanType"++-- | A boolean value expression: a term, or a disjunction of terms with OR+data BooleanValueExpression =+ BooleanValueExpressionTerm BooleanTerm |+ BooleanValueExpressionDisjunction BooleanValueExpressionOr+ deriving (Eq, Ord, Read, Show)++_BooleanValueExpression = Model.Name "hydra.ext.sql.syntax.BooleanValueExpression"++_BooleanValueExpression_term = Model.Name "term"++_BooleanValueExpression_disjunction = Model.Name "disjunction"++-- | A disjunction of two boolean value expressions joined by OR+data BooleanValueExpressionOr =+ BooleanValueExpressionOr {+ booleanValueExpressionOrLhs :: BooleanValueExpression,+ booleanValueExpressionOrRhs :: BooleanTerm}+ deriving (Eq, Ord, Read, Show)++_BooleanValueExpressionOr = Model.Name "hydra.ext.sql.syntax.BooleanValueExpressionOr"++_BooleanValueExpressionOr_lhs = Model.Name "lhs"++_BooleanValueExpressionOr_rhs = Model.Name "rhs"++-- | A CASE expression, selecting a result from among several alternatives+newtype CaseExpression =+ CaseExpression {+ unCaseExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_CaseExpression = Model.Name "hydra.ext.sql.syntax.CaseExpression"++-- | A CAST expression, converting a value to a specified data type+newtype CastSpecification =+ CastSpecification {+ unCastSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_CastSpecification = Model.Name "hydra.ext.sql.syntax.CastSpecification"++-- | The name of a character set+newtype CharacterSetSpecification =+ CharacterSetSpecification {+ unCharacterSetSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_CharacterSetSpecification = Model.Name "hydra.ext.sql.syntax.CharacterSetSpecification"++-- | A character string literal, e.g. 'hello'+newtype CharacterStringLiteral =+ CharacterStringLiteral {+ unCharacterStringLiteral :: String}+ deriving (Eq, Ord, Read, Show)++_CharacterStringLiteral = Model.Name "hydra.ext.sql.syntax.CharacterStringLiteral"++-- | A character string type: CHARACTER, VARCHAR, or CHARACTER LARGE OBJECT+data CharacterStringType =+ CharacterStringTypeCharacter (Maybe Length) |+ CharacterStringTypeChar (Maybe Length) |+ CharacterStringTypeCharacterVarying Length |+ CharacterStringTypeCharVarying Length |+ CharacterStringTypeVarchar Length |+ CharacterStringTypeCharacterLargeObject (Maybe LargeObjectLength) |+ CharacterStringTypeCharLargeObject (Maybe LargeObjectLength) |+ CharacterStringTypeClob (Maybe LargeObjectLength)+ deriving (Eq, Ord, Read, Show)++_CharacterStringType = Model.Name "hydra.ext.sql.syntax.CharacterStringType"++_CharacterStringType_character = Model.Name "character"++_CharacterStringType_char = Model.Name "char"++_CharacterStringType_characterVarying = Model.Name "characterVarying"++_CharacterStringType_charVarying = Model.Name "charVarying"++_CharacterStringType_varchar = Model.Name "varchar"++_CharacterStringType_characterLargeObject = Model.Name "characterLargeObject"++_CharacterStringType_charLargeObject = Model.Name "charLargeObject"++_CharacterStringType_clob = Model.Name "clob"++-- | A COLLATE clause specifying the collation to apply to a character value+newtype CollateClause =+ CollateClause {+ unCollateClause :: ()}+ deriving (Eq, Ord, Read, Show)++_CollateClause = Model.Name "hydra.ext.sql.syntax.CollateClause"++-- | A collection type: ARRAY or MULTISET+data CollectionType =+ CollectionTypeArray ArrayType |+ CollectionTypeMultiset MultisetType+ deriving (Eq, Ord, Read, Show)++_CollectionType = Model.Name "hydra.ext.sql.syntax.CollectionType"++_CollectionType_array = Model.Name "array"++_CollectionType_multiset = Model.Name "multiset"++-- | A constructor for a collection value: an array or multiset constructor+data CollectionValueConstructor =+ CollectionValueConstructorArray ArrayValueConstructor |+ CollectionValueConstructorMultiset MultisetValueConstructor+ deriving (Eq, Ord, Read, Show)++_CollectionValueConstructor = Model.Name "hydra.ext.sql.syntax.CollectionValueConstructor"++_CollectionValueConstructor_array = Model.Name "array"++_CollectionValueConstructor_multiset = Model.Name "multiset"++-- | An expression that evaluates to a collection value+data CollectionValueExpression =+ CollectionValueExpressionArray ArrayValueExpression |+ CollectionValueExpressionMultiset MultisetValueExpression+ deriving (Eq, Ord, Read, Show)++_CollectionValueExpression = Model.Name "hydra.ext.sql.syntax.CollectionValueExpression"++_CollectionValueExpression_array = Model.Name "array"++_CollectionValueExpression_multiset = Model.Name "multiset"++-- | A constraint attached to a single column definition+newtype ColumnConstraintDefinition =+ ColumnConstraintDefinition {+ unColumnConstraintDefinition :: ()}+ deriving (Eq, Ord, Read, Show)++_ColumnConstraintDefinition = Model.Name "hydra.ext.sql.syntax.ColumnConstraintDefinition"++-- | The definition of a single column within a table definition+data ColumnDefinition =+ ColumnDefinition {+ columnDefinitionName :: ColumnName,+ columnDefinitionTypeOrDomain :: (Maybe ColumnDefinitionTypeOrDomainOption),+ columnDefinitionRefScope :: (Maybe ReferenceScopeCheck),+ columnDefinitionDefaultOrIdentityOrGeneration :: (Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption),+ columnDefinitionConstraints :: [ColumnConstraintDefinition],+ columnDefinitionCollate :: (Maybe CollateClause)}+ deriving (Eq, Ord, Read, Show)++_ColumnDefinition = Model.Name "hydra.ext.sql.syntax.ColumnDefinition"++_ColumnDefinition_name = Model.Name "name"++_ColumnDefinition_typeOrDomain = Model.Name "typeOrDomain"++_ColumnDefinition_refScope = Model.Name "refScope"++_ColumnDefinition_defaultOrIdentityOrGeneration = Model.Name "defaultOrIdentityOrGeneration"++_ColumnDefinition_constraints = Model.Name "constraints"++_ColumnDefinition_collate = Model.Name "collate"++-- | A column's default value, identity, or generation specification+data ColumnDefinitionDefaultOrIdentityOrGenerationOption =+ ColumnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause DefaultClause |+ ColumnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification IdentityColumnSpecification |+ ColumnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause GenerationClause+ deriving (Eq, Ord, Read, Show)++_ColumnDefinitionDefaultOrIdentityOrGenerationOption =+ Model.Name "hydra.ext.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption"++_ColumnDefinitionDefaultOrIdentityOrGenerationOption_DefaultClause = Model.Name "DefaultClause"++_ColumnDefinitionDefaultOrIdentityOrGenerationOption_IdentityColumnSpecification =+ Model.Name "IdentityColumnSpecification"++_ColumnDefinitionDefaultOrIdentityOrGenerationOption_GenerationClause = Model.Name "GenerationClause"++-- | A column's declared data type or domain+data ColumnDefinitionTypeOrDomainOption =+ ColumnDefinitionTypeOrDomainOptionDataType DataType |+ ColumnDefinitionTypeOrDomainOptionDomainName DomainName+ deriving (Eq, Ord, Read, Show)++_ColumnDefinitionTypeOrDomainOption = Model.Name "hydra.ext.sql.syntax.ColumnDefinitionTypeOrDomainOption"++_ColumnDefinitionTypeOrDomainOption_DataType = Model.Name "DataType"++_ColumnDefinitionTypeOrDomainOption_DomainName = Model.Name "DomainName"++-- | The name of a table column+newtype ColumnName =+ ColumnName {+ unColumnName :: String}+ deriving (Eq, Ord, Read, Show)++_ColumnName = Model.Name "hydra.ext.sql.syntax.ColumnName"++-- | A non-empty, comma-separated list of column names+data ColumnNameList =+ ColumnNameList {+ columnNameListFirst :: ColumnName,+ columnNameListRest :: [ColumnName]}+ deriving (Eq, Ord, Read, Show)++_ColumnNameList = Model.Name "hydra.ext.sql.syntax.ColumnNameList"++_ColumnNameList_first = Model.Name "first"++_ColumnNameList_rest = Model.Name "rest"++-- | The WITH OPTIONS clause of a column definition inherited via LIKE+newtype ColumnOptions =+ ColumnOptions {+ unColumnOptions :: ()}+ deriving (Eq, Ord, Read, Show)++_ColumnOptions = Model.Name "hydra.ext.sql.syntax.ColumnOptions"++-- | A reference to a column, optionally qualified by a table or correlation name+newtype ColumnReference =+ ColumnReference {+ unColumnReference :: ()}+ deriving (Eq, Ord, Read, Show)++_ColumnReference = Model.Name "hydra.ext.sql.syntax.ColumnReference"++-- | A value expression common to numeric, string, datetime, interval, user-defined, reference, and collection types+data CommonValueExpression =+ CommonValueExpressionNumeric NumericValueExpression |+ CommonValueExpressionString StringValueExpression |+ CommonValueExpressionDatetime DatetimeValueExpression |+ CommonValueExpressionInterval IntervalValueExpression |+ CommonValueExpressionUserDefined UserDefinedTypeValueExpression |+ CommonValueExpressionReference ReferenceValueExpression |+ CommonValueExpressionCollection CollectionValueExpression+ deriving (Eq, Ord, Read, Show)++_CommonValueExpression = Model.Name "hydra.ext.sql.syntax.CommonValueExpression"++_CommonValueExpression_numeric = Model.Name "numeric"++_CommonValueExpression_string = Model.Name "string"++_CommonValueExpression_datetime = Model.Name "datetime"++_CommonValueExpression_interval = Model.Name "interval"++_CommonValueExpression_userDefined = Model.Name "userDefined"++_CommonValueExpression_reference = Model.Name "reference"++_CommonValueExpression_collection = Model.Name "collection"++-- | A row value constructor whose element types are inferred from context+newtype ContextuallyTypedRowValueConstructor =+ ContextuallyTypedRowValueConstructor {+ unContextuallyTypedRowValueConstructor :: ()}+ deriving (Eq, Ord, Read, Show)++_ContextuallyTypedRowValueConstructor = Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueConstructor"++-- | A contextually typed row value expression: a special case or a constructor+data ContextuallyTypedRowValueExpression =+ ContextuallyTypedRowValueExpressionSpecialCase RowValueSpecialCase |+ ContextuallyTypedRowValueExpressionConstructor ContextuallyTypedRowValueConstructor+ deriving (Eq, Ord, Read, Show)++_ContextuallyTypedRowValueExpression = Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpression"++_ContextuallyTypedRowValueExpression_specialCase = Model.Name "specialCase"++_ContextuallyTypedRowValueExpression_constructor = Model.Name "constructor"++-- | A non-empty, comma-separated list of contextually typed row value expressions+data ContextuallyTypedRowValueExpressionList =+ ContextuallyTypedRowValueExpressionList {+ contextuallyTypedRowValueExpressionListFirst :: ContextuallyTypedRowValueExpression,+ contextuallyTypedRowValueExpressionListRest :: [ContextuallyTypedRowValueExpression]}+ deriving (Eq, Ord, Read, Show)++_ContextuallyTypedRowValueExpressionList = Model.Name "hydra.ext.sql.syntax.ContextuallyTypedRowValueExpressionList"++_ContextuallyTypedRowValueExpressionList_first = Model.Name "first"++_ContextuallyTypedRowValueExpressionList_rest = Model.Name "rest"++-- | A table value constructor built from a list of contextually typed row values+newtype ContextuallyTypedTableValueConstructor =+ ContextuallyTypedTableValueConstructor {+ unContextuallyTypedTableValueConstructor :: ContextuallyTypedRowValueExpressionList}+ deriving (Eq, Ord, Read, Show)++_ContextuallyTypedTableValueConstructor = Model.Name "hydra.ext.sql.syntax.ContextuallyTypedTableValueConstructor"++-- | A data type: predefined, row, named, reference, or collection+data DataType =+ DataTypePredefined PredefinedType |+ DataTypeRow RowType |+ DataTypeNamed PathResolvedUserDefinedTypeName |+ DataTypeReference ReferenceType |+ DataTypeCollection CollectionType+ deriving (Eq, Ord, Read, Show)++_DataType = Model.Name "hydra.ext.sql.syntax.DataType"++_DataType_predefined = Model.Name "predefined"++_DataType_row = Model.Name "row"++_DataType_named = Model.Name "named"++_DataType_reference = Model.Name "reference"++_DataType_collection = Model.Name "collection"++-- | A DATE literal+newtype DateLiteral =+ DateLiteral {+ unDateLiteral :: DateString}+ deriving (Eq, Ord, Read, Show)++_DateLiteral = Model.Name "hydra.ext.sql.syntax.DateLiteral"++-- | The string representation of a date literal, e.g. '2003-01-01'+newtype DateString =+ DateString {+ unDateString :: ()}+ deriving (Eq, Ord, Read, Show)++_DateString = Model.Name "hydra.ext.sql.syntax.DateString"++-- | A datetime literal: a date, time, or timestamp literal+data DatetimeLiteral =+ DatetimeLiteralDate DateLiteral |+ DatetimeLiteralTime TimeLiteral |+ DatetimeLiteralTimestamp TimestampLiteral+ deriving (Eq, Ord, Read, Show)++_DatetimeLiteral = Model.Name "hydra.ext.sql.syntax.DatetimeLiteral"++_DatetimeLiteral_date = Model.Name "date"++_DatetimeLiteral_time = Model.Name "time"++_DatetimeLiteral_timestamp = Model.Name "timestamp"++-- | A datetime type: DATE, TIME, or TIMESTAMP+newtype DatetimeType =+ DatetimeType {+ unDatetimeType :: ()}+ deriving (Eq, Ord, Read, Show)++_DatetimeType = Model.Name "hydra.ext.sql.syntax.DatetimeType"++-- | An expression that evaluates to a datetime value+newtype DatetimeValueExpression =+ DatetimeValueExpression {+ unDatetimeValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_DatetimeValueExpression = Model.Name "hydra.ext.sql.syntax.DatetimeValueExpression"++-- | A DEFAULT clause specifying a column's default value+newtype DefaultClause =+ DefaultClause {+ unDefaultClause :: ()}+ deriving (Eq, Ord, Read, Show)++_DefaultClause = Model.Name "hydra.ext.sql.syntax.DefaultClause"++-- | The name of a user-defined domain+newtype DomainName =+ DomainName {+ unDomainName :: String}+ deriving (Eq, Ord, Read, Show)++_DomainName = Model.Name "hydra.ext.sql.syntax.DomainName"++-- | An exact numeric literal, such as an integer or fixed-point decimal+newtype ExactNumericLiteral =+ ExactNumericLiteral {+ unExactNumericLiteral :: String}+ deriving (Eq, Ord, Read, Show)++_ExactNumericLiteral = Model.Name "hydra.ext.sql.syntax.ExactNumericLiteral"++-- | An exact numeric type: NUMERIC, DECIMAL, DEC, SMALLINT, INTEGER, INT, or BIGINT+data ExactNumericType =+ ExactNumericTypeNumeric (Maybe ExactNumericTypeNumericOption) |+ ExactNumericTypeDecimal (Maybe ExactNumericTypeDecimalOption) |+ ExactNumericTypeDec (Maybe ExactNumericTypeDecOption) |+ ExactNumericTypeSmallint |+ ExactNumericTypeInteger |+ ExactNumericTypeInt |+ ExactNumericTypeBigint+ deriving (Eq, Ord, Read, Show)++_ExactNumericType = Model.Name "hydra.ext.sql.syntax.ExactNumericType"++_ExactNumericType_numeric = Model.Name "numeric"++_ExactNumericType_decimal = Model.Name "decimal"++_ExactNumericType_dec = Model.Name "dec"++_ExactNumericType_smallint = Model.Name "smallint"++_ExactNumericType_integer = Model.Name "integer"++_ExactNumericType_int = Model.Name "int"++_ExactNumericType_bigint = Model.Name "bigint"++-- | The precision and optional scale of a DEC type+data ExactNumericTypeDecOption =+ ExactNumericTypeDecOption {+ exactNumericTypeDecOptionPrecision :: Precision,+ exactNumericTypeDecOptionSequence :: (Maybe Scale)}+ deriving (Eq, Ord, Read, Show)++_ExactNumericTypeDecOption = Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecOption"++_ExactNumericTypeDecOption_Precision = Model.Name "Precision"++_ExactNumericTypeDecOption_Sequence = Model.Name "Sequence"++-- | The precision and optional scale of a DECIMAL type+data ExactNumericTypeDecimalOption =+ ExactNumericTypeDecimalOption {+ exactNumericTypeDecimalOptionPrecision :: Precision,+ exactNumericTypeDecimalOptionSequence :: (Maybe Scale)}+ deriving (Eq, Ord, Read, Show)++_ExactNumericTypeDecimalOption = Model.Name "hydra.ext.sql.syntax.ExactNumericTypeDecimalOption"++_ExactNumericTypeDecimalOption_Precision = Model.Name "Precision"++_ExactNumericTypeDecimalOption_Sequence = Model.Name "Sequence"++-- | The precision and optional scale of a NUMERIC type+data ExactNumericTypeNumericOption =+ ExactNumericTypeNumericOption {+ exactNumericTypeNumericOptionPrecision :: Precision,+ exactNumericTypeNumericOptionSequence :: (Maybe Scale)}+ deriving (Eq, Ord, Read, Show)++_ExactNumericTypeNumericOption = Model.Name "hydra.ext.sql.syntax.ExactNumericTypeNumericOption"++_ExactNumericTypeNumericOption_Precision = Model.Name "Precision"++_ExactNumericTypeNumericOption_Sequence = Model.Name "Sequence"++-- | A reference to a field of a row or structured value+newtype FieldReference =+ FieldReference {+ unFieldReference :: ()}+ deriving (Eq, Ord, Read, Show)++_FieldReference = Model.Name "hydra.ext.sql.syntax.FieldReference"++-- | An INSERT source specified by an explicit value constructor, with optional column list and override clause+data FromConstructor =+ FromConstructor {+ fromConstructorColumns :: (Maybe InsertColumnList),+ fromConstructorOverride :: (Maybe OverrideClause),+ fromConstructorValues :: ContextuallyTypedTableValueConstructor}+ deriving (Eq, Ord, Read, Show)++_FromConstructor = Model.Name "hydra.ext.sql.syntax.FromConstructor"++_FromConstructor_columns = Model.Name "columns"++_FromConstructor_override = Model.Name "override"++_FromConstructor_values = Model.Name "values"++-- | An INSERT source specified as DEFAULT VALUES+newtype FromDefault =+ FromDefault {+ unFromDefault :: ()}+ deriving (Eq, Ord, Read, Show)++_FromDefault = Model.Name "hydra.ext.sql.syntax.FromDefault"++-- | An INSERT source specified as the result of a subquery+newtype FromSubquery =+ FromSubquery {+ unFromSubquery :: ()}+ deriving (Eq, Ord, Read, Show)++_FromSubquery = Model.Name "hydra.ext.sql.syntax.FromSubquery"++-- | A general literal: a string, datetime, interval, or boolean literal+data GeneralLiteral =+ GeneralLiteralString CharacterStringLiteral |+ GeneralLiteralNationalString NationalCharacterStringLiteral |+ GeneralLiteralUnicode UnicodeCharacterStringLiteral |+ GeneralLiteralBinary BinaryStringLiteral |+ GeneralLiteralDateTime DatetimeLiteral |+ GeneralLiteralInterval IntervalLiteral |+ GeneralLiteralBoolean BooleanLiteral+ deriving (Eq, Ord, Read, Show)++_GeneralLiteral = Model.Name "hydra.ext.sql.syntax.GeneralLiteral"++_GeneralLiteral_string = Model.Name "string"++_GeneralLiteral_nationalString = Model.Name "nationalString"++_GeneralLiteral_unicode = Model.Name "unicode"++_GeneralLiteral_binary = Model.Name "binary"++_GeneralLiteral_dateTime = Model.Name "dateTime"++_GeneralLiteral_interval = Model.Name "interval"++_GeneralLiteral_boolean = Model.Name "boolean"++-- | A general value specification, such as a parameter or dynamic value+newtype GeneralValueSpecification =+ GeneralValueSpecification {+ unGeneralValueSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_GeneralValueSpecification = Model.Name "hydra.ext.sql.syntax.GeneralValueSpecification"++-- | A GENERATED ALWAYS AS clause for a computed column+newtype GenerationClause =+ GenerationClause {+ unGenerationClause :: ()}+ deriving (Eq, Ord, Read, Show)++_GenerationClause = Model.Name "hydra.ext.sql.syntax.GenerationClause"++-- | The GLOBAL or LOCAL qualifier of a temporary table scope+data GlobalOrLocal =+ GlobalOrLocalGlobal |+ GlobalOrLocalLocal+ deriving (Eq, Ord, Read, Show)++_GlobalOrLocal = Model.Name "hydra.ext.sql.syntax.GlobalOrLocal"++_GlobalOrLocal_global = Model.Name "global"++_GlobalOrLocal_local = Model.Name "local"++-- | A GENERATED ... AS IDENTITY column specification+newtype IdentityColumnSpecification =+ IdentityColumnSpecification {+ unIdentityColumnSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_IdentityColumnSpecification = Model.Name "hydra.ext.sql.syntax.IdentityColumnSpecification"++-- | The parenthesized list of target column names in an INSERT statement+newtype InsertColumnList =+ InsertColumnList {+ unInsertColumnList :: ColumnNameList}+ deriving (Eq, Ord, Read, Show)++_InsertColumnList = Model.Name "hydra.ext.sql.syntax.InsertColumnList"++-- | The column list and value source of an INSERT statement: a subquery, constructor, or default+data InsertColumnsAndSource =+ InsertColumnsAndSourceSubquery FromSubquery |+ InsertColumnsAndSourceConstructor FromConstructor |+ InsertColumnsAndSourceDefault FromDefault+ deriving (Eq, Ord, Read, Show)++_InsertColumnsAndSource = Model.Name "hydra.ext.sql.syntax.InsertColumnsAndSource"++_InsertColumnsAndSource_subquery = Model.Name "subquery"++_InsertColumnsAndSource_constructor = Model.Name "constructor"++_InsertColumnsAndSource_default = Model.Name "default"++-- | An ANSI SQL INSERT statement+data InsertStatement =+ InsertStatement {+ insertStatementTarget :: InsertionTarget,+ insertStatementColumnsAndSource :: InsertColumnsAndSource}+ deriving (Eq, Ord, Read, Show)++_InsertStatement = Model.Name "hydra.ext.sql.syntax.InsertStatement"++_InsertStatement_target = Model.Name "target"++_InsertStatement_columnsAndSource = Model.Name "columnsAndSource"++-- | The table into which an INSERT statement inserts rows+newtype InsertionTarget =+ InsertionTarget {+ unInsertionTarget :: TableName}+ deriving (Eq, Ord, Read, Show)++_InsertionTarget = Model.Name "hydra.ext.sql.syntax.InsertionTarget"++-- | An INTERVAL literal+newtype IntervalLiteral =+ IntervalLiteral {+ unIntervalLiteral :: ()}+ deriving (Eq, Ord, Read, Show)++_IntervalLiteral = Model.Name "hydra.ext.sql.syntax.IntervalLiteral"++-- | The INTERVAL data type+newtype IntervalType =+ IntervalType {+ unIntervalType :: ()}+ deriving (Eq, Ord, Read, Show)++_IntervalType = Model.Name "hydra.ext.sql.syntax.IntervalType"++-- | An expression that evaluates to an interval value+newtype IntervalValueExpression =+ IntervalValueExpression {+ unIntervalValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_IntervalValueExpression = Model.Name "hydra.ext.sql.syntax.IntervalValueExpression"++-- | The length specification of a large object type, e.g. 1K, 1M, or 1G+newtype LargeObjectLength =+ LargeObjectLength {+ unLargeObjectLength :: ()}+ deriving (Eq, Ord, Read, Show)++_LargeObjectLength = Model.Name "hydra.ext.sql.syntax.LargeObjectLength"++-- | A left square bracket, or its trigraph equivalent ??(+newtype LeftBracketOrTrigraph =+ LeftBracketOrTrigraph {+ unLeftBracketOrTrigraph :: String}+ deriving (Eq, Ord, Read, Show)++_LeftBracketOrTrigraph = Model.Name "hydra.ext.sql.syntax.LeftBracketOrTrigraph"++-- | The length specification of a character or binary string type+newtype Length =+ Length {+ unLength :: UnsignedInteger}+ deriving (Eq, Ord, Read, Show)++_Length = Model.Name "hydra.ext.sql.syntax.Length"++-- | A LIKE clause, copying column definitions from another table+newtype LikeClause =+ LikeClause {+ unLikeClause :: ()}+ deriving (Eq, Ord, Read, Show)++_LikeClause = Model.Name "hydra.ext.sql.syntax.LikeClause"++-- | An invocation of a method on a structured value+newtype MethodInvocation =+ MethodInvocation {+ unMethodInvocation :: ()}+ deriving (Eq, Ord, Read, Show)++_MethodInvocation = Model.Name "hydra.ext.sql.syntax.MethodInvocation"++-- | A reference to an element of a multiset by way of the ELEMENT function+newtype MultisetElementReference =+ MultisetElementReference {+ unMultisetElementReference :: ()}+ deriving (Eq, Ord, Read, Show)++_MultisetElementReference = Model.Name "hydra.ext.sql.syntax.MultisetElementReference"++-- | A MULTISET collection type over a given element data type+newtype MultisetType =+ MultisetType {+ unMultisetType :: DataType}+ deriving (Eq, Ord, Read, Show)++_MultisetType = Model.Name "hydra.ext.sql.syntax.MultisetType"++-- | A constructor for a multiset value+newtype MultisetValueConstructor =+ MultisetValueConstructor {+ unMultisetValueConstructor :: ()}+ deriving (Eq, Ord, Read, Show)++_MultisetValueConstructor = Model.Name "hydra.ext.sql.syntax.MultisetValueConstructor"++-- | An expression that evaluates to a multiset value+newtype MultisetValueExpression =+ MultisetValueExpression {+ unMultisetValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_MultisetValueExpression = Model.Name "hydra.ext.sql.syntax.MultisetValueExpression"++-- | A national character string literal, e.g. N'hello'+newtype NationalCharacterStringLiteral =+ NationalCharacterStringLiteral {+ unNationalCharacterStringLiteral :: ()}+ deriving (Eq, Ord, Read, Show)++_NationalCharacterStringLiteral = Model.Name "hydra.ext.sql.syntax.NationalCharacterStringLiteral"++-- | A national character string type: NATIONAL CHARACTER or NATIONAL CHARACTER VARYING+newtype NationalCharacterStringType =+ NationalCharacterStringType {+ unNationalCharacterStringType :: ()}+ deriving (Eq, Ord, Read, Show)++_NationalCharacterStringType = Model.Name "hydra.ext.sql.syntax.NationalCharacterStringType"++-- | A NEW invocation, constructing an instance of a structured type+newtype NewSpecification =+ NewSpecification {+ unNewSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_NewSpecification = Model.Name "hydra.ext.sql.syntax.NewSpecification"++-- | A NEXT VALUE FOR expression, retrieving the next value of a sequence generator+newtype NextValueExpression =+ NextValueExpression {+ unNextValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_NextValueExpression = Model.Name "hydra.ext.sql.syntax.NextValueExpression"++-- | A value expression primary that does not begin with a parenthesis+data NonparenthesizedValueExpressionPrimary =+ NonparenthesizedValueExpressionPrimaryUnsigned UnsignedValueSpecification |+ NonparenthesizedValueExpressionPrimaryColumn ColumnReference |+ NonparenthesizedValueExpressionPrimarySetFunction SetFunctionSpecification |+ NonparenthesizedValueExpressionPrimaryWindowFunction WindowFunction |+ NonparenthesizedValueExpressionPrimaryScalarSubquery ScalarSubquery |+ NonparenthesizedValueExpressionPrimaryCases CaseExpression |+ NonparenthesizedValueExpressionPrimaryCast CastSpecification |+ NonparenthesizedValueExpressionPrimaryField FieldReference |+ NonparenthesizedValueExpressionPrimarySubtype SubtypeTreatment |+ NonparenthesizedValueExpressionPrimaryMethod MethodInvocation |+ NonparenthesizedValueExpressionPrimaryStaticMethod StaticMethodInvocation |+ NonparenthesizedValueExpressionPrimaryNew NewSpecification |+ NonparenthesizedValueExpressionPrimaryAttributeOrMethod AttributeOrMethodReference |+ NonparenthesizedValueExpressionPrimaryReference ReferenceResolution |+ NonparenthesizedValueExpressionPrimaryCollection CollectionValueConstructor |+ NonparenthesizedValueExpressionPrimaryArrayElement ArrayElementReference |+ NonparenthesizedValueExpressionPrimaryMultisetElement MultisetElementReference |+ NonparenthesizedValueExpressionPrimaryRoutine RoutineInvocation |+ NonparenthesizedValueExpressionPrimaryNext NextValueExpression+ deriving (Eq, Ord, Read, Show)++_NonparenthesizedValueExpressionPrimary = Model.Name "hydra.ext.sql.syntax.NonparenthesizedValueExpressionPrimary"++_NonparenthesizedValueExpressionPrimary_unsigned = Model.Name "unsigned"++_NonparenthesizedValueExpressionPrimary_column = Model.Name "column"++_NonparenthesizedValueExpressionPrimary_setFunction = Model.Name "setFunction"++_NonparenthesizedValueExpressionPrimary_windowFunction = Model.Name "windowFunction"++_NonparenthesizedValueExpressionPrimary_scalarSubquery = Model.Name "scalarSubquery"++_NonparenthesizedValueExpressionPrimary_cases = Model.Name "cases"++_NonparenthesizedValueExpressionPrimary_cast = Model.Name "cast"++_NonparenthesizedValueExpressionPrimary_field = Model.Name "field"++_NonparenthesizedValueExpressionPrimary_subtype = Model.Name "subtype"++_NonparenthesizedValueExpressionPrimary_method = Model.Name "method"++_NonparenthesizedValueExpressionPrimary_staticMethod = Model.Name "staticMethod"++_NonparenthesizedValueExpressionPrimary_new = Model.Name "new"++_NonparenthesizedValueExpressionPrimary_attributeOrMethod = Model.Name "attributeOrMethod"++_NonparenthesizedValueExpressionPrimary_reference = Model.Name "reference"++_NonparenthesizedValueExpressionPrimary_collection = Model.Name "collection"++_NonparenthesizedValueExpressionPrimary_arrayElement = Model.Name "arrayElement"++_NonparenthesizedValueExpressionPrimary_multisetElement = Model.Name "multisetElement"++_NonparenthesizedValueExpressionPrimary_routine = Model.Name "routine"++_NonparenthesizedValueExpressionPrimary_next = Model.Name "next"++-- | A numeric type: exact or approximate+data NumericType =+ NumericTypeExact ExactNumericType |+ NumericTypeApproximate ApproximateNumericType+ deriving (Eq, Ord, Read, Show)++_NumericType = Model.Name "hydra.ext.sql.syntax.NumericType"++_NumericType_exact = Model.Name "exact"++_NumericType_approximate = Model.Name "approximate"++-- | An expression that evaluates to a numeric value+newtype NumericValueExpression =+ NumericValueExpression {+ unNumericValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_NumericValueExpression = Model.Name "hydra.ext.sql.syntax.NumericValueExpression"++-- | An OVERRIDING USER VALUE or OVERRIDING SYSTEM VALUE clause of an INSERT statement+data OverrideClause =+ OverrideClauseOVERRIDINGspUSERspVALUE |+ OverrideClauseOVERRIDINGspSYSTEMspVALUE+ deriving (Eq, Ord, Read, Show)++_OverrideClause = Model.Name "hydra.ext.sql.syntax.OverrideClause"++_OverrideClause_OVERRIDINGspUSERspVALUE = Model.Name "OVERRIDINGspUSERspVALUE"++_OverrideClause_OVERRIDINGspSYSTEMspVALUE = Model.Name "OVERRIDINGspSYSTEMspVALUE"++-- | A value expression enclosed in parentheses+newtype ParenthesizedValueExpression =+ ParenthesizedValueExpression {+ unParenthesizedValueExpression :: ValueExpression}+ deriving (Eq, Ord, Read, Show)++_ParenthesizedValueExpression = Model.Name "hydra.ext.sql.syntax.ParenthesizedValueExpression"++-- | A user-defined type name, resolved against the current schema path+newtype PathResolvedUserDefinedTypeName =+ PathResolvedUserDefinedTypeName {+ unPathResolvedUserDefinedTypeName :: String}+ deriving (Eq, Ord, Read, Show)++_PathResolvedUserDefinedTypeName = Model.Name "hydra.ext.sql.syntax.PathResolvedUserDefinedTypeName"++-- | The precision of a numeric type, as an unsigned integer+newtype Precision =+ Precision {+ unPrecision :: UnsignedInteger}+ deriving (Eq, Ord, Read, Show)++_Precision = Model.Name "hydra.ext.sql.syntax.Precision"++-- | A predefined data type: string, numeric, boolean, datetime, or interval+data PredefinedType =+ PredefinedTypeStringType PredefinedTypeString |+ PredefinedTypeNationalStringType PredefinedTypeNationalString |+ PredefinedTypeBlob BinaryLargeObjectStringType |+ PredefinedTypeNumeric NumericType |+ PredefinedTypeBoolean BooleanType |+ PredefinedTypeDatetime DatetimeType |+ PredefinedTypeInterval IntervalType+ deriving (Eq, Ord, Read, Show)++_PredefinedType = Model.Name "hydra.ext.sql.syntax.PredefinedType"++_PredefinedType_stringType = Model.Name "stringType"++_PredefinedType_nationalStringType = Model.Name "nationalStringType"++_PredefinedType_blob = Model.Name "blob"++_PredefinedType_numeric = Model.Name "numeric"++_PredefinedType_boolean = Model.Name "boolean"++_PredefinedType_datetime = Model.Name "datetime"++_PredefinedType_interval = Model.Name "interval"++-- | A national character string type together with an optional COLLATE clause+data PredefinedTypeNationalString =+ PredefinedTypeNationalString {+ predefinedTypeNationalStringType :: NationalCharacterStringType,+ predefinedTypeNationalStringCollate :: (Maybe CollateClause)}+ deriving (Eq, Ord, Read, Show)++_PredefinedTypeNationalString = Model.Name "hydra.ext.sql.syntax.PredefinedTypeNationalString"++_PredefinedTypeNationalString_type = Model.Name "type"++_PredefinedTypeNationalString_collate = Model.Name "collate"++-- | A character string type together with an optional character set and COLLATE clause+data PredefinedTypeString =+ PredefinedTypeString {+ predefinedTypeStringType :: CharacterStringType,+ predefinedTypeStringCharacters :: (Maybe CharacterSetSpecification),+ predefinedTypeStringCollate :: (Maybe CollateClause)}+ deriving (Eq, Ord, Read, Show)++_PredefinedTypeString = Model.Name "hydra.ext.sql.syntax.PredefinedTypeString"++_PredefinedTypeString_type = Model.Name "type"++_PredefinedTypeString_characters = Model.Name "characters"++_PredefinedTypeString_collate = Model.Name "collate"++-- | A predicate, evaluating to a boolean truth value+newtype Predicate =+ Predicate {+ unPredicate :: ()}+ deriving (Eq, Ord, Read, Show)++_Predicate = Model.Name "hydra.ext.sql.syntax.Predicate"++-- | A query expression, such as a SELECT statement possibly combined with set operators+newtype QueryExpression =+ QueryExpression {+ unQueryExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_QueryExpression = Model.Name "hydra.ext.sql.syntax.QueryExpression"++-- | The DEREF operator, resolving a reference to the value it targets+newtype ReferenceResolution =+ ReferenceResolution {+ unReferenceResolution :: ()}+ deriving (Eq, Ord, Read, Show)++_ReferenceResolution = Model.Name "hydra.ext.sql.syntax.ReferenceResolution"++-- | A REFERENCES ARE [NOT] CHECKED clause on a reference-typed column+newtype ReferenceScopeCheck =+ ReferenceScopeCheck {+ unReferenceScopeCheck :: ()}+ deriving (Eq, Ord, Read, Show)++_ReferenceScopeCheck = Model.Name "hydra.ext.sql.syntax.ReferenceScopeCheck"++-- | A REF reference type over a given referenced type+newtype ReferenceType =+ ReferenceType {+ unReferenceType :: ()}+ deriving (Eq, Ord, Read, Show)++_ReferenceType = Model.Name "hydra.ext.sql.syntax.ReferenceType"++-- | An expression that evaluates to a reference value+newtype ReferenceValueExpression =+ ReferenceValueExpression {+ unReferenceValueExpression :: ValueExpressionPrimary}+ deriving (Eq, Ord, Read, Show)++_ReferenceValueExpression = Model.Name "hydra.ext.sql.syntax.ReferenceValueExpression"++-- | A right square bracket, or its trigraph equivalent ??)+newtype RightBracketOrTrigraph =+ RightBracketOrTrigraph {+ unRightBracketOrTrigraph :: String}+ deriving (Eq, Ord, Read, Show)++_RightBracketOrTrigraph = Model.Name "hydra.ext.sql.syntax.RightBracketOrTrigraph"++-- | An invocation of a user-defined SQL routine+newtype RoutineInvocation =+ RoutineInvocation {+ unRoutineInvocation :: ()}+ deriving (Eq, Ord, Read, Show)++_RoutineInvocation = Model.Name "hydra.ext.sql.syntax.RoutineInvocation"++-- | A ROW type, defined by a list of field name and data type pairs+newtype RowType =+ RowType {+ unRowType :: ()}+ deriving (Eq, Ord, Read, Show)++_RowType = Model.Name "hydra.ext.sql.syntax.RowType"++-- | An expression that evaluates to a row value+newtype RowValueExpression =+ RowValueExpression {+ unRowValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_RowValueExpression = Model.Name "hydra.ext.sql.syntax.RowValueExpression"++-- | A row value expressed as a single nonparenthesized value expression+newtype RowValueSpecialCase =+ RowValueSpecialCase {+ unRowValueSpecialCase :: NonparenthesizedValueExpressionPrimary}+ deriving (Eq, Ord, Read, Show)++_RowValueSpecialCase = Model.Name "hydra.ext.sql.syntax.RowValueSpecialCase"++-- | A subquery that returns exactly one row and one column+newtype ScalarSubquery =+ ScalarSubquery {+ unScalarSubquery :: Subquery}+ deriving (Eq, Ord, Read, Show)++_ScalarSubquery = Model.Name "hydra.ext.sql.syntax.ScalarSubquery"++-- | The scale of a numeric type, as an unsigned integer+newtype Scale =+ Scale {+ unScale :: UnsignedInteger}+ deriving (Eq, Ord, Read, Show)++_Scale = Model.Name "hydra.ext.sql.syntax.Scale"++-- | A REF IS clause identifying a table's self-referencing column+newtype SelfReferencingColumnSpecification =+ SelfReferencingColumnSpecification {+ unSelfReferencingColumnSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_SelfReferencingColumnSpecification = Model.Name "hydra.ext.sql.syntax.SelfReferencingColumnSpecification"++-- | A set (aggregate) function invocation, such as COUNT or SUM+newtype SetFunctionSpecification =+ SetFunctionSpecification {+ unSetFunctionSpecification :: ()}+ deriving (Eq, Ord, Read, Show)++_SetFunctionSpecification = Model.Name "hydra.ext.sql.syntax.SetFunctionSpecification"++-- | An invocation of a static method on a user-defined type+newtype StaticMethodInvocation =+ StaticMethodInvocation {+ unStaticMethodInvocation :: ()}+ deriving (Eq, Ord, Read, Show)++_StaticMethodInvocation = Model.Name "hydra.ext.sql.syntax.StaticMethodInvocation"++-- | An expression that evaluates to a character, binary, or Unicode string value+newtype StringValueExpression =+ StringValueExpression {+ unStringValueExpression :: ()}+ deriving (Eq, Ord, Read, Show)++_StringValueExpression = Model.Name "hydra.ext.sql.syntax.StringValueExpression"++-- | A parenthesized query expression used as an operand+newtype Subquery =+ Subquery {+ unSubquery :: QueryExpression}+ deriving (Eq, Ord, Read, Show)++_Subquery = Model.Name "hydra.ext.sql.syntax.Subquery"++-- | An UNDER clause declaring a table as a subtable of a supertable+newtype SubtableClause =+ SubtableClause {+ unSubtableClause :: ()}+ deriving (Eq, Ord, Read, Show)++_SubtableClause = Model.Name "hydra.ext.sql.syntax.SubtableClause"++-- | A TREAT AS expression, treating a value as an instance of a subtype+newtype SubtypeTreatment =+ SubtypeTreatment {+ unSubtypeTreatment :: ()}+ deriving (Eq, Ord, Read, Show)++_SubtypeTreatment = Model.Name "hydra.ext.sql.syntax.SubtypeTreatment"++-- | The ON COMMIT action of a temporary table: PRESERVE ROWS or DELETE ROWS+data TableCommitAction =+ TableCommitActionPreserve |+ TableCommitActionDelete+ deriving (Eq, Ord, Read, Show)++_TableCommitAction = Model.Name "hydra.ext.sql.syntax.TableCommitAction"++_TableCommitAction_preserve = Model.Name "preserve"++_TableCommitAction_delete = Model.Name "delete"++-- | A table-level constraint definition+newtype TableConstraintDefinition =+ TableConstraintDefinition {+ unTableConstraintDefinition :: ()}+ deriving (Eq, Ord, Read, Show)++_TableConstraintDefinition = Model.Name "hydra.ext.sql.syntax.TableConstraintDefinition"++-- | The source of a table's contents: an element list, a supertable, or a query+data TableContentsSource =+ TableContentsSourceList TableElementList |+ TableContentsSourceSubtableOf TableContentsSourceSubtable |+ TableContentsSourceSubquery AsSubqueryClause+ deriving (Eq, Ord, Read, Show)++_TableContentsSource = Model.Name "hydra.ext.sql.syntax.TableContentsSource"++_TableContentsSource_list = Model.Name "list"++_TableContentsSource_subtableOf = Model.Name "subtableOf"++_TableContentsSource_subquery = Model.Name "subquery"++-- | A table's contents defined as a subtable of a named user-defined type+data TableContentsSourceSubtable =+ TableContentsSourceSubtable {+ tableContentsSourceSubtableType :: PathResolvedUserDefinedTypeName,+ tableContentsSourceSubtableSubtable :: (Maybe SubtableClause),+ tableContentsSourceSubtableElements :: (Maybe TableElementList)}+ deriving (Eq, Ord, Read, Show)++_TableContentsSourceSubtable = Model.Name "hydra.ext.sql.syntax.TableContentsSourceSubtable"++_TableContentsSourceSubtable_type = Model.Name "type"++_TableContentsSourceSubtable_subtable = Model.Name "subtable"++_TableContentsSourceSubtable_elements = Model.Name "elements"++-- | An ANSI SQL CREATE TABLE statement+data TableDefinition =+ TableDefinition {+ tableDefinitionScope :: (Maybe TableScope),+ tableDefinitionName :: TableName,+ tableDefinitionSource :: TableContentsSource,+ tableDefinitionCommitActions :: (Maybe TableCommitAction)}+ deriving (Eq, Ord, Read, Show)++_TableDefinition = Model.Name "hydra.ext.sql.syntax.TableDefinition"++_TableDefinition_scope = Model.Name "scope"++_TableDefinition_name = Model.Name "name"++_TableDefinition_source = Model.Name "source"++_TableDefinition_commitActions = Model.Name "commitActions"++-- | An element of a table definition: a column, constraint, LIKE clause, or related option+data TableElement =+ TableElementColumn ColumnDefinition |+ TableElementTableConstraint TableConstraintDefinition |+ TableElementLike LikeClause |+ TableElementSelfReferencingColumn SelfReferencingColumnSpecification |+ TableElementColumOptions ColumnOptions+ deriving (Eq, Ord, Read, Show)++_TableElement = Model.Name "hydra.ext.sql.syntax.TableElement"++_TableElement_column = Model.Name "column"++_TableElement_tableConstraint = Model.Name "tableConstraint"++_TableElement_like = Model.Name "like"++_TableElement_selfReferencingColumn = Model.Name "selfReferencingColumn"++_TableElement_columOptions = Model.Name "columOptions"++-- | A non-empty, comma-separated list of table elements+data TableElementList =+ TableElementList {+ tableElementListFirst :: TableElement,+ tableElementListRest :: [TableElement]}+ deriving (Eq, Ord, Read, Show)++_TableElementList = Model.Name "hydra.ext.sql.syntax.TableElementList"++_TableElementList_first = Model.Name "first"++_TableElementList_rest = Model.Name "rest"++-- | The name of a table+newtype TableName =+ TableName {+ unTableName :: String}+ deriving (Eq, Ord, Read, Show)++_TableName = Model.Name "hydra.ext.sql.syntax.TableName"++-- | The GLOBAL or LOCAL TEMPORARY scope of a table definition+newtype TableScope =+ TableScope {+ unTableScope :: GlobalOrLocal}+ deriving (Eq, Ord, Read, Show)++_TableScope = Model.Name "hydra.ext.sql.syntax.TableScope"++-- | A TIME literal+newtype TimeLiteral =+ TimeLiteral {+ unTimeLiteral :: TimeString}+ deriving (Eq, Ord, Read, Show)++_TimeLiteral = Model.Name "hydra.ext.sql.syntax.TimeLiteral"++-- | The string representation of a time literal, e.g. '12:00:00'+newtype TimeString =+ TimeString {+ unTimeString :: ()}+ deriving (Eq, Ord, Read, Show)++_TimeString = Model.Name "hydra.ext.sql.syntax.TimeString"++-- | A timestamp literal, combining a date and a time+newtype TimestampLiteral =+ TimestampLiteral {+ unTimestampLiteral :: ()}+ deriving (Eq, Ord, Read, Show)++_TimestampLiteral = Model.Name "hydra.ext.sql.syntax.TimestampLiteral"++-- | A three-valued logic truth value: TRUE, FALSE, or UNKNOWN+data TruthValue =+ TruthValueTRUE |+ TruthValueFALSE |+ TruthValueUNKNOWN+ deriving (Eq, Ord, Read, Show)++_TruthValue = Model.Name "hydra.ext.sql.syntax.TruthValue"++_TruthValue_TRUE = Model.Name "TRUE"++_TruthValue_FALSE = Model.Name "FALSE"++_TruthValue_UNKNOWN = Model.Name "UNKNOWN"++-- | A Unicode character string literal, e.g. U&'hello'+newtype UnicodeCharacterStringLiteral =+ UnicodeCharacterStringLiteral {+ unUnicodeCharacterStringLiteral :: ()}+ deriving (Eq, Ord, Read, Show)++_UnicodeCharacterStringLiteral = Model.Name "hydra.ext.sql.syntax.UnicodeCharacterStringLiteral"++-- | An unsigned integer literal+newtype UnsignedInteger =+ UnsignedInteger {+ unUnsignedInteger :: String}+ deriving (Eq, Ord, Read, Show)++_UnsignedInteger = Model.Name "hydra.ext.sql.syntax.UnsignedInteger"++-- | An unsigned literal: a numeric or general literal+data UnsignedLiteral =+ UnsignedLiteralNumeric UnsignedNumericLiteral |+ UnsignedLiteralGeneral GeneralLiteral+ deriving (Eq, Ord, Read, Show)++_UnsignedLiteral = Model.Name "hydra.ext.sql.syntax.UnsignedLiteral"++_UnsignedLiteral_numeric = Model.Name "numeric"++_UnsignedLiteral_general = Model.Name "general"++-- | An unsigned numeric literal: exact or approximate+data UnsignedNumericLiteral =+ UnsignedNumericLiteralExact ExactNumericLiteral |+ UnsignedNumericLiteralApproximate ApproximateNumericLiteral+ deriving (Eq, Ord, Read, Show)++_UnsignedNumericLiteral = Model.Name "hydra.ext.sql.syntax.UnsignedNumericLiteral"++_UnsignedNumericLiteral_exact = Model.Name "exact"++_UnsignedNumericLiteral_approximate = Model.Name "approximate"++-- | An unsigned value specification: a literal or a general value specification+data UnsignedValueSpecification =+ UnsignedValueSpecificationLiteral UnsignedLiteral |+ UnsignedValueSpecificationGeneral GeneralValueSpecification+ deriving (Eq, Ord, Read, Show)++_UnsignedValueSpecification = Model.Name "hydra.ext.sql.syntax.UnsignedValueSpecification"++_UnsignedValueSpecification_literal = Model.Name "literal"++_UnsignedValueSpecification_general = Model.Name "general"++-- | An expression that evaluates to a value of a user-defined type+newtype UserDefinedTypeValueExpression =+ UserDefinedTypeValueExpression {+ unUserDefinedTypeValueExpression :: ValueExpressionPrimary}+ deriving (Eq, Ord, Read, Show)++_UserDefinedTypeValueExpression = Model.Name "hydra.ext.sql.syntax.UserDefinedTypeValueExpression"++-- | A value expression: common, boolean, or row-valued+data ValueExpression =+ ValueExpressionCommon CommonValueExpression |+ ValueExpressionBoolean BooleanValueExpression |+ ValueExpressionRow RowValueExpression+ deriving (Eq, Ord, Read, Show)++_ValueExpression = Model.Name "hydra.ext.sql.syntax.ValueExpression"++_ValueExpression_common = Model.Name "common"++_ValueExpression_boolean = Model.Name "boolean"++_ValueExpression_row = Model.Name "row"++-- | A value expression primary, optionally parenthesized+data ValueExpressionPrimary =+ ValueExpressionPrimaryParens ParenthesizedValueExpression |+ ValueExpressionPrimaryNoparens NonparenthesizedValueExpressionPrimary+ deriving (Eq, Ord, Read, Show)++_ValueExpressionPrimary = Model.Name "hydra.ext.sql.syntax.ValueExpressionPrimary"++_ValueExpressionPrimary_parens = Model.Name "parens"++_ValueExpressionPrimary_noparens = Model.Name "noparens"++-- | A window function invocation, such as ROW_NUMBER() OVER (...)+newtype WindowFunction =+ WindowFunction {+ unWindowFunction :: ()}+ deriving (Eq, Ord, Read, Show)++_WindowFunction = Model.Name "hydra.ext.sql.syntax.WindowFunction"
+ src/main/haskell/Hydra/Ext/Stac/Items.hs view
@@ -0,0 +1,191 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for SpatioTemporal Asset Catalog (STAC) Items. See https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md++module Hydra.Ext.Stac.Items where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Ext.Geojson.Model as GeojsonModel+import qualified Hydra.Ext.Iana.Linkrelations as Linkrelations+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++-- | An Asset is an object that contains a URI to data associated with the Item that can be downloaded or streamed. It is allowed to add additional fields.+data Asset =+ Asset {+ -- | URI to the asset object. Relative and absolute URI are both allowed.+ assetHref :: Uri,+ -- | The displayed title for clients and users.+ assetTitle :: (Maybe String),+ -- | A description of the Asset providing additional details, such as how it was processed or created. CommonMark 0.29 syntax MAY be used for rich text representation.+ assetDescription :: (Maybe String),+ -- | Media type of the asset. See the common media types in the best practice doc for commonly used asset types.+ assetType :: (Maybe MediaType),+ -- | The semantic roles of the asset, similar to the use of rel in links.+ assetRoles :: [Role]}+ deriving (Eq, Ord, Read, Show)++_Asset = Model.Name "hydra.ext.stac.items.Asset"++_Asset_href = Model.Name "href"++_Asset_title = Model.Name "title"++_Asset_description = Model.Name "description"++_Asset_type = Model.Name "type"++_Asset_roles = Model.Name "roles"++-- | This object describes a STAC Item. The fields id, type, bbox, geometry and properties are inherited from GeoJSON.+data Item =+ Item {+ itemFeature :: GeojsonModel.Feature,+ -- | The STAC version the Item implements+ itemStacVersion :: StacVersion,+ -- | A list of extensions the Item implements+ itemStacExtensions :: [Url],+ -- | List of link objects to resources and related URLs. A link with the rel set to self is strongly recommended.+ itemLinks :: [Link],+ -- | Dictionary of asset objects that can be downloaded, each with a unique key.+ itemAssets :: (M.Map String Asset),+ -- | The id of the STAC Collection this Item references to (see collection relation type). This field is required if such a relation type is present and is not allowed otherwise. This field provides an easy way for a user to search for any Items that belong in a specified Collection. Must be a non-empty string.+ itemCollection :: (Maybe GeojsonModel.Id)}+ deriving (Eq, Ord, Read, Show)++_Item = Model.Name "hydra.ext.stac.items.Item"++_Item_feature = Model.Name "feature"++_Item_stacVersion = Model.Name "stacVersion"++_Item_stacExtensions = Model.Name "stacExtensions"++_Item_links = Model.Name "links"++_Item_assets = Model.Name "assets"++_Item_collection = Model.Name "collection"++-- | This object describes a relationship with another entity. Data providers are advised to be liberal with the links section, to describe things like the Catalog an Item is in, related Items, parent or child Items (modeled in different ways, like an 'acquisition' or derived data). It is allowed to add additional fields such as a title and type.+data Link =+ Link {+ -- | The actual link in the format of an URL. Relative and absolute links are both allowed.+ linkHref :: Url,+ -- | Relationship between the current document and the linked document. See chapter "Relation types" for more information.+ linkRel :: RelationType,+ -- | Media type of the referenced entity.+ linkType :: (Maybe MediaType),+ -- | A human readable title to be used in rendered displays of the link.+ linkTitle :: (Maybe String)}+ deriving (Eq, Ord, Read, Show)++_Link = Model.Name "hydra.ext.stac.items.Link"++_Link_href = Model.Name "href"++_Link_rel = Model.Name "rel"++_Link_type = Model.Name "type"++_Link_title = Model.Name "title"++-- | An IANA media type (MIME type) string identifying the format of an asset or linked resource+newtype MediaType =+ MediaType {+ unMediaType :: String}+ deriving (Eq, Ord, Read, Show)++_MediaType = Model.Name "hydra.ext.stac.items.MediaType"++-- | STAC Items use a variety of rel types in the link object, to describe the exact nature of the link between this Item and the entity it is linking to. It is recommended to use the official IANA Link Relation Types where possible. The following table explains places where STAC use custom rel types are used with Items. This happens where there is not a clear official option, or where STAC uses an official type but adds additional meaning for the STAC context.+data RelationType =+ RelationTypeIana Linkrelations.LinkRelationType |+ RelationTypeStac StacRelationType |+ RelationTypeOther String+ deriving (Eq, Ord, Read, Show)++_RelationType = Model.Name "hydra.ext.stac.items.RelationType"++_RelationType_iana = Model.Name "iana"++_RelationType_stac = Model.Name "stac"++_RelationType_other = Model.Name "other"++-- | The roles field is used to describe the purpose of each asset. It is recommended to include one for every asset, to give users a sense of why they might want to make use of the asset. There are some emerging standards that enable clients to take particular action when they encounter particular roles, listed below. But implementors are encouraged to come up with their own terms to describe the role.+data Role =+ -- | An asset that represents a thumbnail of the Item, typically a true color image (for Items with assets in the visible wavelengths), lower-resolution (typically smaller 600x600 pixels), and typically a JPEG or PNG (suitable for display in a web browser). Multiple assets may have this purpose, but it recommended that the type and roles be unique tuples. For example, Sentinel-2 L2A provides thumbnail images in both JPEG and JPEG2000 formats, and would be distinguished by their media types.+ RoleThumbnail |+ -- | An asset that represents a possibly larger view than the thumbnail of the Item, for example, a true color composite of multi-band data.+ RoleOverview |+ -- | The data itself. This is a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics.+ RoleData |+ -- | A metadata sidecar file describing the data in this Item, for example the Landsat-8 MTL file.+ RoleMetadata |+ RoleOther String+ deriving (Eq, Ord, Read, Show)++_Role = Model.Name "hydra.ext.stac.items.Role"++_Role_thumbnail = Model.Name "thumbnail"++_Role_overview = Model.Name "overview"++_Role_data = Model.Name "data"++_Role_metadata = Model.Name "metadata"++_Role_other = Model.Name "other"++-- | A STAC-specific link relation type used to describe relationships between STAC entities+data StacRelationType =+ -- | STRONGLY RECOMMENDED. Absolute URL to the Item if it is available at a public URL. This is particularly useful when in a download package that includes metadata, so that the downstream user can know where the data has come from.+ StacRelationTypeSelf |+ -- | URL to the root STAC entity (Catalog or Collection).+ StacRelationTypeRoot |+ -- | URL to the parent STAC entity (Catalog or Collection).+ StacRelationTypeParent |+ -- | STRONGLY RECOMMENDED. URL to a Collection. Absolute URLs should be used whenever possible. The referenced Collection is STRONGLY RECOMMENDED to implement the same STAC version as the Item. A link with this rel type is required if the collection field in properties is present.+ StacRelationTypeCollection |+ -- | URL to a STAC Item that was used as input data in the creation of this Item.+ StacRelationTypeDerivedFrom+ deriving (Eq, Ord, Read, Show)++_StacRelationType = Model.Name "hydra.ext.stac.items.StacRelationType"++_StacRelationType_self = Model.Name "self"++_StacRelationType_root = Model.Name "root"++_StacRelationType_parent = Model.Name "parent"++_StacRelationType_collection = Model.Name "collection"++_StacRelationType_derivedFrom = Model.Name "derivedFrom"++-- | The version of the STAC specification that an Item implements+newtype StacVersion =+ StacVersion {+ unStacVersion :: String}+ deriving (Eq, Ord, Read, Show)++_StacVersion = Model.Name "hydra.ext.stac.items.StacVersion"++-- | A URI string, used for asset and other resource references+newtype Uri =+ Uri {+ unUri :: String}+ deriving (Eq, Ord, Read, Show)++_Uri = Model.Name "hydra.ext.stac.items.Uri"++-- | A URL string, used for links to related entities+newtype Url =+ Url {+ unUrl :: String}+ deriving (Eq, Ord, Read, Show)++_Url = Model.Name "hydra.ext.stac.items.Url"
+ src/main/haskell/Hydra/Ext/Workflow.hs view
@@ -0,0 +1,68 @@+-- Note: this is an automatically generated file. Do not edit.++-- | A model for Hydra transformation workflows++module Hydra.Ext.Workflow where++import qualified Hydra.Core.Graph as Graph+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++-- | The specification of a Hydra schema, provided as a set of modules and a distinguished type+data HydraSchemaSpec =+ HydraSchemaSpec {+ -- | The modules to include in the schema graph+ hydraSchemaSpecModules :: [Packaging.Module],+ -- | The name of the top-level type; all data which passes through the workflow will be instances of this type+ hydraSchemaSpecTypeName :: Model.Name}+ deriving (Eq, Ord, Read, Show)++_HydraSchemaSpec = Model.Name "hydra.ext.workflow.HydraSchemaSpec"++_HydraSchemaSpec_modules = Model.Name "modules"++_HydraSchemaSpec_typeName = Model.Name "typeName"++-- | The specification of a schema at the source end of a workflow+data SchemaSpec =+ -- | A native Hydra schema+ SchemaSpecHydra HydraSchemaSpec |+ -- | A schema provided as a file, available at the given file path+ SchemaSpecFile String |+ -- | A schema which will be provided within the workflow+ SchemaSpecProvided+ deriving (Eq, Ord, Read, Show)++_SchemaSpec = Model.Name "hydra.ext.workflow.SchemaSpec"++_SchemaSpec_hydra = Model.Name "hydra"++_SchemaSpec_file = Model.Name "file"++_SchemaSpec_provided = Model.Name "provided"++-- | The specification of a workflow which takes a schema specification, reads data from a directory, and writes data to another directory+data TransformWorkflow =+ TransformWorkflow {+ -- | A descriptive name for the workflow+ transformWorkflowName :: String,+ -- | The schema specification+ transformWorkflowSchemaSpec :: SchemaSpec,+ -- | The source directory+ transformWorkflowSrcDir :: String,+ -- | The destination directory+ transformWorkflowDestDir :: String}+ deriving (Eq, Ord, Read, Show)++_TransformWorkflow = Model.Name "hydra.ext.workflow.TransformWorkflow"++_TransformWorkflow_name = Model.Name "name"++_TransformWorkflow_schemaSpec = Model.Name "schemaSpec"++_TransformWorkflow_srcDir = Model.Name "srcDir"++_TransformWorkflow_destDir = Model.Name "destDir"
+ src/main/haskell/Hydra/Ext/Yaml/Coder.hs view
@@ -0,0 +1,281 @@+-- Note: this is an automatically generated file. Do not edit.++-- | YAML encoding and decoding for Hydra terms++module Hydra.Ext.Yaml.Coder where++import qualified Hydra.Core.Adapt as Adapt+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Extract.Model as ExtractModel+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.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 LibLiterals+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.Literals as Literals+import qualified Hydra.Core.Markdown as Markdown+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.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Core.Yaml.Model as YamlModel+import qualified Hydra.Ext.Yaml.Language as Language+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | Decode a YAML value to a record term+decodeRecord :: Model.Name -> [(Model.FieldType, (Coders.Coder Model.Term YamlModel.Node Errors.Error))] -> YamlModel.Node -> Either Errors.Error Model.Term+decodeRecord tname coders n =++ let decodeObjectBody =+ \m ->+ let decodeField =+ \coder ->+ let ft = Pairs.first coder+ coder_ = Pairs.second coder+ fname = Model.fieldTypeName ft+ defaultValue = YamlModel.NodeScalar YamlModel.ScalarNull+ yamlValue = Optionals.withDefault defaultValue (Maps.lookup (YamlModel.NodeScalar (YamlModel.ScalarStr (Model.unName fname))) m)+ in (Eithers.bind (Coders.coderDecode coder_ yamlValue) (\v -> Right (Model.Field {+ Model.fieldName = fname,+ Model.fieldTerm = v})))+ in (Eithers.bind (Eithers.mapList decodeField coders) (\fields -> Right (Model.TermRecord (Model.Record {+ Model.recordTypeName = tname,+ Model.recordFields = fields}))))+ in case n of+ YamlModel.NodeMapping v0 -> decodeObjectBody v0+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected mapping"))++-- | Encode a record term to YAML+encodeRecord :: [(Model.FieldType, (Coders.Coder Model.Term YamlModel.Node Errors.Error))] -> Graph.Graph -> Model.Term -> Either Errors.Error YamlModel.Node+encodeRecord coders graph term =++ let stripped = Strip.deannotateTerm term+ isMaybeNothing =+ \ft -> \fvalue -> case (Model.fieldTypeType ft) of+ Model.TypeOptional _ -> case fvalue of+ Model.TermOptional v1 -> Optionals.isNone v1+ _ -> False+ _ -> False+ encodeField =+ \coderAndField ->+ let ftAndCoder = Pairs.first coderAndField+ field = Pairs.second coderAndField+ ft = Pairs.first ftAndCoder+ coder_ = Pairs.second ftAndCoder+ fname = Model.fieldName field+ fvalue = Model.fieldTerm field+ in (Logic.ifElse (isMaybeNothing ft fvalue) (Right Nothing) (Eithers.bind (Coders.coderEncode coder_ fvalue) (\encoded -> Right (Just (YamlModel.NodeScalar (YamlModel.ScalarStr (Model.unName fname)), encoded)))))+ in (Eithers.bind (ExtractModel.termRecord graph stripped) (\record ->+ let fields = Model.recordFields record+ in (Eithers.bind (Eithers.mapList encodeField (Lists.zip coders fields)) (\maybeFields -> Right (YamlModel.NodeMapping (Maps.fromList (Optionals.givens maybeFields)))))))++-- | Create a YAML coder for literal types+literalYamlCoder :: Model.LiteralType -> Either t0 (Coders.Coder Model.Literal YamlModel.Scalar Errors.Error)+literalYamlCoder lt =++ let decodeBool =+ \s -> case s of+ YamlModel.ScalarBool v0 -> Right (Model.LiteralBoolean v0)+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected boolean, found scalar"])))+ decodeDecimal =+ \s -> case s of+ YamlModel.ScalarDecimal v0 -> Right (Model.LiteralDecimal v0)+ YamlModel.ScalarFloat v0 -> Right (Model.LiteralDecimal (LibLiterals.float64ToDecimal v0))+ YamlModel.ScalarInt v0 -> Right (Model.LiteralDecimal (LibLiterals.bigintToDecimal v0))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected decimal, found scalar"])))+ decodeFloat =+ \s -> case s of+ YamlModel.ScalarDecimal v0 -> Right (Model.LiteralFloat (Model.FloatValueFloat64 (LibLiterals.decimalToFloat64 v0)))+ YamlModel.ScalarFloat v0 -> Right (Model.LiteralFloat (Model.FloatValueFloat64 v0))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected float, found scalar"])))+ decodeInteger =+ \s -> case s of+ YamlModel.ScalarInt v0 -> Right (Model.LiteralInteger (Model.IntegerValueBigint v0))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected integer, found scalar"])))+ decodeString =+ \s -> case s of+ YamlModel.ScalarStr v0 -> Right (Model.LiteralString v0)+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected string, found scalar"])))+ encoded =+ case lt of+ Model.LiteralTypeBoolean -> Coders.Coder {+ Coders.coderEncode = (\lit -> Eithers.bind (ExtractModel.booleanLiteral lit) (\b -> Right (YamlModel.ScalarBool b))),+ Coders.coderDecode = decodeBool}+ Model.LiteralTypeDecimal -> Coders.Coder {+ Coders.coderEncode = (\lit -> Eithers.bind (ExtractModel.decimalLiteral lit) (\d -> Right (YamlModel.ScalarDecimal d))),+ Coders.coderDecode = decodeDecimal}+ Model.LiteralTypeFloat _ -> Coders.Coder {+ Coders.coderEncode = (\lit -> Eithers.bind (ExtractModel.floatLiteral lit) (\f ->+ let bf =+ case f of+ Model.FloatValueFloat32 v1 -> LibLiterals.float32ToFloat64 v1+ Model.FloatValueFloat64 v1 -> v1+ shown = LibLiterals.printFloat64 bf+ in (Logic.ifElse (requiresYamlStringSentinel shown) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "YAML cannot represent float value: ",+ shown])))) (Right (YamlModel.ScalarFloat bf))))),+ Coders.coderDecode = decodeFloat}+ Model.LiteralTypeInteger _ -> Coders.Coder {+ Coders.coderEncode = (\lit -> Eithers.bind (ExtractModel.integerLiteral lit) (\i -> Eithers.bind (ExtractModel.bigintValue i) (\bi -> Right (YamlModel.ScalarInt bi)))),+ Coders.coderDecode = decodeInteger}+ Model.LiteralTypeString -> Coders.Coder {+ Coders.coderEncode = (\lit -> Eithers.bind (ExtractModel.stringLiteral lit) (\s -> Right (YamlModel.ScalarStr s))),+ Coders.coderDecode = decodeString}+ in (Right encoded)++-- | Create a YAML coder for record types+recordCoder :: Model.Name -> [Model.FieldType] -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Model.Term YamlModel.Node Errors.Error)+recordCoder tname rt cx g =++ let getCoder = \f -> Eithers.bind (termCoder (Model.fieldTypeType f) cx g) (\coder -> Right (f, coder))+ in (Eithers.bind (Eithers.mapList getCoder rt) (\coders -> Right (Coders.Coder {+ Coders.coderEncode = (\term -> encodeRecord coders g term),+ Coders.coderDecode = (\val -> decodeRecord tname coders val)})))++-- | True for IEEE sentinel strings that Hydra YAML cannot represent as a float scalar.+requiresYamlStringSentinel :: String -> Bool+requiresYamlStringSentinel s =+ Logic.or (Equality.equal s "NaN") (Logic.or (Equality.equal s "Infinity") (Logic.or (Equality.equal s "-Infinity") (Equality.equal s "-0.0")))++-- | Create a YAML coder for term types+termCoder :: Model.Type -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Model.Term YamlModel.Node Errors.Error)+termCoder typ cx g =++ let stripped = Strip.deannotateType typ+ encodeLiteral =+ \ac -> \term -> case term of+ Model.TermLiteral v0 -> Eithers.bind (Coders.coderEncode ac v0) (\scalar -> Right (YamlModel.NodeScalar scalar))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected literal term, found: ",+ (PrintModel.term term)])))+ encodeList =+ \lc -> \term -> case term of+ Model.TermList v0 -> Eithers.bind (Eithers.mapList (\el -> Coders.coderEncode lc el) v0) (\encodedEls -> Right (YamlModel.NodeSequence encodedEls))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected list term, found: ",+ (PrintModel.term term)])))+ decodeList =+ \lc -> \n -> case n of+ YamlModel.NodeSequence v0 -> Eithers.bind (Eithers.mapList (\node -> Coders.coderDecode lc node) v0) (\decodedNodes -> Right (Model.TermList decodedNodes))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected sequence"))+ encodeMaybe =+ \maybeElementCoder -> \maybeTerm ->+ let strippedMaybeTerm = Strip.deannotateTerm maybeTerm+ in case strippedMaybeTerm of+ Model.TermOptional v0 -> Optionals.match v0 (Right (YamlModel.NodeScalar YamlModel.ScalarNull)) (\innerTerm -> Eithers.bind (Coders.coderEncode maybeElementCoder innerTerm) (\encodedInner -> Right encodedInner))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected optional term, found: ",+ (PrintModel.term maybeTerm)])))+ decodeMaybe =+ \maybeElementCoder -> \yamlVal -> case yamlVal of+ YamlModel.NodeScalar v0 -> case v0 of+ YamlModel.ScalarNull -> Right (Model.TermOptional Nothing)+ _ -> Eithers.bind (Coders.coderDecode maybeElementCoder yamlVal) (\decodedInner -> Right (Model.TermOptional (Just decodedInner)))+ _ -> Eithers.bind (Coders.coderDecode maybeElementCoder yamlVal) (\decodedInner -> Right (Model.TermOptional (Just decodedInner)))+ result =+ case stripped of+ Model.TypeLiteral v0 -> Eithers.bind (literalYamlCoder v0) (\ac -> Right (Coders.Coder {+ Coders.coderEncode = (encodeLiteral ac),+ Coders.coderDecode = (\n -> case n of+ YamlModel.NodeScalar v1 -> Eithers.bind (Coders.coderDecode ac v1) (\lit -> Right (Model.TermLiteral lit))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected scalar node")))}))+ Model.TypeList v0 -> Eithers.bind (termCoder v0 cx g) (\lc -> Right (Coders.Coder {+ Coders.coderEncode = (encodeList lc),+ Coders.coderDecode = (decodeList lc)}))+ Model.TypeMap v0 ->+ let kt = Model.mapTypeKeys v0+ vt = Model.mapTypeValues v0+ in (Eithers.bind (termCoder kt cx g) (\kc -> Eithers.bind (termCoder vt cx g) (\vc ->+ let encodeEntry =+ \kv ->+ let k = Pairs.first kv+ v = Pairs.second kv+ in (Eithers.bind (Coders.coderEncode kc k) (\encodedK -> Eithers.bind (Coders.coderEncode vc v) (\encodedV -> Right (encodedK, encodedV))))+ decodeEntry =+ \kv ->+ let k = Pairs.first kv+ v = Pairs.second kv+ in (Eithers.bind (Coders.coderDecode kc k) (\decodedK -> Eithers.bind (Coders.coderDecode vc v) (\decodedV -> Right (decodedK, decodedV))))+ in (Right (Coders.Coder {+ Coders.coderEncode = (\term -> case term of+ Model.TermMap v1 -> Eithers.bind (Eithers.mapList (\entry -> encodeEntry entry) (Maps.toList v1)) (\entries -> Right (YamlModel.NodeMapping (Maps.fromList entries)))+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected map term, found: ",+ (PrintModel.term term)])))),+ Coders.coderDecode = (\n -> case n of+ YamlModel.NodeMapping v1 -> Eithers.bind (Eithers.mapList (\entry -> decodeEntry entry) (Maps.toList v1)) (\entries -> Right (Model.TermMap (Maps.fromList entries)))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected mapping")))})))))+ Model.TypeOptional v0 -> Eithers.bind (termCoder v0 cx g) (\maybeElementCoder -> Right (Coders.Coder {+ Coders.coderEncode = (encodeMaybe maybeElementCoder),+ Coders.coderDecode = (decodeMaybe maybeElementCoder)}))+ Model.TypeRecord v0 -> recordCoder (Model.Name "yaml") v0 cx g+ Model.TypeUnit -> Right unitCoder+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "unsupported type in YAML: ",+ (PrintModel.type_ typ)])))+ in result++-- | YAML coder for unit values+unitCoder :: Coders.Coder Model.Term YamlModel.Node Errors.Error+unitCoder =+ Coders.Coder {+ Coders.coderEncode = encodeUnit,+ Coders.coderDecode = decodeUnit}+ where+ encodeUnit =+ \term -> case (Strip.deannotateTerm term) of+ Model.TermUnit -> Right (YamlModel.NodeScalar YamlModel.ScalarNull)+ _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [+ "expected unit, found: ",+ (PrintModel.term term)])))+ decodeUnit =+ \n -> case n of+ YamlModel.NodeScalar v0 -> case v0 of+ YamlModel.ScalarNull -> Right Model.TermUnit+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected null scalar"))+ _ -> Left (Errors.ErrorOther (Errors.OtherError "expected null"))++-- | Create a YAML coder for a given type+yamlCoder :: Model.Type -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Model.Term YamlModel.Node Errors.Error)+yamlCoder typ cx g =++ let mkTermCoder = \t -> termCoder t cx g+ in (Eithers.bind (Adapt.simpleLanguageAdapter Language.yamlLanguage cx g typ) (\adapter -> Eithers.bind (mkTermCoder (Coders.adapterTarget adapter)) (\coder -> Right (Adapt.composeCoders (Coders.adapterCoder adapter) coder))))
+ src/main/haskell/Hydra/Ext/Yaml/Language.hs view
@@ -0,0 +1,105 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Language constraints for YAML++module Hydra.Ext.Yaml.Language where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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++-- | Language constraints for YAML+yamlLanguage :: Coders.Language+yamlLanguage =+ Coders.Language {+ Coders.languageName = (Coders.LanguageName "hydra.yaml"),+ Coders.languageConstraints = Coders.LanguageConstraints {+ Coders.languageConstraintsLiteralVariants = literalVariants,+ Coders.languageConstraintsFloatTypes = floatTypes,+ Coders.languageConstraintsIntegerTypes = integerTypes,+ Coders.languageConstraintsTermVariants = termVariants,+ Coders.languageConstraintsTypeVariants = typeVariants,+ Coders.languageConstraintsTypes = typePredicate},+ Coders.languageSupportedFeatures = (Sets.fromList [+ Coders.LanguageFeaturePartialApplication,+ Coders.LanguageFeatureNestedCaseStatements,+ Coders.LanguageFeatureNestedPolymorphicLetBindings]),+ Coders.languageCaseConventions = Coders.CaseConventions {+ Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,+ Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,+ Coders.caseConventionsEnumValue = Util.CaseConventionPascal,+ Coders.caseConventionsField = Util.CaseConventionCamel,+ Coders.caseConventionsFile = Util.CaseConventionLowerSnake,+ Coders.caseConventionsModule = Util.CaseConventionLowerSnake,+ Coders.caseConventionsTerm = Util.CaseConventionCamel,+ Coders.caseConventionsTermVariable = Util.CaseConventionCamel,+ Coders.caseConventionsType = Util.CaseConventionPascal,+ Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},+ Coders.languageDefaultFileExtension = (File.FileExtension "yaml")}+ where+ literalVariants =+ Sets.fromList [+ Variants.LiteralVariantBoolean,+ Variants.LiteralVariantFloat,+ Variants.LiteralVariantInteger,+ Variants.LiteralVariantString]+ floatTypes = Sets.fromList [+ Model.FloatTypeFloat64]+ integerTypes = Sets.fromList [+ Model.IntegerTypeBigint]+ termVariants =+ Sets.fromList [+ Variants.TermVariantLiteral,+ Variants.TermVariantList,+ Variants.TermVariantMap,+ Variants.TermVariantOptional,+ Variants.TermVariantRecord,+ Variants.TermVariantUnit]+ typeVariants =+ Sets.fromList [+ Variants.TypeVariantLiteral,+ Variants.TypeVariantList,+ Variants.TypeVariantMap,+ Variants.TypeVariantOptional,+ Variants.TypeVariantRecord,+ Variants.TypeVariantUnit,+ Variants.TypeVariantVoid]+ typePredicate =+ \typ -> case (Strip.deannotateType typ) of+ Model.TypeOptional v0 -> case v0 of+ Model.TypeOptional _ -> False+ _ -> True+ _ -> True
+ src/main/haskell/Hydra/Ext/Yaml/Serde.hs view
@@ -0,0 +1,266 @@+-- Note: this is an automatically generated file. Do not edit.++-- | Native YAML serialization: YAML Node to String++module Hydra.Ext.Yaml.Serde where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Diff as Diff+import qualified Hydra.Core.Docs as Docs+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.File as ErrorFile+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Error.System as ErrorSystem+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.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Chars as Chars+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.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.Strings as Strings+import qualified Hydra.Core.Markdown as Markdown+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.Regex as Regex+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.System as System+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Time as Time+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.Core.Yaml.Model as YamlModel+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | Escape single quotes by doubling them+escapeSingleQuotes :: String -> String+escapeSingleQuotes s =++ let squote = 39+ in (Strings.fromList (Lists.bind (Strings.toList s) (\c -> Logic.ifElse (Equality.equal c squote) [+ squote,+ squote] [+ c])))++-- | Check if a string has leading or trailing whitespace+hasLeadingTrailingSpace :: String -> Bool+hasLeadingTrailingSpace s =++ let chars = Strings.toList s+ in (Logic.or (Optionals.withDefault False (Optionals.map (\c -> Chars.isSpace c) (Lists.head chars))) (Optionals.withDefault False (Optionals.map (\c -> Chars.isSpace c) (Lists.last chars))))++-- | Serialize a YAML node to a string+hydraYamlToString :: YamlModel.Node -> String+hydraYamlToString node = writeNode node++-- | Indent all lines of a string by 2 spaces+indentString :: String -> String+indentString s =+ Strings.concat (Lists.map (\line -> Logic.ifElse (Strings.isEmpty line) "" (Strings.concat [+ " ",+ line,+ "\n"])) (Formatting.lines s))++-- | Check if character codes represent a decimal number+isDecimalString :: [Int] -> Bool+isDecimalString chars =++ let dotCode = 46+ parts = Lists.span (\c -> Logic.not (Equality.equal c dotCode)) chars+ before = Pairs.first parts+ afterWithDot = Pairs.second parts+ in (Logic.ifElse (Lists.isEmpty before) False (Logic.ifElse (Lists.isEmpty afterWithDot) False (+ let after = Lists.drop 1 afterWithDot+ in (Logic.ifElse (Lists.isEmpty after) False (+ let isDigitFn = \c -> Logic.and (Ordering.gte c 48) (Ordering.lte c 57)+ in (Logic.and (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) before)) (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) after))))))))++-- | Check if a string looks like a number+looksLikeNumber :: String -> Bool+looksLikeNumber s =++ let chars = Strings.toList s+ in (Optionals.withDefault False (Optionals.map (\p ->+ let firstCh = Pairs.first p+ tailCh = Pairs.second p+ rest = Logic.ifElse (Equality.equal firstCh 45) tailCh chars+ isDigitFn = \c -> Logic.and (Ordering.gte c 48) (Ordering.lte c 57)+ allDigits = Logic.and (Logic.not (Lists.isEmpty rest)) (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) rest))+ in (Logic.ifElse allDigits True (isDecimalString rest))) (Lists.uncons chars)))++-- | Check if a string needs quoting in YAML+needsQuoting :: String -> Bool+needsQuoting s =+ Logic.ifElse (Strings.isEmpty s) True (Logic.ifElse (Lists.member s yamlReservedWords) True (Logic.ifElse (looksLikeNumber s) True (+ let chars = Strings.toList s+ specials = Strings.toList yamlSpecialChars+ hasSpecial = Logic.not (Lists.isEmpty (Lists.filter (\c -> Lists.member c specials) chars))+ in (Logic.ifElse hasSpecial True (hasLeadingTrailingSpace s)))))++-- | Write a mapping entry in block style+writeMappingEntry :: (YamlModel.Node, YamlModel.Node) -> String+writeMappingEntry entry =++ let key = Pairs.first entry+ value = Pairs.second entry+ in case value of+ YamlModel.NodeScalar v0 -> Strings.concat [+ writeNodeInline key,+ ": ",+ (writeScalar v0),+ "\n"]+ YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) (Strings.concat [+ writeNodeInline key,+ ": []\n"]) (Strings.concat [+ writeNodeInline key,+ ":\n",+ (indentString (writeNode value))])+ YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) (Strings.concat [+ writeNodeInline key,+ ": {}\n"]) (Strings.concat [+ writeNodeInline key,+ ":\n",+ (indentString (writeNode value))])++-- | Write a mapping entry for the first item of a sequence element+writeMappingEntryInline :: (YamlModel.Node, YamlModel.Node) -> String+writeMappingEntryInline entry =++ let key = Pairs.first entry+ value = Pairs.second entry+ in case value of+ YamlModel.NodeScalar v0 -> Strings.concat [+ writeNodeInline key,+ ": ",+ (writeScalar v0),+ "\n"]+ YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) (Strings.concat [+ writeNodeInline key,+ ": []\n"]) (Strings.concat [+ writeNodeInline key,+ ":\n",+ (indentString (writeNode value))])+ YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) (Strings.concat [+ writeNodeInline key,+ ": {}\n"]) (Strings.concat [+ writeNodeInline key,+ ":\n",+ (indentString (writeNode value))])++-- | Write a YAML node as a top-level value in block style+writeNode :: YamlModel.Node -> String+writeNode node =+ case node of+ YamlModel.NodeScalar v0 -> Strings.concat2 (writeScalar v0) "\n"+ YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) "[]\n" (Strings.concat (Lists.map (\item -> writeSequenceItem item) v0))+ YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) "{}\n" (Strings.concat (Lists.map (\e -> writeMappingEntry e) (Maps.toList v0)))++-- | Write a node inline (for use as a mapping key)+writeNodeInline :: YamlModel.Node -> String+writeNodeInline node =+ case node of+ YamlModel.NodeScalar v0 -> writeScalar v0+ YamlModel.NodeSequence v0 -> Strings.concat [+ "[",+ (Strings.join ", " (Lists.map (\item -> writeNodeInline item) v0)),+ "]"]+ YamlModel.NodeMapping v0 ->+ let writeFlowEntry =+ \e -> Strings.concat [+ writeNodeInline (Pairs.first e),+ ": ",+ (writeNodeInline (Pairs.second e))]+ in (Strings.concat [+ "{",+ (Strings.join ", " (Lists.map writeFlowEntry (Maps.toList v0))),+ "}"])++-- | Write a scalar value+writeScalar :: YamlModel.Scalar -> String+writeScalar s =+ case s of+ YamlModel.ScalarBool v0 -> Logic.ifElse v0 "true" "false"+ YamlModel.ScalarDecimal v0 -> Literals.printDecimal v0+ YamlModel.ScalarFloat v0 -> Literals.printFloat64 v0+ YamlModel.ScalarInt v0 -> Literals.printBigint v0+ YamlModel.ScalarNull -> "null"+ YamlModel.ScalarStr v0 -> writeString v0++-- | Write a sequence item in block style+writeSequenceItem :: YamlModel.Node -> String+writeSequenceItem node =+ case node of+ YamlModel.NodeScalar v0 -> Strings.concat [+ "- ",+ (writeScalar v0),+ "\n"]+ YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) "- []\n" (Strings.concat2 "-\n" (indentString (writeNode node)))+ YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) "- {}\n" (+ let entries = Maps.toList v0+ in (Optionals.withDefault "" (Optionals.map (\p ->+ let firstEntry = Pairs.first p+ restEntries = Pairs.second p+ firstStr = writeMappingEntryInline firstEntry+ restStr = Strings.concat (Lists.map (\e -> writeMappingEntry e) restEntries)+ in (Strings.concat [+ "- ",+ firstStr,+ (indentString restStr)])) (Lists.uncons entries))))++-- | Write a string value, quoting if necessary+writeString :: String -> String+writeString s =+ Logic.ifElse (needsQuoting s) (Strings.concat [+ "'",+ (escapeSingleQuotes s),+ "'"]) s++-- | YAML reserved words that need quoting+yamlReservedWords :: [String]+yamlReservedWords =+ [+ "true",+ "false",+ "null",+ "~",+ "yes",+ "no",+ "on",+ "off",+ "True",+ "False",+ "Null",+ "Yes",+ "No",+ "On",+ "Off",+ "TRUE",+ "FALSE",+ "NULL",+ "YES",+ "NO",+ "ON",+ "OFF"]++-- | YAML special characters that trigger quoting+yamlSpecialChars :: String+yamlSpecialChars = ": {}[]#,&*!|>'\"%@`"
− src/main/haskell/Hydra/Geojson/Model.hs
@@ -1,230 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A GeoJSON model based on the specification at https://www.rfc-editor.org/rfc/rfc7946. This model provides some additional structure beyond the JSON encoding described in the specification; For example, it provides MultiPoint not as an object with an array of coordinates which encode points, but as an array of Points. A BoundingBox is not simply an list of numbers, but a list of CoordinateRanges.--module Hydra.Geojson.Model where--import qualified Hydra.Core as Core-import qualified Hydra.Json.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-import qualified Data.Map as M---- | A GeoJSON object MAY have a member named "bbox" to include information on the coordinate range for its Geometries, Features, or FeatureCollections. The value of the bbox member MUST be an array of length 2*n where n is the number of dimensions represented in the contained geometries, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. The axes order of a bbox follows the axes order of geometries.-newtype BoundingBox =- BoundingBox {- unBoundingBox :: [CoordinateRange]}- deriving (Eq, Ord, Read, Show)--_BoundingBox = Core.Name "hydra.geojson.model.BoundingBox"---- | The minimum and maximum values along one axis of a bounding box-data CoordinateRange =- CoordinateRange {- coordinateRangeMin :: Double,- coordinateRangeMax :: Double}- deriving (Eq, Ord, Read, Show)--_CoordinateRange = Core.Name "hydra.geojson.model.CoordinateRange"--_CoordinateRange_min = Core.Name "min"--_CoordinateRange_max = Core.Name "max"---- | A Feature object represents a spatially bounded thing. Every Feature object is a GeoJSON object no matter where it occurs in a GeoJSON text.-data Feature =- Feature {- -- | A Feature object has a member with the name "geometry". The value of the geometry member SHALL be either a Geometry object as defined above or, in the case that the Feature is unlocated, a JSON null value.- featureGeometry :: (Maybe Geometry),- -- | A Feature object has a member with the name "properties". The value of the properties member is an object (any JSON object or a JSON null value).- featureProperties :: (Maybe (M.Map String Model.Value)),- -- | If a Feature has a commonly used identifier, that identifier SHOULD be included as a member of the Feature object with the name "id", and the value of this member is either a JSON string or number.- featureId :: (Maybe Id),- featureBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_Feature = Core.Name "hydra.geojson.model.Feature"--_Feature_geometry = Core.Name "geometry"--_Feature_properties = Core.Name "properties"--_Feature_id = Core.Name "id"--_Feature_bbox = Core.Name "bbox"---- | A GeoJSON object with the type "FeatureCollection" is a FeatureCollection object. A FeatureCollection object has a member with the name "features". The value of "features" is a JSON array. Each element of the array is a Feature object as defined above. It is possible for this array to be empty.-data FeatureCollection =- FeatureCollection {- featureCollectionFeatures :: [Feature],- featureCollectionBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_FeatureCollection = Core.Name "hydra.geojson.model.FeatureCollection"--_FeatureCollection_features = Core.Name "features"--_FeatureCollection_bbox = Core.Name "bbox"---- | A Geometry object represents points, curves, and surfaces in coordinate space. Every Geometry object is a GeoJSON object no matter where it occurs in a GeoJSON text.-data Geometry =- GeometryPoint Point |- GeometryMultiPoint MultiPoint |- GeometryLineString LineString |- GeometryMultiLineString MultiLineString |- GeometryPolygon Polygon |- GeometryMultiPolygon MultiPolygon |- GeometryGeometryCollection GeometryCollection- deriving (Eq, Ord, Read, Show)--_Geometry = Core.Name "hydra.geojson.model.Geometry"--_Geometry_point = Core.Name "point"--_Geometry_multiPoint = Core.Name "multiPoint"--_Geometry_lineString = Core.Name "lineString"--_Geometry_multiLineString = Core.Name "multiLineString"--_Geometry_polygon = Core.Name "polygon"--_Geometry_multiPolygon = Core.Name "multiPolygon"--_Geometry_geometryCollection = Core.Name "geometryCollection"---- | A GeoJSON object with type "GeometryCollection" is a Geometry object. A GeometryCollection has a member with the name "geometries". The value of "geometries" is an array. Each element of this array is a GeoJSON Geometry object. It is possible for this array to be empty.-data GeometryCollection =- GeometryCollection {- geometryCollectionGeometries :: [Geometry],- geometryCollectionBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_GeometryCollection = Core.Name "hydra.geojson.model.GeometryCollection"--_GeometryCollection_geometries = Core.Name "geometries"--_GeometryCollection_bbox = Core.Name "bbox"---- | A Feature's commonly used identifier, either a JSON string or a number-data Id =- IdNumber Double |- IdString String- deriving (Eq, Ord, Read, Show)--_Id = Core.Name "hydra.geojson.model.Id"--_Id_number = Core.Name "number"--_Id_string = Core.Name "string"---- | For type "LineString", the "coordinates" member is an array of two or more positions.-data LineString =- LineString {- lineStringCoordinates :: [Position],- lineStringBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_LineString = Core.Name "hydra.geojson.model.LineString"--_LineString_coordinates = Core.Name "coordinates"--_LineString_bbox = Core.Name "bbox"---- | For type "MultiLineString", the "coordinates" member is an array of LineString coordinate arrays.-data MultiLineString =- MultiLineString {- multiLineStringCoordinates :: [LineString],- multiLineStringBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_MultiLineString = Core.Name "hydra.geojson.model.MultiLineString"--_MultiLineString_coordinates = Core.Name "coordinates"--_MultiLineString_bbox = Core.Name "bbox"---- | For type "MultiPoint", the "coordinates" member is an array of positions.-data MultiPoint =- MultiPoint {- multiPointCoordinates :: [Point],- multiPointBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_MultiPoint = Core.Name "hydra.geojson.model.MultiPoint"--_MultiPoint_coordinates = Core.Name "coordinates"--_MultiPoint_bbox = Core.Name "bbox"---- | For type "MultiPolygon", the "coordinates" member is an array of Polygon coordinate arrays.-data MultiPolygon =- MultiPolygon {- multiPolygonCoordinates :: [Polygon],- multiPolygonBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_MultiPolygon = Core.Name "hydra.geojson.model.MultiPolygon"--_MultiPolygon_coordinates = Core.Name "coordinates"--_MultiPolygon_bbox = Core.Name "bbox"---- | A GeoJSON object represents a Geometry, Feature, or collection of Features.-data Object =- ObjectGeometry Geometry |- ObjectFeature Feature |- ObjectFeatureCollection FeatureCollection- deriving (Eq, Ord, Read, Show)--_Object = Core.Name "hydra.geojson.model.Object"--_Object_geometry = Core.Name "geometry"--_Object_feature = Core.Name "feature"--_Object_featureCollection = Core.Name "featureCollection"---- | For type "Point", the "coordinates" member is a single position.-data Point =- Point {- pointCoordinates :: Position,- pointBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_Point = Core.Name "hydra.geojson.model.Point"--_Point_coordinates = Core.Name "coordinates"--_Point_bbox = Core.Name "bbox"---- | For type "Polygon", the "coordinates" member MUST be an array of linear ring coordinate arrays.--- | For Polygons with more than one of these rings, the first MUST be the exterior ring, and any others MUST be interior rings. The exterior ring bounds the surface, and the interior rings (if present) bound holes within the surface.-data Polygon =- Polygon {- polygonCoordinates :: [Position],- polygonBbox :: (Maybe BoundingBox)}- deriving (Eq, Ord, Read, Show)--_Polygon = Core.Name "hydra.geojson.model.Polygon"--_Polygon_coordinates = Core.Name "coordinates"--_Polygon_bbox = Core.Name "bbox"---- | A position is an array of numbers. There MUST be two or more elements. The first two elements are longitude and latitude, or easting and northing, precisely in that order and using decimal numbers. Altitude or elevation MAY be included as an optional third element.-data Position =- Position {- positionLatitude :: Double,- positionLongitude :: Double,- positionAltitude :: (Maybe Double)}- deriving (Eq, Ord, Read, Show)--_Position = Core.Name "hydra.geojson.model.Position"--_Position_latitude = Core.Name "latitude"--_Position_longitude = Core.Name "longitude"--_Position_altitude = Core.Name "altitude"
− src/main/haskell/Hydra/Graphql/Coder.hs
@@ -1,250 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | GraphQL code generator: converts Hydra modules to GraphQL schema definitions--module Hydra.Graphql.Coder where--import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Graphql.Language as Language-import qualified Hydra.Graphql.Serde as Serde-import qualified Hydra.Graphql.Syntax as Syntax-import qualified Hydra.Json.Model as Model-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.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.Predicates as Predicates-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Rewriting as Rewriting-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Get the description from a type as a GraphQL Description-descriptionFromType :: t0 -> Graph.Graph -> Core.Type -> Either Errors.Error (Maybe Syntax.Description)-descriptionFromType cx g typ =- Eithers.map (\mval -> Optionals.map (\s -> Syntax.Description (Syntax.StringValue s)) mval) (Annotations.getTypeDescription cx g typ)---- | Encode a field name to a GraphQL EnumValue-encodeEnumFieldName :: Core.Name -> Syntax.EnumValue-encodeEnumFieldName name = Syntax.EnumValue (Syntax.Name (sanitize (Core.unName name)))---- | Encode an enum field type to a GraphQL EnumValueDefinition-encodeEnumFieldType :: t0 -> Graph.Graph -> Core.FieldType -> Either Errors.Error Syntax.EnumValueDefinition-encodeEnumFieldType cx g ft =- Eithers.bind (descriptionFromType cx g (Core.fieldTypeType ft)) (\desc -> Right (Syntax.EnumValueDefinition {- Syntax.enumValueDefinitionDescription = desc,- Syntax.enumValueDefinitionEnumValue = (encodeEnumFieldName (Core.fieldTypeName ft)),- Syntax.enumValueDefinitionDirectives = Nothing}))---- | Encode a field name to a GraphQL Name-encodeFieldName :: Core.Name -> Syntax.Name-encodeFieldName name = Syntax.Name (sanitize (Core.unName name))---- | Encode a field type to a GraphQL FieldDefinition-encodeFieldType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.FieldType -> Either Errors.Error Syntax.FieldDefinition-encodeFieldType cx g prefixes ft =- Eithers.bind (encodeType cx g prefixes (Core.fieldTypeType ft)) (\gtype -> Eithers.bind (descriptionFromType cx g (Core.fieldTypeType ft)) (\desc -> Right (Syntax.FieldDefinition {- Syntax.fieldDefinitionDescription = desc,- Syntax.fieldDefinitionName = (encodeFieldName (Core.fieldTypeName ft)),- Syntax.fieldDefinitionArgumentsDefinition = Nothing,- Syntax.fieldDefinitionType = gtype,- Syntax.fieldDefinitionDirectives = Nothing})))---- | Encode a literal type to a GraphQL NamedType-encodeLiteralType :: t0 -> Core.LiteralType -> Either Errors.Error Syntax.NamedType-encodeLiteralType cx lt =- case lt of- Core.LiteralTypeBoolean -> Right (Syntax.NamedType (Syntax.Name "Boolean"))- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat64 -> Right (Syntax.NamedType (Syntax.Name "Float"))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected 64-bit float type, found: " (PrintCore.floatType v0))))- Core.LiteralTypeInteger v0 -> case v0 of- Core.IntegerTypeInt32 -> Right (Syntax.NamedType (Syntax.Name "Int"))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected 32-bit signed integer type, found: " (PrintCore.integerType v0))))- Core.LiteralTypeString -> Right (Syntax.NamedType (Syntax.Name "String"))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible literal type, found: " (PrintCore.literalType lt))))---- | Encode a named type to a GraphQL type definition.-encodeNamedType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.Name -> Core.Type -> Either Errors.Error Syntax.TypeDefinition-encodeNamedType cx g prefixes name typ =- case (Strip.deannotateType typ) of- Core.TypeRecord v0 -> Eithers.bind (Eithers.mapList (\f -> encodeFieldType cx g prefixes f) v0) (\gfields -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionObject (Syntax.ObjectTypeDefinition {- Syntax.objectTypeDefinitionDescription = desc,- Syntax.objectTypeDefinitionName = (encodeTypeName prefixes name),- Syntax.objectTypeDefinitionImplementsInterfaces = Nothing,- Syntax.objectTypeDefinitionDirectives = Nothing,- Syntax.objectTypeDefinitionFieldsDefinition = (Just (Syntax.FieldsDefinition gfields))}))))- Core.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (Eithers.bind (Eithers.mapList (\f -> encodeEnumFieldType cx g f) v0) (\values -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionEnum (Syntax.EnumTypeDefinition {- Syntax.enumTypeDefinitionDescription = desc,- Syntax.enumTypeDefinitionName = (encodeTypeName prefixes name),- Syntax.enumTypeDefinitionDirectives = Nothing,- Syntax.enumTypeDefinitionEnumValuesDefinition = (Just (Syntax.EnumValuesDefinition values))}))))) (Eithers.bind (Eithers.mapList (\f -> encodeUnionFieldType cx g prefixes f) v0) (\gfields -> Eithers.bind (descriptionFromType cx g typ) (\desc -> Right (Syntax.TypeDefinitionObject (Syntax.ObjectTypeDefinition {- Syntax.objectTypeDefinitionDescription = desc,- Syntax.objectTypeDefinitionName = (encodeTypeName prefixes name),- Syntax.objectTypeDefinitionImplementsInterfaces = Nothing,- Syntax.objectTypeDefinitionDirectives = Nothing,- Syntax.objectTypeDefinitionFieldsDefinition = (Just (Syntax.FieldsDefinition gfields))})))))- Core.TypeEither v0 -> encodeNamedType cx g prefixes name (Core.TypeRecord [- Core.FieldType {- Core.fieldTypeName = (Core.Name "left"),- Core.fieldTypeType = (Core.TypeOptional (Core.eitherTypeLeft v0))},- Core.FieldType {- Core.fieldTypeName = (Core.Name "right"),- Core.fieldTypeType = (Core.TypeOptional (Core.eitherTypeRight v0))}])- Core.TypePair v0 -> encodeNamedType cx g prefixes name (Core.TypeRecord [- Core.FieldType {- Core.fieldTypeName = (Core.Name "first"),- Core.fieldTypeType = (Core.pairTypeFirst v0)},- Core.FieldType {- Core.fieldTypeName = (Core.Name "second"),- Core.fieldTypeType = (Core.pairTypeSecond v0)}])- Core.TypeList v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Core.TypeList v0))- Core.TypeSet v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Core.TypeList v0))- Core.TypeMap v0 -> encodeNamedType cx g prefixes name (Core.TypeRecord [- Core.FieldType {- Core.fieldTypeName = (Core.Name "key"),- Core.fieldTypeType = (Core.mapTypeKeys v0)},- Core.FieldType {- Core.fieldTypeName = (Core.Name "value"),- Core.fieldTypeType = (Core.mapTypeValues v0)}])- Core.TypeLiteral v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Core.TypeLiteral v0))- Core.TypeVariable v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Core.TypeVariable v0))- Core.TypeWrap v0 -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord v0)- Core.TypeUnit -> encodeNamedType cx g prefixes name (Rewriting.wrapTypeToRecord (Core.TypeLiteral Core.LiteralTypeBoolean))- Core.TypeForall v0 -> encodeNamedType cx g prefixes name (Core.forallTypeBody v0)- Core.TypeApplication v0 -> encodeNamedType cx g prefixes name (Core.applicationTypeFunction v0)- Core.TypeFunction v0 -> encodeNamedType cx g prefixes name (Core.TypeRecord [- Core.FieldType {- Core.fieldTypeName = (Core.Name "domain"),- Core.fieldTypeType = (Core.functionTypeDomain v0)},- Core.FieldType {- Core.fieldTypeName = (Core.Name "codomain"),- Core.fieldTypeType = (Core.functionTypeCodomain v0)}])- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected record or union type, found: " (PrintCore.type_ typ))))---- | Encode a Hydra type as a GraphQL type reference-encodeType :: t0 -> t1 -> M.Map Packaging.ModuleName String -> Core.Type -> Either Errors.Error Syntax.Type-encodeType cx g prefixes typ =- case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> case (Strip.deannotateType v0) of- Core.TypeList v1 -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes v1)- Core.TypeSet v1 -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes v1)- Core.TypeMap v1 -> Eithers.map (\gt -> Syntax.TypeList (Syntax.ListType gt)) (encodeType cx g prefixes (Core.mapTypeValues v1))- Core.TypeLiteral v1 -> Eithers.map (\nt -> Syntax.TypeNamed nt) (encodeLiteralType cx v1)- Core.TypePair _ -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes (Core.Name "hydra.util.Pair"))))- Core.TypeEither _ -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes (Core.Name "hydra.util.Either"))))- Core.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))- Core.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))- Core.TypeWrap v1 -> encodeType cx g prefixes (Core.TypeOptional v1)- Core.TypeVariable v1 -> Right (Syntax.TypeNamed (Syntax.NamedType (encodeTypeName prefixes v1)))- Core.TypeForall v1 -> encodeType cx g prefixes (Core.TypeOptional (Core.forallTypeBody v1))- Core.TypeApplication v1 -> encodeType cx g prefixes (Core.TypeOptional (Core.applicationTypeFunction v1))- Core.TypeFunction _ -> Right (Syntax.TypeNamed (Syntax.NamedType (Syntax.Name "String")))- Core.TypeUnit -> Right (Syntax.TypeNamed (Syntax.NamedType (Syntax.Name "Boolean")))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible type, found: " (PrintCore.type_ v0))))- Core.TypeList v0 -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes v0)- Core.TypeSet v0 -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes v0)- Core.TypeMap v0 -> Eithers.map (\gt -> Syntax.TypeNonNull (Syntax.NonNullTypeList (Syntax.ListType gt))) (encodeType cx g prefixes (Core.mapTypeValues v0))- Core.TypeLiteral v0 -> Eithers.map (\nt -> Syntax.TypeNonNull (Syntax.NonNullTypeNamed nt)) (encodeLiteralType cx v0)- Core.TypePair _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes (Core.Name "hydra.util.Pair")))))- Core.TypeEither _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes (Core.Name "hydra.util.Either")))))- Core.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))- Core.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))- Core.TypeVariable v0 -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (encodeTypeName prefixes v0))))- Core.TypeWrap v0 -> encodeType cx g prefixes v0- Core.TypeForall v0 -> encodeType cx g prefixes (Core.forallTypeBody v0)- Core.TypeApplication v0 -> encodeType cx g prefixes (Core.applicationTypeFunction v0)- Core.TypeFunction _ -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (Syntax.Name "String"))))- Core.TypeUnit -> Right (Syntax.TypeNonNull (Syntax.NonNullTypeNamed (Syntax.NamedType (Syntax.Name "Boolean"))))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected GraphQL-compatible type, found: " (PrintCore.type_ typ))))---- | Encode a TypeDefinition to a GraphQL TypeDefinition-encodeTypeDefinition :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Packaging.TypeDefinition -> Either Errors.Error Syntax.TypeDefinition-encodeTypeDefinition cx g prefixes tdef =- encodeNamedType cx g prefixes (Packaging.typeDefinitionName tdef) (Core.typeSchemeBody (Packaging.typeDefinitionBody tdef))---- | Encode a Hydra Name as a GraphQL Name with namespace prefix-encodeTypeName :: M.Map Packaging.ModuleName String -> Core.Name -> Syntax.Name-encodeTypeName prefixes name =-- let qualName = Names.qualifyName name- local = Util.qualifiedNameLocal qualName- mns = Util.qualifiedNameModuleName qualName- prefix = Optionals.match mns "" (\ns_ -> Optionals.match (Maps.lookup ns_ prefixes) "" (\p -> p))- in (Syntax.Name (Strings.concat2 prefix (sanitize local)))---- | Encode a union variant field type to a nullable GraphQL FieldDefinition. Unit-typed variants become Boolean fields; data-carrying variants use their actual type, made nullable.-encodeUnionFieldType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.FieldType -> Either Errors.Error Syntax.FieldDefinition-encodeUnionFieldType cx g prefixes ft =-- let innerType = Core.fieldTypeType ft- isUnit = Predicates.isUnitType (Strip.deannotateType innerType)- effectiveType =- Logic.ifElse isUnit (Core.TypeOptional (Core.TypeLiteral Core.LiteralTypeBoolean)) (Core.TypeOptional innerType)- in (Eithers.bind (encodeType cx g prefixes effectiveType) (\gtype -> Eithers.bind (descriptionFromType cx g innerType) (\desc -> Right (Syntax.FieldDefinition {- Syntax.fieldDefinitionDescription = desc,- Syntax.fieldDefinitionName = (encodeFieldName (Core.fieldTypeName ft)),- Syntax.fieldDefinitionArgumentsDefinition = Nothing,- Syntax.fieldDefinitionType = gtype,- Syntax.fieldDefinitionDirectives = Nothing}))))---- | Top-level entry point: convert a module to GraphQL schema files.-moduleToGraphql :: Packaging.Module -> [Packaging.Definition] -> t0 -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToGraphql mod defs cx g =-- let partitioned = Environment.partitionDefinitions defs- typeDefs = Pairs.first partitioned- prefixes =- (\modNs -> \tdefs ->- let namespaces = Lists.distinct (Optionals.givens (Lists.map (\td -> Names.moduleNameOf (Packaging.typeDefinitionName td)) tdefs))- in (Maps.fromList (Lists.map (\ns_ -> (- ns_,- (Logic.ifElse (Equality.equal ns_ modNs) "" (Strings.concat2 (Formatting.sanitizeWithUnderscores Sets.empty (Packaging.unModuleName ns_)) "_")))) namespaces))) (Packaging.moduleName mod) typeDefs- filePath = Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "graphql") (Packaging.moduleName mod)- in (Eithers.bind (Eithers.mapList (\td -> encodeTypeDefinition cx g prefixes td) typeDefs) (\gtdefs -> Right (Maps.fromList (Lists.singleton (- filePath,- (Serialization.printExpr (Serialization.parenthesize (Serde.documentToExpr (Syntax.Document (Lists.map (\gtdef -> Syntax.DefinitionTypeSystem (Syntax.TypeSystemDefinitionOrExtensionDefinition (Syntax.TypeSystemDefinitionType gtdef))) gtdefs))))))))))---- | Sanitize a string for use as a GraphQL identifier-sanitize :: String -> String-sanitize s = Formatting.sanitizeWithUnderscores Language.graphqlReservedWords s
− src/main/haskell/Hydra/Graphql/Language.hs
@@ -1,119 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints and reserved words for GraphQL--module Hydra.Graphql.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for GraphQL-graphqlLanguage :: Coders.Language-graphqlLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.graphql"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "graphql")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes = Sets.fromList [- Core.FloatTypeFloat64]- integerTypes = Sets.fromList [- Core.IntegerTypeInt32]- termVariants =- Sets.fromList [- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantOptional,- Variants.TermVariantRecord,- Variants.TermVariantInject]- typeVariants =- Sets.fromList [- Variants.TypeVariantApplication,- Variants.TypeVariantEither,- Variants.TypeVariantForall,- Variants.TypeVariantFunction,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantPair,- Variants.TypeVariantSet,- Variants.TypeVariantUnit,- Variants.TypeVariantWrap,- Variants.TypeVariantOptional,- Variants.TypeVariantRecord,- Variants.TypeVariantUnion,- Variants.TypeVariantVariable]- typePredicate =- \typ -> case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> case (Strip.deannotateType v0) of- Core.TypeOptional _ -> False- _ -> True- _ -> True---- | A set of reserved words in GraphQL-graphqlReservedWords :: S.Set String-graphqlReservedWords =- Sets.fromList [- "true",- "false"]
− src/main/haskell/Hydra/Graphql/Serde.hs
@@ -1,187 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Serialization functions for converting GraphQL AST to abstract expressions--module Hydra.Graphql.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-import qualified Hydra.Errors as Errors-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Graphql.Syntax as Syntax-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Convert a GraphQL definition to an expression-definitionToExpr :: Syntax.Definition -> Ast.Expr-definitionToExpr def =- case def of- Syntax.DefinitionExecutable _ -> Serialization.cst "Unsupported: executable definition"- Syntax.DefinitionTypeSystem v0 -> typeSystemDefinitionOrExtensionToExpr v0---- | Convert a GraphQL description to a triple-quoted comment-descriptionToExpr :: Syntax.Description -> Ast.Expr-descriptionToExpr desc =-- let delim = Serialization.cst "\"\"\""- text = Syntax.unStringValue (Syntax.unDescription desc)- in (Serialization.newlineSep [- delim,- (Serialization.cst text),- delim])---- | Convert a GraphQL document to an expression-documentToExpr :: Syntax.Document -> Ast.Expr-documentToExpr d = Serialization.doubleNewlineSep (Lists.map definitionToExpr (Syntax.unDocument d))---- | Convert a GraphQL enum type definition to an expression-enumTypeDefinitionToExpr :: Syntax.EnumTypeDefinition -> Ast.Expr-enumTypeDefinitionToExpr def =-- let desc = Syntax.enumTypeDefinitionDescription def- name = Syntax.enumTypeDefinitionName def- values = Syntax.enumTypeDefinitionEnumValuesDefinition def- valuesExpr = Optionals.match values [] (\vs -> Lists.map enumValueDefinitionToExpr (Syntax.unEnumValuesDefinition vs))- in (withDescription desc (Serialization.spaceSep [- Serialization.cst "enum",- (nameToExpr name),- (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle valuesExpr)]))---- | Convert a GraphQL enum value definition to an expression-enumValueDefinitionToExpr :: Syntax.EnumValueDefinition -> Ast.Expr-enumValueDefinitionToExpr def =-- let desc = Syntax.enumValueDefinitionDescription def- ev = Syntax.enumValueDefinitionEnumValue def- in (withDescription desc (enumValueToExpr ev))---- | Convert a GraphQL enum value to an expression-enumValueToExpr :: Syntax.EnumValue -> Ast.Expr-enumValueToExpr ev = nameToExpr (Syntax.unEnumValue ev)---- | Convert a GraphQL field definition to an expression-fieldDefinitionToExpr :: Syntax.FieldDefinition -> Ast.Expr-fieldDefinitionToExpr def =-- let desc = Syntax.fieldDefinitionDescription def- name = Syntax.fieldDefinitionName def- typ = Syntax.fieldDefinitionType def- namePart =- Serialization.noSep [- nameToExpr name,- (Serialization.cst ":")]- typePart = typeToExpr typ- in (withDescription desc (Serialization.spaceSep [- namePart,- typePart]))---- | Convert a GraphQL list type to an expression-listTypeToExpr :: Syntax.ListType -> Ast.Expr-listTypeToExpr lt =- Serialization.noSep [- Serialization.cst "[",- (typeToExpr (Syntax.unListType lt)),- (Serialization.cst "]")]---- | Convert a GraphQL name to an expression-nameToExpr :: Syntax.Name -> Ast.Expr-nameToExpr n = Serialization.cst (Syntax.unName n)---- | Convert a GraphQL named type to an expression-namedTypeToExpr :: Syntax.NamedType -> Ast.Expr-namedTypeToExpr nt = nameToExpr (Syntax.unNamedType nt)---- | Convert a GraphQL non-null type to an expression-nonNullTypeToExpr :: Syntax.NonNullType -> Ast.Expr-nonNullTypeToExpr nnt =-- let typeExpr =- case nnt of- Syntax.NonNullTypeNamed v0 -> namedTypeToExpr v0- Syntax.NonNullTypeList v0 -> listTypeToExpr v0- in (Serialization.noSep [- typeExpr,- (Serialization.cst "!")])---- | Convert a GraphQL object type definition to an expression-objectTypeDefinitionToExpr :: Syntax.ObjectTypeDefinition -> Ast.Expr-objectTypeDefinitionToExpr def =-- let desc = Syntax.objectTypeDefinitionDescription def- name = Syntax.objectTypeDefinitionName def- fields = Syntax.objectTypeDefinitionFieldsDefinition def- fieldsExpr = Optionals.match fields [] (\fs -> Lists.map fieldDefinitionToExpr (Syntax.unFieldsDefinition fs))- in (withDescription desc (Serialization.spaceSep [- Serialization.cst "type",- (nameToExpr name),- (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle fieldsExpr)]))---- | Convert a GraphQL type definition to an expression-typeDefinitionToExpr :: Syntax.TypeDefinition -> Ast.Expr-typeDefinitionToExpr def =- case def of- Syntax.TypeDefinitionScalar _ -> Serialization.cst "Unsupported: scalar type definition"- Syntax.TypeDefinitionObject v0 -> objectTypeDefinitionToExpr v0- Syntax.TypeDefinitionInterface _ -> Serialization.cst "Unsupported: interface type definition"- Syntax.TypeDefinitionUnion _ -> Serialization.cst "Unsupported: union type definition"- Syntax.TypeDefinitionEnum v0 -> enumTypeDefinitionToExpr v0- Syntax.TypeDefinitionInputObject _ -> Serialization.cst "Unsupported: input object type definition"---- | Convert a GraphQL type system definition or extension to an expression-typeSystemDefinitionOrExtensionToExpr :: Syntax.TypeSystemDefinitionOrExtension -> Ast.Expr-typeSystemDefinitionOrExtensionToExpr de =- case de of- Syntax.TypeSystemDefinitionOrExtensionDefinition v0 -> typeSystemDefinitionToExpr v0- Syntax.TypeSystemDefinitionOrExtensionExtension _ -> Serialization.cst "Unsupported: type system extension"---- | Convert a GraphQL type system definition to an expression-typeSystemDefinitionToExpr :: Syntax.TypeSystemDefinition -> Ast.Expr-typeSystemDefinitionToExpr def =- case def of- Syntax.TypeSystemDefinitionSchema _ -> Serialization.cst "Unsupported: schema definition"- Syntax.TypeSystemDefinitionType v0 -> typeDefinitionToExpr v0- Syntax.TypeSystemDefinitionDirective _ -> Serialization.cst "Unsupported: directive definition"---- | Convert a GraphQL type to an expression-typeToExpr :: Syntax.Type -> Ast.Expr-typeToExpr typ =- case typ of- Syntax.TypeNamed v0 -> namedTypeToExpr v0- Syntax.TypeList v0 -> listTypeToExpr v0- Syntax.TypeNonNull v0 -> nonNullTypeToExpr v0---- | Prepend an optional description to an expression-withDescription :: Maybe Syntax.Description -> Ast.Expr -> Ast.Expr-withDescription mdesc expr =- Serialization.newlineSep (Optionals.givens [- Optionals.map descriptionToExpr mdesc,- (Optionals.given expr)])
− src/main/haskell/Hydra/Graphql/Syntax.hs
@@ -1,1397 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A GraphQL model. Based on the (extended) BNF at:--- | https://spec.graphql.org/draft/#sec-Appendix-Grammar-Summary--module Hydra.Graphql.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---- | A GraphQL field alias, immediately followed by a colon.-data Alias =- AliasName Name |- AliasColon- deriving (Eq, Ord, Read, Show)--_Alias = Core.Name "hydra.graphql.syntax.Alias"--_Alias_Name = Core.Name "Name"--_Alias_Colon = Core.Name "Colon"---- | A single GraphQL argument, consisting of a name and a value.-data Argument =- Argument {- argumentName :: Name,- argumentValue :: Value}- deriving (Eq, Ord, Read, Show)--_Argument = Core.Name "hydra.graphql.syntax.Argument"--_Argument_Name = Core.Name "Name"--_Argument_Value = Core.Name "Value"---- | A parenthesized list of GraphQL arguments.-newtype Arguments =- Arguments {- unArguments :: [Argument]}- deriving (Eq, Ord, Read, Show)--_Arguments = Core.Name "hydra.graphql.syntax.Arguments"---- | A parenthesized list of GraphQL input value definitions for a field's arguments.-newtype ArgumentsDefinition =- ArgumentsDefinition {- unArgumentsDefinition :: [InputValueDefinition]}- deriving (Eq, Ord, Read, Show)--_ArgumentsDefinition = Core.Name "hydra.graphql.syntax.ArgumentsDefinition"---- | A GraphQL boolean literal, either true or false.-data BooleanValue =- BooleanValueTrue |- BooleanValueFalse- deriving (Eq, Ord, Read, Show)--_BooleanValue = Core.Name "hydra.graphql.syntax.BooleanValue"--_BooleanValue_True = Core.Name "True"--_BooleanValue_False = Core.Name "False"---- | A default value for a GraphQL variable or input field, introduced by an equals sign.-newtype DefaultValue =- DefaultValue {- unDefaultValue :: Value}- deriving (Eq, Ord, Read, Show)--_DefaultValue = Core.Name "hydra.graphql.syntax.DefaultValue"---- | A top-level GraphQL definition, either executable or part of the type system.-data Definition =- DefinitionExecutable ExecutableDefinition |- DefinitionTypeSystem TypeSystemDefinitionOrExtension- deriving (Eq, Ord, Read, Show)--_Definition = Core.Name "hydra.graphql.syntax.Definition"--_Definition_executable = Core.Name "executable"--_Definition_typeSystem = Core.Name "typeSystem"---- | An optional string description preceding a GraphQL type system definition.-newtype Description =- Description {- unDescription :: StringValue}- deriving (Eq, Ord, Read, Show)--_Description = Core.Name "hydra.graphql.syntax.Description"---- | A single GraphQL directive, consisting of a name and optional arguments.-data Directive =- Directive {- directiveName :: Name,- directiveArguments :: (Maybe Arguments)}- deriving (Eq, Ord, Read, Show)--_Directive = Core.Name "hydra.graphql.syntax.Directive"--_Directive_Name = Core.Name "Name"--_Directive_Arguments = Core.Name "Arguments"---- | A GraphQL directive definition, giving its name, arguments, repeatability, and locations.-data DirectiveDefinition =- DirectiveDefinition {- directiveDefinitionDescription :: (Maybe Description),- directiveDefinitionName :: Name,- directiveDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),- directiveDefinitionRepeatable :: (Maybe ()),- directiveDefinitionDirectiveLocations :: DirectiveLocations}- deriving (Eq, Ord, Read, Show)--_DirectiveDefinition = Core.Name "hydra.graphql.syntax.DirectiveDefinition"--_DirectiveDefinition_Description = Core.Name "Description"--_DirectiveDefinition_Name = Core.Name "Name"--_DirectiveDefinition_ArgumentsDefinition = Core.Name "ArgumentsDefinition"--_DirectiveDefinition_Repeatable = Core.Name "Repeatable"--_DirectiveDefinition_DirectiveLocations = Core.Name "DirectiveLocations"---- | A location at which a GraphQL directive may be applied, either executable or type-system.-data DirectiveLocation =- DirectiveLocationExecutable ExecutableDirectiveLocation |- DirectiveLocationTypeSystem TypeSystemDirectiveLocation- deriving (Eq, Ord, Read, Show)--_DirectiveLocation = Core.Name "hydra.graphql.syntax.DirectiveLocation"--_DirectiveLocation_executable = Core.Name "executable"--_DirectiveLocation_typeSystem = Core.Name "typeSystem"---- | A pipe-separated list of GraphQL directive locations.-data DirectiveLocations =- DirectiveLocationsSeq DirectiveLocationsSequence |- DirectiveLocationsSeq2 DirectiveLocationsSequence2- deriving (Eq, Ord, Read, Show)--_DirectiveLocations = Core.Name "hydra.graphql.syntax.DirectiveLocations"--_DirectiveLocations_seq = Core.Name "seq"--_DirectiveLocations_seq2 = Core.Name "seq2"---- | A non-empty DirectiveLocations sequence with a leading list of locations.-data DirectiveLocationsSequence =- DirectiveLocationsSequence {- directiveLocationsSequenceDirectiveLocations :: DirectiveLocations,- directiveLocationsSequenceDirectiveLocation :: DirectiveLocation}- deriving (Eq, Ord, Read, Show)--_DirectiveLocationsSequence = Core.Name "hydra.graphql.syntax.DirectiveLocationsSequence"--_DirectiveLocationsSequence_DirectiveLocations = Core.Name "DirectiveLocations"--_DirectiveLocationsSequence_DirectiveLocation = Core.Name "DirectiveLocation"---- | The base case of a DirectiveLocations sequence: a single, optionally pipe-prefixed location.-data DirectiveLocationsSequence2 =- DirectiveLocationsSequence2 {- directiveLocationsSequence2Or :: (Maybe ()),- directiveLocationsSequence2DirectiveLocation :: DirectiveLocation}- deriving (Eq, Ord, Read, Show)--_DirectiveLocationsSequence2 = Core.Name "hydra.graphql.syntax.DirectiveLocationsSequence2"--_DirectiveLocationsSequence2_Or = Core.Name "Or"--_DirectiveLocationsSequence2_DirectiveLocation = Core.Name "DirectiveLocation"---- | A list of GraphQL directives applied to a definition or selection.-newtype Directives =- Directives {- unDirectives :: [Directive]}- deriving (Eq, Ord, Read, Show)--_Directives = Core.Name "hydra.graphql.syntax.Directives"---- | A GraphQL document, consisting of a list of definitions.-newtype Document =- Document {- unDocument :: [Definition]}- deriving (Eq, Ord, Read, Show)--_Document = Core.Name "hydra.graphql.syntax.Document"---- | A GraphQL enum type definition, giving its name, directives, and enum values.-data EnumTypeDefinition =- EnumTypeDefinition {- enumTypeDefinitionDescription :: (Maybe Description),- enumTypeDefinitionName :: Name,- enumTypeDefinitionDirectives :: (Maybe Directives),- enumTypeDefinitionEnumValuesDefinition :: (Maybe EnumValuesDefinition)}- deriving (Eq, Ord, Read, Show)--_EnumTypeDefinition = Core.Name "hydra.graphql.syntax.EnumTypeDefinition"--_EnumTypeDefinition_Description = Core.Name "Description"--_EnumTypeDefinition_Name = Core.Name "Name"--_EnumTypeDefinition_Directives = Core.Name "Directives"--_EnumTypeDefinition_EnumValuesDefinition = Core.Name "EnumValuesDefinition"---- | An extension of a GraphQL enum type, either adding enum values or only directives.-data EnumTypeExtension =- EnumTypeExtensionSeq EnumTypeExtensionSequence |- EnumTypeExtensionSeq2 EnumTypeExtensionSequence2- deriving (Eq, Ord, Read, Show)--_EnumTypeExtension = Core.Name "hydra.graphql.syntax.EnumTypeExtension"--_EnumTypeExtension_seq = Core.Name "seq"--_EnumTypeExtension_seq2 = Core.Name "seq2"---- | An enum type extension that adds new enum values, with optional directives.-data EnumTypeExtensionSequence =- EnumTypeExtensionSequence {- enumTypeExtensionSequenceName :: Name,- enumTypeExtensionSequenceDirectives :: (Maybe Directives),- enumTypeExtensionSequenceEnumValuesDefinition :: EnumValuesDefinition}- deriving (Eq, Ord, Read, Show)--_EnumTypeExtensionSequence = Core.Name "hydra.graphql.syntax.EnumTypeExtensionSequence"--_EnumTypeExtensionSequence_Name = Core.Name "Name"--_EnumTypeExtensionSequence_Directives = Core.Name "Directives"--_EnumTypeExtensionSequence_EnumValuesDefinition = Core.Name "EnumValuesDefinition"---- | An enum type extension consisting of directives only, with no new enum values.-data EnumTypeExtensionSequence2 =- EnumTypeExtensionSequence2 {- enumTypeExtensionSequence2Name :: Name,- enumTypeExtensionSequence2Directives :: Directives}- deriving (Eq, Ord, Read, Show)--_EnumTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.EnumTypeExtensionSequence2"--_EnumTypeExtensionSequence2_Name = Core.Name "Name"--_EnumTypeExtensionSequence2_Directives = Core.Name "Directives"---- | A GraphQL enum value, represented as a name (excluding true, false, and null).-newtype EnumValue =- EnumValue {- unEnumValue :: Name}- deriving (Eq, Ord, Read, Show)--_EnumValue = Core.Name "hydra.graphql.syntax.EnumValue"---- | A single value definition within a GraphQL enum type, with optional description and directives.-data EnumValueDefinition =- EnumValueDefinition {- enumValueDefinitionDescription :: (Maybe Description),- enumValueDefinitionEnumValue :: EnumValue,- enumValueDefinitionDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_EnumValueDefinition = Core.Name "hydra.graphql.syntax.EnumValueDefinition"--_EnumValueDefinition_Description = Core.Name "Description"--_EnumValueDefinition_EnumValue = Core.Name "EnumValue"--_EnumValueDefinition_Directives = Core.Name "Directives"---- | The braced list of enum value definitions in a GraphQL enum type.-newtype EnumValuesDefinition =- EnumValuesDefinition {- unEnumValuesDefinition :: [EnumValueDefinition]}- deriving (Eq, Ord, Read, Show)--_EnumValuesDefinition = Core.Name "hydra.graphql.syntax.EnumValuesDefinition"---- | A GraphQL executable definition, either an operation or a fragment definition.-data ExecutableDefinition =- ExecutableDefinitionOperation OperationDefinition |- ExecutableDefinitionFragment FragmentDefinition- deriving (Eq, Ord, Read, Show)--_ExecutableDefinition = Core.Name "hydra.graphql.syntax.ExecutableDefinition"--_ExecutableDefinition_operation = Core.Name "operation"--_ExecutableDefinition_fragment = Core.Name "fragment"---- | A directive location valid on GraphQL executable definitions (queries, fields, fragments, etc.).-data ExecutableDirectiveLocation =- ExecutableDirectiveLocationQUERY |- ExecutableDirectiveLocationMUTATION |- ExecutableDirectiveLocationSUBSCRIPTION |- ExecutableDirectiveLocationFIELD |- ExecutableDirectiveLocationFRAGMENT_DEFINITION |- ExecutableDirectiveLocationFRAGMENT_SPREAD |- ExecutableDirectiveLocationINLINE_FRAGMENT |- ExecutableDirectiveLocationVARIABLE_DEFINITION- deriving (Eq, Ord, Read, Show)--_ExecutableDirectiveLocation = Core.Name "hydra.graphql.syntax.ExecutableDirectiveLocation"--_ExecutableDirectiveLocation_QUERY = Core.Name "QUERY"--_ExecutableDirectiveLocation_MUTATION = Core.Name "MUTATION"--_ExecutableDirectiveLocation_SUBSCRIPTION = Core.Name "SUBSCRIPTION"--_ExecutableDirectiveLocation_FIELD = Core.Name "FIELD"--_ExecutableDirectiveLocation_FRAGMENT_DEFINITION = Core.Name "FRAGMENT_DEFINITION"--_ExecutableDirectiveLocation_FRAGMENT_SPREAD = Core.Name "FRAGMENT_SPREAD"--_ExecutableDirectiveLocation_INLINE_FRAGMENT = Core.Name "INLINE_FRAGMENT"--_ExecutableDirectiveLocation_VARIABLE_DEFINITION = Core.Name "VARIABLE_DEFINITION"---- | A GraphQL document consisting only of executable definitions.-newtype ExecutableDocument =- ExecutableDocument {- unExecutableDocument :: [ExecutableDefinition]}- deriving (Eq, Ord, Read, Show)--_ExecutableDocument = Core.Name "hydra.graphql.syntax.ExecutableDocument"---- | A GraphQL field selection, with optional alias, arguments, directives, and sub-selection set.-data Field =- Field {- fieldAlias :: (Maybe Alias),- fieldName :: Name,- fieldArguments :: (Maybe Arguments),- fieldDirectives :: (Maybe Directives),- fieldSelectionSet :: (Maybe SelectionSet)}- deriving (Eq, Ord, Read, Show)--_Field = Core.Name "hydra.graphql.syntax.Field"--_Field_Alias = Core.Name "Alias"--_Field_Name = Core.Name "Name"--_Field_Arguments = Core.Name "Arguments"--_Field_Directives = Core.Name "Directives"--_Field_SelectionSet = Core.Name "SelectionSet"---- | A field definition within a GraphQL object or interface type.-data FieldDefinition =- FieldDefinition {- fieldDefinitionDescription :: (Maybe Description),- fieldDefinitionName :: Name,- fieldDefinitionArgumentsDefinition :: (Maybe ArgumentsDefinition),- fieldDefinitionType :: Type,- fieldDefinitionDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_FieldDefinition = Core.Name "hydra.graphql.syntax.FieldDefinition"--_FieldDefinition_Description = Core.Name "Description"--_FieldDefinition_Name = Core.Name "Name"--_FieldDefinition_ArgumentsDefinition = Core.Name "ArgumentsDefinition"--_FieldDefinition_Type = Core.Name "Type"--_FieldDefinition_Directives = Core.Name "Directives"---- | The braced list of field definitions in a GraphQL object or interface type.-newtype FieldsDefinition =- FieldsDefinition {- unFieldsDefinition :: [FieldDefinition]}- deriving (Eq, Ord, Read, Show)--_FieldsDefinition = Core.Name "hydra.graphql.syntax.FieldsDefinition"---- | A GraphQL floating-point literal.-newtype FloatValue =- FloatValue {- unFloatValue :: String}- deriving (Eq, Ord, Read, Show)--_FloatValue = Core.Name "hydra.graphql.syntax.FloatValue"---- | A GraphQL fragment definition, naming a type condition and a selection set.-data FragmentDefinition =- FragmentDefinition {- fragmentDefinitionFragmentName :: FragmentName,- fragmentDefinitionTypeCondition :: TypeCondition,- fragmentDefinitionDirectives :: (Maybe Directives),- fragmentDefinitionSelectionSet :: SelectionSet}- deriving (Eq, Ord, Read, Show)--_FragmentDefinition = Core.Name "hydra.graphql.syntax.FragmentDefinition"--_FragmentDefinition_FragmentName = Core.Name "FragmentName"--_FragmentDefinition_TypeCondition = Core.Name "TypeCondition"--_FragmentDefinition_Directives = Core.Name "Directives"--_FragmentDefinition_SelectionSet = Core.Name "SelectionSet"---- | The name of a GraphQL fragment (any name other than "on").-newtype FragmentName =- FragmentName {- unFragmentName :: Name}- deriving (Eq, Ord, Read, Show)--_FragmentName = Core.Name "hydra.graphql.syntax.FragmentName"---- | A GraphQL fragment spread, referencing a named fragment with optional directives.-data FragmentSpread =- FragmentSpread {- fragmentSpreadFragmentName :: FragmentName,- fragmentSpreadDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_FragmentSpread = Core.Name "hydra.graphql.syntax.FragmentSpread"--_FragmentSpread_FragmentName = Core.Name "FragmentName"--_FragmentSpread_Directives = Core.Name "Directives"---- | A clause declaring the interfaces implemented by a GraphQL object or interface type.-data ImplementsInterfaces =- ImplementsInterfacesSeq ImplementsInterfacesSequence |- ImplementsInterfacesSeq2 ImplementsInterfacesSequence2- deriving (Eq, Ord, Read, Show)--_ImplementsInterfaces = Core.Name "hydra.graphql.syntax.ImplementsInterfaces"--_ImplementsInterfaces_seq = Core.Name "seq"--_ImplementsInterfaces_seq2 = Core.Name "seq2"---- | A non-empty ImplementsInterfaces list with a leading list of interfaces.-data ImplementsInterfacesSequence =- ImplementsInterfacesSequence {- implementsInterfacesSequenceImplementsInterfaces :: ImplementsInterfaces,- implementsInterfacesSequenceNamedType :: NamedType}- deriving (Eq, Ord, Read, Show)--_ImplementsInterfacesSequence = Core.Name "hydra.graphql.syntax.ImplementsInterfacesSequence"--_ImplementsInterfacesSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_ImplementsInterfacesSequence_NamedType = Core.Name "NamedType"---- | The base case of an ImplementsInterfaces list: a single, optionally ampersand-prefixed interface.-data ImplementsInterfacesSequence2 =- ImplementsInterfacesSequence2 {- implementsInterfacesSequence2Amp :: (Maybe ()),- implementsInterfacesSequence2NamedType :: NamedType}- deriving (Eq, Ord, Read, Show)--_ImplementsInterfacesSequence2 = Core.Name "hydra.graphql.syntax.ImplementsInterfacesSequence2"--_ImplementsInterfacesSequence2_Amp = Core.Name "Amp"--_ImplementsInterfacesSequence2_NamedType = Core.Name "NamedType"---- | A GraphQL inline fragment, with optional type condition, directives, and a selection set.-data InlineFragment =- InlineFragment {- inlineFragmentTypeCondition :: (Maybe TypeCondition),- inlineFragmentDirectives :: (Maybe Directives),- inlineFragmentSelectionSet :: SelectionSet}- deriving (Eq, Ord, Read, Show)--_InlineFragment = Core.Name "hydra.graphql.syntax.InlineFragment"--_InlineFragment_TypeCondition = Core.Name "TypeCondition"--_InlineFragment_Directives = Core.Name "Directives"--_InlineFragment_SelectionSet = Core.Name "SelectionSet"---- | The braced list of input field definitions in a GraphQL input object type.-newtype InputFieldsDefinition =- InputFieldsDefinition {- unInputFieldsDefinition :: [InputValueDefinition]}- deriving (Eq, Ord, Read, Show)--_InputFieldsDefinition = Core.Name "hydra.graphql.syntax.InputFieldsDefinition"---- | A GraphQL input object type definition, either with or without input fields.-data InputObjectTypeDefinition =- InputObjectTypeDefinitionSeq InputObjectTypeDefinitionSequence |- InputObjectTypeDefinitionSeq2 InputObjectTypeDefinitionSequence2- deriving (Eq, Ord, Read, Show)--_InputObjectTypeDefinition = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinition"--_InputObjectTypeDefinition_seq = Core.Name "seq"--_InputObjectTypeDefinition_seq2 = Core.Name "seq2"---- | An input object type definition that includes an input fields definition.-data InputObjectTypeDefinitionSequence =- InputObjectTypeDefinitionSequence {- inputObjectTypeDefinitionSequenceDescription :: (Maybe Description),- inputObjectTypeDefinitionSequenceName :: Name,- inputObjectTypeDefinitionSequenceDirectives :: (Maybe Directives),- inputObjectTypeDefinitionSequenceInputFieldsDefinition :: InputFieldsDefinition}- deriving (Eq, Ord, Read, Show)--_InputObjectTypeDefinitionSequence = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinitionSequence"--_InputObjectTypeDefinitionSequence_Description = Core.Name "Description"--_InputObjectTypeDefinitionSequence_Name = Core.Name "Name"--_InputObjectTypeDefinitionSequence_Directives = Core.Name "Directives"--_InputObjectTypeDefinitionSequence_InputFieldsDefinition = Core.Name "InputFieldsDefinition"---- | An input object type definition with no input fields definition.-data InputObjectTypeDefinitionSequence2 =- InputObjectTypeDefinitionSequence2 {- inputObjectTypeDefinitionSequence2Description :: (Maybe Description),- inputObjectTypeDefinitionSequence2Name :: Name,- inputObjectTypeDefinitionSequence2Directives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_InputObjectTypeDefinitionSequence2 = Core.Name "hydra.graphql.syntax.InputObjectTypeDefinitionSequence2"--_InputObjectTypeDefinitionSequence2_Description = Core.Name "Description"--_InputObjectTypeDefinitionSequence2_Name = Core.Name "Name"--_InputObjectTypeDefinitionSequence2_Directives = Core.Name "Directives"---- | An extension of a GraphQL input object type, either with or without input fields.-data InputObjectTypeExtension =- InputObjectTypeExtensionSeq InputObjectTypeExtensionSequence |- InputObjectTypeExtensionSeq2 InputObjectTypeExtensionSequence2- deriving (Eq, Ord, Read, Show)--_InputObjectTypeExtension = Core.Name "hydra.graphql.syntax.InputObjectTypeExtension"--_InputObjectTypeExtension_seq = Core.Name "seq"--_InputObjectTypeExtension_seq2 = Core.Name "seq2"---- | An input object type extension that adds an input fields definition.-data InputObjectTypeExtensionSequence =- InputObjectTypeExtensionSequence {- inputObjectTypeExtensionSequenceName :: Name,- inputObjectTypeExtensionSequenceDirectives :: (Maybe Directives),- inputObjectTypeExtensionSequenceInputFieldsDefinition :: InputFieldsDefinition}- deriving (Eq, Ord, Read, Show)--_InputObjectTypeExtensionSequence = Core.Name "hydra.graphql.syntax.InputObjectTypeExtensionSequence"--_InputObjectTypeExtensionSequence_Name = Core.Name "Name"--_InputObjectTypeExtensionSequence_Directives = Core.Name "Directives"--_InputObjectTypeExtensionSequence_InputFieldsDefinition = Core.Name "InputFieldsDefinition"---- | An input object type extension consisting of directives only.-data InputObjectTypeExtensionSequence2 =- InputObjectTypeExtensionSequence2 {- inputObjectTypeExtensionSequence2Name :: Name,- inputObjectTypeExtensionSequence2Directives :: Directives}- deriving (Eq, Ord, Read, Show)--_InputObjectTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.InputObjectTypeExtensionSequence2"--_InputObjectTypeExtensionSequence2_Name = Core.Name "Name"--_InputObjectTypeExtensionSequence2_Directives = Core.Name "Directives"---- | A single input value definition, used for field arguments and input object fields.-data InputValueDefinition =- InputValueDefinition {- inputValueDefinitionDescription :: (Maybe Description),- inputValueDefinitionName :: Name,- inputValueDefinitionType :: Type,- inputValueDefinitionDefaultValue :: (Maybe DefaultValue),- inputValueDefinitionDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_InputValueDefinition = Core.Name "hydra.graphql.syntax.InputValueDefinition"--_InputValueDefinition_Description = Core.Name "Description"--_InputValueDefinition_Name = Core.Name "Name"--_InputValueDefinition_Type = Core.Name "Type"--_InputValueDefinition_DefaultValue = Core.Name "DefaultValue"--_InputValueDefinition_Directives = Core.Name "Directives"---- | A GraphQL integer literal.-newtype IntValue =- IntValue {- unIntValue :: String}- deriving (Eq, Ord, Read, Show)--_IntValue = Core.Name "hydra.graphql.syntax.IntValue"---- | A GraphQL interface type definition, either with or without a fields definition.-data InterfaceTypeDefinition =- InterfaceTypeDefinitionSeq InterfaceTypeDefinitionSequence |- InterfaceTypeDefinitionSeq2 InterfaceTypeDefinitionSequence2- deriving (Eq, Ord, Read, Show)--_InterfaceTypeDefinition = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinition"--_InterfaceTypeDefinition_seq = Core.Name "seq"--_InterfaceTypeDefinition_seq2 = Core.Name "seq2"---- | An interface type definition that includes a fields definition.-data InterfaceTypeDefinitionSequence =- InterfaceTypeDefinitionSequence {- interfaceTypeDefinitionSequenceDescription :: (Maybe Description),- interfaceTypeDefinitionSequenceName :: Name,- interfaceTypeDefinitionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),- interfaceTypeDefinitionSequenceDirectives :: (Maybe Directives),- interfaceTypeDefinitionSequenceFieldsDefinition :: FieldsDefinition}- deriving (Eq, Ord, Read, Show)--_InterfaceTypeDefinitionSequence = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinitionSequence"--_InterfaceTypeDefinitionSequence_Description = Core.Name "Description"--_InterfaceTypeDefinitionSequence_Name = Core.Name "Name"--_InterfaceTypeDefinitionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_InterfaceTypeDefinitionSequence_Directives = Core.Name "Directives"--_InterfaceTypeDefinitionSequence_FieldsDefinition = Core.Name "FieldsDefinition"---- | An interface type definition with no fields definition.-data InterfaceTypeDefinitionSequence2 =- InterfaceTypeDefinitionSequence2 {- interfaceTypeDefinitionSequence2Description :: (Maybe Description),- interfaceTypeDefinitionSequence2Name :: Name,- interfaceTypeDefinitionSequence2ImplementsInterfaces :: ImplementsInterfaces,- interfaceTypeDefinitionSequence2Directives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_InterfaceTypeDefinitionSequence2 = Core.Name "hydra.graphql.syntax.InterfaceTypeDefinitionSequence2"--_InterfaceTypeDefinitionSequence2_Description = Core.Name "Description"--_InterfaceTypeDefinitionSequence2_Name = Core.Name "Name"--_InterfaceTypeDefinitionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_InterfaceTypeDefinitionSequence2_Directives = Core.Name "Directives"---- | An extension of a GraphQL interface type, in one of three forms.-data InterfaceTypeExtension =- InterfaceTypeExtensionSeq InterfaceTypeExtensionSequence |- InterfaceTypeExtensionSeq2 InterfaceTypeExtensionSequence2 |- InterfaceTypeExtensionSeq3 InterfaceTypeExtensionSequence3- deriving (Eq, Ord, Read, Show)--_InterfaceTypeExtension = Core.Name "hydra.graphql.syntax.InterfaceTypeExtension"--_InterfaceTypeExtension_seq = Core.Name "seq"--_InterfaceTypeExtension_seq2 = Core.Name "seq2"--_InterfaceTypeExtension_seq3 = Core.Name "seq3"---- | An interface type extension that adds a fields definition.-data InterfaceTypeExtensionSequence =- InterfaceTypeExtensionSequence {- interfaceTypeExtensionSequenceName :: Name,- interfaceTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),- interfaceTypeExtensionSequenceDirectives :: (Maybe Directives),- interfaceTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}- deriving (Eq, Ord, Read, Show)--_InterfaceTypeExtensionSequence = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence"--_InterfaceTypeExtensionSequence_Name = Core.Name "Name"--_InterfaceTypeExtensionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_InterfaceTypeExtensionSequence_Directives = Core.Name "Directives"--_InterfaceTypeExtensionSequence_FieldsDefinition = Core.Name "FieldsDefinition"---- | An interface type extension that adds directives but no fields definition.-data InterfaceTypeExtensionSequence2 =- InterfaceTypeExtensionSequence2 {- interfaceTypeExtensionSequence2Name :: Name,- interfaceTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),- interfaceTypeExtensionSequence2Directives :: Directives}- deriving (Eq, Ord, Read, Show)--_InterfaceTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence2"--_InterfaceTypeExtensionSequence2_Name = Core.Name "Name"--_InterfaceTypeExtensionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_InterfaceTypeExtensionSequence2_Directives = Core.Name "Directives"---- | An interface type extension that adds only implemented interfaces.-data InterfaceTypeExtensionSequence3 =- InterfaceTypeExtensionSequence3 {- interfaceTypeExtensionSequence3Name :: Name,- interfaceTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}- deriving (Eq, Ord, Read, Show)--_InterfaceTypeExtensionSequence3 = Core.Name "hydra.graphql.syntax.InterfaceTypeExtensionSequence3"--_InterfaceTypeExtensionSequence3_Name = Core.Name "Name"--_InterfaceTypeExtensionSequence3_ImplementsInterfaces = Core.Name "ImplementsInterfaces"---- | A GraphQL list type, wrapping an inner type in square brackets.-newtype ListType =- ListType {- unListType :: Type}- deriving (Eq, Ord, Read, Show)--_ListType = Core.Name "hydra.graphql.syntax.ListType"---- | A GraphQL list literal, either empty or containing a sequence of values.-data ListValue =- ListValueSeq ListValueSequence |- ListValueSequence2 [Value]- deriving (Eq, Ord, Read, Show)--_ListValue = Core.Name "hydra.graphql.syntax.ListValue"--_ListValue_seq = Core.Name "seq"--_ListValue_sequence2 = Core.Name "sequence2"---- | The empty-list form of a GraphQL ListValue.-type ListValueSequence = ()--_ListValueSequence = Core.Name "hydra.graphql.syntax.ListValueSequence"---- | A GraphQL name: an identifier matching [_A-Za-z][_0-9A-Za-z]*.-newtype Name =- Name {- unName :: String}- deriving (Eq, Ord, Read, Show)--_Name = Core.Name "hydra.graphql.syntax.Name"---- | A GraphQL named type, referencing a type by its name.-newtype NamedType =- NamedType {- unNamedType :: Name}- deriving (Eq, Ord, Read, Show)--_NamedType = Core.Name "hydra.graphql.syntax.NamedType"---- | A GraphQL non-null type, wrapping a named or list type with a trailing exclamation mark.-data NonNullType =- NonNullTypeNamed NamedType |- NonNullTypeList ListType- deriving (Eq, Ord, Read, Show)--_NonNullType = Core.Name "hydra.graphql.syntax.NonNullType"--_NonNullType_named = Core.Name "named"--_NonNullType_list = Core.Name "list"---- | The GraphQL null literal.-newtype NullValue =- NullValue {- unNullValue :: ()}- deriving (Eq, Ord, Read, Show)--_NullValue = Core.Name "hydra.graphql.syntax.NullValue"---- | A single field of a GraphQL object literal, consisting of a name and a value.-data ObjectField =- ObjectField {- objectFieldName :: Name,- objectFieldValue :: Value}- deriving (Eq, Ord, Read, Show)--_ObjectField = Core.Name "hydra.graphql.syntax.ObjectField"--_ObjectField_Name = Core.Name "Name"--_ObjectField_Value = Core.Name "Value"---- | A GraphQL object type definition, giving its name, interfaces, directives, and fields.-data ObjectTypeDefinition =- ObjectTypeDefinition {- objectTypeDefinitionDescription :: (Maybe Description),- objectTypeDefinitionName :: Name,- objectTypeDefinitionImplementsInterfaces :: (Maybe ImplementsInterfaces),- objectTypeDefinitionDirectives :: (Maybe Directives),- objectTypeDefinitionFieldsDefinition :: (Maybe FieldsDefinition)}- deriving (Eq, Ord, Read, Show)--_ObjectTypeDefinition = Core.Name "hydra.graphql.syntax.ObjectTypeDefinition"--_ObjectTypeDefinition_Description = Core.Name "Description"--_ObjectTypeDefinition_Name = Core.Name "Name"--_ObjectTypeDefinition_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_ObjectTypeDefinition_Directives = Core.Name "Directives"--_ObjectTypeDefinition_FieldsDefinition = Core.Name "FieldsDefinition"---- | An extension of a GraphQL object type, in one of three forms.-data ObjectTypeExtension =- ObjectTypeExtensionSeq ObjectTypeExtensionSequence |- ObjectTypeExtensionSeq2 ObjectTypeExtensionSequence2 |- ObjectTypeExtensionSeq3 ObjectTypeExtensionSequence3- deriving (Eq, Ord, Read, Show)--_ObjectTypeExtension = Core.Name "hydra.graphql.syntax.ObjectTypeExtension"--_ObjectTypeExtension_seq = Core.Name "seq"--_ObjectTypeExtension_seq2 = Core.Name "seq2"--_ObjectTypeExtension_seq3 = Core.Name "seq3"---- | An object type extension that adds a fields definition.-data ObjectTypeExtensionSequence =- ObjectTypeExtensionSequence {- objectTypeExtensionSequenceName :: Name,- objectTypeExtensionSequenceImplementsInterfaces :: (Maybe ImplementsInterfaces),- objectTypeExtensionSequenceDirectives :: (Maybe Directives),- objectTypeExtensionSequenceFieldsDefinition :: FieldsDefinition}- deriving (Eq, Ord, Read, Show)--_ObjectTypeExtensionSequence = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence"--_ObjectTypeExtensionSequence_Name = Core.Name "Name"--_ObjectTypeExtensionSequence_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_ObjectTypeExtensionSequence_Directives = Core.Name "Directives"--_ObjectTypeExtensionSequence_FieldsDefinition = Core.Name "FieldsDefinition"---- | An object type extension that adds directives but no fields definition.-data ObjectTypeExtensionSequence2 =- ObjectTypeExtensionSequence2 {- objectTypeExtensionSequence2Name :: Name,- objectTypeExtensionSequence2ImplementsInterfaces :: (Maybe ImplementsInterfaces),- objectTypeExtensionSequence2Directives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_ObjectTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence2"--_ObjectTypeExtensionSequence2_Name = Core.Name "Name"--_ObjectTypeExtensionSequence2_ImplementsInterfaces = Core.Name "ImplementsInterfaces"--_ObjectTypeExtensionSequence2_Directives = Core.Name "Directives"---- | An object type extension that adds only implemented interfaces.-data ObjectTypeExtensionSequence3 =- ObjectTypeExtensionSequence3 {- objectTypeExtensionSequence3Name :: Name,- objectTypeExtensionSequence3ImplementsInterfaces :: ImplementsInterfaces}- deriving (Eq, Ord, Read, Show)--_ObjectTypeExtensionSequence3 = Core.Name "hydra.graphql.syntax.ObjectTypeExtensionSequence3"--_ObjectTypeExtensionSequence3_Name = Core.Name "Name"--_ObjectTypeExtensionSequence3_ImplementsInterfaces = Core.Name "ImplementsInterfaces"---- | A GraphQL object literal, either empty or containing a sequence of object fields.-data ObjectValue =- ObjectValueSeq ObjectValueSequence |- ObjectValueSequence2 [ObjectField]- deriving (Eq, Ord, Read, Show)--_ObjectValue = Core.Name "hydra.graphql.syntax.ObjectValue"--_ObjectValue_seq = Core.Name "seq"--_ObjectValue_sequence2 = Core.Name "sequence2"---- | The empty-object form of a GraphQL ObjectValue.-type ObjectValueSequence = ()--_ObjectValueSequence = Core.Name "hydra.graphql.syntax.ObjectValueSequence"---- | A GraphQL operation definition, either a shorthand query or an explicit operation.-data OperationDefinition =- OperationDefinitionSeq OperationDefinitionSequence |- OperationDefinitionSelectionSet SelectionSet- deriving (Eq, Ord, Read, Show)--_OperationDefinition = Core.Name "hydra.graphql.syntax.OperationDefinition"--_OperationDefinition_seq = Core.Name "seq"--_OperationDefinition_SelectionSet = Core.Name "SelectionSet"---- | An explicit GraphQL operation definition with a type, optional name, variables, and directives.-data OperationDefinitionSequence =- OperationDefinitionSequence {- operationDefinitionSequenceOperationType :: OperationType,- operationDefinitionSequenceName :: (Maybe Name),- operationDefinitionSequenceVariablesDefinition :: (Maybe VariablesDefinition),- operationDefinitionSequenceDirectives :: (Maybe Directives),- operationDefinitionSequenceSelectionSet :: SelectionSet}- deriving (Eq, Ord, Read, Show)--_OperationDefinitionSequence = Core.Name "hydra.graphql.syntax.OperationDefinitionSequence"--_OperationDefinitionSequence_OperationType = Core.Name "OperationType"--_OperationDefinitionSequence_Name = Core.Name "Name"--_OperationDefinitionSequence_VariablesDefinition = Core.Name "VariablesDefinition"--_OperationDefinitionSequence_Directives = Core.Name "Directives"--_OperationDefinitionSequence_SelectionSet = Core.Name "SelectionSet"---- | The type of a GraphQL operation: query, mutation, or subscription.-data OperationType =- OperationTypeQuery |- OperationTypeMutation |- OperationTypeSubscription- deriving (Eq, Ord, Read, Show)--_OperationType = Core.Name "hydra.graphql.syntax.OperationType"--_OperationType_Query = Core.Name "Query"--_OperationType_Mutation = Core.Name "Mutation"--_OperationType_Subscription = Core.Name "Subscription"---- | A mapping from a GraphQL operation type to its root object type.-data RootOperationTypeDefinition =- RootOperationTypeDefinition {- rootOperationTypeDefinitionOperationType :: OperationType,- rootOperationTypeDefinitionNamedType :: NamedType}- deriving (Eq, Ord, Read, Show)--_RootOperationTypeDefinition = Core.Name "hydra.graphql.syntax.RootOperationTypeDefinition"--_RootOperationTypeDefinition_OperationType = Core.Name "OperationType"--_RootOperationTypeDefinition_NamedType = Core.Name "NamedType"---- | A GraphQL scalar type definition, with optional description and directives.-data ScalarTypeDefinition =- ScalarTypeDefinition {- scalarTypeDefinitionDescription :: (Maybe Description),- scalarTypeDefinitionName :: Name,- scalarTypeDefinitionDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_ScalarTypeDefinition = Core.Name "hydra.graphql.syntax.ScalarTypeDefinition"--_ScalarTypeDefinition_Description = Core.Name "Description"--_ScalarTypeDefinition_Name = Core.Name "Name"--_ScalarTypeDefinition_Directives = Core.Name "Directives"---- | An extension of a GraphQL scalar type, adding directives.-data ScalarTypeExtension =- ScalarTypeExtension {- scalarTypeExtensionName :: Name,- scalarTypeExtensionDirectives :: Directives}- deriving (Eq, Ord, Read, Show)--_ScalarTypeExtension = Core.Name "hydra.graphql.syntax.ScalarTypeExtension"--_ScalarTypeExtension_Name = Core.Name "Name"--_ScalarTypeExtension_Directives = Core.Name "Directives"---- | A GraphQL schema definition, declaring its root operation types.-data SchemaDefinition =- SchemaDefinition {- schemaDefinitionDescription :: (Maybe Description),- schemaDefinitionDirectives :: (Maybe Directives),- schemaDefinitionRootOperationTypeDefinition :: RootOperationTypeDefinition}- deriving (Eq, Ord, Read, Show)--_SchemaDefinition = Core.Name "hydra.graphql.syntax.SchemaDefinition"--_SchemaDefinition_Description = Core.Name "Description"--_SchemaDefinition_Directives = Core.Name "Directives"--_SchemaDefinition_RootOperationTypeDefinition = Core.Name "RootOperationTypeDefinition"---- | An extension of a GraphQL schema, adding root operation types or directives.-data SchemaExtension =- SchemaExtensionSeq SchemaExtensionSequence |- SchemaExtensionSequence2 Directives- deriving (Eq, Ord, Read, Show)--_SchemaExtension = Core.Name "hydra.graphql.syntax.SchemaExtension"--_SchemaExtension_seq = Core.Name "seq"--_SchemaExtension_sequence2 = Core.Name "sequence2"---- | A schema extension that adds a root operation type definition.-data SchemaExtensionSequence =- SchemaExtensionSequence {- schemaExtensionSequenceDirectives :: (Maybe Directives),- schemaExtensionSequenceRootOperationTypeDefinition :: RootOperationTypeDefinition}- deriving (Eq, Ord, Read, Show)--_SchemaExtensionSequence = Core.Name "hydra.graphql.syntax.SchemaExtensionSequence"--_SchemaExtensionSequence_Directives = Core.Name "Directives"--_SchemaExtensionSequence_RootOperationTypeDefinition = Core.Name "RootOperationTypeDefinition"---- | A single selection within a GraphQL selection set: a field, fragment spread, or inline fragment.-data Selection =- SelectionField Field |- SelectionFragmentSpread FragmentSpread |- SelectionInlineFragment InlineFragment- deriving (Eq, Ord, Read, Show)--_Selection = Core.Name "hydra.graphql.syntax.Selection"--_Selection_Field = Core.Name "Field"--_Selection_FragmentSpread = Core.Name "FragmentSpread"--_Selection_InlineFragment = Core.Name "InlineFragment"---- | A braced list of GraphQL selections.-newtype SelectionSet =- SelectionSet {- unSelectionSet :: [Selection]}- deriving (Eq, Ord, Read, Show)--_SelectionSet = Core.Name "hydra.graphql.syntax.SelectionSet"---- | A GraphQL string literal.-newtype StringValue =- StringValue {- unStringValue :: String}- deriving (Eq, Ord, Read, Show)--_StringValue = Core.Name "hydra.graphql.syntax.StringValue"---- | A GraphQL type reference: named, list, or non-null.-data Type =- TypeNamed NamedType |- TypeList ListType |- TypeNonNull NonNullType- deriving (Eq, Ord, Read, Show)--_Type = Core.Name "hydra.graphql.syntax.Type"--_Type_named = Core.Name "named"--_Type_list = Core.Name "list"--_Type_nonNull = Core.Name "nonNull"---- | A GraphQL type condition, naming the type a fragment applies to.-data TypeCondition =- TypeConditionOn |- TypeConditionNamedType NamedType- deriving (Eq, Ord, Read, Show)--_TypeCondition = Core.Name "hydra.graphql.syntax.TypeCondition"--_TypeCondition_On = Core.Name "On"--_TypeCondition_NamedType = Core.Name "NamedType"---- | A GraphQL type system definition for a single named type.-data TypeDefinition =- TypeDefinitionScalar ScalarTypeDefinition |- TypeDefinitionObject ObjectTypeDefinition |- TypeDefinitionInterface InterfaceTypeDefinition |- TypeDefinitionUnion UnionTypeDefinition |- TypeDefinitionEnum EnumTypeDefinition |- TypeDefinitionInputObject InputObjectTypeDefinition- deriving (Eq, Ord, Read, Show)--_TypeDefinition = Core.Name "hydra.graphql.syntax.TypeDefinition"--_TypeDefinition_scalar = Core.Name "scalar"--_TypeDefinition_object = Core.Name "object"--_TypeDefinition_interface = Core.Name "interface"--_TypeDefinition_union = Core.Name "union"--_TypeDefinition_enum = Core.Name "enum"--_TypeDefinition_inputObject = Core.Name "inputObject"---- | An extension of a GraphQL named type.-data TypeExtension =- TypeExtensionScalar ScalarTypeExtension |- TypeExtensionObject ObjectTypeExtension |- TypeExtensionInterface InterfaceTypeExtension |- TypeExtensionUnion UnionTypeExtension |- TypeExtensionEnum EnumTypeExtension |- TypeExtensionInputObject InputObjectTypeExtension- deriving (Eq, Ord, Read, Show)--_TypeExtension = Core.Name "hydra.graphql.syntax.TypeExtension"--_TypeExtension_scalar = Core.Name "scalar"--_TypeExtension_object = Core.Name "object"--_TypeExtension_interface = Core.Name "interface"--_TypeExtension_union = Core.Name "union"--_TypeExtension_enum = Core.Name "enum"--_TypeExtension_inputObject = Core.Name "inputObject"---- | A GraphQL type system definition: schema, type, or directive.-data TypeSystemDefinition =- TypeSystemDefinitionSchema SchemaDefinition |- TypeSystemDefinitionType TypeDefinition |- TypeSystemDefinitionDirective DirectiveDefinition- deriving (Eq, Ord, Read, Show)--_TypeSystemDefinition = Core.Name "hydra.graphql.syntax.TypeSystemDefinition"--_TypeSystemDefinition_schema = Core.Name "schema"--_TypeSystemDefinition_type = Core.Name "type"--_TypeSystemDefinition_directive = Core.Name "directive"---- | Either a GraphQL type system definition or an extension of one.-data TypeSystemDefinitionOrExtension =- TypeSystemDefinitionOrExtensionDefinition TypeSystemDefinition |- TypeSystemDefinitionOrExtensionExtension TypeSystemExtension- deriving (Eq, Ord, Read, Show)--_TypeSystemDefinitionOrExtension = Core.Name "hydra.graphql.syntax.TypeSystemDefinitionOrExtension"--_TypeSystemDefinitionOrExtension_definition = Core.Name "definition"--_TypeSystemDefinitionOrExtension_extension = Core.Name "extension"---- | A directive location valid on GraphQL type system definitions.-data TypeSystemDirectiveLocation =- TypeSystemDirectiveLocationSCHEMA |- TypeSystemDirectiveLocationSCALAR |- TypeSystemDirectiveLocationOBJECT |- TypeSystemDirectiveLocationFIELD_DEFINITION |- TypeSystemDirectiveLocationARGUMENT_DEFINITION |- TypeSystemDirectiveLocationINTERFACE |- TypeSystemDirectiveLocationUNION |- TypeSystemDirectiveLocationENUM |- TypeSystemDirectiveLocationENUM_VALUE |- TypeSystemDirectiveLocationINPUT_OBJECT |- TypeSystemDirectiveLocationINPUT_FIELD_DEFINITION- deriving (Eq, Ord, Read, Show)--_TypeSystemDirectiveLocation = Core.Name "hydra.graphql.syntax.TypeSystemDirectiveLocation"--_TypeSystemDirectiveLocation_SCHEMA = Core.Name "SCHEMA"--_TypeSystemDirectiveLocation_SCALAR = Core.Name "SCALAR"--_TypeSystemDirectiveLocation_OBJECT = Core.Name "OBJECT"--_TypeSystemDirectiveLocation_FIELD_DEFINITION = Core.Name "FIELD_DEFINITION"--_TypeSystemDirectiveLocation_ARGUMENT_DEFINITION = Core.Name "ARGUMENT_DEFINITION"--_TypeSystemDirectiveLocation_INTERFACE = Core.Name "INTERFACE"--_TypeSystemDirectiveLocation_UNION = Core.Name "UNION"--_TypeSystemDirectiveLocation_ENUM = Core.Name "ENUM"--_TypeSystemDirectiveLocation_ENUM_VALUE = Core.Name "ENUM_VALUE"--_TypeSystemDirectiveLocation_INPUT_OBJECT = Core.Name "INPUT_OBJECT"--_TypeSystemDirectiveLocation_INPUT_FIELD_DEFINITION = Core.Name "INPUT_FIELD_DEFINITION"---- | A GraphQL document consisting only of type system definitions.-newtype TypeSystemDocment =- TypeSystemDocment {- unTypeSystemDocment :: [TypeSystemDefinition]}- deriving (Eq, Ord, Read, Show)--_TypeSystemDocment = Core.Name "hydra.graphql.syntax.TypeSystemDocment"---- | An extension of a GraphQL schema or type.-data TypeSystemExtension =- TypeSystemExtensionSchema SchemaExtension |- TypeSystemExtensionType TypeExtension- deriving (Eq, Ord, Read, Show)--_TypeSystemExtension = Core.Name "hydra.graphql.syntax.TypeSystemExtension"--_TypeSystemExtension_schema = Core.Name "schema"--_TypeSystemExtension_type = Core.Name "type"---- | A GraphQL document consisting of type system definitions and extensions.-newtype TypeSystemExtensionDocument =- TypeSystemExtensionDocument {- unTypeSystemExtensionDocument :: [TypeSystemDefinitionOrExtension]}- deriving (Eq, Ord, Read, Show)--_TypeSystemExtensionDocument = Core.Name "hydra.graphql.syntax.TypeSystemExtensionDocument"---- | The list of member types of a GraphQL union type, introduced by an equals sign.-data UnionMemberTypes =- UnionMemberTypesSeq UnionMemberTypesSequence |- UnionMemberTypesSeq2 UnionMemberTypesSequence2- deriving (Eq, Ord, Read, Show)--_UnionMemberTypes = Core.Name "hydra.graphql.syntax.UnionMemberTypes"--_UnionMemberTypes_seq = Core.Name "seq"--_UnionMemberTypes_seq2 = Core.Name "seq2"---- | A non-empty UnionMemberTypes list with a leading list of member types.-data UnionMemberTypesSequence =- UnionMemberTypesSequence {- unionMemberTypesSequenceUnionMemberTypes :: UnionMemberTypes,- unionMemberTypesSequenceNamedType :: NamedType}- deriving (Eq, Ord, Read, Show)--_UnionMemberTypesSequence = Core.Name "hydra.graphql.syntax.UnionMemberTypesSequence"--_UnionMemberTypesSequence_UnionMemberTypes = Core.Name "UnionMemberTypes"--_UnionMemberTypesSequence_NamedType = Core.Name "NamedType"---- | The base case of a UnionMemberTypes list: a single, optionally pipe-prefixed member type.-data UnionMemberTypesSequence2 =- UnionMemberTypesSequence2 {- unionMemberTypesSequence2Or :: (Maybe ()),- unionMemberTypesSequence2NamedType :: NamedType}- deriving (Eq, Ord, Read, Show)--_UnionMemberTypesSequence2 = Core.Name "hydra.graphql.syntax.UnionMemberTypesSequence2"--_UnionMemberTypesSequence2_Or = Core.Name "Or"--_UnionMemberTypesSequence2_NamedType = Core.Name "NamedType"---- | A GraphQL union type definition, giving its name, directives, and member types.-data UnionTypeDefinition =- UnionTypeDefinition {- unionTypeDefinitionDescription :: (Maybe Description),- unionTypeDefinitionName :: Name,- unionTypeDefinitionDirectives :: (Maybe Directives),- unionTypeDefinitionUnionMemberTypes :: (Maybe UnionMemberTypes)}- deriving (Eq, Ord, Read, Show)--_UnionTypeDefinition = Core.Name "hydra.graphql.syntax.UnionTypeDefinition"--_UnionTypeDefinition_Description = Core.Name "Description"--_UnionTypeDefinition_Name = Core.Name "Name"--_UnionTypeDefinition_Directives = Core.Name "Directives"--_UnionTypeDefinition_UnionMemberTypes = Core.Name "UnionMemberTypes"---- | An extension of a GraphQL union type, either adding member types or only directives.-data UnionTypeExtension =- UnionTypeExtensionSeq UnionTypeExtensionSequence |- UnionTypeExtensionSeq2 UnionTypeExtensionSequence2- deriving (Eq, Ord, Read, Show)--_UnionTypeExtension = Core.Name "hydra.graphql.syntax.UnionTypeExtension"--_UnionTypeExtension_seq = Core.Name "seq"--_UnionTypeExtension_seq2 = Core.Name "seq2"---- | A union type extension that adds new member types.-data UnionTypeExtensionSequence =- UnionTypeExtensionSequence {- unionTypeExtensionSequenceName :: Name,- unionTypeExtensionSequenceDirectives :: (Maybe Directives),- unionTypeExtensionSequenceUnionMemberTypes :: UnionMemberTypes}- deriving (Eq, Ord, Read, Show)--_UnionTypeExtensionSequence = Core.Name "hydra.graphql.syntax.UnionTypeExtensionSequence"--_UnionTypeExtensionSequence_Name = Core.Name "Name"--_UnionTypeExtensionSequence_Directives = Core.Name "Directives"--_UnionTypeExtensionSequence_UnionMemberTypes = Core.Name "UnionMemberTypes"---- | A union type extension consisting of directives only.-data UnionTypeExtensionSequence2 =- UnionTypeExtensionSequence2 {- unionTypeExtensionSequence2Name :: Name,- unionTypeExtensionSequence2Directives :: Directives}- deriving (Eq, Ord, Read, Show)--_UnionTypeExtensionSequence2 = Core.Name "hydra.graphql.syntax.UnionTypeExtensionSequence2"--_UnionTypeExtensionSequence2_Name = Core.Name "Name"--_UnionTypeExtensionSequence2_Directives = Core.Name "Directives"---- | A GraphQL value: a variable, literal, list, or object.-data Value =- ValueVariable Variable |- ValueInt IntValue |- ValueFloat FloatValue |- ValueString StringValue |- ValueBoolean BooleanValue |- ValueNull NullValue |- ValueEnum EnumValue |- ValueList ListValue |- ValueObject ObjectValue- deriving (Eq, Ord, Read, Show)--_Value = Core.Name "hydra.graphql.syntax.Value"--_Value_Variable = Core.Name "Variable"--_Value_int = Core.Name "int"--_Value_float = Core.Name "float"--_Value_string = Core.Name "string"--_Value_boolean = Core.Name "boolean"--_Value_null = Core.Name "null"--_Value_enum = Core.Name "enum"--_Value_list = Core.Name "list"--_Value_object = Core.Name "object"---- | A GraphQL variable reference, introduced by a dollar sign.-newtype Variable =- Variable {- unVariable :: Name}- deriving (Eq, Ord, Read, Show)--_Variable = Core.Name "hydra.graphql.syntax.Variable"---- | A single variable definition in a GraphQL operation's variable list.-data VariablesDefinition =- VariablesDefinition {- variablesDefinitionVariable :: Variable,- variablesDefinitionType :: Type,- variablesDefinitionDefaultValue :: (Maybe DefaultValue),- variablesDefinitionDirectives :: (Maybe Directives)}- deriving (Eq, Ord, Read, Show)--_VariablesDefinition = Core.Name "hydra.graphql.syntax.VariablesDefinition"--_VariablesDefinition_Variable = Core.Name "Variable"--_VariablesDefinition_Type = Core.Name "Type"--_VariablesDefinition_DefaultValue = Core.Name "DefaultValue"--_VariablesDefinition_Directives = Core.Name "Directives"
− src/main/haskell/Hydra/Iana/Linkrelations.hs
@@ -1,500 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | All IANA Link Relation Types, as of 2022-10-11. See https://www.iana.org/assignments/link-relations/link-relations.xhtml--module Hydra.Iana.Linkrelations 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---- | An IANA link relation type-data LinkRelationType =- -- | Refers to a resource that is the subject of the link's context. [RFC6903], section 2- LinkRelationTypeAbout |- -- | Asserts that the link target provides an access control resource for the link context. [https://solidproject.org/TR/wac#acl-link-relation]- LinkRelationTypeAcl |- -- | Refers to a substitute for this context [HTML]- LinkRelationTypeAlternate |- -- | Used to reference alternative content that uses the AMP profile of the HTML format. [AMP HTML]- LinkRelationTypeAmphtml |- -- | Refers to an appendix. [HTML 4.01 Specification]- LinkRelationTypeAppendix |- -- | Refers to an icon for the context. Synonym for icon. [Configuring Web Applications]- LinkRelationTypeApple_touch_icon |- -- | Refers to a launch screen for the context. [Configuring Web Applications]- LinkRelationTypeApple_touch_startup_image |- -- | Refers to a collection of records, documents, or other materials of historical interest. [HTML5]- LinkRelationTypeArchives |- -- | Refers to the context's author. [HTML]- LinkRelationTypeAuthor |- -- | Identifies the entity that blocks access to a resource following receipt of a legal demand. [RFC7725]- LinkRelationTypeBlocked_by |- -- | Gives a permanent link to use for bookmarking purposes. [HTML]- LinkRelationTypeBookmark |- -- | Designates the preferred version of a resource (the IRI and its contents). [RFC6596]- LinkRelationTypeCanonical |- -- | Refers to a chapter in a collection of resources. [HTML 4.01 Specification]- LinkRelationTypeChapter |- -- | Indicates that the link target is preferred over the link context for the purpose of permanent citation. [RFC8574]- LinkRelationTypeCite_as |- -- | The target IRI points to a resource which represents the collection resource for the context IRI. [RFC6573]- LinkRelationTypeCollection |- -- | Refers to a table of contents. [HTML 4.01 Specification]- LinkRelationTypeContents |- -- | The document linked to was later converted to the document that contains this link relation. For example, an RFC can have a link to the Internet-Draft that became the RFC; in that case, the link relation would be "convertedFrom". [RFC7991] This relation is different than "predecessor-version" in that "predecessor-version" is for items in a version control system. It is also different than "previous" in that this relation is used for converted resources, not those that are part of a sequence of resources.- LinkRelationTypeConvertedfrom |- -- | Refers to a copyright statement that applies to the link's context. [HTML 4.01 Specification]- LinkRelationTypeCopyright |- -- | The target IRI points to a resource where a submission form can be obtained. [RFC6861]- LinkRelationTypeCreate_form |- -- | Refers to a resource containing the most recent item(s) in a collection of resources. [RFC5005]- LinkRelationTypeCurrent |- -- | Refers to a resource providing information about the link's context. [Protocol for Web Description Resources (POWDER)]- LinkRelationTypeDescribedby |- -- | The relationship A 'describes' B asserts that resource A provides a description of resource B. There are no constraints on the format or representation of either A or B, neither are there any further constraints on either resource. [RFC6892] This link relation type is the inverse of the 'describedby' relation type. While 'describedby' establishes a relation from the described resource back to the resource that describes it, 'describes' established a relation from the describing resource to the resource it describes. If B is 'describedby' A, then A 'describes' B.- LinkRelationTypeDescribes |- -- | Refers to a list of patent disclosures made with respect to material for which 'disclosure' relation is specified. [RFC6579]- LinkRelationTypeDisclosure |- -- | Used to indicate an origin that will be used to fetch required resources for the link context, and that the user agent ought to resolve as early as possible. [Resource Hints]- LinkRelationTypeDns_prefetch |- -- | Refers to a resource whose available representations are byte-for-byte identical with the corresponding representations of the context IRI. [RFC6249] This relation is for static resources. That is, an HTTP GET request on any duplicate will return the same representation. It does not make sense for dynamic or POSTable resources and should not be used for them.- LinkRelationTypeDuplicate |- -- | Refers to a resource that can be used to edit the link's context. [RFC5023]- LinkRelationTypeEdit |- -- | The target IRI points to a resource where a submission form for editing associated resource can be obtained. [RFC6861]- LinkRelationTypeEdit_form |- -- | Refers to a resource that can be used to edit media associated with the link's context. [RFC5023]- LinkRelationTypeEdit_media |- -- | Identifies a related resource that is potentially large and might require special handling. [RFC4287]- LinkRelationTypeEnclosure |- -- | Refers to a resource that is not part of the same site as the current context. [HTML]- LinkRelationTypeExternal |- -- | An IRI that refers to the furthest preceding resource in a series of resources. [RFC8288] This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004.- LinkRelationTypeFirst |- -- | Refers to a glossary of terms. [HTML 4.01 Specification]- LinkRelationTypeGlossary |- -- | Refers to context-sensitive help. [HTML]- LinkRelationTypeHelp |- -- | Refers to a resource hosted by the server indicated by the link context. [RFC6690] This relation is used in CoRE where links are retrieved as a "/.well-known/core" resource representation, and is the default relation type in the CoRE Link Format.- LinkRelationTypeHosts |- -- | Refers to a hub that enables registration for notification of updates to the context. [WebSub] This relation type was requested by Brett Slatkin.- LinkRelationTypeHub |- -- | Refers to an icon representing the link's context. [HTML]- LinkRelationTypeIcon |- -- | Refers to an index. [HTML 4.01 Specification]- LinkRelationTypeIndex |- -- | refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.21- LinkRelationTypeIntervalafter |- -- | refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.22- LinkRelationTypeIntervalbefore |- -- | refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.23- LinkRelationTypeIntervalcontains |- -- | refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.24- LinkRelationTypeIntervaldisjoint |- -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.25- LinkRelationTypeIntervalduring |- -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.26- LinkRelationTypeIntervalequals |- -- | refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.27- LinkRelationTypeIntervalfinishedby |- -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.28- LinkRelationTypeIntervalfinishes |- -- | refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.29- LinkRelationTypeIntervalin |- -- | refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.30- LinkRelationTypeIntervalmeets |- -- | refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.31- LinkRelationTypeIntervalmetby |- -- | refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.32- LinkRelationTypeIntervaloverlappedby |- -- | refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.33- LinkRelationTypeIntervaloverlaps |- -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.34- LinkRelationTypeIntervalstartedby |- -- | refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource [Time Ontology in OWL] section 4.2.35- LinkRelationTypeIntervalstarts |- -- | The target IRI points to a resource that is a member of the collection represented by the context IRI. [RFC6573]- LinkRelationTypeItem |- -- | An IRI that refers to the furthest following resource in a series of resources. [RFC8288] This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004.- LinkRelationTypeLast |- -- | Points to a resource containing the latest (e.g., current) version of the context. [RFC5829]- LinkRelationTypeLatest_version |- -- | Refers to a license associated with this context. [RFC4946] For implications of use in HTML, see: http://www.w3.org/TR/html5/links.html#link-type-license- LinkRelationTypeLicense |- -- | The link target of a link with the "linkset" relation type provides a set of links, including links in which the link context of the link participates. [RFC9264]- LinkRelationTypeLinkset |- -- | Refers to further information about the link's context, expressed as a LRDD ("Link-based Resource Descriptor Document") resource. See [RFC6415] for information about processing this relation type in host-meta documents. When used elsewhere, it refers to additional links and other metadata. Multiple instances indicate additional LRDD resources. LRDD resources MUST have an "application/xrd+xml" representation, and MAY have others. [RFC6415]- LinkRelationTypeLrdd |- -- | Links to a manifest file for the context. [Web App Manifest]- LinkRelationTypeManifest |- -- | Refers to a mask that can be applied to the icon for the context. [Creating Pinned Tab Icons]- LinkRelationTypeMask_icon |- -- | Refers to a feed of personalised media recommendations relevant to the link context. [https://wicg.github.io/media-feeds/#discovery-of-media-feeds]- LinkRelationTypeMedia_feed |- -- | The Target IRI points to a Memento, a fixed resource that will not change state anymore. [RFC7089] A Memento for an Original Resource is a resource that encapsulates a prior state of the Original Resource.- LinkRelationTypeMemento |- -- | Links to the context's Micropub endpoint. [Micropub]- LinkRelationTypeMicropub |- -- | Refers to a module that the user agent is to preemptively fetch and store for use in the current context. [HTML]- LinkRelationTypeModulepreload |- -- | Refers to a resource that can be used to monitor changes in an HTTP resource. [RFC5989]- LinkRelationTypeMonitor |- -- | Refers to a resource that can be used to monitor changes in a specified group of HTTP resources. [RFC5989]- LinkRelationTypeMonitor_group |- -- | Indicates that the link's context is a part of a series, and that the next in the series is the link target. [HTML]- LinkRelationTypeNext |- -- | Refers to the immediately following archive resource. [RFC5005]- LinkRelationTypeNext_archive |- -- | Indicates that the context's original author or publisher does not endorse the link target. [HTML]- LinkRelationTypeNofollow |- -- | Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context. [HTML]- LinkRelationTypeNoopener |- -- | Indicates that no referrer information is to be leaked when following the link. [HTML]- LinkRelationTypeNoreferrer |- -- | Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context. [HTML]- LinkRelationTypeOpener |- -- | Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier. [OpenID Authentication 2.0 - Final]- LinkRelationTypeOpenid2_local_id |- -- | Refers to a resource which accepts OpenID Authentication protocol messages for the context. [OpenID Authentication 2.0 - Final]- LinkRelationTypeOpenid2_provider |- -- | The Target IRI points to an Original Resource. [RFC7089] An Original Resource is a resource that exists or used to exist, and for which access to one of its prior states may be required.- LinkRelationTypeOriginal |- -- | Refers to a P3P privacy policy for the context. [The Platform for Privacy Preferences 1.0 (P3P1.0) Specification]- LinkRelationTypeP3pv1 |- -- | Indicates a resource where payment is accepted. [RFC8288] This relation type registration did not indicate a reference. Requested by Joshua Kinberg and Robert Sayre. It is meant as a general way to facilitate acts of payment, and thus this specification makes no assumptions on the type of payment or transaction protocol. Examples may include a web page where donations are accepted or where goods and services are available for purchase. rel="payment" is not intended to initiate an automated transaction. In Atom documents, a link element with a rel="payment" attribute may exist at the feed/channel level and/or the entry/item level. For example, a rel="payment" link at the feed/channel level may point to a "tip jar" URI, whereas an entry/ item containing a book review may include a rel="payment" link that points to the location where the book may be purchased through an online retailer.- LinkRelationTypePayment |- -- | Gives the address of the pingback resource for the link context. [Pingback 1.0]- LinkRelationTypePingback |- -- | Used to indicate an origin that will be used to fetch required resources for the link context. Initiating an early connection, which includes the DNS lookup, TCP handshake, and optional TLS negotiation, allows the user agent to mask the high latency costs of establishing a connection. [Resource Hints]- LinkRelationTypePreconnect |- -- | Points to a resource containing the predecessor version in the version history. [RFC5829]- LinkRelationTypePredecessor_version |- -- | The prefetch link relation type is used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch, such that the user agent can deliver a faster response once the resource is requested in the future. [Resource Hints]- LinkRelationTypePrefetch |- -- | Refers to a resource that should be loaded early in the processing of the link's context, without blocking rendering. [Preload] Additional target attributes establish the detailed fetch properties of the link.- LinkRelationTypePreload |- -- | Used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch and execute, such that the user agent can deliver a faster response once the resource is requested in the future. [Resource Hints]- LinkRelationTypePrerender |- -- | Indicates that the link's context is a part of a series, and that the previous in the series is the link target. [HTML]- LinkRelationTypePrev |- -- | Refers to a resource that provides a preview of the link's context. [RFC6903], section 3- LinkRelationTypePreview |- -- | Refers to the previous resource in an ordered series of resources. Synonym for "prev". [HTML 4.01 Specification]- LinkRelationTypePrevious |- -- | Refers to the immediately preceding archive resource. [RFC5005]- LinkRelationTypePrev_archive |- -- | Refers to a privacy policy associated with the link's context. [RFC6903], section 4- LinkRelationTypePrivacy_policy |- -- | Identifying that a resource representation conforms to a certain profile, without affecting the non-profile semantics of the resource representation. [RFC6906] Profile URIs are primarily intended to be used as identifiers, and thus clients SHOULD NOT indiscriminately access profile URIs.- LinkRelationTypeProfile |- -- | Links to a publication manifest. A manifest represents structured information about a publication, such as informative metadata, a list of resources, and a default reading order. [Publication Manifest]- LinkRelationTypePublication |- -- | Identifies a related resource. [RFC4287]- LinkRelationTypeRelated |- -- | Identifies the root of RESTCONF API as configured on this HTTP server. The "restconf" relation defines the root of the API defined in RFC8040. Subsequent revisions of RESTCONF will use alternate relation values to support protocol versioning. [RFC8040]- LinkRelationTypeRestconf |- -- | Identifies a resource that is a reply to the context of the link. [RFC4685]- LinkRelationTypeReplies |- -- | The resource identified by the link target provides an input value to an instance of a rule, where the resource which represents the rule instance is identified by the link context. [OCF Core Optional 2.2.0]- LinkRelationTypeRuleinput |- -- | Refers to a resource that can be used to search through the link's context and related resources. [OpenSearch]- LinkRelationTypeSearch |- -- | Refers to a section in a collection of resources. [HTML 4.01 Specification]- LinkRelationTypeSection |- -- | Conveys an identifier for the link's context. [RFC4287]- LinkRelationTypeSelf |- -- | Indicates a URI that can be used to retrieve a service document. [RFC5023] When used in an Atom document, this relation type specifies Atom Publishing Protocol service documents by default. Requested by James Snell.- LinkRelationTypeService |- -- | Identifies service description for the context that is primarily intended for consumption by machines. [RFC8631]- LinkRelationTypeService_desc |- -- | Identifies service documentation for the context that is primarily intended for human consumption. [RFC8631]- LinkRelationTypeService_doc |- -- | Identifies general metadata for the context that is primarily intended for consumption by machines. [RFC8631]- LinkRelationTypeService_meta |- -- | refers to a capability document that defines parameters or configuration requirements for automated peering and communication channel negotiation of the Session Initiation Protocol (SIP). [draft-engi-siptrunkingcapability-link]- LinkRelationTypeSiptrunkingcapability |- -- | Refers to a resource that is within a context that is sponsored (such as advertising or another compensation agreement). [Google Blog post 09-2019]- LinkRelationTypeSponsored |- -- | Refers to the first resource in a collection of resources. [HTML 4.01 Specification]- LinkRelationTypeStart |- -- | Identifies a resource that represents the context's status. [RFC8631]- LinkRelationTypeStatus |- -- | Refers to a stylesheet. [HTML]- LinkRelationTypeStylesheet |- -- | Refers to a resource serving as a subsection in a collection of resources. [HTML 4.01 Specification]- LinkRelationTypeSubsection |- -- | Points to a resource containing the successor version in the version history. [RFC5829]- LinkRelationTypeSuccessor_version |- -- | Identifies a resource that provides information about the context's retirement policy. [RFC8594]- LinkRelationTypeSunset |- -- | Gives a tag (identified by the given address) that applies to the current document. [HTML]- LinkRelationTypeTag |- -- | Refers to the terms of service associated with the link's context. [RFC6903], section 5- LinkRelationTypeTerms_of_service |- -- | The Target IRI points to a TimeGate for an Original Resource. [RFC7089] A TimeGate for an Original Resource is a resource that is capable of datetime negotiation to support access to prior states of the Original Resource.- LinkRelationTypeTimegate |- -- | The Target IRI points to a TimeMap for an Original Resource. [RFC7089] A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available.- LinkRelationTypeTimemap |- -- | Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance. [RFC6903], section 6- LinkRelationTypeType |- -- | Refers to a resource that is within a context that is User Generated Content. [Google Blog post 09-2019]- LinkRelationTypeUgc |- -- | Refers to a parent document in a hierarchy of documents. [RFC8288] This relation type registration did not indicate a reference. Requested by Noah Slater.- LinkRelationTypeUp |- -- | Points to a resource containing the version history for the context. [RFC5829]- LinkRelationTypeVersion_history |- -- | Identifies a resource that is the source of the information in the link's context. [RFC4287]- LinkRelationTypeVia |- -- | Identifies a target URI that supports the Webmention protocol. This allows clients that mention a resource in some form of publishing process to contact that endpoint and inform it that this resource has been mentioned. [Webmention] This is a similar "Linkback" mechanism to the ones of Refback, Trackback, and Pingback. It uses a different protocol, though, and thus should be discoverable through its own link relation type.- LinkRelationTypeWebmention |- -- | Points to a working copy for this resource. [RFC5829]- LinkRelationTypeWorking_copy |- -- | Points to the versioned resource from which this working copy was obtained. [RFC5829]- LinkRelationTypeWorking_copy_of- deriving (Eq, Ord, Read, Show)--_LinkRelationType = Core.Name "hydra.iana.linkrelations.LinkRelationType"--_LinkRelationType_about = Core.Name "about"--_LinkRelationType_acl = Core.Name "acl"--_LinkRelationType_alternate = Core.Name "alternate"--_LinkRelationType_amphtml = Core.Name "amphtml"--_LinkRelationType_appendix = Core.Name "appendix"--_LinkRelationType_apple_touch_icon = Core.Name "apple-touch-icon"--_LinkRelationType_apple_touch_startup_image = Core.Name "apple-touch-startup-image"--_LinkRelationType_archives = Core.Name "archives"--_LinkRelationType_author = Core.Name "author"--_LinkRelationType_blocked_by = Core.Name "blocked-by"--_LinkRelationType_bookmark = Core.Name "bookmark"--_LinkRelationType_canonical = Core.Name "canonical"--_LinkRelationType_chapter = Core.Name "chapter"--_LinkRelationType_cite_as = Core.Name "cite-as"--_LinkRelationType_collection = Core.Name "collection"--_LinkRelationType_contents = Core.Name "contents"--_LinkRelationType_convertedfrom = Core.Name "convertedfrom"--_LinkRelationType_copyright = Core.Name "copyright"--_LinkRelationType_create_form = Core.Name "create-form"--_LinkRelationType_current = Core.Name "current"--_LinkRelationType_describedby = Core.Name "describedby"--_LinkRelationType_describes = Core.Name "describes"--_LinkRelationType_disclosure = Core.Name "disclosure"--_LinkRelationType_dns_prefetch = Core.Name "dns-prefetch"--_LinkRelationType_duplicate = Core.Name "duplicate"--_LinkRelationType_edit = Core.Name "edit"--_LinkRelationType_edit_form = Core.Name "edit-form"--_LinkRelationType_edit_media = Core.Name "edit-media"--_LinkRelationType_enclosure = Core.Name "enclosure"--_LinkRelationType_external = Core.Name "external"--_LinkRelationType_first = Core.Name "first"--_LinkRelationType_glossary = Core.Name "glossary"--_LinkRelationType_help = Core.Name "help"--_LinkRelationType_hosts = Core.Name "hosts"--_LinkRelationType_hub = Core.Name "hub"--_LinkRelationType_icon = Core.Name "icon"--_LinkRelationType_index = Core.Name "index"--_LinkRelationType_intervalafter = Core.Name "intervalafter"--_LinkRelationType_intervalbefore = Core.Name "intervalbefore"--_LinkRelationType_intervalcontains = Core.Name "intervalcontains"--_LinkRelationType_intervaldisjoint = Core.Name "intervaldisjoint"--_LinkRelationType_intervalduring = Core.Name "intervalduring"--_LinkRelationType_intervalequals = Core.Name "intervalequals"--_LinkRelationType_intervalfinishedby = Core.Name "intervalfinishedby"--_LinkRelationType_intervalfinishes = Core.Name "intervalfinishes"--_LinkRelationType_intervalin = Core.Name "intervalin"--_LinkRelationType_intervalmeets = Core.Name "intervalmeets"--_LinkRelationType_intervalmetby = Core.Name "intervalmetby"--_LinkRelationType_intervaloverlappedby = Core.Name "intervaloverlappedby"--_LinkRelationType_intervaloverlaps = Core.Name "intervaloverlaps"--_LinkRelationType_intervalstartedby = Core.Name "intervalstartedby"--_LinkRelationType_intervalstarts = Core.Name "intervalstarts"--_LinkRelationType_item = Core.Name "item"--_LinkRelationType_last = Core.Name "last"--_LinkRelationType_latest_version = Core.Name "latest-version"--_LinkRelationType_license = Core.Name "license"--_LinkRelationType_linkset = Core.Name "linkset"--_LinkRelationType_lrdd = Core.Name "lrdd"--_LinkRelationType_manifest = Core.Name "manifest"--_LinkRelationType_mask_icon = Core.Name "mask-icon"--_LinkRelationType_media_feed = Core.Name "media-feed"--_LinkRelationType_memento = Core.Name "memento"--_LinkRelationType_micropub = Core.Name "micropub"--_LinkRelationType_modulepreload = Core.Name "modulepreload"--_LinkRelationType_monitor = Core.Name "monitor"--_LinkRelationType_monitor_group = Core.Name "monitor-group"--_LinkRelationType_next = Core.Name "next"--_LinkRelationType_next_archive = Core.Name "next-archive"--_LinkRelationType_nofollow = Core.Name "nofollow"--_LinkRelationType_noopener = Core.Name "noopener"--_LinkRelationType_noreferrer = Core.Name "noreferrer"--_LinkRelationType_opener = Core.Name "opener"--_LinkRelationType_openid2_local_id = Core.Name "openid2.local_id"--_LinkRelationType_openid2_provider = Core.Name "openid2.provider"--_LinkRelationType_original = Core.Name "original"--_LinkRelationType_p3pv1 = Core.Name "p3pv1"--_LinkRelationType_payment = Core.Name "payment"--_LinkRelationType_pingback = Core.Name "pingback"--_LinkRelationType_preconnect = Core.Name "preconnect"--_LinkRelationType_predecessor_version = Core.Name "predecessor-version"--_LinkRelationType_prefetch = Core.Name "prefetch"--_LinkRelationType_preload = Core.Name "preload"--_LinkRelationType_prerender = Core.Name "prerender"--_LinkRelationType_prev = Core.Name "prev"--_LinkRelationType_preview = Core.Name "preview"--_LinkRelationType_previous = Core.Name "previous"--_LinkRelationType_prev_archive = Core.Name "prev-archive"--_LinkRelationType_privacy_policy = Core.Name "privacy-policy"--_LinkRelationType_profile = Core.Name "profile"--_LinkRelationType_publication = Core.Name "publication"--_LinkRelationType_related = Core.Name "related"--_LinkRelationType_restconf = Core.Name "restconf"--_LinkRelationType_replies = Core.Name "replies"--_LinkRelationType_ruleinput = Core.Name "ruleinput"--_LinkRelationType_search = Core.Name "search"--_LinkRelationType_section = Core.Name "section"--_LinkRelationType_self = Core.Name "self"--_LinkRelationType_service = Core.Name "service"--_LinkRelationType_service_desc = Core.Name "service-desc"--_LinkRelationType_service_doc = Core.Name "service-doc"--_LinkRelationType_service_meta = Core.Name "service-meta"--_LinkRelationType_siptrunkingcapability = Core.Name "siptrunkingcapability"--_LinkRelationType_sponsored = Core.Name "sponsored"--_LinkRelationType_start = Core.Name "start"--_LinkRelationType_status = Core.Name "status"--_LinkRelationType_stylesheet = Core.Name "stylesheet"--_LinkRelationType_subsection = Core.Name "subsection"--_LinkRelationType_successor_version = Core.Name "successor-version"--_LinkRelationType_sunset = Core.Name "sunset"--_LinkRelationType_tag = Core.Name "tag"--_LinkRelationType_terms_of_service = Core.Name "terms-of-service"--_LinkRelationType_timegate = Core.Name "timegate"--_LinkRelationType_timemap = Core.Name "timemap"--_LinkRelationType_type = Core.Name "type"--_LinkRelationType_ugc = Core.Name "ugc"--_LinkRelationType_up = Core.Name "up"--_LinkRelationType_version_history = Core.Name "version-history"--_LinkRelationType_via = Core.Name "via"--_LinkRelationType_webmention = Core.Name "webmention"--_LinkRelationType_working_copy = Core.Name "working-copy"--_LinkRelationType_working_copy_of = Core.Name "working-copy-of"
− src/main/haskell/Hydra/Json/Schema/Coder.hs
@@ -1,286 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | JSON Schema code generator: converts Hydra modules to JSON Schema documents--module Hydra.Json.Schema.Coder where--import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Dependencies as Dependencies-import qualified Hydra.Docs as Docs-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Model as Model-import qualified Hydra.Json.Schema.Model as SchemaModel-import qualified Hydra.Json.Schema.Serde as Serde-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.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.Predicates as Predicates-import qualified Hydra.Print.Variants as PrintVariants-import qualified Hydra.Query as Query-import qualified Hydra.Reflect as Reflect-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Construct JSON Schema documents from type definitions-constructModule :: t0 -> Graph.Graph -> t1 -> [Packaging.TypeDefinition] -> Either Errors.Error (M.Map String SchemaModel.Document)-constructModule cx g mod typeDefs =-- let typeBody = \td -> Core.typeSchemeBody (Packaging.typeDefinitionBody td)- typeMap = Maps.fromList (Lists.map (\td -> (Packaging.typeDefinitionName td, (typeBody td))) typeDefs)- in (Eithers.map (\ps -> Maps.fromList ps) (Eithers.mapList (\td -> typeDefToDocument cx g typeMap (Packaging.typeDefinitionName td) (typeBody td)) typeDefs))---- | Build a single-property record Schema for one branch of an Either oneOf-eitherBranch :: String -> [SchemaModel.Restriction] -> SchemaModel.Schema-eitherBranch label res =- SchemaModel.Schema [- SchemaModel.RestrictionType (SchemaModel.TypeSingle SchemaModel.TypeNameObject),- (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.singleton (SchemaModel.Keyword label) (SchemaModel.Schema res)))),- (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired [- SchemaModel.Keyword label])),- (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False)))]---- | Encode a field type as a JSON Schema keyword-schema pair-encodeField :: t0 -> Graph.Graph -> Core.FieldType -> Either Errors.Error (SchemaModel.Keyword, SchemaModel.Schema)-encodeField cx g ft =-- let name = Core.fieldTypeName ft- typ = Core.fieldTypeType ft- in (Eithers.map (\res -> (SchemaModel.Keyword (Core.unName name), (SchemaModel.Schema res))) (typeToExpr cx g False typ))---- | Encode a Hydra name as a safe identifier string, replacing non-alphanumeric characters with underscores-encodeName :: Core.Name -> String-encodeName name = Formatting.nonAlnumToUnderscores (Core.unName name)---- | Encode a named type as a list of JSON Schema restrictions with a title-encodeNamedType :: t0 -> Graph.Graph -> Core.Name -> Core.Type -> Either Errors.Error [SchemaModel.Restriction]-encodeNamedType cx g name typ =- Eithers.map (\res -> Lists.concat [- [- SchemaModel.RestrictionTitle (Core.unName name)],- res]) (typeToExpr cx g False (Strip.deannotateType typ))---- | Encode a record or union as a list of JSON Schema object restrictions; isUnion adds min/maxProperties=1-encodeRecordOrUnion :: t0 -> Graph.Graph -> Bool -> Bool -> [Core.FieldType] -> Either Errors.Error [SchemaModel.Restriction]-encodeRecordOrUnion cx g optional isUnion fields =- Eithers.bind (Eithers.mapList (\ft -> encodeField cx g ft) fields) (\props ->- let objRes = [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.fromList props))]- reqs =- Lists.foldl (\acc -> \f -> Logic.ifElse (isRequiredField f) (Lists.concat2 acc [- SchemaModel.Keyword (Core.unName (Core.fieldTypeName f))]) acc) [] fields- reqRes =- Logic.ifElse (Lists.isEmpty reqs) [] [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired reqs)]- addPropsRes =- [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False))]- cardRes =- Logic.ifElse isUnion [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionMinProperties 1),- (SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionMaxProperties 1))] []- in (Right (Lists.concat [- jsType optional SchemaModel.TypeNameObject,- objRes,- reqRes,- addPropsRes,- cardRes])))---- | Encode a union type, splitting unit-typed (simple) variants into a string-enum branch-encodeUnion :: t0 -> Graph.Graph -> Bool -> [Core.FieldType] -> Either Errors.Error [SchemaModel.Restriction]-encodeUnion cx g optional fields =-- let isSimple = \f -> Predicates.isUnitType (Strip.deannotateType (Core.fieldTypeType f))- simple = Lists.filter isSimple fields- nonsimple = Lists.filter (\f -> Logic.not (isSimple f)) fields- in (Logic.ifElse (Lists.isEmpty simple) (encodeRecordOrUnion cx g optional True fields) (Eithers.bind (encodeRecordOrUnion cx g False True nonsimple) (\recRes ->- let names = Lists.map (\f -> Core.unName (Core.fieldTypeName f)) simple- simpleSchema =- SchemaModel.Schema [- SchemaModel.RestrictionType (SchemaModel.TypeSingle SchemaModel.TypeNameString),- (SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionEnum (Lists.map (\n -> Model.ValueString n) names)))]- in (Right [- SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionOneOf [- SchemaModel.Schema recRes,- simpleSchema])]))))---- | Determine whether a field is required (i.e., not optional/Maybe)-isRequiredField :: Core.FieldType -> Bool-isRequiredField ft =-- let typ = Core.fieldTypeType ft- in case (Strip.deannotateType typ) of- Core.TypeOptional _ -> False- _ -> True---- | Build the JSON Schema type-restriction list for a type name, optionally widening to allow null-jsType :: Bool -> SchemaModel.TypeName -> [SchemaModel.Restriction]-jsType optional tname =- [- SchemaModel.RestrictionType (Logic.ifElse optional (SchemaModel.TypeMultiple [- tname,- SchemaModel.TypeNameNull]) (SchemaModel.TypeSingle tname))]---- | Map a Hydra literal type to a JSON Schema type name-literalTypeName :: Core.LiteralType -> SchemaModel.TypeName-literalTypeName lt =- case lt of- Core.LiteralTypeBinary -> SchemaModel.TypeNameString- Core.LiteralTypeBoolean -> SchemaModel.TypeNameBoolean- Core.LiteralTypeFloat _ -> SchemaModel.TypeNameNumber- Core.LiteralTypeInteger _ -> SchemaModel.TypeNameInteger- Core.LiteralTypeString -> SchemaModel.TypeNameString- _ -> SchemaModel.TypeNameString---- | Convert a Hydra module to a map from file path to JSON Schema document string-moduleToJsonSchema :: t0 -> [Packaging.Definition] -> t1 -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToJsonSchema mod defs cx g =-- let partitioned = Environment.partitionDefinitions defs- typeDefs = Pairs.first partitioned- in (Eithers.map (\docs -> Maps.map (\doc -> Serde.jsonSchemaDocumentToString doc) docs) (constructModule cx g mod typeDefs))---- | Compute the JSON Schema output file path for a named type-nameToPath :: Core.Name -> String-nameToPath name =-- let qn = Names.qualifyName name- mns = Util.qualifiedNameModuleName qn- local = Util.qualifiedNameLocal qn- nsPart = Optionals.match mns "" (\ns -> Strings.concat2 (Packaging.unModuleName ns) ".")- in (Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "json") (Packaging.ModuleName (Strings.concat2 nsPart local)))---- | Build the JSON Schema restriction list for a pair type-pairRestrictions :: Bool -> [SchemaModel.Restriction] -> [SchemaModel.Restriction] -> [SchemaModel.Restriction]-pairRestrictions optional firstRes secondRes =- Lists.concat [- jsType optional SchemaModel.TypeNameObject,- [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionProperties (Maps.fromList [- (SchemaModel.Keyword "first", (SchemaModel.Schema firstRes)),- (SchemaModel.Keyword "second", (SchemaModel.Schema secondRes))]))],- [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionRequired [- SchemaModel.Keyword "first",- (SchemaModel.Keyword "second")])],- [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsAny False))]]---- | Create a JSON Schema reference restriction for a named type-referenceRestriction :: Core.Name -> SchemaModel.Restriction-referenceRestriction name =- SchemaModel.RestrictionReference (SchemaModel.SchemaReference (Strings.concat [- "#/$defs/",- (encodeName name)]))---- | Walk the transitive named-type dependency closure of a root type through typeMap; the visited set guards against cycles in self-/mutually-recursive types-transitiveTypeDeps :: M.Map Core.Name Core.Type -> S.Set Core.Name -> Core.Type -> S.Set Core.Name-transitiveTypeDeps typeMap visited rootType =-- let directDeps = Dependencies.typeDependencyNames True rootType- step =- \acc -> \n -> Logic.ifElse (Sets.member n acc) acc (- let acc1 = Sets.insert n acc- in (Optionals.match (Maps.lookup n typeMap) acc1 (\t -> transitiveTypeDeps typeMap acc1 t)))- in (Lists.foldl step visited (Sets.toList directDeps))---- | Build a JSON Schema document for a single named type, with $defs covering its transitive dependencies and short-name substitution applied-typeDefToDocument :: t0 -> Graph.Graph -> M.Map Core.Name Core.Type -> Core.Name -> Core.Type -> Either Errors.Error (String, SchemaModel.Document)-typeDefToDocument cx g typeMap rootName rootType =-- let depNames = Sets.toList (transitiveTypeDeps typeMap Sets.empty rootType)- allNames = Lists.concat2 [- rootName] (Lists.filter (\n -> Logic.not (Equality.equal n rootName)) depNames)- allTypes = Lists.map (\n -> Optionals.withDefault (Core.TypeVariable n) (Maps.lookup n typeMap)) allNames- nameSubst = Dependencies.toShortNames allNames- types = Lists.map (\t -> Variables.substituteTypeVariables nameSubst t) allTypes- names = Lists.map (\n -> Optionals.withDefault n (Maps.lookup n nameSubst)) allNames- subRoot = Optionals.withDefault rootName (Maps.lookup rootName nameSubst)- pairs = Lists.zip names types- in (Eithers.bind (Eithers.mapList (\p -> typeToKeywordSchemaPair cx g (Pairs.first p) (Pairs.second p)) pairs) (\schemas -> Right (- nameToPath rootName,- SchemaModel.Document {- SchemaModel.documentId = Nothing,- SchemaModel.documentDefinitions = (Just (Maps.fromList schemas)),- SchemaModel.documentRoot = (SchemaModel.Schema [- referenceRestriction subRoot])})))---- | Encode a Hydra type as a list of JSON Schema restrictions-typeToExpr :: t0 -> Graph.Graph -> Bool -> Core.Type -> Either Errors.Error [SchemaModel.Restriction]-typeToExpr cx g optional typ =- case typ of- Core.TypeAnnotated _ -> Eithers.bind (typeToExpr cx g optional (Strip.deannotateType typ)) (\res -> Eithers.bind (Annotations.getTypeDescription cx g typ) (\mdesc -> Right (Lists.concat2 (Optionals.match mdesc [] (\d -> [- SchemaModel.RestrictionDescription d])) res)))- Core.TypeApplication v0 -> typeToExpr cx g optional (Core.applicationTypeFunction v0)- Core.TypeEither v0 ->- let lt = Core.eitherTypeLeft v0- rt = Core.eitherTypeRight v0- in (Eithers.bind (typeToExpr cx g False lt) (\leftRes -> Eithers.bind (typeToExpr cx g False rt) (\rightRes -> Right [- SchemaModel.RestrictionMultiple (SchemaModel.MultipleRestrictionOneOf [- eitherBranch "left" leftRes,- (eitherBranch "right" rightRes)])])))- Core.TypeForall v0 -> typeToExpr cx g optional (Core.forallTypeBody v0)- Core.TypeList v0 -> Eithers.bind (typeToExpr cx g False v0) (\els -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameArray) [- SchemaModel.RestrictionArray (SchemaModel.ArrayRestrictionItems (SchemaModel.ItemsSameItems (SchemaModel.Schema els)))]))- Core.TypeLiteral v0 -> Right (jsType optional (literalTypeName v0))- Core.TypeMap v0 ->- let vt = Core.mapTypeValues v0- in (Eithers.bind (typeToExpr cx g False vt) (\vRes -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameObject) [- SchemaModel.RestrictionObject (SchemaModel.ObjectRestrictionAdditionalProperties (SchemaModel.AdditionalItemsSchema (SchemaModel.Schema vRes)))])))- Core.TypeOptional v0 -> typeToExpr cx g True v0- Core.TypePair v0 ->- let ft = Core.pairTypeFirst v0- st = Core.pairTypeSecond v0- in (Eithers.bind (typeToExpr cx g False ft) (\firstRes -> Eithers.bind (typeToExpr cx g False st) (\secondRes -> Right (pairRestrictions optional firstRes secondRes))))- Core.TypeRecord v0 -> encodeRecordOrUnion cx g optional False v0- Core.TypeSet v0 -> Eithers.bind (typeToExpr cx g False v0) (\els -> Right (Lists.concat2 (jsType optional SchemaModel.TypeNameArray) [- SchemaModel.RestrictionArray (SchemaModel.ArrayRestrictionItems (SchemaModel.ItemsSameItems (SchemaModel.Schema els)))]))- Core.TypeUnion v0 -> encodeUnion cx g optional v0- Core.TypeVariable v0 -> Right [- referenceRestriction v0]- Core.TypeWrap v0 -> typeToExpr cx g optional v0- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "JSON Schema: unsupported type variant: " (PrintVariants.typeVariant (Reflect.typeVariant typ)))))---- | Build a (Keyword, Schema) pair for a named type, used as a $defs entry-typeToKeywordSchemaPair :: t0 -> Graph.Graph -> Core.Name -> Core.Type -> Either Errors.Error (SchemaModel.Keyword, SchemaModel.Schema)-typeToKeywordSchemaPair cx g name typ =- Eithers.map (\res -> (SchemaModel.Keyword (encodeName name), (SchemaModel.Schema res))) (encodeNamedType cx g name typ)
− src/main/haskell/Hydra/Json/Schema/Language.hs
@@ -1,98 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints for JSON Schema--module Hydra.Json.Schema.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Reflect as Reflect-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for JSON Schema-jsonSchemaLanguage :: Coders.Language-jsonSchemaLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.json.schema"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "json")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes = Sets.fromList [- Core.FloatTypeFloat64]- integerTypes = Sets.fromList [- Core.IntegerTypeBigint]- termVariants = Sets.fromList Reflect.termVariants- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantApplication,- Variants.TypeVariantEither,- Variants.TypeVariantForall,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantPair,- Variants.TypeVariantRecord,- Variants.TypeVariantSet,- Variants.TypeVariantUnion,- Variants.TypeVariantVariable,- Variants.TypeVariantWrap]- typePredicate = \_ -> True
− src/main/haskell/Hydra/Json/Schema/Model.hs
@@ -1,280 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for JSON Schema. Based on https://cswr.github.io/JsonSchema/spec/grammar--module Hydra.Json.Schema.Model where--import qualified Hydra.Core as Core-import qualified Hydra.Json.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-import qualified Data.Map as M---- | Whether additional array items beyond those explicitly typed are permitted, and if so, their schema-data AdditionalItems =- AdditionalItemsAny Bool |- AdditionalItemsSchema Schema- deriving (Eq, Ord, Read, Show)--_AdditionalItems = Core.Name "hydra.json.schema.model.AdditionalItems"--_AdditionalItems_any = Core.Name "any"--_AdditionalItems_schema = Core.Name "schema"---- | A restriction on array-typed values: items, additionalItems, minItems, maxItems, or uniqueItems-data ArrayRestriction =- ArrayRestrictionItems Items |- ArrayRestrictionAdditionalItems AdditionalItems |- ArrayRestrictionMinItems Int |- ArrayRestrictionMaxItems Int |- ArrayRestrictionUniqueItems Bool- deriving (Eq, Ord, Read, Show)--_ArrayRestriction = Core.Name "hydra.json.schema.model.ArrayRestriction"--_ArrayRestriction_items = Core.Name "items"--_ArrayRestriction_additionalItems = Core.Name "additionalItems"--_ArrayRestriction_minItems = Core.Name "minItems"--_ArrayRestriction_maxItems = Core.Name "maxItems"--_ArrayRestriction_uniqueItems = Core.Name "uniqueItems"---- | A JSON Schema document: an optional id, optional local definitions, and a root schema-data Document =- Document {- documentId :: (Maybe String),- documentDefinitions :: (Maybe (M.Map Keyword Schema)),- documentRoot :: Schema}- deriving (Eq, Ord, Read, Show)--_Document = Core.Name "hydra.json.schema.model.Document"--_Document_id = Core.Name "id"--_Document_definitions = Core.Name "definitions"--_Document_root = Core.Name "root"---- | The schema(s) for array items: either a single schema shared by all items, or one schema per item-data Items =- ItemsSameItems Schema |- ItemsVarItems [Schema]- deriving (Eq, Ord, Read, Show)--_Items = Core.Name "hydra.json.schema.model.Items"--_Items_sameItems = Core.Name "sameItems"--_Items_varItems = Core.Name "varItems"---- | A property name used as a key in a JSON Schema keyword-to-schema map-newtype Keyword =- Keyword {- unKeyword :: String}- deriving (Eq, Ord, Read, Show)--_Keyword = Core.Name "hydra.json.schema.model.Keyword"---- | A numeric bound with a flag indicating whether the bound itself is excluded-data Limit =- Limit {- limitValue :: Int,- limitExclusive :: Bool}- deriving (Eq, Ord, Read, Show)--_Limit = Core.Name "hydra.json.schema.model.Limit"--_Limit_value = Core.Name "value"--_Limit_exclusive = Core.Name "exclusive"---- | A restriction combining multiple schemas: allOf, anyOf, oneOf, not, or enum-data MultipleRestriction =- MultipleRestrictionAllOf [Schema] |- MultipleRestrictionAnyOf [Schema] |- MultipleRestrictionOneOf [Schema] |- MultipleRestrictionNot Schema |- MultipleRestrictionEnum [Model.Value]- deriving (Eq, Ord, Read, Show)--_MultipleRestriction = Core.Name "hydra.json.schema.model.MultipleRestriction"--_MultipleRestriction_allOf = Core.Name "allOf"--_MultipleRestriction_anyOf = Core.Name "anyOf"--_MultipleRestriction_oneOf = Core.Name "oneOf"--_MultipleRestriction_not = Core.Name "not"--_MultipleRestriction_enum = Core.Name "enum"---- | A restriction on numeric-typed values: a minimum, a maximum, or a multipleOf constraint-data NumericRestriction =- NumericRestrictionMinimum Limit |- NumericRestrictionMaximum Limit |- NumericRestrictionMultipleOf Int- deriving (Eq, Ord, Read, Show)--_NumericRestriction = Core.Name "hydra.json.schema.model.NumericRestriction"--_NumericRestriction_minimum = Core.Name "minimum"--_NumericRestriction_maximum = Core.Name "maximum"--_NumericRestriction_multipleOf = Core.Name "multipleOf"---- | A restriction on object-typed values: properties, additionalProperties, required, and related keywords-data ObjectRestriction =- ObjectRestrictionProperties (M.Map Keyword Schema) |- ObjectRestrictionAdditionalProperties AdditionalItems |- ObjectRestrictionRequired [Keyword] |- ObjectRestrictionMinProperties Int |- ObjectRestrictionMaxProperties Int |- ObjectRestrictionDependencies (M.Map Keyword SchemaOrArray) |- ObjectRestrictionPatternProperties (M.Map RegularExpression Schema)- deriving (Eq, Ord, Read, Show)--_ObjectRestriction = Core.Name "hydra.json.schema.model.ObjectRestriction"--_ObjectRestriction_properties = Core.Name "properties"--_ObjectRestriction_additionalProperties = Core.Name "additionalProperties"--_ObjectRestriction_required = Core.Name "required"--_ObjectRestriction_minProperties = Core.Name "minProperties"--_ObjectRestriction_maxProperties = Core.Name "maxProperties"--_ObjectRestriction_dependencies = Core.Name "dependencies"--_ObjectRestriction_patternProperties = Core.Name "patternProperties"---- | A regular expression pattern, as used by the pattern and patternProperties keywords-newtype RegularExpression =- RegularExpression {- unRegularExpression :: String}- deriving (Eq, Ord, Read, Show)--_RegularExpression = Core.Name "hydra.json.schema.model.RegularExpression"---- | A single JSON Schema restriction: a type, value restriction, reference, title, or description-data Restriction =- RestrictionType Type |- RestrictionString StringRestriction |- RestrictionNumber NumericRestriction |- RestrictionArray ArrayRestriction |- RestrictionObject ObjectRestriction |- RestrictionMultiple MultipleRestriction |- RestrictionReference SchemaReference |- RestrictionTitle String |- RestrictionDescription String- deriving (Eq, Ord, Read, Show)--_Restriction = Core.Name "hydra.json.schema.model.Restriction"--_Restriction_type = Core.Name "type"--_Restriction_string = Core.Name "string"--_Restriction_number = Core.Name "number"--_Restriction_array = Core.Name "array"--_Restriction_object = Core.Name "object"--_Restriction_multiple = Core.Name "multiple"--_Restriction_reference = Core.Name "reference"--_Restriction_title = Core.Name "title"--_Restriction_description = Core.Name "description"---- | A JSON schema: a non-empty list of restrictions that a conforming value must satisfy-newtype Schema =- Schema {- unSchema :: [Restriction]}- deriving (Eq, Ord, Read, Show)--_Schema = Core.Name "hydra.json.schema.model.Schema"---- | A dependency value: either a schema, or a list of required keyword names-data SchemaOrArray =- SchemaOrArraySchema Schema |- SchemaOrArrayArray [Keyword]- deriving (Eq, Ord, Read, Show)--_SchemaOrArray = Core.Name "hydra.json.schema.model.SchemaOrArray"--_SchemaOrArray_schema = Core.Name "schema"--_SchemaOrArray_array = Core.Name "array"---- | A reference to another schema by URI-newtype SchemaReference =- SchemaReference {- unSchemaReference :: String}- deriving (Eq, Ord, Read, Show)--_SchemaReference = Core.Name "hydra.json.schema.model.SchemaReference"---- | A restriction on string-typed values: minLength, maxLength, or pattern-data StringRestriction =- StringRestrictionMinLength Int |- StringRestrictionMaxLength Int |- StringRestrictionPattern RegularExpression- deriving (Eq, Ord, Read, Show)--_StringRestriction = Core.Name "hydra.json.schema.model.StringRestriction"--_StringRestriction_minLength = Core.Name "minLength"--_StringRestriction_maxLength = Core.Name "maxLength"--_StringRestriction_pattern = Core.Name "pattern"---- | A type restriction: a single type name, or a list of alternative type names-data Type =- TypeSingle TypeName |- TypeMultiple [TypeName]- deriving (Eq, Ord, Read, Show)--_Type = Core.Name "hydra.json.schema.model.Type"--_Type_single = Core.Name "single"--_Type_multiple = Core.Name "multiple"---- | The name of a JSON Schema primitive type-data TypeName =- TypeNameString |- TypeNameInteger |- TypeNameNumber |- TypeNameBoolean |- TypeNameNull |- TypeNameArray |- TypeNameObject- deriving (Eq, Ord, Read, Show)--_TypeName = Core.Name "hydra.json.schema.model.TypeName"--_TypeName_string = Core.Name "string"--_TypeName_integer = Core.Name "integer"--_TypeName_number = Core.Name "number"--_TypeName_boolean = Core.Name "boolean"--_TypeName_null = Core.Name "null"--_TypeName_array = Core.Name "array"--_TypeName_object = Core.Name "object"
− src/main/haskell/Hydra/Json/Schema/Serde.hs
@@ -1,384 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Serialization functions for converting JSON Schema documents to JSON values--module Hydra.Json.Schema.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Schema.Model as SchemaModel-import qualified Hydra.Json.Writer as Writer-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.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Encode additional items as a JSON value-additionalItemsToExpr :: SchemaModel.AdditionalItems -> Model.Value-additionalItemsToExpr ai =- case ai of- SchemaModel.AdditionalItemsAny v0 -> Model.ValueBoolean v0- SchemaModel.AdditionalItemsSchema v0 -> schemaToExpr v0---- | Encode an array restriction as a key-value pair-arrayRestrictionToExpr :: SchemaModel.ArrayRestriction -> (String, Model.Value)-arrayRestrictionToExpr r =- case r of- SchemaModel.ArrayRestrictionItems v0 -> itemsToExpr v0- SchemaModel.ArrayRestrictionAdditionalItems v0 -> (keyAdditionalItems, (additionalItemsToExpr v0))- SchemaModel.ArrayRestrictionMinItems v0 -> (keyMinItems, (integerToExpr v0))- SchemaModel.ArrayRestrictionMaxItems v0 -> (keyMaxItems, (integerToExpr v0))- SchemaModel.ArrayRestrictionUniqueItems v0 -> (keyUniqueItems, (Model.ValueBoolean v0))---- | Extract a name-keyed map from a JSON object value (field order is dropped)-fromObject :: Model.Value -> M.Map String Model.Value-fromObject v =- case v of- Model.ValueObject v0 -> Maps.fromList v0---- | Encode an integer as a JSON number value-integerToExpr :: Int -> Model.Value-integerToExpr n = Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint n))---- | Encode items as a key-value pair-itemsToExpr :: SchemaModel.Items -> (String, Model.Value)-itemsToExpr items =- (- keyItems,- case items of- SchemaModel.ItemsSameItems v0 -> schemaToExpr v0- SchemaModel.ItemsVarItems v0 -> Model.ValueArray (Lists.map schemaToExpr v0))---- | Convert a JSON Schema document to a JSON value-jsonSchemaDocumentToJsonValue :: SchemaModel.Document -> Model.Value-jsonSchemaDocumentToJsonValue doc =-- let mid = SchemaModel.documentId doc- mdefs = SchemaModel.documentDefinitions doc- root = SchemaModel.documentRoot doc- schemaMap = fromObject (schemaToExpr root)- restMap =- fromObject (toObject [- (keyId, (Optionals.map (\i -> Model.ValueString i) mid)),- (keySchema, (Optionals.given (Model.ValueString "http://json-schema.org/2020-12/schema"))),- (- keyDefinitions,- (Optionals.map (\mp -> Model.ValueObject (Lists.map (\p ->- let k = Pairs.first p- schema = Pairs.second p- in (SchemaModel.unKeyword k, (schemaToExpr schema))) (Maps.toList mp))) mdefs))])- in (Model.ValueObject (Maps.toList (Maps.union schemaMap restMap)))---- | Convert a JSON Schema document to a JSON string-jsonSchemaDocumentToString :: SchemaModel.Document -> String-jsonSchemaDocumentToString doc = Writer.printJson (jsonSchemaDocumentToJsonValue doc)---- | The JSON Schema "additionalItems" keyword-keyAdditionalItems :: String-keyAdditionalItems = "additionalItems"---- | The JSON Schema "additionalProperties" keyword-keyAdditionalProperties :: String-keyAdditionalProperties = "additionalProperties"---- | The JSON Schema "allOf" keyword-keyAllOf :: String-keyAllOf = "allOf"---- | The JSON Schema "anyOf" keyword-keyAnyOf :: String-keyAnyOf = "anyOf"---- | The JSON Schema "$defs" keyword, used for reusable schema definitions-keyDefinitions :: String-keyDefinitions = "$defs"---- | The JSON Schema "dependencies" keyword-keyDependencies :: String-keyDependencies = "dependencies"---- | The JSON Schema "description" keyword-keyDescription :: String-keyDescription = "description"---- | The JSON Schema "enum" keyword-keyEnum :: String-keyEnum = "enum"---- | The JSON Schema "exclusiveMaximum" keyword-keyExclusiveMaximum :: String-keyExclusiveMaximum = "exclusiveMaximum"---- | The JSON Schema "exclusiveMinimum" keyword-keyExclusiveMinimum :: String-keyExclusiveMinimum = "exclusiveMinimum"---- | The JSON Schema "$id" keyword, identifying the schema-keyId :: String-keyId = "$id"---- | The JSON Schema "items" keyword-keyItems :: String-keyItems = "items"---- | The JSON Schema "label" keyword-keyLabel :: String-keyLabel = "label"---- | The JSON Schema "maxItems" keyword-keyMaxItems :: String-keyMaxItems = "maxItems"---- | The JSON Schema "maxLength" keyword-keyMaxLength :: String-keyMaxLength = "maxLength"---- | The JSON Schema "maxProperties" keyword-keyMaxProperties :: String-keyMaxProperties = "maxProperties"---- | The JSON Schema "maximum" keyword-keyMaximum :: String-keyMaximum = "maximum"---- | The JSON Schema "minItems" keyword-keyMinItems :: String-keyMinItems = "minItems"---- | The JSON Schema "minLength" keyword-keyMinLength :: String-keyMinLength = "minLength"---- | The JSON Schema "minProperties" keyword-keyMinProperties :: String-keyMinProperties = "minProperties"---- | The JSON Schema "minimum" keyword-keyMinimum :: String-keyMinimum = "minimum"---- | The JSON Schema "multipleOf" keyword-keyMultipleOf :: String-keyMultipleOf = "multipleOf"---- | The JSON Schema "not" keyword-keyNot :: String-keyNot = "not"---- | The JSON Schema "oneOf" keyword-keyOneOf :: String-keyOneOf = "oneOf"---- | The JSON Schema "pattern" keyword-keyPattern :: String-keyPattern = "pattern"---- | The JSON Schema "patternProperties" keyword-keyPatternProperties :: String-keyPatternProperties = "patternProperties"---- | The JSON Schema "properties" keyword-keyProperties :: String-keyProperties = "properties"---- | The JSON Schema "$ref" keyword, used for schema references-keyRef :: String-keyRef = "$ref"---- | The JSON Schema "required" keyword-keyRequired :: String-keyRequired = "required"---- | The JSON Schema "$schema" keyword, identifying the schema dialect-keySchema :: String-keySchema = "$schema"---- | The JSON Schema "title" keyword-keyTitle :: String-keyTitle = "title"---- | The JSON Schema "type" keyword-keyType :: String-keyType = "type"---- | The JSON Schema "uniqueItems" keyword-keyUniqueItems :: String-keyUniqueItems = "uniqueItems"---- | Encode a keyword-schema-or-array pair as a key-value pair-keywordSchemaOrArrayToExpr :: (SchemaModel.Keyword, SchemaModel.SchemaOrArray) -> (String, Model.Value)-keywordSchemaOrArrayToExpr p =-- let k = Pairs.first p- s = Pairs.second p- in (SchemaModel.unKeyword k, (schemaOrArrayToExpr s))---- | Encode a keyword as a JSON string value-keywordToExpr :: SchemaModel.Keyword -> Model.Value-keywordToExpr k = Model.ValueString (SchemaModel.unKeyword k)---- | Encode a multiple restriction as a key-value pair-multipleRestrictionToExpr :: SchemaModel.MultipleRestriction -> (String, Model.Value)-multipleRestrictionToExpr r =- case r of- SchemaModel.MultipleRestrictionAllOf v0 -> (keyAllOf, (Model.ValueArray (Lists.map schemaToExpr v0)))- SchemaModel.MultipleRestrictionAnyOf v0 -> (keyAnyOf, (Model.ValueArray (Lists.map schemaToExpr v0)))- SchemaModel.MultipleRestrictionOneOf v0 -> (keyOneOf, (Model.ValueArray (Lists.map schemaToExpr v0)))- SchemaModel.MultipleRestrictionNot v0 -> (keyNot, (schemaToExpr v0))- SchemaModel.MultipleRestrictionEnum v0 -> (keyEnum, (Model.ValueArray v0))---- | Encode a numeric restriction as a list of key-value pairs-numericRestrictionToExpr :: SchemaModel.NumericRestriction -> [(String, Model.Value)]-numericRestrictionToExpr r =- case r of- SchemaModel.NumericRestrictionMinimum v0 ->- let value = SchemaModel.limitValue v0- excl = SchemaModel.limitExclusive v0- in (Lists.concat [- [- (keyMinimum, (integerToExpr value))],- (Logic.ifElse excl [- (keyExclusiveMinimum, (Model.ValueBoolean True))] [])])- SchemaModel.NumericRestrictionMaximum v0 ->- let value = SchemaModel.limitValue v0- excl = SchemaModel.limitExclusive v0- in (Lists.concat [- [- (keyMaximum, (integerToExpr value))],- (Logic.ifElse excl [- (keyExclusiveMaximum, (Model.ValueBoolean True))] [])])- SchemaModel.NumericRestrictionMultipleOf v0 -> [- (keyMultipleOf, (integerToExpr v0))]---- | Encode an object restriction as a key-value pair-objectRestrictionToExpr :: SchemaModel.ObjectRestriction -> (String, Model.Value)-objectRestrictionToExpr r =- case r of- SchemaModel.ObjectRestrictionProperties v0 -> (keyProperties, (Model.ValueObject (Lists.map propertyToExpr (Maps.toList v0))))- SchemaModel.ObjectRestrictionAdditionalProperties v0 -> (keyAdditionalProperties, (additionalItemsToExpr v0))- SchemaModel.ObjectRestrictionRequired v0 -> (keyRequired, (Model.ValueArray (Lists.map keywordToExpr v0)))- SchemaModel.ObjectRestrictionMinProperties v0 -> (keyMinProperties, (integerToExpr v0))- SchemaModel.ObjectRestrictionMaxProperties v0 -> (keyMaxProperties, (integerToExpr v0))- SchemaModel.ObjectRestrictionDependencies v0 -> (keyDependencies, (Model.ValueObject (Lists.map keywordSchemaOrArrayToExpr (Maps.toList v0))))- SchemaModel.ObjectRestrictionPatternProperties v0 -> (keyPatternProperties, (Model.ValueObject (Lists.map patternPropertyToExpr (Maps.toList v0))))---- | Encode a pattern property pair as a key-value pair-patternPropertyToExpr :: (SchemaModel.RegularExpression, SchemaModel.Schema) -> (String, Model.Value)-patternPropertyToExpr p =-- let pat = Pairs.first p- s = Pairs.second p- in (SchemaModel.unRegularExpression pat, (schemaToExpr s))---- | Encode a property pair as a key-value pair-propertyToExpr :: (SchemaModel.Keyword, SchemaModel.Schema) -> (String, Model.Value)-propertyToExpr p =-- let k = Pairs.first p- s = Pairs.second p- in (SchemaModel.unKeyword k, (schemaToExpr s))---- | Encode a restriction as a list of key-value pairs-restrictionToExpr :: SchemaModel.Restriction -> [(String, Model.Value)]-restrictionToExpr r =- case r of- SchemaModel.RestrictionType v0 -> [- (keyType, (typeToExpr v0))]- SchemaModel.RestrictionString v0 -> [- stringRestrictionToExpr v0]- SchemaModel.RestrictionNumber v0 -> numericRestrictionToExpr v0- SchemaModel.RestrictionArray v0 -> [- arrayRestrictionToExpr v0]- SchemaModel.RestrictionObject v0 -> [- objectRestrictionToExpr v0]- SchemaModel.RestrictionMultiple v0 -> [- multipleRestrictionToExpr v0]- SchemaModel.RestrictionReference v0 -> [- (keyRef, (schemaReferenceToExpr v0))]- SchemaModel.RestrictionTitle v0 -> [- (keyTitle, (Model.ValueString v0))]- SchemaModel.RestrictionDescription v0 -> [- (keyDescription, (Model.ValueString v0))]---- | Encode a schema or array as a JSON value-schemaOrArrayToExpr :: SchemaModel.SchemaOrArray -> Model.Value-schemaOrArrayToExpr soa =- case soa of- SchemaModel.SchemaOrArraySchema v0 -> schemaToExpr v0- SchemaModel.SchemaOrArrayArray v0 -> Model.ValueArray (Lists.map keywordToExpr v0)---- | Encode a schema reference as a JSON string value-schemaReferenceToExpr :: SchemaModel.SchemaReference -> Model.Value-schemaReferenceToExpr sr = Model.ValueString (SchemaModel.unSchemaReference sr)---- | Encode a schema as a JSON object value-schemaToExpr :: SchemaModel.Schema -> Model.Value-schemaToExpr s = Model.ValueObject (Lists.concat (Lists.map restrictionToExpr (SchemaModel.unSchema s)))---- | Encode a string restriction as a key-value pair-stringRestrictionToExpr :: SchemaModel.StringRestriction -> (String, Model.Value)-stringRestrictionToExpr r =- case r of- SchemaModel.StringRestrictionMaxLength v0 -> (keyMaxLength, (Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint v0))))- SchemaModel.StringRestrictionMinLength v0 -> (keyMinLength, (Model.ValueNumber (Literals.bigintToDecimal (Literals.int32ToBigint v0))))- SchemaModel.StringRestrictionPattern v0 -> (keyPattern, (Model.ValueString (SchemaModel.unRegularExpression v0)))---- | Construct a JSON object from a list of optional key-value pairs, filtering out Nothing values-toObject :: [(String, (Maybe Model.Value))] -> Model.Value-toObject pairs =- Model.ValueObject (Optionals.givens (Lists.map (\p ->- let k = Pairs.first p- mv = Pairs.second p- in (Optionals.map (\v -> (k, v)) mv)) pairs))---- | Encode a type name as a JSON string value-typeNameToExpr :: SchemaModel.TypeName -> Model.Value-typeNameToExpr t =- case t of- SchemaModel.TypeNameString -> Model.ValueString "string"- SchemaModel.TypeNameInteger -> Model.ValueString "integer"- SchemaModel.TypeNameNumber -> Model.ValueString "number"- SchemaModel.TypeNameBoolean -> Model.ValueString "boolean"- SchemaModel.TypeNameNull -> Model.ValueString "null"- SchemaModel.TypeNameArray -> Model.ValueString "array"- SchemaModel.TypeNameObject -> Model.ValueString "object"---- | Encode a type as a JSON value-typeToExpr :: SchemaModel.Type -> Model.Value-typeToExpr t =- case t of- SchemaModel.TypeSingle v0 -> typeNameToExpr v0- SchemaModel.TypeMultiple v0 -> Model.ValueArray (Lists.map typeNameToExpr v0)
− src/main/haskell/Hydra/Kusto/Kql.hs
@@ -1,737 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A partial KQL (Kusto Query Language) model, based on examples from the documentation. Not normative.--module Hydra.Kusto.Kql 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-import qualified Data.Int as I---- | A 'between' range test on an expression, optionally negated-data BetweenExpression =- BetweenExpression {- betweenExpressionNot :: Bool,- betweenExpressionExpression :: Expression,- betweenExpressionLowerBound :: Expression,- betweenExpressionUpperBound :: Expression}- deriving (Eq, Ord, Read, Show)--_BetweenExpression = Core.Name "hydra.kusto.kql.BetweenExpression"--_BetweenExpression_not = Core.Name "not"--_BetweenExpression_expression = Core.Name "expression"--_BetweenExpression_lowerBound = Core.Name "lowerBound"--_BetweenExpression_upperBound = Core.Name "upperBound"---- | A binary operator expression, combining a left and right operand-data BinaryExpression =- BinaryExpression {- binaryExpressionLeft :: Expression,- binaryExpressionOperator :: BinaryOperator,- binaryExpressionRight :: Expression}- deriving (Eq, Ord, Read, Show)--_BinaryExpression = Core.Name "hydra.kusto.kql.BinaryExpression"--_BinaryExpression_left = Core.Name "left"--_BinaryExpression_operator = Core.Name "operator"--_BinaryExpression_right = Core.Name "right"---- | A binary comparison or arithmetic operator used in KQL expressions-data BinaryOperator =- BinaryOperatorCaseInsensitiveEqual |- BinaryOperatorContains |- BinaryOperatorDivide |- BinaryOperatorEndsWith |- BinaryOperatorEqual |- BinaryOperatorGreater |- BinaryOperatorGreaterOrEqual |- BinaryOperatorHas |- BinaryOperatorHasPrefix |- BinaryOperatorHasSuffix |- BinaryOperatorLess |- BinaryOperatorLessOrEqual |- BinaryOperatorMatchesRegex |- BinaryOperatorMinus |- BinaryOperatorNotEqual |- BinaryOperatorPlus |- BinaryOperatorStartsWith |- BinaryOperatorTimes- deriving (Eq, Ord, Read, Show)--_BinaryOperator = Core.Name "hydra.kusto.kql.BinaryOperator"--_BinaryOperator_caseInsensitiveEqual = Core.Name "caseInsensitiveEqual"--_BinaryOperator_contains = Core.Name "contains"--_BinaryOperator_divide = Core.Name "divide"--_BinaryOperator_endsWith = Core.Name "endsWith"--_BinaryOperator_equal = Core.Name "equal"--_BinaryOperator_greater = Core.Name "greater"--_BinaryOperator_greaterOrEqual = Core.Name "greaterOrEqual"--_BinaryOperator_has = Core.Name "has"--_BinaryOperator_hasPrefix = Core.Name "hasPrefix"--_BinaryOperator_hasSuffix = Core.Name "hasSuffix"--_BinaryOperator_less = Core.Name "less"--_BinaryOperator_lessOrEqual = Core.Name "lessOrEqual"--_BinaryOperator_matchesRegex = Core.Name "matchesRegex"--_BinaryOperator_minus = Core.Name "minus"--_BinaryOperator_notEqual = Core.Name "notEqual"--_BinaryOperator_plus = Core.Name "plus"--_BinaryOperator_startsWith = Core.Name "startsWith"--_BinaryOperator_times = Core.Name "times"---- | One of the built-in scalar or aggregation functions supported by KQL-data BuiltInFunction =- BuiltInFunctionAgo |- BuiltInFunctionBin |- BuiltInFunctionCount |- BuiltInFunctionDcount |- BuiltInFunctionEndofday |- BuiltInFunctionExtract |- BuiltInFunctionFormat_datetime |- BuiltInFunctionMaterialize |- BuiltInFunctionNow |- BuiltInFunctionRange |- BuiltInFunctionStartofday |- BuiltInFunctionStrcat |- BuiltInFunctionTodynamic- deriving (Eq, Ord, Read, Show)--_BuiltInFunction = Core.Name "hydra.kusto.kql.BuiltInFunction"--_BuiltInFunction_ago = Core.Name "ago"--_BuiltInFunction_bin = Core.Name "bin"--_BuiltInFunction_count = Core.Name "count"--_BuiltInFunction_dcount = Core.Name "dcount"--_BuiltInFunction_endofday = Core.Name "endofday"--_BuiltInFunction_extract = Core.Name "extract"--_BuiltInFunction_format_datetime = Core.Name "format_datetime"--_BuiltInFunction_materialize = Core.Name "materialize"--_BuiltInFunction_now = Core.Name "now"--_BuiltInFunction_range = Core.Name "range"--_BuiltInFunction_startofday = Core.Name "startofday"--_BuiltInFunction_strcat = Core.Name "strcat"--_BuiltInFunction_todynamic = Core.Name "todynamic"---- | An association between a column and an alternate (renamed) column name-data ColumnAlias =- ColumnAlias {- columnAliasColumn :: ColumnName,- columnAliasAlias :: ColumnName}- deriving (Eq, Ord, Read, Show)--_ColumnAlias = Core.Name "hydra.kusto.kql.ColumnAlias"--_ColumnAlias_column = Core.Name "column"--_ColumnAlias_alias = Core.Name "alias"---- | An assignment of a computed expression to a column-data ColumnAssignment =- ColumnAssignment {- columnAssignmentColumn :: ColumnName,- columnAssignmentExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_ColumnAssignment = Core.Name "hydra.kusto.kql.ColumnAssignment"--_ColumnAssignment_column = Core.Name "column"--_ColumnAssignment_expression = Core.Name "expression"---- | The name of a table column-newtype ColumnName =- ColumnName {- unColumnName :: String}- deriving (Eq, Ord, Read, Show)--_ColumnName = Core.Name "hydra.kusto.kql.ColumnName"---- | A selection of either all columns, or a single named column-data Columns =- ColumnsAll |- ColumnsSingle ColumnName- deriving (Eq, Ord, Read, Show)--_Columns = Core.Name "hydra.kusto.kql.Columns"--_Columns_all = Core.Name "all"--_Columns_single = Core.Name "single"---- | A tabular operator, applied in sequence within a pipeline expression-data Command =- CommandCount |- -- | See https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/distinct-operator- CommandDistinct [ColumnName] |- CommandExtend [ColumnAssignment] |- CommandJoin JoinCommand |- CommandLimit Int |- CommandMvexpand ColumnName |- CommandOrderBy [SortBy] |- CommandParse ParseCommand |- CommandPrint PrintCommand |- CommandProject [Projection] |- CommandProjectAway [ColumnName] |- CommandProjectRename [ColumnAlias] |- CommandRender String |- CommandSearch SearchCommand |- CommandSortBy [SortBy] |- CommandSummarize SummarizeCommand |- -- | Limit a search to a specified number of results- CommandTake Int |- CommandTop TopCommand |- CommandUnion UnionCommand |- CommandWhere Expression- deriving (Eq, Ord, Read, Show)--_Command = Core.Name "hydra.kusto.kql.Command"--_Command_count = Core.Name "count"--_Command_distinct = Core.Name "distinct"--_Command_extend = Core.Name "extend"--_Command_join = Core.Name "join"--_Command_limit = Core.Name "limit"--_Command_mvexpand = Core.Name "mvexpand"--_Command_orderBy = Core.Name "orderBy"--_Command_parse = Core.Name "parse"--_Command_print = Core.Name "print"--_Command_project = Core.Name "project"--_Command_projectAway = Core.Name "projectAway"--_Command_projectRename = Core.Name "projectRename"--_Command_render = Core.Name "render"--_Command_search = Core.Name "search"--_Command_sortBy = Core.Name "sortBy"--_Command_summarize = Core.Name "summarize"--_Command_take = Core.Name "take"--_Command_top = Core.Name "top"--_Command_union = Core.Name "union"--_Command_where = Core.Name "where"---- | A KQL datetime literal-newtype Datetime =- Datetime {- unDatetime :: String}- deriving (Eq, Ord, Read, Show)--_Datetime = Core.Name "hydra.kusto.kql.Datetime"---- | A duration (timespan) literal, expressed as a value and a unit-data Duration =- Duration {- durationValue :: Int,- durationUnit :: DurationUnit}- deriving (Eq, Ord, Read, Show)--_Duration = Core.Name "hydra.kusto.kql.Duration"--_Duration_value = Core.Name "value"--_Duration_unit = Core.Name "unit"---- | The unit of measure of a Duration value-data DurationUnit =- DurationUnitSecond |- DurationUnitMinute |- DurationUnitHour- deriving (Eq, Ord, Read, Show)--_DurationUnit = Core.Name "hydra.kusto.kql.DurationUnit"--_DurationUnit_second = Core.Name "second"--_DurationUnit_minute = Core.Name "minute"--_DurationUnit_hour = Core.Name "hour"---- | A KQL scalar expression-data Expression =- ExpressionAnd [Expression] |- ExpressionAny |- ExpressionBetween BetweenExpression |- ExpressionBinary BinaryExpression |- ExpressionBraces Expression |- ExpressionColumn ColumnName |- ExpressionDataset TableName |- ExpressionIndex IndexExpression |- ExpressionList [Expression] |- ExpressionLiteral Literal |- ExpressionOr [Expression] |- ExpressionParentheses Expression |- ExpressionProperty PropertyExpression |- ExpressionUnary UnaryExpression- deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.kusto.kql.Expression"--_Expression_and = Core.Name "and"--_Expression_any = Core.Name "any"--_Expression_between = Core.Name "between"--_Expression_binary = Core.Name "binary"--_Expression_braces = Core.Name "braces"--_Expression_column = Core.Name "column"--_Expression_dataset = Core.Name "dataset"--_Expression_index = Core.Name "index"--_Expression_list = Core.Name "list"--_Expression_literal = Core.Name "literal"--_Expression_or = Core.Name "or"--_Expression_parentheses = Core.Name "parentheses"--_Expression_property = Core.Name "property"--_Expression_unary = Core.Name "unary"---- | A reference to either a built-in or a user-defined function-data Function =- FunctionBuiltIn BuiltInFunction |- FunctionCustom FunctionName- deriving (Eq, Ord, Read, Show)--_Function = Core.Name "hydra.kusto.kql.Function"--_Function_builtIn = Core.Name "builtIn"--_Function_custom = Core.Name "custom"---- | An invocation of a function with a list of argument expressions-data FunctionExpression =- FunctionExpression {- functionExpressionFunction :: Function,- functionExpressionArguments :: [Expression]}- deriving (Eq, Ord, Read, Show)--_FunctionExpression = Core.Name "hydra.kusto.kql.FunctionExpression"--_FunctionExpression_function = Core.Name "function"--_FunctionExpression_arguments = Core.Name "arguments"---- | The name of a user-defined function-newtype FunctionName =- FunctionName {- unFunctionName :: String}- deriving (Eq, Ord, Read, Show)--_FunctionName = Core.Name "hydra.kusto.kql.FunctionName"---- | An indexing operation applied to an expression, e.g. array or property access-data IndexExpression =- IndexExpression {- indexExpressionExpression :: Expression,- indexExpressionIndex :: String}- deriving (Eq, Ord, Read, Show)--_IndexExpression = Core.Name "hydra.kusto.kql.IndexExpression"--_IndexExpression_expression = Core.Name "expression"--_IndexExpression_index = Core.Name "index"---- | A 'join' operator combining rows from the current and a second tabular expression-data JoinCommand =- JoinCommand {- joinCommandKind :: JoinKind,- joinCommandExpression :: TableName,- joinCommandOn :: Expression}- deriving (Eq, Ord, Read, Show)--_JoinCommand = Core.Name "hydra.kusto.kql.JoinCommand"--_JoinCommand_kind = Core.Name "kind"--_JoinCommand_expression = Core.Name "expression"--_JoinCommand_on = Core.Name "on"---- | The kind of join to perform, e.g. inner, left outer, or left semi/anti-data JoinKind =- JoinKindLeftouter |- JoinKindLeftsemi |- JoinKindLeftanti |- JoinKindFullouter |- JoinKindInner |- JoinKindInnerunique |- JoinKindRightouter |- JoinKindRightsemi |- JoinKindRightanti- deriving (Eq, Ord, Read, Show)--_JoinKind = Core.Name "hydra.kusto.kql.JoinKind"--_JoinKind_leftouter = Core.Name "leftouter"--_JoinKind_leftsemi = Core.Name "leftsemi"--_JoinKind_leftanti = Core.Name "leftanti"--_JoinKind_fullouter = Core.Name "fullouter"--_JoinKind_inner = Core.Name "inner"--_JoinKind_innerunique = Core.Name "innerunique"--_JoinKind_rightouter = Core.Name "rightouter"--_JoinKind_rightsemi = Core.Name "rightsemi"--_JoinKind_rightanti = Core.Name "rightanti"---- | A key-value pair extracted by a 'parse' command-data KeyValuePair =- KeyValuePair {- keyValuePairKey :: String,- keyValuePairValue :: Expression}- deriving (Eq, Ord, Read, Show)--_KeyValuePair = Core.Name "hydra.kusto.kql.KeyValuePair"--_KeyValuePair_key = Core.Name "key"--_KeyValuePair_value = Core.Name "value"---- | A single 'let' binding of a name to an expression-data LetBinding =- LetBinding {- letBindingName :: ColumnName,- letBindingExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_LetBinding = Core.Name "hydra.kusto.kql.LetBinding"--_LetBinding_name = Core.Name "name"--_LetBinding_expression = Core.Name "expression"---- | A sequence of 'let' bindings followed by a tabular expression that may reference them-data LetExpression =- LetExpression {- letExpressionBindings :: [LetBinding],- letExpressionExpression :: TabularExpression}- deriving (Eq, Ord, Read, Show)--_LetExpression = Core.Name "hydra.kusto.kql.LetExpression"--_LetExpression_bindings = Core.Name "bindings"--_LetExpression_expression = Core.Name "expression"---- | A literal value in a KQL expression-data Literal =- LiteralDuration Duration |- LiteralDatetime Datetime |- LiteralString String |- LiteralInt Int |- LiteralLong I.Int64 |- LiteralDouble Double |- LiteralBoolean Bool- deriving (Eq, Ord, Read, Show)--_Literal = Core.Name "hydra.kusto.kql.Literal"--_Literal_duration = Core.Name "duration"--_Literal_datetime = Core.Name "datetime"--_Literal_string = Core.Name "string"--_Literal_int = Core.Name "int"--_Literal_long = Core.Name "long"--_Literal_double = Core.Name "double"--_Literal_boolean = Core.Name "boolean"---- | The sort direction for an 'order by' or 'sort by' clause-data Order =- OrderAscending |- OrderDescending- deriving (Eq, Ord, Read, Show)--_Order = Core.Name "hydra.kusto.kql.Order"--_Order_ascending = Core.Name "ascending"--_Order_descending = Core.Name "descending"---- | A named parameter with a literal value, e.g. for a union operator-data Parameter =- Parameter {- parameterKey :: String,- parameterValue :: Literal}- deriving (Eq, Ord, Read, Show)--_Parameter = Core.Name "hydra.kusto.kql.Parameter"--_Parameter_key = Core.Name "key"--_Parameter_value = Core.Name "value"---- | A 'parse' command that extracts key-value pairs from a column into new columns-data ParseCommand =- ParseCommand {- parseCommandColumn :: ColumnName,- parseCommandPairs :: [KeyValuePair]}- deriving (Eq, Ord, Read, Show)--_ParseCommand = Core.Name "hydra.kusto.kql.ParseCommand"--_ParseCommand_column = Core.Name "column"--_ParseCommand_pairs = Core.Name "pairs"---- | A pipe ('|')-separated sequence of tabular expressions-newtype PipelineExpression =- PipelineExpression {- unPipelineExpression :: [TabularExpression]}- deriving (Eq, Ord, Read, Show)--_PipelineExpression = Core.Name "hydra.kusto.kql.PipelineExpression"---- | A 'print' command that outputs the value of an expression, optionally naming a column-data PrintCommand =- PrintCommand {- printCommandColumn :: (Maybe ColumnName),- printCommandExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_PrintCommand = Core.Name "hydra.kusto.kql.PrintCommand"--_PrintCommand_column = Core.Name "column"--_PrintCommand_expression = Core.Name "expression"---- | An expression to project as a column, with an optional alias, used by a 'project' command-data Projection =- Projection {- projectionExpression :: Expression,- projectionAlias :: (Maybe ColumnName)}- deriving (Eq, Ord, Read, Show)--_Projection = Core.Name "hydra.kusto.kql.Projection"--_Projection_expression = Core.Name "expression"--_Projection_alias = Core.Name "alias"---- | A dotted property access on an expression, e.g. 'x.property'-data PropertyExpression =- PropertyExpression {- propertyExpressionExpression :: Expression,- propertyExpressionProperty :: String}- deriving (Eq, Ord, Read, Show)--_PropertyExpression = Core.Name "hydra.kusto.kql.PropertyExpression"--_PropertyExpression_expression = Core.Name "expression"--_PropertyExpression_property = Core.Name "property"---- | A complete KQL query, consisting of a single tabular expression-newtype Query =- Query {- unQuery :: TabularExpression}- deriving (Eq, Ord, Read, Show)--_Query = Core.Name "hydra.kusto.kql.Query"---- | Search across all datasets and columns or, if provided, specific datasets and/or columns-data SearchCommand =- SearchCommand {- searchCommandDatasets :: [TableName],- searchCommandPattern :: Expression}- deriving (Eq, Ord, Read, Show)--_SearchCommand = Core.Name "hydra.kusto.kql.SearchCommand"--_SearchCommand_datasets = Core.Name "datasets"--_SearchCommand_pattern = Core.Name "pattern"---- | A single sort key with an optional sort order, used by 'order by'/'sort by'-data SortBy =- SortBy {- sortByColumn :: ColumnName,- sortByOrder :: (Maybe Order)}- deriving (Eq, Ord, Read, Show)--_SortBy = Core.Name "hydra.kusto.kql.SortBy"--_SortBy_column = Core.Name "column"--_SortBy_order = Core.Name "order"---- | A 'summarize' command that computes aggregate columns, optionally grouped by other columns-data SummarizeCommand =- SummarizeCommand {- summarizeCommandColumns :: [ColumnAssignment],- summarizeCommandBy :: [ColumnName]}- deriving (Eq, Ord, Read, Show)--_SummarizeCommand = Core.Name "hydra.kusto.kql.SummarizeCommand"--_SummarizeCommand_columns = Core.Name "columns"--_SummarizeCommand_by = Core.Name "by"---- | The name of a table or dataset-newtype TableName =- TableName {- unTableName :: String}- deriving (Eq, Ord, Read, Show)--_TableName = Core.Name "hydra.kusto.kql.TableName"---- | An expression which produces a table: a command, pipeline, let expression, or table reference-data TabularExpression =- TabularExpressionCommand Command |- TabularExpressionPipeline PipelineExpression |- TabularExpressionLet LetExpression |- TabularExpressionTable TableName- deriving (Eq, Ord, Read, Show)--_TabularExpression = Core.Name "hydra.kusto.kql.TabularExpression"--_TabularExpression_command = Core.Name "command"--_TabularExpression_pipeline = Core.Name "pipeline"--_TabularExpression_let = Core.Name "let"--_TabularExpression_table = Core.Name "table"---- | A 'top' command that returns the first N rows sorted by the given columns-data TopCommand =- TopCommand {- topCommandCount :: Int,- topCommandSort :: [SortBy]}- deriving (Eq, Ord, Read, Show)--_TopCommand = Core.Name "hydra.kusto.kql.TopCommand"--_TopCommand_count = Core.Name "count"--_TopCommand_sort = Core.Name "sort"---- | A unary operator expression applied to a single operand-data UnaryExpression =- UnaryExpression {- unaryExpressionOperator :: UnaryOperator,- unaryExpressionExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_UnaryExpression = Core.Name "hydra.kusto.kql.UnaryExpression"--_UnaryExpression_operator = Core.Name "operator"--_UnaryExpression_expression = Core.Name "expression"---- | A unary operator used in KQL expressions-data UnaryOperator =- UnaryOperatorNot- deriving (Eq, Ord, Read, Show)--_UnaryOperator = Core.Name "hydra.kusto.kql.UnaryOperator"--_UnaryOperator_not = Core.Name "not"---- | A 'union' command that combines rows from multiple tables-data UnionCommand =- UnionCommand {- unionCommandParameters :: [Parameter],- unionCommandKind :: (Maybe UnionKind),- unionCommandWithSource :: (Maybe ColumnName),- unionCommandIsFuzzy :: (Maybe Bool),- unionCommandTables :: [TableName]}- deriving (Eq, Ord, Read, Show)--_UnionCommand = Core.Name "hydra.kusto.kql.UnionCommand"--_UnionCommand_parameters = Core.Name "parameters"--_UnionCommand_kind = Core.Name "kind"--_UnionCommand_withSource = Core.Name "withSource"--_UnionCommand_isFuzzy = Core.Name "isFuzzy"--_UnionCommand_tables = Core.Name "tables"---- | Whether a union preserves only common columns (inner) or all columns (outer)-data UnionKind =- UnionKindInner |- UnionKindOuter- deriving (Eq, Ord, Read, Show)--_UnionKind = Core.Name "hydra.kusto.kql.UnionKind"--_UnionKind_inner = Core.Name "inner"--_UnionKind_outer = Core.Name "outer"
− src/main/haskell/Hydra/Osv/Schema.hs
@@ -1,266 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | See https://ossf.github.io/osv-schema--module Hydra.Osv.Schema 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---- | A person or entity credited with discovering, fixing, or reporting a vulnerability-data Credited =- Credited {- creditedName :: String,- creditedContact :: (Maybe [Url])}- deriving (Eq, Ord, Read, Show)--_Credited = Core.Name "hydra.osv.schema.Credited"--_Credited_name = Core.Name "name"--_Credited_contact = Core.Name "contact"---- | One of a limited set of defined ecosystems, currently Go, npm, OSS-Fuzz, PyPI, RubyGems, crates.io, Packagist, Maven, NuGet, Linux, Debian, Hex, Android, GitHub Actions, or Pub-newtype Ecosystem =- Ecosystem {- unEcosystem :: String}- deriving (Eq, Ord, Read, Show)--_Ecosystem = Core.Name "hydra.osv.schema.Ecosystem"---- | A single OSV vulnerability entry-data Entry =- Entry {- -- | The default value is '1.0.0', matching version 1.0 of the OSV Schema- entrySchemaVersion :: (Maybe OsvVersion),- entryId :: Id,- entryModified :: Timestamp,- entryPublished :: (Maybe Timestamp),- entryWithdrawn :: (Maybe Timestamp),- entryAliases :: (Maybe [Id]),- entryRelated :: (Maybe [Id]),- entrySummary :: (Maybe String),- entryDetails :: (Maybe Markdown),- entrySeverity :: (Maybe [Severity]),- entryAffected :: (Maybe [PackageVersions]),- entryReferences :: (Maybe [Reference]),- entryCredits :: (Maybe [Credited])}- deriving (Eq, Ord, Read, Show)--_Entry = Core.Name "hydra.osv.schema.Entry"--_Entry_schemaVersion = Core.Name "schemaVersion"--_Entry_id = Core.Name "id"--_Entry_modified = Core.Name "modified"--_Entry_published = Core.Name "published"--_Entry_withdrawn = Core.Name "withdrawn"--_Entry_aliases = Core.Name "aliases"--_Entry_related = Core.Name "related"--_Entry_summary = Core.Name "summary"--_Entry_details = Core.Name "details"--_Entry_severity = Core.Name "severity"--_Entry_affected = Core.Name "affected"--_Entry_references = Core.Name "references"--_Entry_credits = Core.Name "credits"---- | A version event marking a point in a range where a vulnerability's status changes-data Event =- EventIntroduced VersionOrZero |- EventFixed Version |- EventLastAffected Version |- EventLimit VersionOrStar- deriving (Eq, Ord, Read, Show)--_Event = Core.Name "hydra.osv.schema.Event"--_Event_introduced = Core.Name "introduced"--_Event_fixed = Core.Name "fixed"--_Event_lastAffected = Core.Name "lastAffected"--_Event_limit = Core.Name "limit"---- | A string of the format <DB>-<ENTRYID>, where DB names the database and ENTRYID is in the format used by the database. For example: OSV-2020-111, CVE-2021-3114, or GHSA-vp9c-fpxx-744v-newtype Id =- Id {- unId :: String}- deriving (Eq, Ord, Read, Show)--_Id = Core.Name "hydra.osv.schema.Id"---- | CommonMark markdown text-newtype Markdown =- Markdown {- unMarkdown :: String}- deriving (Eq, Ord, Read, Show)--_Markdown = Core.Name "hydra.osv.schema.Markdown"---- | A string which follows the SemVer 2.0.0 format, with no leading 'v' prefix-newtype OsvVersion =- OsvVersion {- unOsvVersion :: String}- deriving (Eq, Ord, Read, Show)--_OsvVersion = Core.Name "hydra.osv.schema.OsvVersion"---- | The identity of a software package within a given ecosystem-data Package =- Package {- packageEcosystem :: Ecosystem,- packageName :: String,- packagePurl :: (Maybe Url)}- deriving (Eq, Ord, Read, Show)--_Package = Core.Name "hydra.osv.schema.Package"--_Package_ecosystem = Core.Name "ecosystem"--_Package_name = Core.Name "name"--_Package_purl = Core.Name "purl"---- | The package affected by a vulnerability, along with its affected version ranges and versions-data PackageVersions =- PackageVersions {- packageVersionsPackage :: Package,- packageVersionsRanges :: (Maybe [VersionRange]),- packageVersionsVersions :: (Maybe [Version])}- deriving (Eq, Ord, Read, Show)--_PackageVersions = Core.Name "hydra.osv.schema.PackageVersions"--_PackageVersions_package = Core.Name "package"--_PackageVersions_ranges = Core.Name "ranges"--_PackageVersions_versions = Core.Name "versions"---- | A link to additional information about a vulnerability, together with its type-data Reference =- Reference {- referenceType :: ReferenceType,- referenceUrl :: Url}- deriving (Eq, Ord, Read, Show)--_Reference = Core.Name "hydra.osv.schema.Reference"--_Reference_type = Core.Name "type"--_Reference_url = Core.Name "url"---- | One of ADVISORY, ARTICLE, REPORT, FIX, GIT, PACKAGE, EVIDENCE, or WEB-newtype ReferenceType =- ReferenceType {- unReferenceType :: String}- deriving (Eq, Ord, Read, Show)--_ReferenceType = Core.Name "hydra.osv.schema.ReferenceType"---- | A severity score for a vulnerability, together with the scoring type used-data Severity =- Severity {- severityType :: SeverityType,- severityScore :: SeverityScore}- deriving (Eq, Ord, Read, Show)--_Severity = Core.Name "hydra.osv.schema.Severity"--_Severity_type = Core.Name "type"--_Severity_score = Core.Name "score"---- | The severity score value, formatted according to its severity type-newtype SeverityScore =- SeverityScore {- unSeverityScore :: String}- deriving (Eq, Ord, Read, Show)--_SeverityScore = Core.Name "hydra.osv.schema.SeverityScore"---- | The value CVSS_V3, or future supported types-newtype SeverityType =- SeverityType {- unSeverityType :: String}- deriving (Eq, Ord, Read, Show)--_SeverityType = Core.Name "hydra.osv.schema.SeverityType"---- | An RFC3339-formatted timestamp in UTC (ending in 'Z')-newtype Timestamp =- Timestamp {- unTimestamp :: String}- deriving (Eq, Ord, Read, Show)--_Timestamp = Core.Name "hydra.osv.schema.Timestamp"---- | A URL string-newtype Url =- Url {- unUrl :: String}- deriving (Eq, Ord, Read, Show)--_Url = Core.Name "hydra.osv.schema.Url"---- | A version number in an ecosystem-specific format-newtype Version =- Version {- unVersion :: String}- deriving (Eq, Ord, Read, Show)--_Version = Core.Name "hydra.osv.schema.Version"---- | An ecosystem-specific version number, or the string '*' representing infinity-newtype VersionOrStar =- VersionOrStar {- unVersionOrStar :: String}- deriving (Eq, Ord, Read, Show)--_VersionOrStar = Core.Name "hydra.osv.schema.VersionOrStar"---- | An ecosystem-specific version number, or the string '0' representing a version that sorts before any other version-newtype VersionOrZero =- VersionOrZero {- unVersionOrZero :: String}- deriving (Eq, Ord, Read, Show)--_VersionOrZero = Core.Name "hydra.osv.schema.VersionOrZero"---- | A range of affected versions, expressed as a type and an ordered list of events-data VersionRange =- VersionRange {- versionRangeType :: VersionType,- versionRangeRepo :: (Maybe Url),- versionRangeEvents :: [Event]}- deriving (Eq, Ord, Read, Show)--_VersionRange = Core.Name "hydra.osv.schema.VersionRange"--_VersionRange_type = Core.Name "type"--_VersionRange_repo = Core.Name "repo"--_VersionRange_events = Core.Name "events"---- | One of the values 'SEMVER', 'ECOSYSTEM', or 'GIT-newtype VersionType =- VersionType {- unVersionType :: String}- deriving (Eq, Ord, Read, Show)--_VersionType = Core.Name "hydra.osv.schema.VersionType"
− src/main/haskell/Hydra/Parquet/Format.hs
@@ -1,990 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for the Parquet format. Based on the Thrift-based specification at:--- | https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift--module Hydra.Parquet.Format 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-import qualified Data.ByteString as B-import qualified Data.Int as I---- | AES GCM CTR mode encryption parameters-data AesGcmCtrV1 =- AesGcmCtrV1 {- -- | AAD prefix- aesGcmCtrV1AadPrefix :: (Maybe B.ByteString),- -- | Unique file identifier part of AAD suffix- aesGcmCtrV1AadFileUnique :: (Maybe B.ByteString),- -- | In files encrypted with AAD prefix without storing it, readers must supply the prefix- aesGcmCtrV1SupplyAadPrefix :: (Maybe Bool)}- deriving (Eq, Ord, Read, Show)--_AesGcmCtrV1 = Core.Name "hydra.parquet.format.AesGcmCtrV1"--_AesGcmCtrV1_aadPrefix = Core.Name "aadPrefix"--_AesGcmCtrV1_aadFileUnique = Core.Name "aadFileUnique"--_AesGcmCtrV1_supplyAadPrefix = Core.Name "supplyAadPrefix"---- | AES GCM mode encryption parameters-data AesGcmV1 =- AesGcmV1 {- -- | AAD prefix- aesGcmV1AadPrefix :: (Maybe B.ByteString),- -- | Unique file identifier part of AAD suffix- aesGcmV1AadFileUnique :: (Maybe B.ByteString),- -- | In files encrypted with AAD prefix without storing it, readers must supply the prefix- aesGcmV1SupplyAadPrefix :: (Maybe Bool)}- deriving (Eq, Ord, Read, Show)--_AesGcmV1 = Core.Name "hydra.parquet.format.AesGcmV1"--_AesGcmV1_aadPrefix = Core.Name "aadPrefix"--_AesGcmV1_aadFileUnique = Core.Name "aadFileUnique"--_AesGcmV1_supplyAadPrefix = Core.Name "supplyAadPrefix"---- | The algorithm used in Bloom filter.-data BloomFilterAlgorithm =- -- | Block-based Bloom filter.- BloomFilterAlgorithmBlock- deriving (Eq, Ord, Read, Show)--_BloomFilterAlgorithm = Core.Name "hydra.parquet.format.BloomFilterAlgorithm"--_BloomFilterAlgorithm_block = Core.Name "block"---- | The compression used in the Bloom filter.-data BloomFilterCompression =- BloomFilterCompressionUncompressed- deriving (Eq, Ord, Read, Show)--_BloomFilterCompression = Core.Name "hydra.parquet.format.BloomFilterCompression"--_BloomFilterCompression_uncompressed = Core.Name "uncompressed"---- | The hash function used in Bloom filter. This function takes the hash of a column value using plain encoding.-data BloomFilterHash =- -- | xxHash Strategy.- BloomFilterHashXxhash- deriving (Eq, Ord, Read, Show)--_BloomFilterHash = Core.Name "hydra.parquet.format.BloomFilterHash"--_BloomFilterHash_xxhash = Core.Name "xxhash"---- | Bloom filter header is stored at beginning of Bloom filter data of each column and followed by its bitset.-data BloomFilterHeader =- BloomFilterHeader {- -- | The size of bitset in bytes- bloomFilterHeaderNumBytes :: Int,- -- | The algorithm for setting bits.- bloomFilterHeaderAlgorithm :: BloomFilterAlgorithm,- -- | The hash function used for Bloom filter.- bloomFilterHeaderHash :: BloomFilterHash,- -- | The compression used in the Bloom filter- bloomFilterHeaderCompression :: BloomFilterCompression}- deriving (Eq, Ord, Read, Show)--_BloomFilterHeader = Core.Name "hydra.parquet.format.BloomFilterHeader"--_BloomFilterHeader_numBytes = Core.Name "numBytes"--_BloomFilterHeader_algorithm = Core.Name "algorithm"--_BloomFilterHeader_hash = Core.Name "hash"--_BloomFilterHeader_compression = Core.Name "compression"---- | Enum to annotate whether lists of min/max elements inside ColumnIndex are ordered and if so, in which direction.-data BoundaryOrder =- BoundaryOrderUnordered |- BoundaryOrderAscending |- BoundaryOrderDescending- deriving (Eq, Ord, Read, Show)--_BoundaryOrder = Core.Name "hydra.parquet.format.BoundaryOrder"--_BoundaryOrder_unordered = Core.Name "unordered"--_BoundaryOrder_ascending = Core.Name "ascending"--_BoundaryOrder_descending = Core.Name "descending"---- | Metadata and location of a single column's data within a row group-data ColumnChunk =- ColumnChunk {- -- | File where column data is stored. If not set, assumed to be same file as metadata. This path is relative to the current file.- columnChunkFilePath :: (Maybe String),- -- | Byte offset in file_path to the ColumnMetaData- columnChunkFileOffset :: I.Int64,- -- | Column metadata for this chunk. This is the same content as what is at file_path/file_offset. Having it here has it replicated in the file metadata.- columnChunkMetaData :: (Maybe ColumnMetaData),- -- | File offset of ColumnChunk's OffsetIndex- columnChunkOffsetIndexOffset :: (Maybe I.Int64),- -- | Size of ColumnChunk's OffsetIndex, in bytes- columnChunkOffsetIndexLength :: (Maybe Int),- -- | File offset of ColumnChunk's ColumnIndex- columnChunkColumnIndexOffset :: (Maybe I.Int64),- -- | Size of ColumnChunk's ColumnIndex, in bytes- columnChunkColumnIndexLength :: (Maybe Int),- -- | Crypto metadata of encrypted columns- columnChunkCryptoMetadata :: (Maybe ColumnCryptoMetaData),- -- | Encrypted column metadata for this chunk- columnChunkEncryptedColumnMetadata :: (Maybe B.ByteString)}- deriving (Eq, Ord, Read, Show)--_ColumnChunk = Core.Name "hydra.parquet.format.ColumnChunk"--_ColumnChunk_filePath = Core.Name "filePath"--_ColumnChunk_fileOffset = Core.Name "fileOffset"--_ColumnChunk_metaData = Core.Name "metaData"--_ColumnChunk_offsetIndexOffset = Core.Name "offsetIndexOffset"--_ColumnChunk_offsetIndexLength = Core.Name "offsetIndexLength"--_ColumnChunk_columnIndexOffset = Core.Name "columnIndexOffset"--_ColumnChunk_columnIndexLength = Core.Name "columnIndexLength"--_ColumnChunk_cryptoMetadata = Core.Name "cryptoMetadata"--_ColumnChunk_encryptedColumnMetadata = Core.Name "encryptedColumnMetadata"---- | Crypto metadata for a column, specifying which key was used to encrypt it-data ColumnCryptoMetaData =- ColumnCryptoMetaDataEncryptionWithFooterKey EncryptionWithFooterKey |- ColumnCryptoMetaDataEncryptionWithColumnKey EncryptionWithColumnKey- deriving (Eq, Ord, Read, Show)--_ColumnCryptoMetaData = Core.Name "hydra.parquet.format.ColumnCryptoMetaData"--_ColumnCryptoMetaData_encryptionWithFooterKey = Core.Name "encryptionWithFooterKey"--_ColumnCryptoMetaData_encryptionWithColumnKey = Core.Name "encryptionWithColumnKey"---- | Description for ColumnIndex. Each <array-field>[i] refers to the page at OffsetIndex.page_locations[i]-data ColumnIndex =- ColumnIndex {- -- | A list of Boolean values to determine the validity of the corresponding min and max values. If true, a page contains only null values, and writers have to set the corresponding entries in min_values and max_values to byte[0], so that all lists have the same length. If false, the corresponding entries in min_values and max_values must be valid.- columnIndexNullPages :: [Bool],- -- | minValues and maxValues are lists containing lower and upper bounds for the values of each page determined by the ColumnOrder of the column. These may be the actual minimum and maximum values found on a page, but can also be (more compact) values that do not exist on a page. For example, instead of storing "Blart Versenwald III", a writer may set min_values[i]="B", max_values[i]="C". Such more compact values must still be valid values within the column's logical type. Readers must make sure that list entries are populated before using them by inspecting null_pages.- columnIndexMinValues :: [B.ByteString],- columnIndexMaxValues :: [B.ByteString],- -- | Stores whether both min_values and max_values are orderd and if so, in which direction. This allows readers to perform binary searches in both lists. Readers cannot assume that max_values[i] <= min_values[i+1], even if the lists are ordered.- columnIndexBoundaryOrder :: BoundaryOrder,- -- | A list containing the number of null values for each page- columnIndexNullCounts :: (Maybe [I.Int64])}- deriving (Eq, Ord, Read, Show)--_ColumnIndex = Core.Name "hydra.parquet.format.ColumnIndex"--_ColumnIndex_nullPages = Core.Name "nullPages"--_ColumnIndex_minValues = Core.Name "minValues"--_ColumnIndex_maxValues = Core.Name "maxValues"--_ColumnIndex_boundaryOrder = Core.Name "boundaryOrder"--_ColumnIndex_nullCounts = Core.Name "nullCounts"---- | Description for column metadata-data ColumnMetaData =- ColumnMetaData {- -- | Type of this column- columnMetaDataType :: Type,- -- | Set of all encodings used for this column. The purpose is to validate whether we can decode those pages.- columnMetaDataEncodings :: [Encoding],- -- | Path in schema- columnMetaDataPathInSchema :: [String],- -- | Compression codec- columnMetaDataCodec :: CompressionCodec,- -- | Number of values in this column- columnMetaDataNumValues :: I.Int64,- -- | total byte size of all uncompressed pages in this column chunk (including the headers)- columnMetaDataTotalUncompressedSize :: I.Int64,- -- | total byte size of all compressed, and potentially encrypted, pages in this column chunk (including the headers)- columnMetaDataTotalCompressedSize :: I.Int64,- -- | Optional key/value metadata- columnMetaDataKeyValueMetadata :: (Maybe [KeyValue]),- -- | Byte offset from beginning of file to first data page- columnMetaDataDataPageOffset :: I.Int64,- -- | Byte offset from beginning of file to root index page- columnMetaDataIndexPageOffset :: (Maybe I.Int64),- -- | Byte offset from the beginning of file to first (only) dictionary page- columnMetaDataDictionaryPageOffset :: (Maybe I.Int64),- -- | optional statistics for this column chunk- columnMetaDataStatistics :: (Maybe Statistics),- -- | Set of all encodings used for pages in this column chunk. This information can be used to determine if all data pages are dictionary encoded for example- columnMetaDataEncodingStats :: (Maybe [PageEncodingStats]),- -- | Byte offset from beginning of file to Bloom filter data.- columnMetaDataBloomFilterOffset :: (Maybe I.Int64)}- deriving (Eq, Ord, Read, Show)--_ColumnMetaData = Core.Name "hydra.parquet.format.ColumnMetaData"--_ColumnMetaData_type = Core.Name "type"--_ColumnMetaData_encodings = Core.Name "encodings"--_ColumnMetaData_pathInSchema = Core.Name "pathInSchema"--_ColumnMetaData_codec = Core.Name "codec"--_ColumnMetaData_numValues = Core.Name "numValues"--_ColumnMetaData_totalUncompressedSize = Core.Name "totalUncompressedSize"--_ColumnMetaData_totalCompressedSize = Core.Name "totalCompressedSize"--_ColumnMetaData_keyValueMetadata = Core.Name "keyValueMetadata"--_ColumnMetaData_dataPageOffset = Core.Name "dataPageOffset"--_ColumnMetaData_indexPageOffset = Core.Name "indexPageOffset"--_ColumnMetaData_dictionaryPageOffset = Core.Name "dictionaryPageOffset"--_ColumnMetaData_statistics = Core.Name "statistics"--_ColumnMetaData_encodingStats = Core.Name "encodingStats"--_ColumnMetaData_bloomFilterOffset = Core.Name "bloomFilterOffset"---- | Union to specify the order used for the min_value and max_value fields for a column. This union takes the role of an enhanced enum that allows rich elements (which will be needed for a collation-based ordering in the future). Possible values are:--- | * TypeDefinedOrder - the column uses the order defined by its logical or physical type (if there is no logical type).--- | If the reader does not support the value of this union, min and max stats for this column should be ignored. -data ColumnOrder =- -- | The sort orders for logical types are:- -- | UTF8 - unsigned byte-wise comparison- -- | INT8 - signed comparison- -- | INT16 - signed comparison- -- | INT32 - signed comparison- -- | INT64 - signed comparison- -- | UINT8 - unsigned comparison- -- | UINT16 - unsigned comparison- -- | UINT32 - unsigned comparison- -- | UINT64 - unsigned comparison- -- | DECIMAL - signed comparison of the represented value- -- | DATE - signed comparison- -- | TIME_MILLIS - signed comparison- -- | TIME_MICROS - signed comparison- -- | TIMESTAMP_MILLIS - signed comparison- -- | TIMESTAMP_MICROS - signed comparison- -- | INTERVAL - unsigned comparison- -- | JSON - unsigned byte-wise comparison- -- | BSON - unsigned byte-wise comparison- -- | ENUM - unsigned byte-wise comparison- -- | LIST - undefined- -- | MAP - undefined- -- | In the absence of logical types, the sort order is determined by the physical type:- -- | BOOLEAN - false, true- -- | INT32 - signed comparison- -- | INT64 - signed comparison- -- | INT96 (only used for legacy timestamps) - undefined- -- | FLOAT - signed comparison of the represented value (*)- -- | DOUBLE - signed comparison of the represented value (*)- -- | BYTE_ARRAY - unsigned byte-wise comparison- -- | FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison- -- | (*) Because the sorting order is not specified properly for floating- -- | point values (relations vs. total ordering) the following- -- | compatibility rules should be applied when reading statistics:- -- | - If the min is a NaN, it should be ignored.- -- | - If the max is a NaN, it should be ignored.- -- | - If the min is +0, the row group may contain -0 values as well.- -- | - If the max is -0, the row group may contain +0 values as well.- -- | - When looking for NaN values, min and max should be ignored.- ColumnOrderTypeOrder- deriving (Eq, Ord, Read, Show)--_ColumnOrder = Core.Name "hydra.parquet.format.ColumnOrder"--_ColumnOrder_typeOrder = Core.Name "typeOrder"---- | Supported compression algorithms. Codecs added in format version X.Y can be read by readers based on X.Y and later. Codec support may vary between readers based on the format version and libraries available at runtime. See Compression.md for a detailed specification of these algorithms.-data CompressionCodec =- CompressionCodecUncompressed |- CompressionCodecSnappy |- CompressionCodecGzip |- CompressionCodecLzo |- -- | Added in 2.4- CompressionCodecBrotli |- -- | Added in 2.4- CompressionCodecZstd |- -- | Added in 2.9- CompressionCodecLz4Raw- deriving (Eq, Ord, Read, Show)--_CompressionCodec = Core.Name "hydra.parquet.format.CompressionCodec"--_CompressionCodec_uncompressed = Core.Name "uncompressed"--_CompressionCodec_snappy = Core.Name "snappy"--_CompressionCodec_gzip = Core.Name "gzip"--_CompressionCodec_lzo = Core.Name "lzo"--_CompressionCodec_brotli = Core.Name "brotli"--_CompressionCodec_zstd = Core.Name "zstd"--_CompressionCodec_lz4Raw = Core.Name "lz4Raw"---- | Data page header-data DataPageHeader =- DataPageHeader {- -- | Number of values, including NULLs, in this data page.- dataPageHeaderNumValues :: Int,- -- | Encoding used for this data page- dataPageHeaderEncoding :: Encoding,- -- | Encoding used for definition levels- dataPageHeaderDefinitionLevelEncoding :: Encoding,- -- | Encoding used for repetition levels- dataPageHeaderRepetitionLevelEncoding :: Encoding,- -- | Optional statistics for the data in this page- dataPageHeaderStatistics :: (Maybe Statistics)}- deriving (Eq, Ord, Read, Show)--_DataPageHeader = Core.Name "hydra.parquet.format.DataPageHeader"--_DataPageHeader_numValues = Core.Name "numValues"--_DataPageHeader_encoding = Core.Name "encoding"--_DataPageHeader_definitionLevelEncoding = Core.Name "definitionLevelEncoding"--_DataPageHeader_repetitionLevelEncoding = Core.Name "repetitionLevelEncoding"--_DataPageHeader_statistics = Core.Name "statistics"---- | New page format allowing reading levels without decompressing the data Repetition and definition levels are uncompressed The remaining section containing the data is compressed if is_compressed is true-data DataPageHeaderV2 =- DataPageHeaderV2 {- -- | Number of values, including NULLs, in this data page.- dataPageHeaderV2NumValues :: Int,- -- | Number of NULL values, in this data page. Number of non-null = num_values - num_nulls which is also the number of values in the data section- dataPageHeaderV2NumNulls :: Int,- -- | Number of rows in this data page. which means pages change on record boundaries (r = 0)- dataPageHeaderV2NumRows :: Int,- -- | Encoding used for data in this page- dataPageHeaderV2Encoding :: Encoding,- -- | length of the definition levels- dataPageHeaderV2DefinitionLevelsByteLength :: Int,- -- | length of the repetition levels- dataPageHeaderV2RepetitionLevelsByteLength :: Int,- -- | whether the values are compressed. Which means the section of the page between definition_levels_byte_length + repetition_levels_byte_length + 1 and compressed_page_size (included) is compressed with the compression_codec. If missing it is considered compressed- dataPageHeaderV2IsCompressed :: (Maybe Bool),- -- | optional statistics for the data in this page- dataPageHeaderV2Statistics :: (Maybe Statistics)}- deriving (Eq, Ord, Read, Show)--_DataPageHeaderV2 = Core.Name "hydra.parquet.format.DataPageHeaderV2"--_DataPageHeaderV2_numValues = Core.Name "numValues"--_DataPageHeaderV2_numNulls = Core.Name "numNulls"--_DataPageHeaderV2_numRows = Core.Name "numRows"--_DataPageHeaderV2_encoding = Core.Name "encoding"--_DataPageHeaderV2_definitionLevelsByteLength = Core.Name "definitionLevelsByteLength"--_DataPageHeaderV2_repetitionLevelsByteLength = Core.Name "repetitionLevelsByteLength"--_DataPageHeaderV2_isCompressed = Core.Name "isCompressed"--_DataPageHeaderV2_statistics = Core.Name "statistics"---- | Decimal logical type annotation. To maintain forward-compatibility in v1, implementations using this logical type must also set scale and precision on the annotated SchemaElement. Allowed for physical types: INT32, INT64, FIXED, and BINARY-data DecimalType =- DecimalType {- decimalTypeScale :: Int,- decimalTypePrecision :: Int}- deriving (Eq, Ord, Read, Show)--_DecimalType = Core.Name "hydra.parquet.format.DecimalType"--_DecimalType_scale = Core.Name "scale"--_DecimalType_precision = Core.Name "precision"---- | The dictionary page must be placed at the first position of the column chunk if it is partly or completely dictionary encoded. At most one dictionary page can be placed in a column chunk.-data DictionaryPageHeader =- DictionaryPageHeader {- -- | Number of values in the dictionary- dictionaryPageHeaderNumValues :: Int,- -- | Encoding using this dictionary page- dictionaryPageHeaderEncoding :: Encoding,- -- | If true, the entries in the dictionary are sorted in ascending order- dictionaryPageHeaderIsSorted :: (Maybe Bool)}- deriving (Eq, Ord, Read, Show)--_DictionaryPageHeader = Core.Name "hydra.parquet.format.DictionaryPageHeader"--_DictionaryPageHeader_numValues = Core.Name "numValues"--_DictionaryPageHeader_encoding = Core.Name "encoding"--_DictionaryPageHeader_isSorted = Core.Name "isSorted"---- | Encodings supported by Parquet. Not all encodings are valid for all types. These enums are also used to specify the encoding of definition and repetition levels. See the accompanying doc for the details of the more complicated encodings.-data Encoding =- -- | Default encoding.- -- | BOOLEAN - 1 bit per value. 0 is false; 1 is true.- -- | INT32 - 4 bytes per value. Stored as little-endian.- -- | INT64 - 8 bytes per value. Stored as little-endian.- -- | FLOAT - 4 bytes per value. IEEE. Stored as little-endian.- -- | DOUBLE - 8 bytes per value. IEEE. Stored as little-endian.- -- | BYTE_ARRAY - 4 byte length stored as little endian, followed by bytes.- -- | FIXED_LEN_BYTE_ARRAY - Just the bytes.- EncodingPlain |- -- | Group packed run length encoding. Usable for definition/repetition levels encoding and Booleans (on one bit: 0 is false; 1 is true.)- EncodingRle |- -- | Bit packed encoding. This can only be used if the data has a known max width. Usable for definition/repetition levels encoding.- EncodingBitPacked |- -- | Delta encoding for integers. This can be used for int columns and works best on sorted data- EncodingDeltaBinaryPacked |- -- | Encoding for byte arrays to separate the length values and the data. The lengths are encoded using DELTA_BINARY_PACKED- EncodingDeltaLengthByteArray |- -- | Incremental-encoded byte array. Prefix lengths are encoded using DELTA_BINARY_PACKED. Suffixes are stored as delta length byte arrays.- EncodingDeltaByteArray |- -- | Dictionary encoding: the ids are encoded using the RLE encoding- EncodingRleDictionary |- -- | Encoding for floating-point data. K byte-streams are created where K is the size in bytes of the data type. The individual bytes of an FP value are scattered to the corresponding stream and the streams are concatenated. This itself does not reduce the size of the data but can lead to better compression afterwards.- EncodingByteStreamSplit- deriving (Eq, Ord, Read, Show)--_Encoding = Core.Name "hydra.parquet.format.Encoding"--_Encoding_plain = Core.Name "plain"--_Encoding_rle = Core.Name "rle"--_Encoding_bitPacked = Core.Name "bitPacked"--_Encoding_deltaBinaryPacked = Core.Name "deltaBinaryPacked"--_Encoding_deltaLengthByteArray = Core.Name "deltaLengthByteArray"--_Encoding_deltaByteArray = Core.Name "deltaByteArray"--_Encoding_rleDictionary = Core.Name "rleDictionary"--_Encoding_byteStreamSplit = Core.Name "byteStreamSplit"---- | The encryption algorithm used to protect a Parquet file, with its parameters-data EncryptionAlgorithm =- EncryptionAlgorithmAesGcmV1 AesGcmV1 |- EncryptionAlgorithmAesGcmCtrV1 AesGcmCtrV1- deriving (Eq, Ord, Read, Show)--_EncryptionAlgorithm = Core.Name "hydra.parquet.format.EncryptionAlgorithm"--_EncryptionAlgorithm_aesGcmV1 = Core.Name "aesGcmV1"--_EncryptionAlgorithm_aesGcmCtrV1 = Core.Name "aesGcmCtrV1"---- | Identifies a column as encrypted with its own per-column encryption key-data EncryptionWithColumnKey =- EncryptionWithColumnKey {- -- | Column path in schema- encryptionWithColumnKeyPathInSchema :: [String],- -- | Retrieval metadata of column encryption key- encryptionWithColumnKeyKeyMetadata :: (Maybe B.ByteString)}- deriving (Eq, Ord, Read, Show)--_EncryptionWithColumnKey = Core.Name "hydra.parquet.format.EncryptionWithColumnKey"--_EncryptionWithColumnKey_pathInSchema = Core.Name "pathInSchema"--_EncryptionWithColumnKey_keyMetadata = Core.Name "keyMetadata"---- | Identifies a column as encrypted with the same key used to encrypt the footer-type EncryptionWithFooterKey = ()--_EncryptionWithFooterKey = Core.Name "hydra.parquet.format.EncryptionWithFooterKey"---- | Representation of Schemas-data FieldRepetitionType =- -- | This field is required (can not be null) and each record has exactly 1 value.- FieldRepetitionTypeRequired |- -- | The field is optional (can be null) and each record has 0 or 1 values.- FieldRepetitionTypeOptional |- -- | The field is repeated and can contain 0 or more values- FieldRepetitionTypeRepeated- deriving (Eq, Ord, Read, Show)--_FieldRepetitionType = Core.Name "hydra.parquet.format.FieldRepetitionType"--_FieldRepetitionType_required = Core.Name "required"--_FieldRepetitionType_optional = Core.Name "optional"--_FieldRepetitionType_repeated = Core.Name "repeated"---- | Crypto metadata for files with encrypted footer-data FileCryptoMetaData =- FileCryptoMetaData {- -- | Encryption algorithm. This field is only used for files with encrypted footer. Files with plaintext footer store algorithm id inside footer (FileMetaData structure).- fileCryptoMetaDataEncryptionAlgorithm :: EncryptionAlgorithm,- -- | Retrieval metadata of key used for encryption of footer, and (possibly) columns- fileCryptoMetaDataKeyMetadata :: (Maybe B.ByteString)}- deriving (Eq, Ord, Read, Show)--_FileCryptoMetaData = Core.Name "hydra.parquet.format.FileCryptoMetaData"--_FileCryptoMetaData_encryptionAlgorithm = Core.Name "encryptionAlgorithm"--_FileCryptoMetaData_keyMetadata = Core.Name "keyMetadata"---- | Description for file metadata-data FileMetaData =- FileMetaData {- -- | Version of this file- fileMetaDataVersion :: Int,- -- | Parquet schema for this file. This schema contains metadata for all the columns. The schema is represented as a tree with a single root. The nodes of the tree are flattened to a list by doing a depth-first traversal. The column metadata contains the path in the schema for that column which can be used to map columns to nodes in the schema. The first element is the root- fileMetaDataSchema :: [SchemaElement],- -- | Number of rows in this file- fileMetaDataNumRows :: I.Int64,- -- | Row groups in this file- fileMetaDataRowGroups :: [RowGroup],- -- | Optional key/value metadata- fileMetaDataKeyValueMetadata :: (Maybe [KeyValue]),- -- | String for application that wrote this file. This should be in the format <Application> version <App Version> (build <App Build Hash>). e.g. impala version 1.0 (build 6cf94d29b2b7115df4de2c06e2ab4326d721eb55)- fileMetaDataCreatedBy :: (Maybe String),- -- | Sort order used for the min_value and max_value fields in the Statistics objects and the min_values and max_values fields in the ColumnIndex objects of each column in this file. Sort orders are listed in the order matching the columns in the schema. The indexes are not necessary the same though, because only leaf nodes of the schema are represented in the list of sort orders.- -- | Without column_orders, the meaning of the min_value and max_value fields in the Statistics object and the ColumnIndex object is undefined. To ensure well-defined behaviour, if these fields are written to a Parquet file, column_orders must be written as well.- -- | The obsolete min and max fields in the Statistics object are always sorted by signed comparison regardless of column_orders.- fileMetaDataColumnOrders :: (Maybe [ColumnOrder]),- -- | Encryption algorithm. This field is set only in encrypted files with plaintext footer. Files with encrypted footer store algorithm id in FileCryptoMetaData structure.- fileMetaDataEncryptionAlgorithm :: (Maybe EncryptionAlgorithm),- -- | Retrieval metadata of key used for signing the footer. Used only in encrypted files with plaintext footer.- fileMetaDataFooterSigningKeyMetadata :: (Maybe B.ByteString)}- deriving (Eq, Ord, Read, Show)--_FileMetaData = Core.Name "hydra.parquet.format.FileMetaData"--_FileMetaData_version = Core.Name "version"--_FileMetaData_schema = Core.Name "schema"--_FileMetaData_numRows = Core.Name "numRows"--_FileMetaData_rowGroups = Core.Name "rowGroups"--_FileMetaData_keyValueMetadata = Core.Name "keyValueMetadata"--_FileMetaData_createdBy = Core.Name "createdBy"--_FileMetaData_columnOrders = Core.Name "columnOrders"--_FileMetaData_encryptionAlgorithm = Core.Name "encryptionAlgorithm"--_FileMetaData_footerSigningKeyMetadata = Core.Name "footerSigningKeyMetadata"---- | Header for an index page (currently unused in the Parquet format)-type IndexPageHeader = ()--_IndexPageHeader = Core.Name "hydra.parquet.format.IndexPageHeader"---- | Integer logical type annotation. bitWidth must be 8, 16, 32, or 64. Allowed for physical types: INT32, INT64-data IntType =- IntType {- intTypeBitWidth :: I.Int16,- intTypeIsSigned :: Bool}- deriving (Eq, Ord, Read, Show)--_IntType = Core.Name "hydra.parquet.format.IntType"--_IntType_bitWidth = Core.Name "bitWidth"--_IntType_isSigned = Core.Name "isSigned"---- | Wrapper struct to store key values-data KeyValue =- KeyValue {- keyValueKey :: String,- keyValueValue :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_KeyValue = Core.Name "hydra.parquet.format.KeyValue"--_KeyValue_key = Core.Name "key"--_KeyValue_value = Core.Name "value"---- | LogicalType annotations to replace ConvertedType. To maintain compatibility, implementations using LogicalType for a SchemaElement aust also set the corresponding ConvertedType (if any) from the following table.-data LogicalType =- -- | use ConvertedType UTF8- LogicalTypeString |- -- | use ConvertedType MAP- LogicalTypeMap |- -- | use ConvertedType LIST- LogicalTypeList |- -- | use ConvertedType ENUM- LogicalTypeEnum |- -- | use ConvertedType DECIMAL + SchemaElement.{scale, precision}- LogicalTypeDecimal DecimalType |- -- | use ConvertedType DATE- LogicalTypeDate |- -- | use ConvertedType TIME_MICROS for TIME(isAdjustedToUTC = *, unit = MICROS). use ConvertedType TIME_MILLIS for TIME(isAdjustedToUTC = *, unit = MILLIS)- LogicalTypeTime TimeType |- -- | use ConvertedType TIMESTAMP_MICROS for TIMESTAMP(isAdjustedToUTC = *, unit = MICROS). use ConvertedType TIMESTAMP_MILLIS for TIMESTAMP(isAdjustedToUTC = *, unit = MILLIS)- LogicalTypeTimestamp TimestampType |- -- | use ConvertedType INT_* or UINT_*- LogicalTypeInteger IntType |- -- | no compatible ConvertedType- LogicalTypeUnknown |- -- | use ConvertedType JSON- LogicalTypeJson |- -- | use ConvertedType BSON- LogicalTypeBson |- -- | no compatible ConvertedType- LogicalTypeUuid- deriving (Eq, Ord, Read, Show)--_LogicalType = Core.Name "hydra.parquet.format.LogicalType"--_LogicalType_string = Core.Name "string"--_LogicalType_map = Core.Name "map"--_LogicalType_list = Core.Name "list"--_LogicalType_enum = Core.Name "enum"--_LogicalType_decimal = Core.Name "decimal"--_LogicalType_date = Core.Name "date"--_LogicalType_time = Core.Name "time"--_LogicalType_timestamp = Core.Name "timestamp"--_LogicalType_integer = Core.Name "integer"--_LogicalType_unknown = Core.Name "unknown"--_LogicalType_json = Core.Name "json"--_LogicalType_bson = Core.Name "bson"--_LogicalType_uuid = Core.Name "uuid"---- | The offset index for a column chunk, giving byte offsets and row indices of its pages-data OffsetIndex =- OffsetIndex {- -- | PageLocations, ordered by increasing PageLocation.offset. It is required that page_locations[i].first_row_index < page_locations[i+1].first_row_index.- offsetIndexPageLocations :: [PageLocation]}- deriving (Eq, Ord, Read, Show)--_OffsetIndex = Core.Name "hydra.parquet.format.OffsetIndex"--_OffsetIndex_pageLocations = Core.Name "pageLocations"---- | statistics of a given page type and encoding-data PageEncodingStats =- PageEncodingStats {- -- | the page type (data/dic/...)- pageEncodingStatsPageType :: PageType,- -- | encoding of the page- pageEncodingStatsEncoding :: Encoding,- -- | number of pages of this type with this encoding- pageEncodingStatsCount :: Int}- deriving (Eq, Ord, Read, Show)--_PageEncodingStats = Core.Name "hydra.parquet.format.PageEncodingStats"--_PageEncodingStats_pageType = Core.Name "pageType"--_PageEncodingStats_encoding = Core.Name "encoding"--_PageEncodingStats_count = Core.Name "count"---- | Common header shared by all page types, wrapping a type-specific header-data PageHeader =- PageHeader {- -- | the type of the page: indicates which of the *_header fields is set- pageHeaderType :: PageType,- -- | Uncompressed page size in bytes (not including this header)- pageHeaderUncompressedPageSize :: Int,- -- | Compressed (and potentially encrypted) page size in bytes, not including this header- pageHeaderCompressedPageSize :: Int,- -- | The 32bit CRC for the page, to be be calculated as follows:- -- | - Using the standard CRC32 algorithm- -- | - On the data only, i.e. this header should not be included. 'Data'- -- | hereby refers to the concatenation of the repetition levels, the- -- | definition levels and the column value, in this exact order.- -- | - On the encoded versions of the repetition levels, definition levels and- -- | column values- -- | - On the compressed versions of the repetition levels, definition levels- -- | and column values where possible;- -- | - For v1 data pages, the repetition levels, definition levels and column- -- | values are always compressed together. If a compression scheme is- -- | specified, the CRC shall be calculated on the compressed version of- -- | this concatenation. If no compression scheme is specified, the CRC- -- | shall be calculated on the uncompressed version of this concatenation.- -- | - For v2 data pages, the repetition levels and definition levels are- -- | handled separately from the data and are never compressed (only- -- | encoded). If a compression scheme is specified, the CRC shall be- -- | calculated on the concatenation of the uncompressed repetition levels,- -- | uncompressed definition levels and the compressed column values.- -- | If no compression scheme is specified, the CRC shall be calculated on- -- | the uncompressed concatenation.- -- | - In encrypted columns, CRC is calculated after page encryption; the- -- | encryption itself is performed after page compression (if compressed)- -- | If enabled, this allows for disabling checksumming in HDFS if only a few pages need to be read. - pageHeaderCrc :: (Maybe Int),- pageHeaderDataPageHeader :: (Maybe DataPageHeader),- pageHeaderIndexPageHeader :: (Maybe IndexPageHeader),- pageHeaderDictionaryPageHeader :: (Maybe DictionaryPageHeader),- pageHeaderDataPageHeaderV2 :: (Maybe DataPageHeaderV2)}- deriving (Eq, Ord, Read, Show)--_PageHeader = Core.Name "hydra.parquet.format.PageHeader"--_PageHeader_type = Core.Name "type"--_PageHeader_uncompressedPageSize = Core.Name "uncompressedPageSize"--_PageHeader_compressedPageSize = Core.Name "compressedPageSize"--_PageHeader_crc = Core.Name "crc"--_PageHeader_dataPageHeader = Core.Name "dataPageHeader"--_PageHeader_indexPageHeader = Core.Name "indexPageHeader"--_PageHeader_dictionaryPageHeader = Core.Name "dictionaryPageHeader"--_PageHeader_dataPageHeaderV2 = Core.Name "dataPageHeaderV2"---- | Location and size of a single page, used as an entry in an OffsetIndex-data PageLocation =- PageLocation {- -- | Offset of the page in the file- pageLocationOffset :: I.Int64,- -- | Size of the page, including header. Sum of compressed_page_size and header length- pageLocationCompressedPageSize :: Int,- -- | Index within the RowGroup of the first row of the page; this means pages change on record boundaries (r = 0).- pageLocationFirstRowIndex :: I.Int64}- deriving (Eq, Ord, Read, Show)--_PageLocation = Core.Name "hydra.parquet.format.PageLocation"--_PageLocation_offset = Core.Name "offset"--_PageLocation_compressedPageSize = Core.Name "compressedPageSize"--_PageLocation_firstRowIndex = Core.Name "firstRowIndex"---- | The type of a page within a column chunk-data PageType =- PageTypeDataPage |- PageTypeIndexPage |- PageTypeDictionaryPage |- PageTypeDataPageV2- deriving (Eq, Ord, Read, Show)--_PageType = Core.Name "hydra.parquet.format.PageType"--_PageType_dataPage = Core.Name "dataPage"--_PageType_indexPage = Core.Name "indexPage"--_PageType_dictionaryPage = Core.Name "dictionaryPage"--_PageType_dataPageV2 = Core.Name "dataPageV2"---- | Metadata for a horizontal partition of the data into a row group-data RowGroup =- RowGroup {- -- | Metadata for each column chunk in this row group. This list must have the same order as the SchemaElement list in FileMetaData.- rowGroupColumns :: [ColumnChunk],- -- | Total byte size of all the uncompressed column data in this row group- rowGroupTotalByteSize :: I.Int64,- -- | Number of rows in this row group- rowGroupNumRows :: I.Int64,- -- | If set, specifies a sort ordering of the rows in this RowGroup. The sorting columns can be a subset of all the columns.- rowGroupSortingColumns :: (Maybe [SortingColumn]),- -- | Byte offset from beginning of file to first page (data or dictionary) in this row group- rowGroupFileOffset :: (Maybe I.Int64),- -- | Total byte size of all compressed (and potentially encrypted) column data in this row group- rowGroupTotalCompressedSize :: (Maybe I.Int64),- -- | Row group ordinal in the file- rowGroupOrdinal :: (Maybe I.Int16)}- deriving (Eq, Ord, Read, Show)--_RowGroup = Core.Name "hydra.parquet.format.RowGroup"--_RowGroup_columns = Core.Name "columns"--_RowGroup_totalByteSize = Core.Name "totalByteSize"--_RowGroup_numRows = Core.Name "numRows"--_RowGroup_sortingColumns = Core.Name "sortingColumns"--_RowGroup_fileOffset = Core.Name "fileOffset"--_RowGroup_totalCompressedSize = Core.Name "totalCompressedSize"--_RowGroup_ordinal = Core.Name "ordinal"---- | Represents a element inside a schema definition.--- | - if it is a group (inner node) then type is undefined and num_children is defined--- | - if it is a primitive type (leaf) then type is defined and num_children is undefined--- | the nodes are listed in depth first traversal order.-data SchemaElement =- SchemaElement {- -- | Data type for this field. Not set if the current element is a non-leaf node- schemaElementType :: (Maybe Type),- -- | If type is FIXED_LEN_BYTE_ARRAY, this is the byte length of the values. Otherwise, if specified, this is the maximum bit length to store any of the values. (e.g. a low cardinality INT col could have this set to 3). Note that this is in the schema, and therefore fixed for the entire file.- schemaElementTypeLength :: (Maybe Int),- -- | repetition of the field. The root of the schema does not have a repetition_type. All other nodes must have one- schemaElementRepetitionType :: (Maybe FieldRepetitionType),- -- | Name of the field in the schema- schemaElementName :: String,- -- | Nested fields. Since thrift does not support nested fields, the nesting is flattened to a single list by a depth-first traversal. The children count is used to construct the nested relationship. This field is not set when the element is a primitive type- schemaElementNumChildren :: (Maybe Int),- -- | When the original schema supports field ids, this will save the original field id in the parquet schema- schemaElementFieldId :: (Maybe Int),- -- | The logical type of this SchemaElement. LogicalType replaces ConvertedType, but ConvertedType is still required for some logical types to ensure forward-compatibility in format v1.- schemaElementLogicalType :: (Maybe LogicalType)}- deriving (Eq, Ord, Read, Show)--_SchemaElement = Core.Name "hydra.parquet.format.SchemaElement"--_SchemaElement_type = Core.Name "type"--_SchemaElement_typeLength = Core.Name "typeLength"--_SchemaElement_repetitionType = Core.Name "repetitionType"--_SchemaElement_name = Core.Name "name"--_SchemaElement_numChildren = Core.Name "numChildren"--_SchemaElement_fieldId = Core.Name "fieldId"--_SchemaElement_logicalType = Core.Name "logicalType"---- | Wrapper struct to specify sort order-data SortingColumn =- SortingColumn {- -- | The column index (in this row group)- sortingColumnColumnIdx :: Int,- -- | If true, indicates this column is sorted in descending order.- sortingColumnDescending :: Bool,- -- | If true, nulls will come before non-null values, otherwise, nulls go at the end.- sortingColumnNullsFirst :: Bool}- deriving (Eq, Ord, Read, Show)--_SortingColumn = Core.Name "hydra.parquet.format.SortingColumn"--_SortingColumn_columnIdx = Core.Name "columnIdx"--_SortingColumn_descending = Core.Name "descending"--_SortingColumn_nullsFirst = Core.Name "nullsFirst"---- | Statistics per row group and per page. All fields are optional.-data Statistics =- Statistics {- statisticsNullCount :: (Maybe Integer),- statisticsDistinctCount :: (Maybe Integer),- -- | Max value for the column, determined by its ColumnOrder. Values are encoded using PLAIN encoding, except that variable-length byte arrays do not include a length prefix.- statisticsMaxValue :: (Maybe B.ByteString),- -- | Max value for the column, determined by its ColumnOrder. Values are encoded using PLAIN encoding, except that variable-length byte arrays do not include a length prefix.- statisticsMinValue :: (Maybe B.ByteString)}- deriving (Eq, Ord, Read, Show)--_Statistics = Core.Name "hydra.parquet.format.Statistics"--_Statistics_nullCount = Core.Name "nullCount"--_Statistics_distinctCount = Core.Name "distinctCount"--_Statistics_maxValue = Core.Name "maxValue"--_Statistics_minValue = Core.Name "minValue"---- | Time logical type annotation. Allowed for physical types: INT32 (millis), INT64 (micros, nanos)-data TimeType =- TimeType {- timeTypeIsAdjustedToUtc :: Bool,- timeTypeUnit :: TimeUnit}- deriving (Eq, Ord, Read, Show)--_TimeType = Core.Name "hydra.parquet.format.TimeType"--_TimeType_isAdjustedToUtc = Core.Name "isAdjustedToUtc"--_TimeType_unit = Core.Name "unit"---- | The unit of measurement for a TIME or TIMESTAMP logical type-data TimeUnit =- TimeUnitMillis |- TimeUnitMicros |- TimeUnitNanos- deriving (Eq, Ord, Read, Show)--_TimeUnit = Core.Name "hydra.parquet.format.TimeUnit"--_TimeUnit_millis = Core.Name "millis"--_TimeUnit_micros = Core.Name "micros"--_TimeUnit_nanos = Core.Name "nanos"---- | Timestamp logical type annotation. Allowed for physical types: INT64-data TimestampType =- TimestampType {- timestampTypeIsAdjustedToUtc :: Bool,- timestampTypeUnit :: TimeUnit}- deriving (Eq, Ord, Read, Show)--_TimestampType = Core.Name "hydra.parquet.format.TimestampType"--_TimestampType_isAdjustedToUtc = Core.Name "isAdjustedToUtc"--_TimestampType_unit = Core.Name "unit"---- | Types supported by Parquet. These types are intended to be used in combination with the encodings to control the on disk storage format. For example INT16 is not included as a type since a good encoding of INT32 would handle this.-data Type =- TypeBoolean |- TypeInt32 |- TypeInt64 |- TypeFloat |- TypeDouble |- TypeByteArray |- TypeFixedLenByteArray- deriving (Eq, Ord, Read, Show)--_Type = Core.Name "hydra.parquet.format.Type"--_Type_boolean = Core.Name "boolean"--_Type_int32 = Core.Name "int32"--_Type_int64 = Core.Name "int64"--_Type_float = Core.Name "float"--_Type_double = Core.Name "double"--_Type_byteArray = Core.Name "byteArray"--_Type_fixedLenByteArray = Core.Name "fixedLenByteArray"
− src/main/haskell/Hydra/Pegasus/Coder.hs
@@ -1,305 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Pegasus PDL code generator: converts Hydra modules to PDL schema files--module Hydra.Pegasus.Coder where--import qualified Hydra.Analysis as Analysis-import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dependencies as Dependencies-import qualified Hydra.Docs as Docs-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Model as Model-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.Maps as Maps-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.Pegasus.Language as Language-import qualified Hydra.Pegasus.Pdl as Pdl-import qualified Hydra.Pegasus.Serde as Serde-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Sorting as Sorting-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Construct PDL schema files from type definitions, with topological sorting and cycle detection-constructModule :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Packaging.Module -> [Packaging.TypeDefinition] -> Either Errors.Error (M.Map String Pdl.SchemaFile)-constructModule cx g aliases mod typeDefs =-- let groups = Dependencies.topologicalSortTypeDefinitions typeDefs- in (Optionals.match (Lists.find (\grp -> Ordering.gt (Lists.length grp) 1) groups) (- let sortedDefs = Lists.concat groups- in (Eithers.bind (Eithers.mapList (\typeDef -> typeToSchema cx g aliases mod typeDef) sortedDefs) (\schemas -> Right (Maps.fromList (Lists.map (toPair mod aliases) schemas))))) (\cycle -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "types form a cycle (unsupported in PDL): [" (Strings.concat2 (Strings.join ", " (Lists.map (\td -> Core.unName (Packaging.typeDefinitionName td)) cycle)) "]"))))))---- | Create PDL annotations from an optional doc string-doc :: Maybe String -> Pdl.Annotations-doc s =- Pdl.Annotations {- Pdl.annotationsDoc = s,- Pdl.annotationsDeprecated = False}---- | Encode a Hydra type as a PDL schema, failing if it resolves to a nested named schema-encode :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.Type -> Either Errors.Error Pdl.Schema-encode cx g aliases t =- case (Strip.deannotateType t) of- Core.TypeRecord v0 -> Logic.ifElse (Lists.isEmpty v0) (encode cx g aliases (Core.TypeLiteral (Core.LiteralTypeInteger Core.IntegerTypeInt32))) (Eithers.bind (encodeType cx g aliases t) (\res -> Eithers.either (\schema -> Right schema) (\_ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "type resolved to an unsupported nested named schema: " (PrintCore.type_ t))))) res))- _ -> Eithers.bind (encodeType cx g aliases t) (\res -> Eithers.either (\schema -> Right schema) (\_ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "type resolved to an unsupported nested named schema: " (PrintCore.type_ t))))) res)---- | Encode a Hydra field type as a PDL enum field, converting the name to upper snake case-encodeEnumField :: t0 -> Graph.Graph -> Core.FieldType -> Either Errors.Error Pdl.EnumField-encodeEnumField cx g ft =-- let name = Core.fieldTypeName ft- typ = Core.fieldTypeType ft- in (Eithers.bind (getAnns cx g typ) (\anns -> Right (Pdl.EnumField {- Pdl.enumFieldName = (Pdl.EnumFieldName (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Core.unName name))),- Pdl.enumFieldAnnotations = anns})))---- | Encode a type as a PDL schema together with a flag indicating whether it was optional-encodePossiblyOptionalType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.Type -> Either Errors.Error (Pdl.Schema, Bool)-encodePossiblyOptionalType cx g aliases typ =- case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> Eithers.bind (encode cx g aliases v0) (\t -> Right (t, True))- Core.TypeRecord _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeUnion _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeLiteral _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeList _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeMap _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeSet _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeVariable _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeWrap _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeEither _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypePair _ -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeVoid -> Eithers.bind (encode cx g aliases typ) (\t -> Right (t, False))- Core.TypeAnnotated v0 -> encodePossiblyOptionalType cx g aliases (Core.annotatedTypeBody v0)---- | Encode a Hydra field type as a PDL record field-encodeRecordField :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.FieldType -> Either Errors.Error Pdl.RecordField-encodeRecordField cx g aliases ft =-- let name = Core.fieldTypeName ft- typ = Core.fieldTypeType ft- in (Eithers.bind (getAnns cx g typ) (\anns -> Eithers.bind (encodePossiblyOptionalType cx g aliases typ) (\optResult ->- let schema = Pairs.first optResult- optional = Pairs.second optResult- in (Right (Pdl.RecordField {- Pdl.recordFieldName = (Pdl.FieldName (Core.unName name)),- Pdl.recordFieldValue = schema,- Pdl.recordFieldOptional = optional,- Pdl.recordFieldDefault = Nothing,- Pdl.recordFieldAnnotations = anns})))))---- | Encode a Hydra type as either a PDL Schema (Left) or a PDL NamedSchemaType (Right)-encodeType :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.Type -> Either Errors.Error (Either Pdl.Schema Pdl.NamedSchemaType)-encodeType cx g aliases typ =- case typ of- Core.TypeAnnotated v0 -> encodeType cx g aliases (Core.annotatedTypeBody v0)- Core.TypeEither v0 -> Eithers.bind (encode cx g aliases (Core.eitherTypeLeft v0)) (\leftSchema -> Eithers.bind (encode cx g aliases (Core.eitherTypeRight v0)) (\rightSchema ->- let leftMember =- Pdl.UnionMember {- Pdl.unionMemberAlias = (Just (Pdl.FieldName "left")),- Pdl.unionMemberValue = leftSchema,- Pdl.unionMemberAnnotations = noAnnotations}- rightMember =- Pdl.UnionMember {- Pdl.unionMemberAlias = (Just (Pdl.FieldName "right")),- Pdl.unionMemberValue = rightSchema,- Pdl.unionMemberAnnotations = noAnnotations}- in (Right (Left (Pdl.SchemaUnion (Pdl.UnionSchema [- leftMember,- rightMember]))))))- Core.TypeList v0 -> Eithers.bind (encode cx g aliases v0) (\inner -> Right (Left (Pdl.SchemaArray inner)))- Core.TypeLiteral v0 -> case v0 of- Core.LiteralTypeBinary -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeBytes))- Core.LiteralTypeBoolean -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeBoolean))- Core.LiteralTypeFloat v1 -> case v1 of- Core.FloatTypeFloat32 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeFloat))- Core.FloatTypeFloat64 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeDouble))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "float32 or float64" (Strings.concat2 ", found: " (PrintCore.type_ typ))))))- Core.LiteralTypeInteger v1 -> case v1 of- Core.IntegerTypeInt32 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeInt))- Core.IntegerTypeInt64 -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeLong))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "int32 or int64" (Strings.concat2 ", found: " (PrintCore.type_ typ))))))- Core.LiteralTypeString -> Right (Left (Pdl.SchemaPrimitive Pdl.PrimitiveTypeString))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "PDL-supported literal type" (Strings.concat2 ", found: " (PrintCore.type_ typ))))))- Core.TypeMap v0 -> Eithers.bind (encode cx g aliases (Core.mapTypeValues v0)) (\inner -> Right (Left (Pdl.SchemaMap inner)))- Core.TypePair v0 -> Eithers.bind (encode cx g aliases (Core.pairTypeFirst v0)) (\firstSchema -> Eithers.bind (encode cx g aliases (Core.pairTypeSecond v0)) (\secondSchema ->- let firstField =- Pdl.RecordField {- Pdl.recordFieldName = (Pdl.FieldName "first"),- Pdl.recordFieldValue = firstSchema,- Pdl.recordFieldOptional = False,- Pdl.recordFieldDefault = Nothing,- Pdl.recordFieldAnnotations = noAnnotations}- secondField =- Pdl.RecordField {- Pdl.recordFieldName = (Pdl.FieldName "second"),- Pdl.recordFieldValue = secondSchema,- Pdl.recordFieldOptional = False,- Pdl.recordFieldDefault = Nothing,- Pdl.recordFieldAnnotations = noAnnotations}- in (Right (Right (Pdl.NamedSchemaTypeRecord (Pdl.RecordSchema {- Pdl.recordSchemaFields = [- firstField,- secondField],- Pdl.recordSchemaIncludes = []}))))))- Core.TypeSet v0 -> Eithers.bind (encode cx g aliases v0) (\inner -> Right (Left (Pdl.SchemaArray inner)))- Core.TypeVariable v0 -> Right (Left (Pdl.SchemaNamed (pdlNameForElement aliases True v0)))- Core.TypeWrap v0 -> encodeType cx g aliases v0- Core.TypeOptional _ -> Left (Errors.ErrorOther (Errors.OtherError "optionals unexpected at top level"))- Core.TypeRecord v0 -> Eithers.bind (Eithers.mapList (encodeRecordField cx g aliases) v0) (\rfields -> Right (Right (Pdl.NamedSchemaTypeRecord (Pdl.RecordSchema {- Pdl.recordSchemaFields = rfields,- Pdl.recordSchemaIncludes = []}))))- Core.TypeUnion v0 -> Logic.ifElse (Lists.foldl (\b -> \t -> Logic.and b (Equality.equal (Strip.deannotateType t) Core.TypeUnit)) True (Lists.map (\f -> Core.fieldTypeType f) v0)) (Eithers.bind (Eithers.mapList (encodeEnumField cx g) v0) (\fs -> Right (Right (Pdl.NamedSchemaTypeEnum (Pdl.EnumSchema {- Pdl.enumSchemaFields = fs}))))) (Eithers.bind (Eithers.mapList (encodeUnionField cx g aliases) v0) (\members -> Right (Left (Pdl.SchemaUnion (Pdl.UnionSchema members)))))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Expected " (Strings.concat2 "PDL-supported type" (Strings.concat2 ", found: " (PrintCore.type_ typ))))))---- | Encode a Hydra field type as a PDL union member, wrapping optional types in a null union-encodeUnionField :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> Core.FieldType -> Either Errors.Error Pdl.UnionMember-encodeUnionField cx g aliases ft =-- let name = Core.fieldTypeName ft- typ = Core.fieldTypeType ft- in (Eithers.bind (getAnns cx g typ) (\anns -> Eithers.bind (encodePossiblyOptionalType cx g aliases typ) (\optResult ->- let s = Pairs.first optResult- optional = Pairs.second optResult- schema =- Logic.ifElse optional (Pdl.SchemaUnion (Pdl.UnionSchema (Lists.map (\ms -> simpleUnionMember ms) [- Pdl.SchemaNull,- s]))) s- in (Right (Pdl.UnionMember {- Pdl.unionMemberAlias = (Just (Pdl.FieldName (Core.unName name))),- Pdl.unionMemberValue = schema,- Pdl.unionMemberAnnotations = anns})))))---- | Get PDL annotations for a type by looking up its description in the graph-getAnns :: t0 -> Graph.Graph -> Core.Type -> Either Errors.Error Pdl.Annotations-getAnns cx g typ = Eithers.bind (Annotations.getTypeDescription cx g typ) (\r -> Right (doc r))---- | Compute import aliases for a module's dependencies-importAliasesForModule :: t0 -> Graph.Graph -> Packaging.Module -> Either Errors.Error (M.Map Packaging.ModuleName String)-importAliasesForModule cx g mod =- Eithers.bind (Analysis.moduleDependencyModuleNames cx g False True True False mod) (\nss -> Right (Maps.fromList (Lists.map (\ns_ -> (ns_, (slashesToDots (Packaging.unModuleName ns_)))) (Sets.toList nss))))---- | Convert a Hydra module to a map of file paths to PDL schema strings-moduleToPdl :: Packaging.Module -> [Packaging.Definition] -> t0 -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToPdl mod defs cx g =- Eithers.bind (moduleToPegasusSchemas cx g mod defs) (\files -> Right (Maps.fromList (Lists.map (\pair -> (Pairs.first pair, (Serialization.printExpr (Serialization.parenthesize (Serde.schemaFileToExpr (Pairs.second pair)))))) (Maps.toList files))))---- | Convert a Hydra module and its definitions to PDL schema files-moduleToPegasusSchemas :: t0 -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error (M.Map String Pdl.SchemaFile)-moduleToPegasusSchemas cx g mod defs =-- let partitioned = Environment.partitionDefinitions defs- typeDefs = Pairs.first partitioned- in (Eithers.bind (importAliasesForModule cx g mod) (\aliases -> constructModule cx g aliases mod typeDefs))---- | Empty PDL annotations-noAnnotations :: Pdl.Annotations-noAnnotations =- Pdl.Annotations {- Pdl.annotationsDoc = Nothing,- Pdl.annotationsDeprecated = False}---- | Convert a Hydra element name to a PDL qualified name-pdlNameForElement :: M.Map Packaging.ModuleName String -> Bool -> Core.Name -> Pdl.QualifiedName-pdlNameForElement aliases withNs name =-- let qn = Names.qualifyName name- ns_ = Util.qualifiedNameModuleName qn- local = Util.qualifiedNameLocal qn- alias = Optionals.bind ns_ (\n -> Maps.lookup n aliases)- in Pdl.QualifiedName {- Pdl.qualifiedNameName = (Pdl.Name local),- Pdl.qualifiedNameNamespace = (Logic.ifElse withNs (Optionals.map (\a -> Pdl.Namespace a) alias) Nothing)}---- | Convert a module's namespace to a PDL namespace-pdlNameForModule :: Packaging.Module -> Pdl.Namespace-pdlNameForModule mod = Pdl.Namespace (slashesToDots (Packaging.unModuleName (Packaging.moduleName mod)))---- | Create a simple union member without an alias-simpleUnionMember :: Pdl.Schema -> Pdl.UnionMember-simpleUnionMember schema =- Pdl.UnionMember {- Pdl.unionMemberAlias = Nothing,- Pdl.unionMemberValue = schema,- Pdl.unionMemberAnnotations = noAnnotations}---- | Replace all forward slashes with dots in a string-slashesToDots :: String -> String-slashesToDots s = Strings.join "." (Strings.splitOn "/" s)---- | Pair a file path derived from a module and schema name with the resulting PDL schema file-toPair :: Packaging.Module -> t0 -> (Pdl.NamedSchema, [Pdl.QualifiedName]) -> (String, Pdl.SchemaFile)-toPair mod aliases schemaPair =-- let schema = Pairs.first schemaPair- imports = Pairs.second schemaPair- ns_ = pdlNameForModule mod- local = Pdl.unName (Pdl.qualifiedNameName (Pdl.namedSchemaQualifiedName schema))- path =- Names.moduleNameToFilePath Util.CaseConventionCamel (File.FileExtension "pdl") (Packaging.ModuleName (Strings.concat2 (Packaging.unModuleName (Packaging.moduleName mod)) (Strings.concat2 "/" local)))- in (- path,- Pdl.SchemaFile {- Pdl.schemaFileNamespace = ns_,- Pdl.schemaFilePackage = Nothing,- Pdl.schemaFileImports = imports,- Pdl.schemaFileSchemas = [- schema]})---- | Convert a Hydra type definition into a named PDL schema together with its imports-typeToSchema :: t0 -> Graph.Graph -> M.Map Packaging.ModuleName String -> t1 -> Packaging.TypeDefinition -> Either Errors.Error (Pdl.NamedSchema, [t2])-typeToSchema cx g aliases mod typeDef =-- let typ = Core.typeSchemeBody (Packaging.typeDefinitionBody typeDef)- in (Eithers.bind (encodeType cx g aliases typ) (\res ->- let ptype = Eithers.either (\schema -> Pdl.NamedSchemaTypeTyperef schema) (\t -> t) res- in (Eithers.bind (Annotations.getTypeDescription cx g typ) (\descr ->- let anns = doc descr- qname = pdlNameForElement aliases False (Packaging.typeDefinitionName typeDef)- in (Right (- Pdl.NamedSchema {- Pdl.namedSchemaQualifiedName = qname,- Pdl.namedSchemaType = ptype,- Pdl.namedSchemaAnnotations = anns},- []))))))
− src/main/haskell/Hydra/Pegasus/Language.hs
@@ -1,112 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints for LinkedIn Pegasus (PDL)--module Hydra.Pegasus.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for LinkedIn Pegasus (PDL)-pdlLanguage :: Coders.Language-pdlLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.pegasus.pdl"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "pdl")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt32,- Core.IntegerTypeInt64]- termVariants =- Sets.fromList [- Variants.TermVariantEither,- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantPair,- Variants.TermVariantSet,- Variants.TermVariantWrap,- Variants.TermVariantOptional,- Variants.TermVariantRecord,- Variants.TermVariantInject]- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantEither,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantPair,- Variants.TypeVariantSet,- Variants.TypeVariantWrap,- Variants.TypeVariantOptional,- Variants.TypeVariantRecord,- Variants.TypeVariantUnion,- Variants.TypeVariantVariable]- typePredicate = \_ -> True
− src/main/haskell/Hydra/Pegasus/Pdl.hs
@@ -1,288 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for PDL (Pegasus Data Language) schemas. Based on the specification at:--- | https://linkedin.github.io/rest.li/pdl_schema--module Hydra.Pegasus.Pdl where--import qualified Hydra.Core as Core-import qualified Hydra.Json.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---- | Annotations which can be applied to record fields, aliased union members, enum symbols, or named schemas-data Annotations =- Annotations {- annotationsDoc :: (Maybe String),- annotationsDeprecated :: Bool}- deriving (Eq, Ord, Read, Show)--_Annotations = Core.Name "hydra.pegasus.pdl.Annotations"--_Annotations_doc = Core.Name "doc"--_Annotations_deprecated = Core.Name "deprecated"---- | A single symbol of a PDL enum schema, with its optional annotations-data EnumField =- EnumField {- enumFieldName :: EnumFieldName,- enumFieldAnnotations :: Annotations}- deriving (Eq, Ord, Read, Show)--_EnumField = Core.Name "hydra.pegasus.pdl.EnumField"--_EnumField_name = Core.Name "name"--_EnumField_annotations = Core.Name "annotations"---- | The name of a PDL enum symbol, conventionally in upper snake case-newtype EnumFieldName =- EnumFieldName {- unEnumFieldName :: String}- deriving (Eq, Ord, Read, Show)--_EnumFieldName = Core.Name "hydra.pegasus.pdl.EnumFieldName"---- | A PDL enum schema, defined as a fixed set of enumerated symbols-data EnumSchema =- EnumSchema {- enumSchemaFields :: [EnumField]}- deriving (Eq, Ord, Read, Show)--_EnumSchema = Core.Name "hydra.pegasus.pdl.EnumSchema"--_EnumSchema_fields = Core.Name "fields"---- | The name of a record field or an aliased union member-newtype FieldName =- FieldName {- unFieldName :: String}- deriving (Eq, Ord, Read, Show)--_FieldName = Core.Name "hydra.pegasus.pdl.FieldName"---- | The unqualified (non-namespaced) name of a PDL named schema-newtype Name =- Name {- unName :: String}- deriving (Eq, Ord, Read, Show)--_Name = Core.Name "hydra.pegasus.pdl.Name"---- | A PDL schema that has a qualified name: a record, enum, or typeref-data NamedSchema =- NamedSchema {- namedSchemaQualifiedName :: QualifiedName,- namedSchemaType :: NamedSchemaType,- namedSchemaAnnotations :: Annotations}- deriving (Eq, Ord, Read, Show)--_NamedSchema = Core.Name "hydra.pegasus.pdl.NamedSchema"--_NamedSchema_qualifiedName = Core.Name "qualifiedName"--_NamedSchema_type = Core.Name "type"--_NamedSchema_annotations = Core.Name "annotations"---- | The variety of a PDL named schema: record, enum, or typeref-data NamedSchemaType =- NamedSchemaTypeRecord RecordSchema |- NamedSchemaTypeEnum EnumSchema |- NamedSchemaTypeTyperef Schema- deriving (Eq, Ord, Read, Show)--_NamedSchemaType = Core.Name "hydra.pegasus.pdl.NamedSchemaType"--_NamedSchemaType_record = Core.Name "record"--_NamedSchemaType_enum = Core.Name "enum"--_NamedSchemaType_typeref = Core.Name "typeref"---- | A dot-separated PDL namespace, analogous to a Java package name-newtype Namespace =- Namespace {- unNamespace :: String}- deriving (Eq, Ord, Read, Show)--_Namespace = Core.Name "hydra.pegasus.pdl.Namespace"---- | The Java package under which generated bindings for a schema file are placed-newtype Package =- Package {- unPackage :: String}- deriving (Eq, Ord, Read, Show)--_Package = Core.Name "hydra.pegasus.pdl.Package"---- | One of the built-in PDL primitive types-data PrimitiveType =- PrimitiveTypeBoolean |- PrimitiveTypeBytes |- PrimitiveTypeDouble |- PrimitiveTypeFloat |- PrimitiveTypeInt |- PrimitiveTypeLong |- PrimitiveTypeString- deriving (Eq, Ord, Read, Show)--_PrimitiveType = Core.Name "hydra.pegasus.pdl.PrimitiveType"--_PrimitiveType_boolean = Core.Name "boolean"--_PrimitiveType_bytes = Core.Name "bytes"--_PrimitiveType_double = Core.Name "double"--_PrimitiveType_float = Core.Name "float"--_PrimitiveType_int = Core.Name "int"--_PrimitiveType_long = Core.Name "long"--_PrimitiveType_string = Core.Name "string"---- | A custom key/value property attached to a PDL schema, field, or member-data Property =- Property {- propertyKey :: PropertyKey,- propertyValue :: (Maybe Model.Value)}- deriving (Eq, Ord, Read, Show)--_Property = Core.Name "hydra.pegasus.pdl.Property"--_Property_key = Core.Name "key"--_Property_value = Core.Name "value"---- | The key of a custom PDL schema property, e.g. a dot-separated path-newtype PropertyKey =- PropertyKey {- unPropertyKey :: String}- deriving (Eq, Ord, Read, Show)--_PropertyKey = Core.Name "hydra.pegasus.pdl.PropertyKey"---- | A PDL name together with the optional namespace that qualifies it-data QualifiedName =- QualifiedName {- qualifiedNameName :: Name,- qualifiedNameNamespace :: (Maybe Namespace)}- deriving (Eq, Ord, Read, Show)--_QualifiedName = Core.Name "hydra.pegasus.pdl.QualifiedName"--_QualifiedName_name = Core.Name "name"--_QualifiedName_namespace = Core.Name "namespace"---- | Note: the default value for an enum-valued must be one of the enumerated string symbols-data RecordField =- RecordField {- recordFieldName :: FieldName,- recordFieldValue :: Schema,- recordFieldOptional :: Bool,- recordFieldDefault :: (Maybe Model.Value),- recordFieldAnnotations :: Annotations}- deriving (Eq, Ord, Read, Show)--_RecordField = Core.Name "hydra.pegasus.pdl.RecordField"--_RecordField_name = Core.Name "name"--_RecordField_value = Core.Name "value"--_RecordField_optional = Core.Name "optional"--_RecordField_default = Core.Name "default"--_RecordField_annotations = Core.Name "annotations"---- | Note: all included schemas must be record schemas-data RecordSchema =- RecordSchema {- recordSchemaFields :: [RecordField],- recordSchemaIncludes :: [NamedSchema]}- deriving (Eq, Ord, Read, Show)--_RecordSchema = Core.Name "hydra.pegasus.pdl.RecordSchema"--_RecordSchema_fields = Core.Name "fields"--_RecordSchema_includes = Core.Name "includes"---- | A PDL data schema: either a primitive, a reference by name, or a complex type-data Schema =- SchemaArray Schema |- SchemaFixed Int |- SchemaInline NamedSchema |- SchemaMap Schema |- SchemaNamed QualifiedName |- SchemaNull |- SchemaPrimitive PrimitiveType |- SchemaUnion UnionSchema- deriving (Eq, Ord, Read, Show)--_Schema = Core.Name "hydra.pegasus.pdl.Schema"--_Schema_array = Core.Name "array"--_Schema_fixed = Core.Name "fixed"--_Schema_inline = Core.Name "inline"--_Schema_map = Core.Name "map"--_Schema_named = Core.Name "named"--_Schema_null = Core.Name "null"--_Schema_primitive = Core.Name "primitive"--_Schema_union = Core.Name "union"---- | A .pdl source file: a namespace declaration, imports, and one or more named schemas-data SchemaFile =- SchemaFile {- schemaFileNamespace :: Namespace,- schemaFilePackage :: (Maybe Package),- schemaFileImports :: [QualifiedName],- schemaFileSchemas :: [NamedSchema]}- deriving (Eq, Ord, Read, Show)--_SchemaFile = Core.Name "hydra.pegasus.pdl.SchemaFile"--_SchemaFile_namespace = Core.Name "namespace"--_SchemaFile_package = Core.Name "package"--_SchemaFile_imports = Core.Name "imports"--_SchemaFile_schemas = Core.Name "schemas"---- | Note: annotations are only available for aliased members-data UnionMember =- UnionMember {- unionMemberAlias :: (Maybe FieldName),- unionMemberValue :: Schema,- unionMemberAnnotations :: Annotations}- deriving (Eq, Ord, Read, Show)--_UnionMember = Core.Name "hydra.pegasus.pdl.UnionMember"--_UnionMember_alias = Core.Name "alias"--_UnionMember_value = Core.Name "value"--_UnionMember_annotations = Core.Name "annotations"---- | Note: unions are not allowed as member types of other unions-newtype UnionSchema =- UnionSchema {- unUnionSchema :: [UnionMember]}- deriving (Eq, Ord, Read, Show)--_UnionSchema = Core.Name "hydra.pegasus.pdl.UnionSchema"
− src/main/haskell/Hydra/Pegasus/Serde.hs
@@ -1,194 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Serialization functions for converting Pegasus PDL AST to abstract expressions--module Hydra.Pegasus.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Model as Model-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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Pegasus.Pdl as Pdl-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Convert PDL annotations to an optional expression (doc comment)-annotationsToExpr :: Pdl.Annotations -> Maybe Ast.Expr-annotationsToExpr anns =-- let d = Pdl.annotationsDoc anns- in (Optionals.map (\s -> Serialization.cst (Formatting.javaStyleComment s)) d)---- | Convert a PDL enum field to an expression-enumFieldToExpr :: Pdl.EnumField -> Ast.Expr-enumFieldToExpr ef =-- let name = Pdl.unEnumFieldName (Pdl.enumFieldName ef)- anns = Pdl.enumFieldAnnotations ef- in (withAnnotations anns (Serialization.cst name))---- | Convert a qualified name to an import expression-importToExpr :: Pdl.QualifiedName -> Ast.Expr-importToExpr qn =- Serialization.spaceSep [- Serialization.cst "import",- (qualifiedNameToExpr qn)]---- | Convert a named schema to an expression-namedSchemaToExpr :: Pdl.NamedSchema -> Ast.Expr-namedSchemaToExpr ns =-- let qn = Pdl.namedSchemaQualifiedName ns- t = Pdl.namedSchemaType ns- anns = Pdl.namedSchemaAnnotations ns- in (withAnnotations anns (case t of- Pdl.NamedSchemaTypeRecord v0 ->- let fields = Pdl.recordSchemaFields v0- in (Serialization.spaceSep [- Serialization.cst "record",- (qualifiedNameToExpr qn),- (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle (Lists.map recordFieldToExpr fields))])- Pdl.NamedSchemaTypeEnum v0 ->- let fields = Pdl.enumSchemaFields v0- in (Serialization.spaceSep [- Serialization.cst "enum",- (qualifiedNameToExpr qn),- (Serialization.curlyBracesList Nothing Serialization.fullBlockStyle (Lists.map enumFieldToExpr fields))])- Pdl.NamedSchemaTypeTyperef v0 -> Serialization.spaceSep [- Serialization.cst "typeref",- (qualifiedNameToExpr qn),- (Serialization.cst "="),- (schemaToExpr v0)]))---- | Convert a primitive type to an expression-primitiveTypeToExpr :: Pdl.PrimitiveType -> Ast.Expr-primitiveTypeToExpr pt =- Serialization.cst (case pt of- Pdl.PrimitiveTypeBoolean -> "boolean"- Pdl.PrimitiveTypeBytes -> "bytes"- Pdl.PrimitiveTypeDouble -> "double"- Pdl.PrimitiveTypeFloat -> "float"- Pdl.PrimitiveTypeInt -> "int"- Pdl.PrimitiveTypeLong -> "long"- Pdl.PrimitiveTypeString -> "string")---- | Convert a qualified name to an expression-qualifiedNameToExpr :: Pdl.QualifiedName -> Ast.Expr-qualifiedNameToExpr qn =-- let name = Pdl.unName (Pdl.qualifiedNameName qn)- ns = Pdl.qualifiedNameNamespace qn- parts =- Optionals.givens [- Optionals.map (\n -> Pdl.unNamespace n) ns,- (Optionals.given name)]- in (Serialization.cst (Strings.join "." parts))---- | Convert a record field to an expression-recordFieldToExpr :: Pdl.RecordField -> Ast.Expr-recordFieldToExpr rf =-- let name = Pdl.unFieldName (Pdl.recordFieldName rf)- schema = Pdl.recordFieldValue rf- optional = Pdl.recordFieldOptional rf- anns = Pdl.recordFieldAnnotations rf- in (withAnnotations anns (Serialization.spaceSep (Optionals.givens [- Optionals.given (Serialization.cst (Strings.concat2 name ":")),- (Logic.ifElse optional (Optionals.given (Serialization.cst "optional")) Nothing),- (Optionals.given (schemaToExpr schema))])))---- | Convert a schema file to an expression-schemaFileToExpr :: Pdl.SchemaFile -> Ast.Expr-schemaFileToExpr sf =-- let ns = Pdl.unNamespace (Pdl.schemaFileNamespace sf)- pkg = Pdl.schemaFilePackage sf- imports = Pdl.schemaFileImports sf- schemas = Pdl.schemaFileSchemas sf- namespaceSec =- Optionals.given (Serialization.spaceSep [- Serialization.cst "namespace",- (Serialization.cst ns)])- packageSec =- Optionals.map (\p -> Serialization.spaceSep [- Serialization.cst "package",- (Serialization.cst (Pdl.unPackage p))]) pkg- importsSec =- Logic.ifElse (Lists.isEmpty imports) Nothing (Optionals.given (Serialization.newlineSep (Lists.map importToExpr imports)))- schemaSecs = Lists.map (\s -> Optionals.given (namedSchemaToExpr s)) schemas- in (Serialization.doubleNewlineSep (Optionals.givens (Lists.concat [- [- namespaceSec,- packageSec,- importsSec],- schemaSecs])))---- | Convert a schema to an expression-schemaToExpr :: Pdl.Schema -> Ast.Expr-schemaToExpr schema =- case schema of- Pdl.SchemaArray v0 -> Serialization.noSep [- Serialization.cst "array",- (Serialization.bracketList Serialization.inlineStyle [- schemaToExpr v0])]- Pdl.SchemaMap v0 -> Serialization.noSep [- Serialization.cst "map",- (Serialization.bracketList Serialization.inlineStyle [- Serialization.cst "string",- (schemaToExpr v0)])]- Pdl.SchemaNamed v0 -> qualifiedNameToExpr v0- Pdl.SchemaNull -> Serialization.cst "null"- Pdl.SchemaPrimitive v0 -> primitiveTypeToExpr v0- Pdl.SchemaUnion v0 -> Serialization.noSep [- Serialization.cst "union",- (Serialization.bracketList Serialization.fullBlockStyle (Lists.map unionMemberToExpr (Pdl.unUnionSchema v0)))]---- | Convert a union member to an expression-unionMemberToExpr :: Pdl.UnionMember -> Ast.Expr-unionMemberToExpr um =-- let alias = Pdl.unionMemberAlias um- schema = Pdl.unionMemberValue um- anns = Pdl.unionMemberAnnotations um- in (withAnnotations anns (Serialization.spaceSep (Optionals.givens [- Optionals.map (\fn -> Serialization.cst (Strings.concat2 (Pdl.unFieldName fn) ":")) alias,- (Optionals.given (schemaToExpr schema))])))---- | Prepend annotations (doc comment) to an expression-withAnnotations :: Pdl.Annotations -> Ast.Expr -> Ast.Expr-withAnnotations anns expr =- Serialization.newlineSep (Optionals.givens [- annotationsToExpr anns,- (Optionals.given expr)])
− src/main/haskell/Hydra/Protobuf/Any.hs
@@ -1,26 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/any.proto--module Hydra.Protobuf.Any 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-import qualified Data.ByteString as B---- | `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.-data Any =- Any {- -- | A URL/resource name that uniquely identifies the type of the serialized protocol buffer message.- anyTypeUrl :: String,- -- | Must be a valid serialized protocol buffer of the above specified type.- anyValue :: B.ByteString}- deriving (Eq, Ord, Read, Show)--_Any = Core.Name "hydra.protobuf.any.Any"--_Any_typeUrl = Core.Name "typeUrl"--_Any_value = Core.Name "value"
− src/main/haskell/Hydra/Protobuf/Coder.hs
@@ -1,586 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Protobuf code generator: converts Hydra modules to Protocol Buffers v3 definitions--module Hydra.Protobuf.Coder where--import qualified Hydra.Adapt as Adapt-import qualified Hydra.Analysis as Analysis-import qualified Hydra.Annotations as Annotations-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Decode.Core as DecodeCore-import qualified Hydra.Docs as Docs-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-import qualified Hydra.Errors as Errors-import qualified Hydra.Extract.Core as ExtractCore-import qualified Hydra.File as File-import qualified Hydra.Formatting as Formatting-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.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.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.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.Print.Errors as PrintErrors-import qualified Hydra.Protobuf.Environment as ProtobufEnvironment-import qualified Hydra.Protobuf.Language as Language-import qualified Hydra.Protobuf.Proto3 as Proto3-import qualified Hydra.Protobuf.Serde as Serde-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Rewriting as Rewriting-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Collect all structural type references (Either, Pair) from a list of types-collectStructuralTypes :: [Core.Type] -> S.Set ProtobufEnvironment.StructuralTypeRef-collectStructuralTypes types =- Lists.foldl (\acc -> \t -> Sets.union acc (collectStructuralTypesFromType t)) Sets.empty types---- | Collect structural type references from a single type-collectStructuralTypesFromType :: Core.Type -> S.Set ProtobufEnvironment.StructuralTypeRef-collectStructuralTypesFromType typ =- Rewriting.foldOverType Coders.TraversalOrderPre (\acc -> \t ->- let st = simplifyType t- in case st of- Core.TypeEither v0 -> Sets.insert (ProtobufEnvironment.StructuralTypeRefEither (Core.eitherTypeLeft v0, (Core.eitherTypeRight v0))) acc- Core.TypePair v0 -> Sets.insert (ProtobufEnvironment.StructuralTypeRefPair (Core.pairTypeFirst v0, (Core.pairTypeSecond v0))) acc- _ -> acc) Sets.empty typ---- | Construct a Protobuf file from a Hydra module and its type definitions-constructModule :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.Module -> [Packaging.TypeDefinition] -> Either Errors.Error Proto3.ProtoFile-constructModule cx g mod typeDefs =-- let ns_ = Packaging.moduleName mod- desc = Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em)- toDef =- \td ->- let name = Packaging.typeDefinitionName td- typ = Core.typeSchemeBody (Packaging.typeDefinitionBody td)- encodeDefEither = \n -> \t -> encodeDefinition cx g ns_ n t- flatTyp = flattenType typ- enc = encodeDefEither name- in case (Strip.deannotateType flatTyp) of- Core.TypeVariable _ -> enc flatTyp- _ -> Eithers.bind (Adapt.adaptTypeForLanguage Language.protobufLanguage flatTyp) (\adaptedType -> enc adaptedType)- types = Lists.map (\td -> Core.typeSchemeBody (Packaging.typeDefinitionBody td)) typeDefs- structRefs = collectStructuralTypes types- javaOptions =- [- Proto3.Option {- Proto3.optionName = javaMultipleFilesOptionName,- Proto3.optionValue = (Proto3.ValueBoolean True)},- Proto3.Option {- Proto3.optionName = javaPackageOptionName,- Proto3.optionValue = (Proto3.ValueString (Proto3.unPackageName (namespaceToPackageName ns_)))}]- descOption =- Proto3.Option {- Proto3.optionName = Serde.descriptionOptionName,- Proto3.optionValue = (Proto3.ValueString (Strings.concat2 (Optionals.match desc "" (\d -> Strings.concat2 d "\n\n")) Constants.warningAutoGeneratedFile))}- checkFieldType_wrapper =- \typ -> case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> case (Strip.deannotateType v0) of- Core.TypeLiteral _ -> True- _ -> False- _ -> False- checkFieldType_empty = \typ -> Predicates.isUnitType typ- checkFields =- \checkType -> \checkFieldType -> \ts -> Lists.foldl (\b -> \t -> Logic.or b (Rewriting.foldOverType Coders.TraversalOrderPre (\b2 -> \t2 -> Logic.or b2 (- let checkResult = checkType t2- in (Optionals.match checkResult (case t2 of- Core.TypeRecord v0 -> Lists.foldl (\b3 -> \f -> Logic.or b3 (checkFieldType (Strip.deannotateType (Core.fieldTypeType f)))) False v0- Core.TypeUnion v0 -> Lists.foldl (\b3 -> \f -> Logic.or b3 (checkFieldType (Strip.deannotateType (Core.fieldTypeType f)))) False v0- _ -> False) (\b3 -> b3)))) False t)) False ts- wrapperImport =- Logic.ifElse (checkFields (\_ -> Nothing) checkFieldType_wrapper types) [- Proto3.FileReference "google/protobuf/wrappers.proto"] []- emptyCheckType = \typ -> Logic.ifElse (isEnumDefinition typ) (Just False) Nothing- emptyImport =- Logic.ifElse (checkFields emptyCheckType checkFieldType_empty types) [- Proto3.FileReference "google/protobuf/empty.proto"] []- in (Eithers.bind (Analysis.moduleDependencyModuleNames (ProtobufEnvironment.encoderStateContext cx) g True False False False mod) (\schemaImports -> Eithers.bind (Eithers.mapList toDef typeDefs) (\definitions ->- let schemaImportList = Lists.map (\n -> namespaceToFileReference n) (Sets.toList schemaImports)- in (Eithers.bind (mapAccumResult (\cx0 -> \ref -> generateStructuralTypeMessage cx0 g ns_ ref) cx (Sets.toList structRefs)) (\helperResult ->- let helperDefs = Pairs.first helperResult- in (Right (Proto3.ProtoFile {- Proto3.protoFilePackage = (namespaceToPackageName ns_),- Proto3.protoFileImports = (Lists.concat [- schemaImportList,- wrapperImport,- emptyImport]),- Proto3.protoFileTypes = (Lists.concat [- helperDefs,- definitions]),- Proto3.protoFileOptions = (Lists.cons descOption javaOptions)})))))))---- | Encode a Hydra type as a Protobuf definition-encodeDefinition :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> Core.Name -> Core.Type -> Either Errors.Error Proto3.Definition-encodeDefinition cx g localNs name typ =-- let cx1 =- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),- ProtobufEnvironment.encoderStateFieldIndex = 0}- cx2 =- Pairs.second (- ProtobufEnvironment.encoderStateFieldIndex cx1,- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx1),- ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx1) 1)})- toEitherString = \result -> result- encode =- \cx0 -> \options -> \t -> case (simplifyType t) of- Core.TypeRecord v0 -> Eithers.map (\md -> Proto3.DefinitionMessage md) (toEitherString (encodeRecordType cx0 g localNs options name v0))- Core.TypeUnion v0 -> Logic.ifElse (isEnumDefinition t) (Eithers.map (\ed -> Proto3.DefinitionEnum ed) (toEitherString (encodeEnumDefinition cx0 g options name v0))) (encode cx0 options (Rewriting.wrapTypeToRecord (Core.TypeUnion v0)))- _ -> encode cx0 options (Rewriting.wrapTypeToRecord t)- in (Eithers.bind (toEitherString (findOptions cx g typ)) (\options -> encode cx2 options typ))---- | Encode a Hydra union type as a Protobuf enum definition-encodeEnumDefinition :: ProtobufEnvironment.EncoderState -> Graph.Graph -> [Proto3.Option] -> Core.Name -> [Core.FieldType] -> Either Errors.Error Proto3.EnumDefinition-encodeEnumDefinition cx g options tname fts =-- let unspecifiedField =- Proto3.EnumValue {- Proto3.enumValueName = (encodeEnumValueName tname (Core.Name "unspecified")),- Proto3.enumValueNumber = 0,- Proto3.enumValueOptions = []}- encodeEnumField =- \field -> \idx ->- let fname = Core.fieldTypeName field- ftype = Core.fieldTypeType field- in (Eithers.bind (findOptions cx g ftype) (\opts -> Right (Proto3.EnumValue {- Proto3.enumValueName = (encodeEnumValueName tname fname),- Proto3.enumValueNumber = idx,- Proto3.enumValueOptions = opts})))- indices = Math.range 1 (Math.add (Lists.length fts) 1)- in (Eithers.bind (Eithers.mapList (\p -> encodeEnumField (Pairs.first p) (Pairs.second p)) (Lists.zip fts indices)) (\values -> Right (Proto3.EnumDefinition {- Proto3.enumDefinitionName = (encodeTypeName tname),- Proto3.enumDefinitionValues = (Lists.cons unspecifiedField values),- Proto3.enumDefinitionOptions = options})))---- | Encode an enum value name from type name and field name-encodeEnumValueName :: Core.Name -> Core.Name -> Proto3.EnumValueName-encodeEnumValueName tname fname =-- let prefix = Formatting.nonAlnumToUnderscores (Formatting.convertCaseCamelToUpperSnake (Names.localNameOf tname))- suffix = Formatting.nonAlnumToUnderscores (Formatting.convertCaseCamelToUpperSnake (Core.unName fname))- in (Proto3.EnumValueName (Strings.concat [- prefix,- "_",- suffix]))---- | Encode a field name, optionally preserving the original case-encodeFieldName :: Bool -> Core.Name -> Proto3.FieldName-encodeFieldName preserve name =- Proto3.FieldName (Logic.ifElse preserve (Core.unName name) (Formatting.convertCaseCamelToLowerSnake (Core.unName name)))---- | Encode a Hydra field type as a Protobuf field-encodeFieldType :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> Core.FieldType -> Either Errors.Error (Proto3.Field, ProtobufEnvironment.EncoderState)-encodeFieldType cx g localNs ft =-- let fname = Core.fieldTypeName ft- ftype = Core.fieldTypeType ft- encodeType_ =- \cx0 -> \g0 -> \ns0 -> \typ -> case (simplifyType typ) of- Core.TypeEither v0 ->- let ref = ProtobufEnvironment.StructuralTypeRefEither (Core.eitherTypeLeft v0, (Core.eitherTypeRight v0))- in (Right (Proto3.FieldTypeSimple (Proto3.SimpleTypeReference (structuralTypeName ns0 ref))))- Core.TypePair v0 ->- let ref = ProtobufEnvironment.StructuralTypeRefPair (Core.pairTypeFirst v0, (Core.pairTypeSecond v0))- in (Right (Proto3.FieldTypeSimple (Proto3.SimpleTypeReference (structuralTypeName ns0 ref))))- Core.TypeList v0 -> Eithers.map (\st -> Proto3.FieldTypeRepeated st) (encodeSimpleType_ cx0 g0 ns0 True v0)- Core.TypeSet v0 -> Eithers.map (\st -> Proto3.FieldTypeRepeated st) (encodeSimpleType_ cx0 g0 ns0 True v0)- Core.TypeMap v0 -> Eithers.bind (encodeSimpleType_ cx0 g0 ns0 False (Core.mapTypeKeys v0)) (\kt -> Eithers.bind (encodeSimpleType_ cx0 g0 ns0 True (Core.mapTypeValues v0)) (\vt -> Right (Proto3.FieldTypeMap (Proto3.MapType {- Proto3.mapTypeKeys = kt,- Proto3.mapTypeValues = vt}))))- Core.TypeOptional v0 -> case (Strip.deannotateType v0) of- Core.TypeLiteral v1 -> Eithers.map (\st -> Proto3.FieldTypeSimple st) (encodeScalarTypeWrapped cx0 v1)- _ -> encodeType_ cx0 g0 ns0 v0- Core.TypeUnion v0 -> Eithers.bind (mapAccumResult (\cx_ -> \f -> encodeFieldType cx_ g0 ns0 f) cx0 v0) (\pfields ->- let fields_ = Pairs.first pfields- in (Right (Proto3.FieldTypeOneof fields_)))- _ -> Eithers.map (\st -> Proto3.FieldTypeSimple st) (encodeSimpleType_ cx0 g0 ns0 True typ)- encodeSimpleType_ =- \cx0 -> \g0 -> \ns0 -> \noms -> \typ ->- let forNominal = \name -> Right (Proto3.SimpleTypeReference (encodeTypeReference ns0 name))- in case (simplifyType typ) of- Core.TypeLiteral v0 -> Eithers.map (\st -> Proto3.SimpleTypeScalar st) (encodeScalarType cx0 v0)- Core.TypeRecord _ -> unexpectedE cx0 "named type reference" "anonymous record type"- Core.TypeUnion _ -> unexpectedE cx0 "named type reference" "anonymous union type"- Core.TypeUnit -> Right (Proto3.SimpleTypeReference (Proto3.TypeName "google.protobuf.Empty"))- Core.TypeVariable v0 -> Logic.ifElse noms (forNominal v0) (Eithers.bind (Lexical.requireBinding g0 v0) (\el ->- let term = Core.bindingTerm el- in (Eithers.bind (Eithers.bimap (\de -> Errors.ErrorOther (Errors.OtherError (Errors.unDecodingError de))) (\t -> t) (DecodeCore.type_ g0 term)) (\resolvedTyp -> encodeSimpleType_ cx0 g0 ns0 noms resolvedTyp))))- _ -> unexpectedE cx0 "simple type" (PrintCore.type_ (Strip.removeTypeAnnotations typ))- in (Eithers.bind (findOptions cx g ftype) (\options -> Eithers.bind (encodeType_ cx g localNs ftype) (\ft_ ->- let idxPair =- (- ProtobufEnvironment.encoderStateFieldIndex cx,- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),- ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx) 1)})- idx = Pairs.first idxPair- cx1 = Pairs.second idxPair- in (Eithers.bind (readBooleanAnnotation cx g Constants.keyPreserveFieldName ftype) (\preserve -> Right (- Proto3.Field {- Proto3.fieldName = (encodeFieldName preserve fname),- Proto3.fieldJsonName = Nothing,- Proto3.fieldType = ft_,- Proto3.fieldNumber = idx,- Proto3.fieldOptions = options},- cx1))))))---- | Encode a Hydra record type as a Protobuf message definition-encodeRecordType :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Packaging.ModuleName -> [Proto3.Option] -> Core.Name -> [Core.FieldType] -> Either Errors.Error Proto3.MessageDefinition-encodeRecordType cx g localNs options tname fts =- Eithers.bind (mapAccumResult (\cx_ -> \f -> encodeFieldType cx_ g localNs f) cx fts) (\result ->- let pfields = Pairs.first result- in (Right (Proto3.MessageDefinition {- Proto3.messageDefinitionName = (encodeTypeName tname),- Proto3.messageDefinitionFields = pfields,- Proto3.messageDefinitionOptions = options})))---- | Encode a Hydra literal type as a Protobuf scalar type-encodeScalarType :: t0 -> Core.LiteralType -> Either Errors.Error Proto3.ScalarType-encodeScalarType cx lt =- case lt of- Core.LiteralTypeBinary -> Right Proto3.ScalarTypeBytes- Core.LiteralTypeBoolean -> Right Proto3.ScalarTypeBool- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat32 -> Right Proto3.ScalarTypeFloat- Core.FloatTypeFloat64 -> Right Proto3.ScalarTypeDouble- _ -> unexpectedE cx "32-bit or 64-bit floating-point type" (PrintCore.floatType v0)- Core.LiteralTypeInteger v0 -> case v0 of- Core.IntegerTypeInt32 -> Right Proto3.ScalarTypeInt32- Core.IntegerTypeInt64 -> Right Proto3.ScalarTypeInt64- Core.IntegerTypeUint32 -> Right Proto3.ScalarTypeUint32- Core.IntegerTypeUint64 -> Right Proto3.ScalarTypeUint64- _ -> unexpectedE cx "32-bit or 64-bit integer type" (PrintCore.integerType v0)- Core.LiteralTypeString -> Right Proto3.ScalarTypeString- _ -> unexpectedE cx "supported literal type" (PrintCore.literalType lt)---- | Encode a Hydra literal type as a wrapped Protobuf type (for optional scalars)-encodeScalarTypeWrapped :: t0 -> Core.LiteralType -> Either Errors.Error Proto3.SimpleType-encodeScalarTypeWrapped cx lt =-- let toType =- \label -> Right (Proto3.SimpleTypeReference (Proto3.TypeName (Strings.concat [- "google.protobuf.",- label,- "Value"])))- in case lt of- Core.LiteralTypeBinary -> toType "Bytes"- Core.LiteralTypeBoolean -> toType "Bool"- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat32 -> toType "Float"- Core.FloatTypeFloat64 -> toType "Double"- _ -> unexpectedE cx "32-bit or 64-bit floating-point type" (PrintCore.floatType v0)- Core.LiteralTypeInteger v0 -> case v0 of- Core.IntegerTypeInt32 -> toType "Int32"- Core.IntegerTypeInt64 -> toType "Int64"- Core.IntegerTypeUint32 -> toType "UInt32"- Core.IntegerTypeUint64 -> toType "UInt64"- _ -> unexpectedE cx "32-bit or 64-bit integer type" (PrintCore.integerType v0)- Core.LiteralTypeString -> toType "String"- _ -> unexpectedE cx "supported literal type" (PrintCore.literalType lt)---- | Encode a simple type for helper message fields-encodeSimpleTypeForHelper :: t0 -> Packaging.ModuleName -> Core.Type -> Either Errors.Error Proto3.SimpleType-encodeSimpleTypeForHelper cx localNs typ =-- let forNominal = \name -> Right (Proto3.SimpleTypeReference (encodeTypeReference localNs name))- in case (simplifyType typ) of- Core.TypeLiteral v0 -> Eithers.map (\st -> Proto3.SimpleTypeScalar st) (encodeScalarType cx v0)- Core.TypeRecord _ -> unexpectedE cx "named type reference" "anonymous record type"- Core.TypeUnion _ -> unexpectedE cx "named type reference" "anonymous union type"- Core.TypeUnit -> Right (Proto3.SimpleTypeReference (Proto3.TypeName "google.protobuf.Empty"))- Core.TypeVariable v0 -> forNominal v0- _ -> unexpectedE cx "simple type in structural type helper" (PrintCore.type_ (Strip.removeTypeAnnotations typ))---- | Encode a Hydra type name as a Protobuf type name-encodeTypeName :: Core.Name -> Proto3.TypeName-encodeTypeName name = Proto3.TypeName (Names.localNameOf name)---- | Encode a Hydra name as a Protobuf type reference-encodeTypeReference :: Packaging.ModuleName -> Core.Name -> Proto3.TypeName-encodeTypeReference localNs name =-- let qn = Names.qualifyName name- local = Util.qualifiedNameLocal qn- ns_ = Util.qualifiedNameModuleName qn- localNsParts = Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName localNs)))- in (Proto3.TypeName (Optionals.match ns_ local (\nsVal ->- let nsParts = Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName nsVal)))- in (Logic.ifElse (Equality.equal nsParts localNsParts) local (Strings.join "." (Lists.concat [- nsParts,- [- local]]))))))---- | Construct a Left error result from an error message, ignoring the encoder state-err :: t0 -> String -> Either Errors.Error t1-err cx msg = Left (Errors.ErrorOther (Errors.OtherError msg))---- | Find Protobuf options for a type (description and deprecated)-findOptions :: ProtobufEnvironment.EncoderState -> Graph.Graph -> Core.Type -> Either Errors.Error [Proto3.Option]-findOptions cx g typ =- Eithers.bind (Annotations.getTypeDescription (ProtobufEnvironment.encoderStateContext cx) g typ) (\mdesc -> Eithers.bind (readBooleanAnnotation cx g Constants.keyDeprecated typ) (\bdep ->- let mdescAnn =- Optionals.map (\desc_ -> Proto3.Option {- Proto3.optionName = Serde.descriptionOptionName,- Proto3.optionValue = (Proto3.ValueString desc_)}) mdesc- mdepAnn =- Logic.ifElse bdep (Just (Proto3.Option {- Proto3.optionName = "deprecated",- Proto3.optionValue = (Proto3.ValueBoolean True)})) Nothing- in (Right (Optionals.givens [- mdescAnn,- mdepAnn]))))---- | Eliminate type lambdas and type applications, replacing type variables with the string type-flattenType :: Core.Type -> Core.Type-flattenType typ =- Rewriting.rewriteType (\recurse -> \t -> case t of- Core.TypeForall v0 -> recurse (Variables.replaceFreeTypeVariable (Core.forallTypeParameter v0) (Core.TypeLiteral Core.LiteralTypeString) (Core.forallTypeBody v0))- Core.TypeApplication v0 -> recurse (Core.applicationTypeFunction v0)- _ -> recurse t) typ---- | Convert an Either String result into an Either Error result-fromEitherString :: t0 -> Either String t1 -> Either Errors.Error t1-fromEitherString cx e = Eithers.bimap (\msg -> Errors.ErrorOther (Errors.OtherError msg)) (\a -> a) e---- | Generate a helper message definition for a structural type-generateStructuralTypeMessage :: ProtobufEnvironment.EncoderState -> t0 -> Packaging.ModuleName -> ProtobufEnvironment.StructuralTypeRef -> Either Errors.Error (Proto3.Definition, ProtobufEnvironment.EncoderState)-generateStructuralTypeMessage cx g localNs ref =-- let cx1 =- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx),- ProtobufEnvironment.encoderStateFieldIndex = 0}- cx2 =- Pairs.second (- ProtobufEnvironment.encoderStateFieldIndex cx1,- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx1),- ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx1) 1)})- makeField =- \cx0 -> \fname -> \ftyp -> Eithers.bind (encodeSimpleTypeForHelper cx0 localNs ftyp) (\ft ->- let idxPair =- (- ProtobufEnvironment.encoderStateFieldIndex cx0,- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = (ProtobufEnvironment.encoderStateContext cx0),- ProtobufEnvironment.encoderStateFieldIndex = (Math.add (ProtobufEnvironment.encoderStateFieldIndex cx0) 1)})- idx = Pairs.first idxPair- cx1_ = Pairs.second idxPair- in (Right (- Proto3.Field {- Proto3.fieldName = (Proto3.FieldName fname),- Proto3.fieldJsonName = Nothing,- Proto3.fieldType = (Proto3.FieldTypeSimple ft),- Proto3.fieldNumber = idx,- Proto3.fieldOptions = []},- cx1_)))- in case ref of- ProtobufEnvironment.StructuralTypeRefEither v0 ->- let lt = Pairs.first v0- rt = Pairs.second v0- in (Eithers.bind (makeField cx2 "left" lt) (\leftResult ->- let leftField = Pairs.first leftResult- cx3 = Pairs.second leftResult- in (Eithers.bind (makeField cx3 "right" rt) (\rightResult ->- let rightField = Pairs.first rightResult- cx4 = Pairs.second rightResult- in (Right (- Proto3.DefinitionMessage (Proto3.MessageDefinition {- Proto3.messageDefinitionName = (structuralTypeName localNs ref),- Proto3.messageDefinitionFields = [- leftField,- rightField],- Proto3.messageDefinitionOptions = []}),- cx4))))))- ProtobufEnvironment.StructuralTypeRefPair v0 ->- let ft = Pairs.first v0- st = Pairs.second v0- in (Eithers.bind (makeField cx2 "first" ft) (\firstResult ->- let firstField = Pairs.first firstResult- cx3 = Pairs.second firstResult- in (Eithers.bind (makeField cx3 "second" st) (\secondResult ->- let secondField = Pairs.first secondResult- cx4 = Pairs.second secondResult- in (Right (- Proto3.DefinitionMessage (Proto3.MessageDefinition {- Proto3.messageDefinitionName = (structuralTypeName localNs ref),- Proto3.messageDefinitionFields = [- firstField,- secondField],- Proto3.messageDefinitionOptions = []}),- cx4))))))---- | Check if a type is an enum definition-isEnumDefinition :: Core.Type -> Bool-isEnumDefinition typ =- case (simplifyType typ) of- Core.TypeUnion v0 -> isEnumFields v0- _ -> False---- | Check if all fields are unit types (i.e., this is an enum)-isEnumFields :: [Core.FieldType] -> Bool-isEnumFields fts =- Lists.foldl (\b -> \f -> Logic.and b (Predicates.isUnitType (simplifyType (Core.fieldTypeType f)))) True fts---- | The name of the Protobuf java_multiple_files option-javaMultipleFilesOptionName :: String-javaMultipleFilesOptionName = "java_multiple_files"---- | The name of the Protobuf java_package option-javaPackageOptionName :: String-javaPackageOptionName = "java_package"---- | Annotation key under which the assigned Protobuf field index is recorded-keyProtoFieldIndex :: Core.Name-keyProtoFieldIndex = Core.Name "proto_field_index"---- | Thread context through a list, accumulating results-mapAccumResult :: (t0 -> t1 -> Either t2 (t3, t0)) -> t0 -> [t1] -> Either t2 ([t3], t0)-mapAccumResult f cx0 xs =- Lists.foldl (\accE -> \x -> Eithers.bind accE (\accPair ->- let bs = Pairs.first accPair- cxN = Pairs.second accPair- in (Eithers.map (\resultPair -> (- Lists.concat [- bs,- [- Pairs.first resultPair]],- (Pairs.second resultPair))) (f cxN x)))) (Right ([], cx0)) xs---- | Convert a Hydra module to Protocol Buffers v3 source files-moduleToProtobuf :: Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToProtobuf mod defs cx g =-- let ns_ = Packaging.moduleName mod- partitioned = Environment.partitionDefinitions defs- typeDefs = Pairs.first partitioned- es =- ProtobufEnvironment.EncoderState {- ProtobufEnvironment.encoderStateContext = cx,- ProtobufEnvironment.encoderStateFieldIndex = 0}- in (Eithers.bind (constructModule es g mod typeDefs) (\pfile ->- let content = Serialization.printExpr (Serialization.parenthesize (Serde.protoFileToExpr pfile))- path = Proto3.unFileReference (namespaceToFileReference ns_)- in (Right (Maps.singleton path content))))---- | Convert a Hydra namespace to a Protobuf file reference-namespaceToFileReference :: Packaging.ModuleName -> Proto3.FileReference-namespaceToFileReference ns_ =-- let pns =- Strings.join "/" (Lists.map (\s -> Formatting.convertCaseCamelToLowerSnake s) (Strings.splitOn "." (Packaging.unModuleName ns_)))- in (Proto3.FileReference (Strings.concat2 pns ".proto"))---- | Convert a Hydra namespace to a Protobuf package name-namespaceToPackageName :: Packaging.ModuleName -> Proto3.PackageName-namespaceToPackageName ns_ =- Proto3.PackageName (Strings.join "." (Lists.map (\s -> Formatting.convertCaseCamelToLowerSnake s) (Optionals.withDefault [] (Lists.init (Strings.splitOn "." (Packaging.unModuleName ns_))))))---- | Read a boolean annotation from a type-readBooleanAnnotation :: t0 -> Graph.Graph -> Core.Name -> Core.Type -> Either Errors.Error Bool-readBooleanAnnotation cx g key typ =- Optionals.match (Maps.lookup key (Annotations.typeAnnotationInternal typ)) (Right False) (\term -> ExtractCore.boolean g term)---- | Simplify a type by removing annotations and unwrapping newtypes-simplifyType :: Core.Type -> Core.Type-simplifyType typ =- case (Strip.deannotateType typ) of- Core.TypeWrap v0 -> simplifyType v0- _ -> Strip.deannotateType typ---- | Generate a message name for a structural type reference-structuralTypeName :: t0 -> ProtobufEnvironment.StructuralTypeRef -> Proto3.TypeName-structuralTypeName localNs ref =-- let typeSuffix =- \typ ->- let st = simplifyType typ- in case st of- Core.TypeLiteral v0 -> case v0 of- Core.LiteralTypeBinary -> "bytes"- Core.LiteralTypeBoolean -> "bool"- Core.LiteralTypeFloat v1 -> case v1 of- Core.FloatTypeFloat32 -> "float"- Core.FloatTypeFloat64 -> "double"- _ -> "float"- Core.LiteralTypeInteger v1 -> case v1 of- Core.IntegerTypeInt32 -> "int32"- Core.IntegerTypeInt64 -> "int64"- Core.IntegerTypeUint32 -> "uint32"- Core.IntegerTypeUint64 -> "uint64"- _ -> "int64"- Core.LiteralTypeString -> "string"- _ -> "value"- Core.TypeRecord _ -> "record"- Core.TypeUnion _ -> "union"- Core.TypeVariable v0 -> Names.localNameOf v0- Core.TypeUnit -> "unit"- Core.TypeList _ -> "list"- Core.TypeSet _ -> "set"- Core.TypeMap _ -> "map"- Core.TypeOptional _ -> "optional"- _ -> "value"- in (Proto3.TypeName (case ref of- ProtobufEnvironment.StructuralTypeRefEither v0 -> Strings.concat [- "Either_",- (typeSuffix (Pairs.first v0)),- "_",- (typeSuffix (Pairs.second v0))]- ProtobufEnvironment.StructuralTypeRefPair v0 -> Strings.concat [- "Pair_",- (typeSuffix (Pairs.first v0)),- "_",- (typeSuffix (Pairs.second v0))]))---- | Construct an error reporting an expected construct versus what was actually found-unexpectedE :: t0 -> String -> String -> Either Errors.Error t1-unexpectedE cx expected found =- err cx (Strings.concat [- "Expected ",- expected,- ", found: ",- found])
− src/main/haskell/Hydra/Protobuf/Environment.hs
@@ -1,40 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Type definitions for the Protobuf code generation environment--module Hydra.Protobuf.Environment where--import qualified Hydra.Core as Core-import qualified Hydra.Typing as Typing-import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void---- | State threaded through Protobuf encoding: inference context plus field-index counter-data EncoderState =- EncoderState {- -- | Inference context used by kernel utilities (annotations, dependency analysis)- encoderStateContext :: Typing.InferenceContext,- -- | Counter used to assign the next Protobuf field index within the current message- encoderStateFieldIndex :: Int}- deriving (Eq, Ord, Read, Show)--_EncoderState = Core.Name "hydra.protobuf.environment.EncoderState"--_EncoderState_context = Core.Name "context"--_EncoderState_fieldIndex = Core.Name "fieldIndex"---- | A reference to a structural type (Either or Pair) with its component types-data StructuralTypeRef =- -- | An Either type with left and right component types- StructuralTypeRefEither (Core.Type, Core.Type) |- -- | A Pair type with first and second component types- StructuralTypeRefPair (Core.Type, Core.Type)- deriving (Eq, Ord, Read, Show)--_StructuralTypeRef = Core.Name "hydra.protobuf.environment.StructuralTypeRef"--_StructuralTypeRef_either = Core.Name "either"--_StructuralTypeRef_pair = Core.Name "pair"
− src/main/haskell/Hydra/Protobuf/Language.hs
@@ -1,162 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints for Protobuf v3--module Hydra.Protobuf.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for Protocol Buffers v3-protobufLanguage :: Coders.Language-protobufLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.protobuf"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "proto")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt32,- Core.IntegerTypeInt64,- Core.IntegerTypeUint32,- Core.IntegerTypeUint64]- termVariants =- Sets.fromList [- Variants.TermVariantEither,- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantPair,- Variants.TermVariantRecord,- Variants.TermVariantSet,- Variants.TermVariantInject,- Variants.TermVariantUnit,- Variants.TermVariantWrap]- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantEither,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantPair,- Variants.TypeVariantRecord,- Variants.TypeVariantSet,- Variants.TypeVariantUnion,- Variants.TypeVariantUnit,- Variants.TypeVariantVariable,- Variants.TypeVariantVoid,- Variants.TypeVariantWrap]- typePredicate =- \typ -> case typ of- Core.TypeMap v0 ->- let valuesType = Core.mapTypeValues v0- stripped = Strip.deannotateType valuesType- in case stripped of- Core.TypeOptional _ -> False- _ -> True- _ -> True---- | A set of reserved words in Protobuf-protobufReservedWords :: S.Set String-protobufReservedWords = Sets.fromList (Lists.concat [- fieldNames])- where- fieldNames =- [- "case",- "class",- "data",- "default",- "deriving",- "do",- "else",- "foreign",- "if",- "import",- "in",- "infix",- "infixl",- "infixr",- "instance",- "let",- "mdo",- "module",- "newtype",- "of",- "pattern",- "proc",- "rec",- "then",- "type",- "where"]
− src/main/haskell/Hydra/Protobuf/Proto3.hs
@@ -1,294 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for Protocol Buffers v3 enum and message types, designed as a target for transformations.This model is loosely based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/type.proto, as well as the proto3 reference documentation--module Hydra.Protobuf.Proto3 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---- | A top-level Protobuf definition, either an enum or a message type-data Definition =- DefinitionEnum EnumDefinition |- DefinitionMessage MessageDefinition- deriving (Eq, Ord, Read, Show)--_Definition = Core.Name "hydra.protobuf.proto3.Definition"--_Definition_enum = Core.Name "enum"--_Definition_message = Core.Name "message"---- | Enum type definition-data EnumDefinition =- EnumDefinition {- -- | Enum type name- enumDefinitionName :: TypeName,- -- | Enum value definitions- enumDefinitionValues :: [EnumValue],- -- | Protocol buffer options- enumDefinitionOptions :: [Option]}- deriving (Eq, Ord, Read, Show)--_EnumDefinition = Core.Name "hydra.protobuf.proto3.EnumDefinition"--_EnumDefinition_name = Core.Name "name"--_EnumDefinition_values = Core.Name "values"--_EnumDefinition_options = Core.Name "options"---- | Enum value definition-data EnumValue =- EnumValue {- -- | Enum value name- enumValueName :: EnumValueName,- -- | Enum value number- enumValueNumber :: Int,- -- | Protocol buffer options- enumValueOptions :: [Option]}- deriving (Eq, Ord, Read, Show)--_EnumValue = Core.Name "hydra.protobuf.proto3.EnumValue"--_EnumValue_name = Core.Name "name"--_EnumValue_number = Core.Name "number"--_EnumValue_options = Core.Name "options"---- | The name of an enum value, conventionally an upper-snake-case identifier-newtype EnumValueName =- EnumValueName {- unEnumValueName :: String}- deriving (Eq, Ord, Read, Show)--_EnumValueName = Core.Name "hydra.protobuf.proto3.EnumValueName"---- | A single field of a message type-data Field =- Field {- -- | The field name- fieldName :: FieldName,- -- | The field JSON name- fieldJsonName :: (Maybe String),- -- | The datatype of the field- fieldType :: FieldType,- -- | The field number- fieldNumber :: Int,- -- | The protocol buffer options- fieldOptions :: [Option]}- deriving (Eq, Ord, Read, Show)--_Field = Core.Name "hydra.protobuf.proto3.Field"--_Field_name = Core.Name "name"--_Field_jsonName = Core.Name "jsonName"--_Field_type = Core.Name "type"--_Field_number = Core.Name "number"--_Field_options = Core.Name "options"---- | The name of a field-newtype FieldName =- FieldName {- unFieldName :: String}- deriving (Eq, Ord, Read, Show)--_FieldName = Core.Name "hydra.protobuf.proto3.FieldName"---- | The type of a message field: a map, a oneof group, a repeated field, or a simple field-data FieldType =- FieldTypeMap MapType |- FieldTypeOneof [Field] |- FieldTypeRepeated SimpleType |- FieldTypeSimple SimpleType- deriving (Eq, Ord, Read, Show)--_FieldType = Core.Name "hydra.protobuf.proto3.FieldType"--_FieldType_map = Core.Name "map"--_FieldType_oneof = Core.Name "oneof"--_FieldType_repeated = Core.Name "repeated"--_FieldType_simple = Core.Name "simple"---- | A path to a .proto file, as used in import statements-newtype FileReference =- FileReference {- unFileReference :: String}- deriving (Eq, Ord, Read, Show)--_FileReference = Core.Name "hydra.protobuf.proto3.FileReference"---- | The key and value types of a proto3 map field-data MapType =- MapType {- mapTypeKeys :: SimpleType,- mapTypeValues :: SimpleType}- deriving (Eq, Ord, Read, Show)--_MapType = Core.Name "hydra.protobuf.proto3.MapType"--_MapType_keys = Core.Name "keys"--_MapType_values = Core.Name "values"---- | A protocol buffer message type-data MessageDefinition =- MessageDefinition {- -- | The fully qualified message name- messageDefinitionName :: TypeName,- -- | The list of fields- messageDefinitionFields :: [Field],- -- | The protocol buffer options- messageDefinitionOptions :: [Option]}- deriving (Eq, Ord, Read, Show)--_MessageDefinition = Core.Name "hydra.protobuf.proto3.MessageDefinition"--_MessageDefinition_name = Core.Name "name"--_MessageDefinition_fields = Core.Name "fields"--_MessageDefinition_options = Core.Name "options"---- | A protocol buffer option, which can be attached to a message, field, enumeration, etc-data Option =- Option {- -- | The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`.- optionName :: String,- -- | The option's value- optionValue :: Value}- deriving (Eq, Ord, Read, Show)--_Option = Core.Name "hydra.protobuf.proto3.Option"--_Option_name = Core.Name "name"--_Option_value = Core.Name "value"---- | A Protobuf package name, i.e. the value of a package declaration-newtype PackageName =- PackageName {- unPackageName :: String}- deriving (Eq, Ord, Read, Show)--_PackageName = Core.Name "hydra.protobuf.proto3.PackageName"---- | A .proto file, usually containing one or more enum or message type definitions-data ProtoFile =- ProtoFile {- protoFilePackage :: PackageName,- protoFileImports :: [FileReference],- protoFileTypes :: [Definition],- protoFileOptions :: [Option]}- deriving (Eq, Ord, Read, Show)--_ProtoFile = Core.Name "hydra.protobuf.proto3.ProtoFile"--_ProtoFile_package = Core.Name "package"--_ProtoFile_imports = Core.Name "imports"--_ProtoFile_types = Core.Name "types"--_ProtoFile_options = Core.Name "options"---- | One of several Proto3 scalar types-data ScalarType =- ScalarTypeBool |- ScalarTypeBytes |- ScalarTypeDouble |- ScalarTypeFixed32 |- ScalarTypeFixed64 |- ScalarTypeFloat |- ScalarTypeInt32 |- ScalarTypeInt64 |- ScalarTypeSfixed32 |- ScalarTypeSfixed64 |- ScalarTypeSint32 |- ScalarTypeSint64 |- ScalarTypeString |- ScalarTypeUint32 |- ScalarTypeUint64- deriving (Eq, Ord, Read, Show)--_ScalarType = Core.Name "hydra.protobuf.proto3.ScalarType"--_ScalarType_bool = Core.Name "bool"--_ScalarType_bytes = Core.Name "bytes"--_ScalarType_double = Core.Name "double"--_ScalarType_fixed32 = Core.Name "fixed32"--_ScalarType_fixed64 = Core.Name "fixed64"--_ScalarType_float = Core.Name "float"--_ScalarType_int32 = Core.Name "int32"--_ScalarType_int64 = Core.Name "int64"--_ScalarType_sfixed32 = Core.Name "sfixed32"--_ScalarType_sfixed64 = Core.Name "sfixed64"--_ScalarType_sint32 = Core.Name "sint32"--_ScalarType_sint64 = Core.Name "sint64"--_ScalarType_string = Core.Name "string"--_ScalarType_uint32 = Core.Name "uint32"--_ScalarType_uint64 = Core.Name "uint64"---- | A scalar type or a reference to an enum type or message type-data SimpleType =- SimpleTypeReference TypeName |- SimpleTypeScalar ScalarType- deriving (Eq, Ord, Read, Show)--_SimpleType = Core.Name "hydra.protobuf.proto3.SimpleType"--_SimpleType_reference = Core.Name "reference"--_SimpleType_scalar = Core.Name "scalar"---- | The local name of an enum type or message type-newtype TypeName =- TypeName {- unTypeName :: String}- deriving (Eq, Ord, Read, Show)--_TypeName = Core.Name "hydra.protobuf.proto3.TypeName"---- | A reference to an enum type or message type-newtype TypeReference =- TypeReference {- unTypeReference :: String}- deriving (Eq, Ord, Read, Show)--_TypeReference = Core.Name "hydra.protobuf.proto3.TypeReference"---- | A scalar value-data Value =- ValueBoolean Bool |- ValueString String- deriving (Eq, Ord, Read, Show)--_Value = Core.Name "hydra.protobuf.proto3.Value"--_Value_boolean = Core.Name "boolean"--_Value_string = Core.Name "string"
− src/main/haskell/Hydra/Protobuf/Serde.hs
@@ -1,294 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Serialization functions for converting Protocol Buffers v3 AST to abstract expressions--module Hydra.Protobuf.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Protobuf.Proto3 as Proto3-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Convert a definition to an expression-definitionToExpr :: Proto3.Definition -> Ast.Expr-definitionToExpr def =- case def of- Proto3.DefinitionEnum v0 -> enumDefinitionToExpr v0- Proto3.DefinitionMessage v0 -> messageDefinitionToExpr v0---- | The name of the deprecated option-deprecatedOptionName :: String-deprecatedOptionName = "deprecated"---- | A special Protobuf option name for descriptions (documentation)-descriptionOptionName :: String-descriptionOptionName = "_description"---- | Convert an enum definition to an expression-enumDefinitionToExpr :: Proto3.EnumDefinition -> Ast.Expr-enumDefinitionToExpr ed =-- let name = Proto3.enumDefinitionName ed- values = Proto3.enumDefinitionValues ed- options = Proto3.enumDefinitionOptions ed- in (optDesc False options (Serialization.spaceSep [- Serialization.cst "enum",- (Serialization.cst (Proto3.unTypeName name)),- (protoBlock (Lists.map enumValueToExpr values))]))---- | Convert an enum value to an expression-enumValueToExpr :: Proto3.EnumValue -> Ast.Expr-enumValueToExpr ev =-- let name = Proto3.enumValueName ev- number = Proto3.enumValueNumber ev- options = Proto3.enumValueOptions ev- in (optDesc False options (semi (Serialization.spaceSep [- Serialization.cst (Proto3.unEnumValueName name),- (Serialization.cst "="),- (Serialization.cst (Literals.printInt32 number))])))---- | Filter out internal options (those whose names start with underscore)-excludeInternalOptions :: [Proto3.Option] -> [Proto3.Option]-excludeInternalOptions opts =- Lists.filter (\opt -> Logic.not (Equality.equal (Optionals.withDefault 0 (Strings.charAt 0 (Proto3.optionName opt))) 95)) opts---- | Convert a field option to an expression-fieldOptionToExpr :: Proto3.Option -> Ast.Expr-fieldOptionToExpr opt =-- let name = Proto3.optionName opt- value = Proto3.optionValue opt- in (Serialization.spaceSep [- Serialization.cst name,- (Serialization.cst "="),- (valueToExpr value)])---- | Convert field options to an optional bracket-enclosed expression-fieldOptionsToExpr :: [Proto3.Option] -> Maybe Ast.Expr-fieldOptionsToExpr opts0 =-- let opts = excludeInternalOptions opts0- in (Logic.ifElse (Lists.isEmpty opts) Nothing (Optionals.given (Serialization.bracketList Serialization.inlineStyle (Lists.map fieldOptionToExpr opts))))---- | Convert a field to an expression-fieldToExpr :: Proto3.Field -> Ast.Expr-fieldToExpr f =-- let name = Proto3.fieldName f- typ = Proto3.fieldType f- num = Proto3.fieldNumber f- options = Proto3.fieldOptions f- in (optDesc False options (case typ of- Proto3.FieldTypeOneof v0 -> Serialization.spaceSep [- Serialization.cst "oneof",- (Serialization.cst (Proto3.unFieldName name)),- (protoBlock (Lists.map fieldToExpr v0))]- Proto3.FieldTypeMap v0 ->- let kt = Proto3.mapTypeKeys v0- vt = Proto3.mapTypeValues v0- in (semi (Serialization.spaceSep (Optionals.givens [- Optionals.given (fieldTypeToExpr typ),- (Optionals.given (Serialization.cst (Proto3.unFieldName name))),- (Optionals.given (Serialization.cst "=")),- (Optionals.given (Serialization.cst (Literals.printInt32 num))),- (fieldOptionsToExpr options)])))- Proto3.FieldTypeRepeated _ -> semi (Serialization.spaceSep (Optionals.givens [- Optionals.given (fieldTypeToExpr typ),- (Optionals.given (Serialization.cst (Proto3.unFieldName name))),- (Optionals.given (Serialization.cst "=")),- (Optionals.given (Serialization.cst (Literals.printInt32 num))),- (fieldOptionsToExpr options)]))- Proto3.FieldTypeSimple _ -> semi (Serialization.spaceSep (Optionals.givens [- Optionals.given (fieldTypeToExpr typ),- (Optionals.given (Serialization.cst (Proto3.unFieldName name))),- (Optionals.given (Serialization.cst "=")),- (Optionals.given (Serialization.cst (Literals.printInt32 num))),- (fieldOptionsToExpr options)]))))---- | Convert a field type to an expression-fieldTypeToExpr :: Proto3.FieldType -> Ast.Expr-fieldTypeToExpr ftyp =- case ftyp of- Proto3.FieldTypeMap v0 ->- let kt = Proto3.mapTypeKeys v0- vt = Proto3.mapTypeValues v0- in (Serialization.noSep [- Serialization.cst "map",- (Serialization.angleBracesList Serialization.inlineStyle [- simpleTypeToExpr kt,- (simpleTypeToExpr vt)])])- Proto3.FieldTypeRepeated v0 -> Serialization.spaceSep [- Serialization.cst "repeated",- (simpleTypeToExpr v0)]- Proto3.FieldTypeSimple v0 -> simpleTypeToExpr v0- Proto3.FieldTypeOneof _ -> Serialization.cst "oneof"---- | Convert a file-level option to an expression-fileOptionToExpr :: Proto3.Option -> Ast.Expr-fileOptionToExpr opt =-- let name = Proto3.optionName opt- value = Proto3.optionValue opt- in (semi (Serialization.spaceSep [- Serialization.cst "option",- (Serialization.cst name),- (Serialization.cst "="),- (valueToExpr value)]))---- | Convert file-level options to an optional newline-separated expression-fileOptionsToExpr :: [Proto3.Option] -> Maybe Ast.Expr-fileOptionsToExpr opts0 =-- let opts = excludeInternalOptions opts0- in (Logic.ifElse (Lists.isEmpty opts) Nothing (Optionals.given (Serialization.newlineSep (Lists.map fileOptionToExpr opts))))---- | Convert a file reference to an import expression-importToExpr :: Proto3.FileReference -> Ast.Expr-importToExpr ref =- semi (Serialization.spaceSep [- Serialization.cst "import",- (Serialization.cst (Literals.printString (Proto3.unFileReference ref)))])---- | Convert a message definition to an expression-messageDefinitionToExpr :: Proto3.MessageDefinition -> Ast.Expr-messageDefinitionToExpr md =-- let name = Proto3.messageDefinitionName md- fields = Proto3.messageDefinitionFields md- options = Proto3.messageDefinitionOptions md- in (optDesc False options (Serialization.spaceSep [- Serialization.cst "message",- (Serialization.cst (Proto3.unTypeName name)),- (protoBlock (Lists.map fieldToExpr fields))]))---- | Prepend an optional description comment to an expression-optDesc :: Bool -> [Proto3.Option] -> Ast.Expr -> Ast.Expr-optDesc doubleNewline opts expr =-- let descs = Lists.filter (\opt -> Equality.equal (Proto3.optionName opt) "_description") opts- in (Optionals.match (Lists.head descs) expr (\firstDesc ->- let descValue = Proto3.optionValue firstDesc- descStr =- case descValue of- Proto3.ValueBoolean v0 -> Logic.ifElse v0 "true" "false"- Proto3.ValueString v0 -> v0- commentLines =- Lists.map (\line -> Logic.ifElse (Equality.equal line "") "//" (Strings.concat2 "// " line)) (Formatting.lines descStr)- comment = Serialization.cst (Strings.join "\n" commentLines)- sep =- Logic.ifElse doubleNewline (Serialization.doubleNewlineSep [- comment,- expr]) (Serialization.newlineSep [- comment,- expr])- in sep))---- | Wrap expressions in a curly-braced block with double-newline separation-protoBlock :: [Ast.Expr] -> Ast.Expr-protoBlock exprs =- Serialization.brackets Serialization.curlyBraces Serialization.fullBlockStyle (Serialization.doubleNewlineSep exprs)---- | Convert a proto file to an expression-protoFileToExpr :: Proto3.ProtoFile -> Ast.Expr-protoFileToExpr pf =-- let pkg = Proto3.protoFilePackage pf- imports = Proto3.protoFileImports pf- defs = Proto3.protoFileTypes pf- options = Proto3.protoFileOptions pf- headerSec =- Optionals.given (Serialization.newlineSep [- semi (Serialization.cst "syntax = \"proto3\""),- (semi (Serialization.spaceSep [- Serialization.cst "package",- (Serialization.cst (Proto3.unPackageName pkg))]))])- importsSec =- Logic.ifElse (Lists.isEmpty imports) Nothing (Optionals.given (Serialization.newlineSep (Lists.map importToExpr imports)))- options1 = Lists.filter (\opt -> Logic.not (Equality.equal (Proto3.optionName opt) "_description")) options- optionsSec = fileOptionsToExpr options1- defsSec =- Logic.ifElse (Lists.isEmpty defs) Nothing (Optionals.given (Serialization.doubleNewlineSep (Lists.map definitionToExpr defs)))- in (optDesc True options (Serialization.doubleNewlineSep (Optionals.givens [- headerSec,- importsSec,- optionsSec,- defsSec])))---- | Convert a scalar type to an expression-scalarTypeToExpr :: Proto3.ScalarType -> Ast.Expr-scalarTypeToExpr sct =- Serialization.cst (case sct of- Proto3.ScalarTypeBool -> "bool"- Proto3.ScalarTypeBytes -> "bytes"- Proto3.ScalarTypeDouble -> "double"- Proto3.ScalarTypeFixed32 -> "fixed32"- Proto3.ScalarTypeFixed64 -> "fixed64"- Proto3.ScalarTypeFloat -> "float"- Proto3.ScalarTypeInt32 -> "int32"- Proto3.ScalarTypeInt64 -> "int64"- Proto3.ScalarTypeSfixed32 -> "sfixed32"- Proto3.ScalarTypeSfixed64 -> "sfixed64"- Proto3.ScalarTypeSint32 -> "sint32"- Proto3.ScalarTypeSint64 -> "sint64"- Proto3.ScalarTypeString -> "string"- Proto3.ScalarTypeUint32 -> "uint32"- Proto3.ScalarTypeUint64 -> "uint64")---- | Append a semicolon to an expression-semi :: Ast.Expr -> Ast.Expr-semi e =- Serialization.noSep [- e,- (Serialization.cst ";")]---- | Convert a simple type to an expression-simpleTypeToExpr :: Proto3.SimpleType -> Ast.Expr-simpleTypeToExpr st =- case st of- Proto3.SimpleTypeReference v0 -> Serialization.cst (Proto3.unTypeName v0)- Proto3.SimpleTypeScalar v0 -> scalarTypeToExpr v0---- | Convert a value to an expression-valueToExpr :: Proto3.Value -> Ast.Expr-valueToExpr v =- Serialization.cst (case v of- Proto3.ValueBoolean v0 -> Logic.ifElse v0 "true" "false"- Proto3.ValueString v0 -> Literals.printString v0)
− src/main/haskell/Hydra/Protobuf/SourceContext.hs
@@ -1,21 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Based on https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/source_context.proto--module Hydra.Protobuf.SourceContext 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---- | `SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.-data SourceContext =- SourceContext {- -- | The path-qualified name of the .proto file that contained the associated protobuf element. For example: `"google/protobuf/source_context.proto"`.- sourceContextFileName :: String}- deriving (Eq, Ord, Read, Show)--_SourceContext = Core.Name "hydra.protobuf.sourceContext.SourceContext"--_SourceContext_fileName = Core.Name "fileName"
− src/main/haskell/Hydra/Rust/Coder.hs
@@ -1,536 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Rust code generator: converts Hydra type and term modules to Rust source code--module Hydra.Rust.Coder where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.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.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Rust.Language as Language-import qualified Hydra.Rust.Serde as Serde-import qualified Hydra.Rust.Syntax as Syntax-import qualified Hydra.Scoping as Scoping-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Encode a Hydra union field as a Rust enum variant-encodeEnumVariant :: t0 -> t1 -> Core.FieldType -> Either Errors.Error Syntax.EnumVariant-encodeEnumVariant cx g ft =-- let fname = Core.unName (Core.fieldTypeName ft)- ftyp = Core.fieldTypeType ft- dtyp = Strip.deannotateType ftyp- isUnit =- case dtyp of- Core.TypeUnit -> True- Core.TypeRecord v0 -> Lists.isEmpty v0- _ -> False- in (Logic.ifElse isUnit (Right (Syntax.EnumVariant {- Syntax.enumVariantName = (Formatting.capitalize fname),- Syntax.enumVariantBody = Syntax.EnumVariantBodyUnit,- Syntax.enumVariantDoc = Nothing})) (case dtyp of- Core.TypeRecord v0 -> Eithers.bind (Eithers.mapList (encodeStructField cx g) v0) (\sfields -> Right (Syntax.EnumVariant {- Syntax.enumVariantName = (Formatting.capitalize fname),- Syntax.enumVariantBody = (Syntax.EnumVariantBodyStruct sfields),- Syntax.enumVariantDoc = Nothing}))- _ -> Eithers.bind (encodeType cx g ftyp) (\sftyp -> Right (Syntax.EnumVariant {- Syntax.enumVariantName = (Formatting.capitalize fname),- Syntax.enumVariantBody = (Syntax.EnumVariantBodyTuple [- sftyp]),- Syntax.enumVariantDoc = Nothing}))))---- | Encode a Hydra literal value as a Rust expression-encodeLiteral :: Core.Literal -> Syntax.Expression-encodeLiteral lit =- case lit of- Core.LiteralBoolean v0 -> Syntax.ExpressionLiteral (Syntax.LiteralBool v0)- Core.LiteralString v0 -> Syntax.ExpressionLiteral (Syntax.LiteralString v0)- Core.LiteralFloat v0 -> case v0 of- Core.FloatValueFloat32 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralFloat (Syntax.FloatLiteral {- Syntax.floatLiteralValue = (Literals.float32ToFloat64 v1),- Syntax.floatLiteralSuffix = (Just "f32")}))- Core.FloatValueFloat64 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralFloat (Syntax.FloatLiteral {- Syntax.floatLiteralValue = v1,- Syntax.floatLiteralSuffix = Nothing}))- Core.LiteralInteger v0 -> case v0 of- Core.IntegerValueInt8 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.int8ToBigint v1),- Syntax.integerLiteralSuffix = (Just "i8")}))- Core.IntegerValueInt16 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.int16ToBigint v1),- Syntax.integerLiteralSuffix = (Just "i16")}))- Core.IntegerValueInt32 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.int32ToBigint v1),- Syntax.integerLiteralSuffix = (Just "i32")}))- Core.IntegerValueInt64 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.int64ToBigint v1),- Syntax.integerLiteralSuffix = (Just "i64")}))- Core.IntegerValueUint8 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.uint8ToBigint v1),- Syntax.integerLiteralSuffix = (Just "u8")}))- Core.IntegerValueUint16 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.uint16ToBigint v1),- Syntax.integerLiteralSuffix = (Just "u16")}))- Core.IntegerValueUint32 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.uint32ToBigint v1),- Syntax.integerLiteralSuffix = (Just "u32")}))- Core.IntegerValueUint64 v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = (Literals.uint64ToBigint v1),- Syntax.integerLiteralSuffix = (Just "u64")}))- Core.IntegerValueBigint v1 -> Syntax.ExpressionLiteral (Syntax.LiteralInteger (Syntax.IntegerLiteral {- Syntax.integerLiteralValue = v1,- Syntax.integerLiteralSuffix = Nothing}))---- | Encode a Hydra literal type as a Rust type-encodeLiteralType :: Core.LiteralType -> Syntax.Type-encodeLiteralType lt =- case lt of- Core.LiteralTypeBinary -> rustApply1 "Vec" (rustPath "u8")- Core.LiteralTypeBoolean -> rustPath "bool"- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat32 -> rustPath "f32"- Core.FloatTypeFloat64 -> rustPath "f64"- Core.LiteralTypeInteger v0 -> case v0 of- Core.IntegerTypeBigint -> rustPathSegmented [- "num",- "BigInt"]- Core.IntegerTypeInt8 -> rustPath "i8"- Core.IntegerTypeInt16 -> rustPath "i16"- Core.IntegerTypeInt32 -> rustPath "i32"- Core.IntegerTypeInt64 -> rustPath "i64"- Core.IntegerTypeUint8 -> rustPath "u8"- Core.IntegerTypeUint16 -> rustPath "u16"- Core.IntegerTypeUint32 -> rustPath "u32"- Core.IntegerTypeUint64 -> rustPath "u64"- Core.LiteralTypeString -> rustPath "String"---- | Encode a Hydra record projection as a Rust expression. Takes an optional argument for applied projections.-encodeProjectionElim :: t0 -> t1 -> Core.Projection -> Maybe Core.Term -> Either Errors.Error Syntax.Expression-encodeProjectionElim cx g proj marg =-- let fname = Formatting.convertCaseCamelToLowerSnake (Core.unName (Core.projectionFieldName proj))- in (Optionals.match marg (Right (rustClosure [- "v"] (Syntax.ExpressionFieldAccess (Syntax.FieldAccessExpr {- Syntax.fieldAccessExprObject = (rustExprPath "v"),- Syntax.fieldAccessExprField = fname})))) (\arg -> Eithers.bind (encodeTerm cx g arg) (\sarg -> Right (Syntax.ExpressionFieldAccess (Syntax.FieldAccessExpr {- Syntax.fieldAccessExprObject = sarg,- Syntax.fieldAccessExprField = fname})))))---- | Encode a Hydra record field as a Rust struct field-encodeStructField :: t0 -> t1 -> Core.FieldType -> Either Errors.Error Syntax.StructField-encodeStructField cx g ft =-- let fname = Core.unName (Core.fieldTypeName ft)- ftyp = Core.fieldTypeType ft- in (Eithers.bind (encodeType cx g ftyp) (\sftyp -> Right (Syntax.StructField {- Syntax.structFieldName = (Formatting.convertCaseCamelToLowerSnake (Formatting.sanitizeWithUnderscores Language.rustReservedWords fname)),- Syntax.structFieldType = sftyp,- Syntax.structFieldPublic = True,- Syntax.structFieldDoc = Nothing})))---- | Encode a Hydra term as a Rust expression-encodeTerm :: t0 -> t1 -> Core.Term -> Either Errors.Error Syntax.Expression-encodeTerm cx g term =- case term of- Core.TermAnnotated v0 -> encodeTerm cx g (Core.annotatedTermBody v0)- Core.TermApplication v0 -> Eithers.bind (encodeTerm cx g (Core.applicationFunction v0)) (\fun -> Eithers.bind (encodeTerm cx g (Core.applicationArgument v0)) (\arg -> Right (rustCall fun [- arg])))- Core.TermEither v0 -> Eithers.either (\l -> Eithers.bind (encodeTerm cx g l) (\sl -> Right (rustCall (rustExprPath "Left") [- sl]))) (\r -> Eithers.bind (encodeTerm cx g r) (\sr -> Right (rustCall (rustExprPath "Right") [- sr]))) v0- Core.TermLambda v0 ->- let param = Formatting.convertCaseCamelToLowerSnake (Core.unName (Core.lambdaParameter v0))- in (Eithers.bind (encodeTerm cx g (Core.lambdaBody v0)) (\body -> Right (rustClosure [- param] body)))- Core.TermProject v0 -> encodeProjectionElim cx g v0 Nothing- Core.TermCases v0 -> encodeUnionElim cx g v0 Nothing- Core.TermUnwrap v0 -> encodeUnwrapElim cx g v0 Nothing- Core.TermLet v0 ->- let bindings = Core.letBindings v0- body = Core.letBody v0- in (Eithers.bind (Eithers.mapList (\b ->- let bname = Formatting.convertCaseCamelToLowerSnake (Core.unName (Core.bindingName b))- in (Eithers.bind (encodeTerm cx g (Core.bindingTerm b)) (\bval -> Right (rustLetStmt bname bval)))) bindings) (\stmts -> Eithers.bind (encodeTerm cx g body) (\bodyExpr -> Right (rustBlock stmts bodyExpr))))- Core.TermList v0 -> Eithers.bind (Eithers.mapList (encodeTerm cx g) v0) (\sels -> Right (rustCall (rustExprPath "Vec::from") [- Syntax.ExpressionArray (Syntax.ArrayExprElements sels)]))- Core.TermLiteral v0 -> Right (encodeLiteral v0)- Core.TermMap v0 -> Eithers.bind (Eithers.mapList (\entry -> Eithers.bind (encodeTerm cx g (Pairs.first entry)) (\k -> Eithers.bind (encodeTerm cx g (Pairs.second entry)) (\v -> Right (Syntax.ExpressionTuple [- k,- v])))) (Maps.toList v0)) (\pairs -> Right (rustCall (rustExprPath "BTreeMap::from") [- Syntax.ExpressionArray (Syntax.ArrayExprElements pairs)]))- Core.TermOptional v0 -> Optionals.match v0 (Right (rustExprPath "None")) (\val -> Eithers.bind (encodeTerm cx g val) (\sval -> Right (rustCall (rustExprPath "Some") [- sval])))- Core.TermPair v0 -> Eithers.bind (encodeTerm cx g (Pairs.first v0)) (\f -> Eithers.bind (encodeTerm cx g (Pairs.second v0)) (\s -> Right (Syntax.ExpressionTuple [- f,- s])))- Core.TermRecord v0 ->- let rname = Core.recordTypeName v0- fields = Core.recordFields v0- in (Eithers.bind (Eithers.mapList (\f ->- let fname = Formatting.convertCaseCamelToLowerSnake (Core.unName (Core.fieldName f))- in (Eithers.bind (encodeTerm cx g (Core.fieldTerm f)) (\fval -> Right (Syntax.FieldValue {- Syntax.fieldValueName = fname,- Syntax.fieldValueValue = (Just fval)})))) fields) (\sfields -> Right (Syntax.ExpressionStruct (Syntax.StructExpr {- Syntax.structExprPath = Syntax.ExprPath {- Syntax.exprPathGlobal = False,- Syntax.exprPathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = (Formatting.capitalize (Names.localNameOf rname)),- Syntax.pathSegmentArguments = Syntax.GenericArgumentsNone}]},- Syntax.structExprFields = sfields,- Syntax.structExprRest = Nothing}))))- Core.TermSet v0 -> Eithers.bind (Eithers.mapList (encodeTerm cx g) (Sets.toList v0)) (\sels -> Right (rustCall (rustExprPath "BTreeSet::from") [- Syntax.ExpressionArray (Syntax.ArrayExprElements sels)]))- Core.TermInject v0 ->- let tname = Formatting.capitalize (Names.localNameOf (Core.injectionTypeName v0))- field = Core.injectionField v0- fname = Formatting.capitalize (Core.unName (Core.fieldName field))- fterm = Core.fieldTerm field- dterm = Strip.deannotateTerm fterm- isUnit =- case dterm of- Core.TermUnit -> True- Core.TermRecord v1 -> Lists.isEmpty (Core.recordFields v1)- _ -> False- in (Logic.ifElse isUnit (Right (rustExprPath (Strings.concat2 (Strings.concat2 tname "::") fname))) (Eithers.bind (encodeTerm cx g fterm) (\sval -> Right (rustCall (rustExprPath (Strings.concat2 (Strings.concat2 tname "::") fname)) [- sval]))))- Core.TermUnit -> Right (Syntax.ExpressionTuple [])- Core.TermVariable v0 -> Right (rustExprPath (Formatting.convertCaseCamelToLowerSnake (Formatting.sanitizeWithUnderscores Language.rustReservedWords (Core.unName v0))))- Core.TermWrap v0 ->- let tname = Formatting.capitalize (Names.localNameOf (Core.wrappedTermTypeName v0))- in (Eithers.bind (encodeTerm cx g (Core.wrappedTermBody v0)) (\inner -> Right (rustCall (rustExprPath tname) [- inner])))- _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected term variant"))---- | Encode a Hydra term definition as a Rust function item-encodeTermDefinition :: t0 -> t1 -> Packaging.TermDefinition -> Either Errors.Error Syntax.ItemWithComments-encodeTermDefinition cx g tdef =-- let name = Packaging.termDefinitionName tdef- term = Packaging.termDefinitionBody tdef- lname = Formatting.convertCaseCamelToLowerSnake (Names.localNameOf name)- typ =- Optionals.match (Optionals.map Scoping.termSignatureToTypeScheme (Packaging.termDefinitionSignature tdef)) (Core.TypeVariable (Core.Name "hydra.core.Unit")) Core.typeSchemeBody- in (Eithers.bind (encodeTerm cx g term) (\body -> Eithers.bind (encodeType cx g typ) (\retType -> Right (Syntax.ItemWithComments {- Syntax.itemWithCommentsDoc = Nothing,- Syntax.itemWithCommentsVisibility = Syntax.VisibilityPublic,- Syntax.itemWithCommentsItem = (Syntax.ItemFn (Syntax.FnDef {- Syntax.fnDefName = lname,- Syntax.fnDefGenerics = [],- Syntax.fnDefWhereClause = Nothing,- Syntax.fnDefParams = [],- Syntax.fnDefReturnType = (Just retType),- Syntax.fnDefBody = Syntax.Block {- Syntax.blockStatements = [],- Syntax.blockExpression = (Just body)},- Syntax.fnDefPublic = True,- Syntax.fnDefAsync = False,- Syntax.fnDefConst = False,- Syntax.fnDefUnsafe = False,- Syntax.fnDefDoc = Nothing}))}))))---- | Encode a Hydra type as a Rust syntax type-encodeType :: t0 -> t1 -> Core.Type -> Either Errors.Error Syntax.Type-encodeType cx g t =-- let typ = Strip.deannotateType t- in case typ of- Core.TypeAnnotated v0 -> encodeType cx g (Core.annotatedTypeBody v0)- Core.TypeApplication v0 -> encodeType cx g (Core.applicationTypeFunction v0)- Core.TypeUnit -> Right rustUnit- Core.TypeVoid -> Right rustUnit- Core.TypeLiteral v0 -> Right (encodeLiteralType v0)- Core.TypeList v0 -> Eithers.map (\enc -> rustApply1 "Vec" enc) (encodeType cx g v0)- Core.TypeSet v0 -> Eithers.map (\enc -> rustApply1 "BTreeSet" enc) (encodeType cx g v0)- Core.TypeMap v0 -> Eithers.bind (encodeType cx g (Core.mapTypeKeys v0)) (\kt -> Eithers.bind (encodeType cx g (Core.mapTypeValues v0)) (\vt -> Right (rustApply2 "BTreeMap" kt vt)))- Core.TypeOptional v0 -> Eithers.map (\enc -> rustApply1 "Option" enc) (encodeType cx g v0)- Core.TypeEither v0 -> Eithers.bind (encodeType cx g (Core.eitherTypeLeft v0)) (\lt -> Eithers.bind (encodeType cx g (Core.eitherTypeRight v0)) (\rt -> Right (rustApply2 "Either" lt rt)))- Core.TypePair v0 -> Eithers.bind (encodeType cx g (Core.pairTypeFirst v0)) (\ft -> Eithers.bind (encodeType cx g (Core.pairTypeSecond v0)) (\st -> Right (Syntax.TypeTuple [- ft,- st])))- Core.TypeFunction v0 -> Eithers.bind (encodeType cx g (Core.functionTypeDomain v0)) (\dom -> Eithers.bind (encodeType cx g (Core.functionTypeCodomain v0)) (\cod -> Right (rustApply1 "Box" (Syntax.TypeDynTrait [- Syntax.TypeParamBoundTrait (Syntax.TypePath {- Syntax.typePathGlobal = False,- Syntax.typePathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = "Fn",- Syntax.pathSegmentArguments = (Syntax.GenericArgumentsParenthesized (Syntax.ParenthesizedArgs {- Syntax.parenthesizedArgsInputs = [- dom],- Syntax.parenthesizedArgsOutput = (Just cod)}))}]})]))))- Core.TypeRecord _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous record type"))- Core.TypeUnion _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous union type"))- Core.TypeWrap _ -> Left (Errors.ErrorOther (Errors.OtherError "unexpected anonymous wrap type"))- Core.TypeVariable v0 -> Right (rustPath (Formatting.capitalize (Core.unName v0)))- Core.TypeForall v0 -> encodeType cx g (Core.forallTypeBody v0)---- | Encode a Hydra type definition as a Rust item-encodeTypeDefinition :: t0 -> t1 -> Packaging.TypeDefinition -> Either Errors.Error Syntax.ItemWithComments-encodeTypeDefinition cx g tdef =-- let name = Packaging.typeDefinitionName tdef- typ = Core.typeSchemeBody (Packaging.typeDefinitionBody tdef)- lname = Formatting.capitalize (Names.localNameOf name)- freeVars =- Lists.filter (\v -> Equality.equal (Lists.length (Strings.splitOn "." (Core.unName v))) 1) (Sets.toList (Variables.freeVariablesInType typ))- generics =- Lists.map (\v -> Syntax.GenericParam {- Syntax.genericParamName = (Formatting.capitalize (Core.unName v)),- Syntax.genericParamBounds = []}) freeVars- dtyp = Strip.deannotateType typ- in (Eithers.bind (case dtyp of- Core.TypeRecord v0 -> Eithers.bind (Eithers.mapList (encodeStructField cx g) v0) (\sfields -> Right (Syntax.ItemStruct (Syntax.StructDef {- Syntax.structDefName = lname,- Syntax.structDefGenerics = generics,- Syntax.structDefWhereClause = Nothing,- Syntax.structDefBody = (Syntax.StructBodyNamed sfields),- Syntax.structDefDerives = standardDerives,- Syntax.structDefPublic = True,- Syntax.structDefDoc = Nothing})))- Core.TypeUnion v0 -> Eithers.bind (Eithers.mapList (encodeEnumVariant cx g) v0) (\variants -> Right (Syntax.ItemEnum (Syntax.EnumDef {- Syntax.enumDefName = lname,- Syntax.enumDefGenerics = generics,- Syntax.enumDefWhereClause = Nothing,- Syntax.enumDefVariants = variants,- Syntax.enumDefDerives = standardDerives,- Syntax.enumDefPublic = True,- Syntax.enumDefDoc = Nothing})))- Core.TypeWrap v0 -> Eithers.bind (encodeType cx g v0) (\styp -> Right (Syntax.ItemStruct (Syntax.StructDef {- Syntax.structDefName = lname,- Syntax.structDefGenerics = generics,- Syntax.structDefWhereClause = Nothing,- Syntax.structDefBody = (Syntax.StructBodyTuple [- Syntax.TupleField {- Syntax.tupleFieldType = styp,- Syntax.tupleFieldPublic = True}]),- Syntax.structDefDerives = standardDerives,- Syntax.structDefPublic = True,- Syntax.structDefDoc = Nothing})))- _ -> Eithers.bind (encodeType cx g typ) (\styp -> Right (Syntax.ItemTypeAlias (Syntax.TypeAlias {- Syntax.typeAliasName = lname,- Syntax.typeAliasGenerics = generics,- Syntax.typeAliasType = styp,- Syntax.typeAliasPublic = True,- Syntax.typeAliasDoc = Nothing})))) (\item -> Right (Syntax.ItemWithComments {- Syntax.itemWithCommentsDoc = Nothing,- Syntax.itemWithCommentsVisibility = Syntax.VisibilityPublic,- Syntax.itemWithCommentsItem = item})))---- | Encode a Hydra case statement (union elimination) as a Rust expression. Takes an optional argument for applied case statements.-encodeUnionElim :: t0 -> t1 -> Core.CaseStatement -> Maybe Core.Term -> Either Errors.Error Syntax.Expression-encodeUnionElim cx g cs marg =-- let tname = Formatting.capitalize (Names.localNameOf (Core.caseStatementTypeName cs))- caseFields = Core.caseStatementCases cs- defCase = Core.caseStatementDefault cs- in (Eithers.bind (Eithers.mapList (\cf ->- let cfname = Formatting.capitalize (Core.unName (Core.caseAlternativeName cf))- cfterm = Core.caseAlternativeHandler cf- in (Eithers.bind (encodeTerm cx g (Core.TermApplication (Core.Application {- Core.applicationFunction = cfterm,- Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))) (\armBody -> Right (Syntax.MatchArm {- Syntax.matchArmPattern = (Syntax.PatternTupleStruct (Syntax.TupleStructPattern {- Syntax.tupleStructPatternPath = Syntax.ExprPath {- Syntax.exprPathGlobal = False,- Syntax.exprPathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = (Strings.concat2 (Strings.concat2 tname "::") cfname),- Syntax.pathSegmentArguments = Syntax.GenericArgumentsNone}]},- Syntax.tupleStructPatternElements = [- Syntax.PatternIdentifier (Syntax.IdentifierPattern {- Syntax.identifierPatternName = "v",- Syntax.identifierPatternMutable = False,- Syntax.identifierPatternAtPattern = Nothing})]})),- Syntax.matchArmGuard = Nothing,- Syntax.matchArmBody = armBody})))) caseFields) (\arms -> Eithers.bind (Optionals.match defCase (Right arms) (\dt -> Eithers.bind (encodeTerm cx g (Core.TermApplication (Core.Application {- Core.applicationFunction = dt,- Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))) (\defBody -> Right (Lists.concat2 arms [- Syntax.MatchArm {- Syntax.matchArmPattern = Syntax.PatternWildcard,- Syntax.matchArmGuard = Nothing,- Syntax.matchArmBody = defBody}])))) (\allArms -> Optionals.match marg (Right (rustClosure [- "v"] (Syntax.ExpressionMatch (Syntax.MatchExpr {- Syntax.matchExprScrutinee = (rustExprPath "v"),- Syntax.matchExprArms = allArms})))) (\arg -> Eithers.bind (encodeTerm cx g arg) (\sarg -> Right (Syntax.ExpressionMatch (Syntax.MatchExpr {- Syntax.matchExprScrutinee = sarg,- Syntax.matchExprArms = allArms})))))))---- | Encode a Hydra wrap elimination (unwrap) as a Rust expression. Takes an optional argument for applied unwraps.-encodeUnwrapElim :: t0 -> t1 -> Core.Name -> Maybe Core.Term -> Either Errors.Error Syntax.Expression-encodeUnwrapElim cx g name marg =- Optionals.match marg (Right (rustClosure [- "v"] (Syntax.ExpressionTupleIndex (Syntax.TupleIndexExpr {- Syntax.tupleIndexExprTuple = (rustExprPath "v"),- Syntax.tupleIndexExprIndex = 0})))) (\arg -> Eithers.bind (encodeTerm cx g arg) (\sarg -> Right (Syntax.ExpressionTupleIndex (Syntax.TupleIndexExpr {- Syntax.tupleIndexExprTuple = sarg,- Syntax.tupleIndexExprIndex = 0}))))---- | Convert a Hydra module to a map of file paths to Rust source code strings-moduleToRust :: Packaging.Module -> [Packaging.Definition] -> t0 -> t1 -> Either Errors.Error (M.Map String String)-moduleToRust mod defs cx g =-- let partitioned = Environment.partitionDefinitions defs- typeDefs = Pairs.first partitioned- termDefs = Pairs.second partitioned- in (Eithers.bind (Eithers.mapList (encodeTypeDefinition cx g) typeDefs) (\typeItems -> Eithers.bind (Eithers.mapList (encodeTermDefinition cx g) termDefs) (\termItems ->- let allItems = Lists.concat2 typeItems termItems- crate = Syntax.Crate {- Syntax.crateItems = allItems}- code = Serialization.printExpr (Serialization.parenthesize (Serde.crateToExpr crate))- filePath = Names.moduleNameToFilePath Util.CaseConventionLowerSnake (File.FileExtension "rs") (Packaging.moduleName mod)- in (Right (Maps.singleton filePath code)))))---- | Apply a type constructor to one type argument (e.g., Vec<T>)-rustApply1 :: String -> Syntax.Type -> Syntax.Type-rustApply1 name arg =- Syntax.TypePath_ (Syntax.TypePath {- Syntax.typePathGlobal = False,- Syntax.typePathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = name,- Syntax.pathSegmentArguments = (Syntax.GenericArgumentsAngleBracketed (Syntax.AngleBracketedArgs {- Syntax.angleBracketedArgsArgs = [- Syntax.GenericArgType arg]}))}]})---- | Apply a type constructor to two type arguments (e.g., BTreeMap<K, V>)-rustApply2 :: String -> Syntax.Type -> Syntax.Type -> Syntax.Type-rustApply2 name arg1 arg2 =- Syntax.TypePath_ (Syntax.TypePath {- Syntax.typePathGlobal = False,- Syntax.typePathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = name,- Syntax.pathSegmentArguments = (Syntax.GenericArgumentsAngleBracketed (Syntax.AngleBracketedArgs {- Syntax.angleBracketedArgsArgs = [- Syntax.GenericArgType arg1,- (Syntax.GenericArgType arg2)]}))}]})---- | Block expression with statements and trailing expression-rustBlock :: [Syntax.Statement] -> Syntax.Expression -> Syntax.Expression-rustBlock stmts expr =- Syntax.ExpressionBlock (Syntax.Block {- Syntax.blockStatements = stmts,- Syntax.blockExpression = (Just expr)})---- | Function call expression-rustCall :: Syntax.Expression -> [Syntax.Expression] -> Syntax.Expression-rustCall fun args =- Syntax.ExpressionCall (Syntax.CallExpr {- Syntax.callExprFunction = fun,- Syntax.callExprArgs = args})---- | Closure expression: |params| body-rustClosure :: [String] -> Syntax.Expression -> Syntax.Expression-rustClosure params body =- Syntax.ExpressionClosure (Syntax.ClosureExpr {- Syntax.closureExprMove = False,- Syntax.closureExprParams = (Lists.map (\p -> Syntax.ClosureParam {- Syntax.closureParamPattern = (Syntax.PatternIdentifier (Syntax.IdentifierPattern {- Syntax.identifierPatternName = p,- Syntax.identifierPatternMutable = False,- Syntax.identifierPatternAtPattern = Nothing})),- Syntax.closureParamType = Nothing}) params),- Syntax.closureExprReturnType = Nothing,- Syntax.closureExprBody = body})---- | Variable reference as a path expression-rustExprPath :: String -> Syntax.Expression-rustExprPath name =- Syntax.ExpressionPath (Syntax.ExprPath {- Syntax.exprPathGlobal = False,- Syntax.exprPathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = name,- Syntax.pathSegmentArguments = Syntax.GenericArgumentsNone}]})---- | Let statement: let name = expr;-rustLetStmt :: String -> Syntax.Expression -> Syntax.Statement-rustLetStmt name expr =- Syntax.StatementLet (Syntax.LetStatement {- Syntax.letStatementPattern = (Syntax.PatternIdentifier (Syntax.IdentifierPattern {- Syntax.identifierPatternName = name,- Syntax.identifierPatternMutable = False,- Syntax.identifierPatternAtPattern = Nothing})),- Syntax.letStatementMutable = False,- Syntax.letStatementType = Nothing,- Syntax.letStatementInit = (Just expr)})---- | Construct a simple Rust path type (e.g., "String" -> String)-rustPath :: String -> Syntax.Type-rustPath name =- Syntax.TypePath_ (Syntax.TypePath {- Syntax.typePathGlobal = False,- Syntax.typePathSegments = [- Syntax.PathSegment {- Syntax.pathSegmentName = name,- Syntax.pathSegmentArguments = Syntax.GenericArgumentsNone}]})---- | Construct a Rust path type with multiple segments (e.g., ["num", "BigInt"] -> num::BigInt)-rustPathSegmented :: [String] -> Syntax.Type-rustPathSegmented segs =- Syntax.TypePath_ (Syntax.TypePath {- Syntax.typePathGlobal = False,- Syntax.typePathSegments = (Lists.map (\s -> Syntax.PathSegment {- Syntax.pathSegmentName = s,- Syntax.pathSegmentArguments = Syntax.GenericArgumentsNone}) segs)})---- | The Rust unit type ()-rustUnit :: Syntax.Type-rustUnit = Syntax.TypeUnit---- | The standard set of derive macros applied to generated structs and enums-standardDerives :: [String]-standardDerives =- [- "Clone",- "Debug",- "PartialEq",- "Eq",- "PartialOrd",- "Ord"]
− src/main/haskell/Hydra/Rust/Language.hs
@@ -1,264 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints and reserved words for Rust--module Hydra.Rust.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for Rust-rustLanguage :: Coders.Language-rustLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.rust"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "rs")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBinary,- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes =- Sets.fromList [- Core.FloatTypeFloat32,- Core.FloatTypeFloat64]- integerTypes =- Sets.fromList [- Core.IntegerTypeInt8,- Core.IntegerTypeInt16,- Core.IntegerTypeInt32,- Core.IntegerTypeInt64,- Core.IntegerTypeUint8,- Core.IntegerTypeUint16,- Core.IntegerTypeUint32,- Core.IntegerTypeUint64]- termVariants =- Sets.fromList [- Variants.TermVariantAnnotated,- Variants.TermVariantApplication,- Variants.TermVariantEither,- Variants.TermVariantCases,- Variants.TermVariantLambda,- Variants.TermVariantProject,- Variants.TermVariantUnwrap,- Variants.TermVariantTypeApplication,- Variants.TermVariantTypeLambda,- Variants.TermVariantLet,- Variants.TermVariantList,- Variants.TermVariantLiteral,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantPair,- Variants.TermVariantRecord,- Variants.TermVariantSet,- Variants.TermVariantInject,- Variants.TermVariantUnit,- Variants.TermVariantVariable,- Variants.TermVariantWrap]- typeVariants =- Sets.fromList [- Variants.TypeVariantAnnotated,- Variants.TypeVariantApplication,- Variants.TypeVariantEither,- Variants.TypeVariantFunction,- Variants.TypeVariantForall,- Variants.TypeVariantList,- Variants.TypeVariantLiteral,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantPair,- Variants.TypeVariantRecord,- Variants.TypeVariantSet,- Variants.TypeVariantUnion,- Variants.TypeVariantUnit,- Variants.TypeVariantVariable,- Variants.TypeVariantVoid,- Variants.TypeVariantWrap]- typePredicate = \_ -> True---- | A set of reserved words in Rust-rustReservedWords :: S.Set String-rustReservedWords =- Sets.fromList (Lists.concat [- strictKeywords,- reservedKeywords,- weakKeywords,- primitiveTypes,- stdPreludeTypes,- hydraRustKeywords])- where- strictKeywords =- [- "as",- "async",- "await",- "break",- "const",- "continue",- "crate",- "dyn",- "else",- "enum",- "extern",- "false",- "fn",- "for",- "if",- "impl",- "in",- "let",- "loop",- "match",- "mod",- "move",- "mut",- "pub",- "ref",- "return",- "self",- "Self",- "static",- "struct",- "super",- "trait",- "true",- "type",- "unsafe",- "use",- "where",- "while"]- reservedKeywords =- [- "abstract",- "become",- "box",- "do",- "final",- "macro",- "override",- "priv",- "try",- "typeof",- "unsized",- "virtual",- "yield"]- weakKeywords =- [- "macro_rules",- "union",- "'static"]- primitiveTypes =- [- "bool",- "char",- "str",- "u8",- "u16",- "u32",- "u64",- "u128",- "usize",- "i8",- "i16",- "i32",- "i64",- "i128",- "isize",- "f32",- "f64"]- stdPreludeTypes =- [- "Option",- "Some",- "None",- "Result",- "Ok",- "Err",- "Box",- "String",- "Vec",- "Clone",- "Copy",- "Default",- "Drop",- "Eq",- "PartialEq",- "Ord",- "PartialOrd",- "Hash",- "Debug",- "Display",- "Iterator",- "IntoIterator",- "From",- "Into",- "AsRef",- "AsMut",- "Send",- "Sync",- "Sized",- "Unpin",- "Fn",- "FnMut",- "FnOnce"]- hydraRustKeywords = [- "Node"]
− src/main/haskell/Hydra/Rust/Operators.hs
@@ -1,271 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | AST operators for Rust serialization--module Hydra.Rust.Operators where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Add-assign operator (+=)-addAssignOp :: Ast.Op-addAssignOp = Serialization.op "+=" 1 Ast.AssociativityRight---- | Addition operator (+)-addOp :: Ast.Op-addOp = Serialization.op "+" 10 Ast.AssociativityLeft---- | Logical AND operator (&&)-andOp :: Ast.Op-andOp = Serialization.op "&&" 4 Ast.AssociativityLeft---- | Function application operator (whitespace)-appOp :: Ast.Op-appOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol ""),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsSpace},- Ast.opPrecedence = (Ast.Precedence 0),- Ast.opAssociativity = Ast.AssociativityLeft}---- | Return type arrow (->)-arrowOp :: Ast.Op-arrowOp = Serialization.op "->" 0 Ast.AssociativityRight---- | Type cast operator (as)-asOp :: Ast.Op-asOp = Serialization.op "as" 12 Ast.AssociativityLeft---- | Assignment operator (=)-assignOp :: Ast.Op-assignOp = Serialization.op "=" 1 Ast.AssociativityRight---- | Bitwise and-assign operator (&=)-bitAndAssignOp :: Ast.Op-bitAndAssignOp = Serialization.op "&=" 1 Ast.AssociativityRight---- | Bitwise AND operator (&)-bitAndOp :: Ast.Op-bitAndOp = Serialization.op "&" 8 Ast.AssociativityLeft---- | Bitwise or-assign operator (|=)-bitOrAssignOp :: Ast.Op-bitOrAssignOp = Serialization.op "|=" 1 Ast.AssociativityRight---- | Bitwise OR operator (|)-bitOrOp :: Ast.Op-bitOrOp = Serialization.op "|" 6 Ast.AssociativityLeft---- | Bitwise xor-assign operator (^=)-bitXorAssignOp :: Ast.Op-bitXorAssignOp = Serialization.op "^=" 1 Ast.AssociativityRight---- | Bitwise XOR operator (^)-bitXorOp :: Ast.Op-bitXorOp = Serialization.op "^" 7 Ast.AssociativityLeft---- | Type annotation (::) for let statements-colonColonOp :: Ast.Op-colonColonOp = Serialization.op ":" 0 Ast.AssociativityNone---- | Type ascription operator (:)-colonOp :: Ast.Op-colonOp = Serialization.op ":" 12 Ast.AssociativityLeft---- | Dereference operator (*)-derefOp :: Ast.Op-derefOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "*"),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 13),- Ast.opAssociativity = Ast.AssociativityNone}---- | Div-assign operator (/=)-divAssignOp :: Ast.Op-divAssignOp = Serialization.op "/=" 1 Ast.AssociativityRight---- | Division operator (/)-divOp :: Ast.Op-divOp = Serialization.op "/" 11 Ast.AssociativityLeft---- | Path separator (::)-doubleColonOp :: Ast.Op-doubleColonOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "::"),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 15),- Ast.opAssociativity = Ast.AssociativityLeft}---- | Equality operator (==)-eqOp :: Ast.Op-eqOp = Serialization.op "==" 5 Ast.AssociativityNone---- | Match arm arrow (=>)-fatArrowOp :: Ast.Op-fatArrowOp = Serialization.op "=>" 0 Ast.AssociativityNone---- | Field access operator (.)-fieldOp :: Ast.Op-fieldOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "."),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 14),- Ast.opAssociativity = Ast.AssociativityLeft}---- | Greater-than-or-equal operator (>=)-geOp :: Ast.Op-geOp = Serialization.op ">=" 5 Ast.AssociativityNone---- | Greater-than operator (>)-gtOp :: Ast.Op-gtOp = Serialization.op ">" 5 Ast.AssociativityNone---- | Less-than-or-equal operator (<=)-leOp :: Ast.Op-leOp = Serialization.op "<=" 5 Ast.AssociativityNone---- | Less-than operator (<)-ltOp :: Ast.Op-ltOp = Serialization.op "<" 5 Ast.AssociativityNone---- | Method call operator (.)-methodOp :: Ast.Op-methodOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "."),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 14),- Ast.opAssociativity = Ast.AssociativityLeft}---- | Mul-assign operator (*=)-mulAssignOp :: Ast.Op-mulAssignOp = Serialization.op "*=" 1 Ast.AssociativityRight---- | Multiplication operator (*)-mulOp :: Ast.Op-mulOp = Serialization.op "*" 11 Ast.AssociativityLeft---- | Not-equal operator (!=)-neOp :: Ast.Op-neOp = Serialization.op "!=" 5 Ast.AssociativityNone---- | Unary negation operator (-)-negOp :: Ast.Op-negOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "-"),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 13),- Ast.opAssociativity = Ast.AssociativityNone}---- | Unary logical not operator (!)-notOp :: Ast.Op-notOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "!"),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 13),- Ast.opAssociativity = Ast.AssociativityNone}---- | Logical OR operator (||)-orOp :: Ast.Op-orOp = Serialization.op "||" 3 Ast.AssociativityLeft---- | Inclusive range operator (..=)-rangeInclusiveOp :: Ast.Op-rangeInclusiveOp = Serialization.op "..=" 2 Ast.AssociativityNone---- | Range operator (..)-rangeOp :: Ast.Op-rangeOp = Serialization.op ".." 2 Ast.AssociativityNone---- | Reference operator (&)-refOp :: Ast.Op-refOp =- Ast.Op {- Ast.opSymbol = (Ast.Symbol "&"),- Ast.opPadding = Ast.Padding {- Ast.paddingLeft = Ast.WsNone,- Ast.paddingRight = Ast.WsNone},- Ast.opPrecedence = (Ast.Precedence 13),- Ast.opAssociativity = Ast.AssociativityNone}---- | Rem-assign operator (%=)-remAssignOp :: Ast.Op-remAssignOp = Serialization.op "%=" 1 Ast.AssociativityRight---- | Remainder operator (%)-remOp :: Ast.Op-remOp = Serialization.op "%" 11 Ast.AssociativityLeft---- | Shift-left assign operator (<<=)-shlAssignOp :: Ast.Op-shlAssignOp = Serialization.op "<<=" 1 Ast.AssociativityRight---- | Shift-left operator (<<)-shlOp :: Ast.Op-shlOp = Serialization.op "<<" 9 Ast.AssociativityLeft---- | Shift-right assign operator (>>=)-shrAssignOp :: Ast.Op-shrAssignOp = Serialization.op ">>=" 1 Ast.AssociativityRight---- | Shift-right operator (>>)-shrOp :: Ast.Op-shrOp = Serialization.op ">>" 9 Ast.AssociativityLeft---- | Sub-assign operator (-=)-subAssignOp :: Ast.Op-subAssignOp = Serialization.op "-=" 1 Ast.AssociativityRight---- | Subtraction operator (-)-subOp :: Ast.Op-subOp = Serialization.op "-" 10 Ast.AssociativityLeft
− src/main/haskell/Hydra/Rust/Serde.hs
@@ -1,1405 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Rust serializer: converts Rust AST to concrete syntax--module Hydra.Rust.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Rust.Operators as Operators-import qualified Hydra.Rust.Syntax as Syntax-import qualified Hydra.Serialization as Serialization-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Serialize an array expression-arrayExprToExpr :: Syntax.ArrayExpr -> Ast.Expr-arrayExprToExpr a =- case a of- Syntax.ArrayExprElements v0 -> Serialization.bracketList Serialization.halfBlockStyle (Lists.map expressionToExpr v0)- Syntax.ArrayExprRepeat v0 ->- let elem = Syntax.arrayRepeatElement v0- len = Syntax.arrayRepeatLength v0- in (Serialization.cst (Strings.concat [- "[",- (Serialization.printExpr (expressionToExpr elem)),- "; ",- (Serialization.printExpr (expressionToExpr len)),- "]"]))---- | Serialize an assignment expression-assignExprToExpr :: Syntax.AssignExpr -> Ast.Expr-assignExprToExpr a =-- let target = Syntax.assignExprTarget a- val = Syntax.assignExprValue a- in (Serialization.spaceSep [- expressionToExpr target,- (Serialization.cst "="),- (expressionToExpr val)])---- | Serialize an attribute-attributeToExpr :: Syntax.Attribute -> Ast.Expr-attributeToExpr attr =-- let inner = Syntax.attributeInner attr- path = Syntax.attributePath attr- tokens = Syntax.attributeTokens attr- prefix = Logic.ifElse inner "#![" "#["- pathStr = Strings.join "::" path- tokensPart =- Optionals.match tokens "" (\t -> Strings.concat [- "(",- t,- ")"])- in (Serialization.cst (Strings.concat [- prefix,- pathStr,- tokensPart,- "]"]))---- | Serialize a binary expression-binaryExprToExpr :: Syntax.BinaryExpr -> Ast.Expr-binaryExprToExpr b =-- let left = Syntax.binaryExprLeft b- op = Syntax.binaryExprOp b- right = Syntax.binaryExprRight b- in (Serialization.spaceSep [- expressionToExpr left,- (binaryOpToExpr op),- (expressionToExpr right)])---- | Serialize a binary operator-binaryOpToExpr :: Syntax.BinaryOp -> Ast.Expr-binaryOpToExpr op =- Serialization.cst (case op of- Syntax.BinaryOpAdd -> "+"- Syntax.BinaryOpSub -> "-"- Syntax.BinaryOpMul -> "*"- Syntax.BinaryOpDiv -> "/"- Syntax.BinaryOpRem -> "%"- Syntax.BinaryOpAnd -> "&&"- Syntax.BinaryOpOr -> "||"- Syntax.BinaryOpBitAnd -> "&"- Syntax.BinaryOpBitOr -> "|"- Syntax.BinaryOpBitXor -> "^"- Syntax.BinaryOpShl -> "<<"- Syntax.BinaryOpShr -> ">>"- Syntax.BinaryOpEq -> "=="- Syntax.BinaryOpNe -> "!="- Syntax.BinaryOpLt -> "<"- Syntax.BinaryOpLe -> "<="- Syntax.BinaryOpGt -> ">"- Syntax.BinaryOpGe -> ">=")---- | Serialize a block-blockToExpr :: Syntax.Block -> Ast.Expr-blockToExpr b =-- let stmts = Syntax.blockStatements b- expr = Syntax.blockExpression b- stmtExprs = Lists.map statementToExpr stmts- exprPart = Optionals.match expr [] (\e -> [- expressionToExpr e])- allParts = Lists.concat2 stmtExprs exprPart- in (Serialization.curlyBracesList Nothing Serialization.halfBlockStyle allParts)---- | Serialize a function call expression-callExprToExpr :: Syntax.CallExpr -> Ast.Expr-callExprToExpr c =-- let func = Syntax.callExprFunction c- args = Syntax.callExprArgs c- in (Serialization.spaceSep [- expressionToExpr func,- (Serialization.parenListAdaptive (Lists.map expressionToExpr args))])---- | Serialize a cast expression-castExprToExpr :: Syntax.CastExpr -> Ast.Expr-castExprToExpr c =-- let expr = Syntax.castExprExpr c- typ = Syntax.castExprType c- in (Serialization.spaceSep [- expressionToExpr expr,- (Serialization.cst "as"),- (typeToExpr typ)])---- | Serialize a closure expression-closureExprToExpr :: Syntax.ClosureExpr -> Ast.Expr-closureExprToExpr c =-- let move = Syntax.closureExprMove c- params = Syntax.closureExprParams c- retType = Syntax.closureExprReturnType c- body = Syntax.closureExprBody c- moveKw = Logic.ifElse move (Just (Serialization.cst "move")) Nothing- paramsStr =- Strings.concat [- "|",- (Strings.join ", " (Lists.map closureParamToStr params)),- "|"]- retPart =- Optionals.match retType Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst "->",- (typeToExpr t)]))- in (Serialization.spaceSep (Optionals.givens [- moveKw,- (Just (Serialization.cst paramsStr)),- retPart,- (Just (expressionToExpr body))]))---- | Serialize a closure parameter to string-closureParamToStr :: Syntax.ClosureParam -> String-closureParamToStr cp =-- let pat = Syntax.closureParamPattern cp- typ = Syntax.closureParamType cp- patStr = Serialization.printExpr (patternToExpr pat)- in (Optionals.match typ patStr (\t -> Strings.concat [- patStr,- ": ",- (Serialization.printExpr (typeToExpr t))]))---- | Serialize a compound assignment expression-compoundAssignExprToExpr :: Syntax.CompoundAssignExpr -> Ast.Expr-compoundAssignExprToExpr c =-- let target = Syntax.compoundAssignExprTarget c- op = Syntax.compoundAssignExprOp c- val = Syntax.compoundAssignExprValue c- opStr =- case op of- Syntax.CompoundAssignOpAddAssign -> "+="- Syntax.CompoundAssignOpSubAssign -> "-="- Syntax.CompoundAssignOpMulAssign -> "*="- Syntax.CompoundAssignOpDivAssign -> "/="- Syntax.CompoundAssignOpRemAssign -> "%="- Syntax.CompoundAssignOpBitAndAssign -> "&="- Syntax.CompoundAssignOpBitOrAssign -> "|="- Syntax.CompoundAssignOpBitXorAssign -> "^="- Syntax.CompoundAssignOpShlAssign -> "<<="- Syntax.CompoundAssignOpShrAssign -> ">>="- in (Serialization.spaceSep [- expressionToExpr target,- (Serialization.cst opStr),- (expressionToExpr val)])---- | Serialize a const definition-constDefToExpr :: Syntax.ConstDef -> Ast.Expr-constDefToExpr c =-- let name = Syntax.constDefName c- typ = Syntax.constDefType c- val = Syntax.constDefValue c- in (Serialization.spaceSep [- Serialization.cst "const",- (Serialization.cst (Strings.concat2 name ":")),- (typeToExpr typ),- (Serialization.cst "="),- (expressionToExpr val),- (Serialization.cst ";")])---- | Serialize a Rust crate to an AST expression-crateToExpr :: Syntax.Crate -> Ast.Expr-crateToExpr crate = Serialization.doubleNewlineSep (Lists.map itemWithCommentsToExpr (Syntax.crateItems crate))---- | Serialize derive macros to an attribute expression-derivesToExpr :: [String] -> Maybe Ast.Expr-derivesToExpr derives =- Logic.ifElse (Lists.isEmpty derives) Nothing (Just (Serialization.cst (Strings.concat [- "#[derive(",- (Strings.join ", " derives),- ")]"])))---- | Serialize an enum definition-enumDefToExpr :: Syntax.EnumDef -> Ast.Expr-enumDefToExpr e =-- let name = Syntax.enumDefName e- generics = Syntax.enumDefGenerics e- whereC = Syntax.enumDefWhereClause e- variants = Syntax.enumDefVariants e- derives = Syntax.enumDefDerives e- docC = Syntax.enumDefDoc e- derivesAttr = derivesToExpr derives- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- header =- Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "enum"),- (Just (Serialization.cst name)),- (genericParamsToExpr generics)])- wherePart = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- body = Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map enumVariantToExpr variants)- in (Serialization.newlineSep (Lists.concat [- docPart,- (Optionals.match derivesAttr [] (\d -> [- d])),- [- Serialization.spaceSep (Optionals.givens [- Just header,- wherePart,- (Just body)])]]))---- | Serialize an enum variant body-enumVariantBodyToExpr :: Syntax.EnumVariantBody -> Ast.Expr-enumVariantBodyToExpr body =- case body of- Syntax.EnumVariantBodyUnit -> Serialization.cst ""- Syntax.EnumVariantBodyTuple v0 -> Serialization.parenListAdaptive (Lists.map typeToExpr v0)- Syntax.EnumVariantBodyStruct v0 -> Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map structFieldToExpr v0)---- | Serialize an enum variant-enumVariantToExpr :: Syntax.EnumVariant -> Ast.Expr-enumVariantToExpr v =-- let name = Syntax.enumVariantName v- body = Syntax.enumVariantBody v- docC = Syntax.enumVariantDoc v- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep [- Serialization.cst name,- (enumVariantBodyToExpr body)]]]))---- | Serialize an expression path-exprPathToExpr :: Syntax.ExprPath -> Ast.Expr-exprPathToExpr ep =-- let global = Syntax.exprPathGlobal ep- segs = Syntax.exprPathSegments ep- prefix = Logic.ifElse global "::" ""- segStrs = Lists.map (\s -> Serialization.printExpr (pathSegmentToExpr s)) segs- in (Serialization.cst (Strings.concat2 prefix (Strings.join "::" segStrs)))---- | Serialize a Rust expression-expressionToExpr :: Syntax.Expression -> Ast.Expr-expressionToExpr expr =- case expr of- Syntax.ExpressionLiteral v0 -> literalToExpr v0- Syntax.ExpressionPath v0 -> exprPathToExpr v0- Syntax.ExpressionBlock v0 -> blockToExpr v0- Syntax.ExpressionCall v0 -> callExprToExpr v0- Syntax.ExpressionMethodCall v0 -> methodCallExprToExpr v0- Syntax.ExpressionFieldAccess v0 -> fieldAccessExprToExpr v0- Syntax.ExpressionTupleIndex v0 -> tupleIndexExprToExpr v0- Syntax.ExpressionClosure v0 -> closureExprToExpr v0- Syntax.ExpressionIf v0 -> ifExprToExpr v0- Syntax.ExpressionMatch v0 -> matchExprToExpr v0- Syntax.ExpressionLoop v0 -> loopExprToExpr v0- Syntax.ExpressionWhile v0 -> whileExprToExpr v0- Syntax.ExpressionFor v0 -> forExprToExpr v0- Syntax.ExpressionBinary v0 -> binaryExprToExpr v0- Syntax.ExpressionUnary v0 -> unaryExprToExpr v0- Syntax.ExpressionReference v0 -> refExprToExpr v0- Syntax.ExpressionDereference v0 -> Serialization.prefix "*" (expressionToExpr v0)- Syntax.ExpressionStruct v0 -> structExprToExpr v0- Syntax.ExpressionTuple v0 -> Serialization.parenListAdaptive (Lists.map expressionToExpr v0)- Syntax.ExpressionArray v0 -> arrayExprToExpr v0- Syntax.ExpressionIndex v0 -> indexExprToExpr v0- Syntax.ExpressionRange v0 -> rangeExprToExpr v0- Syntax.ExpressionReturn v0 -> Optionals.match v0 (Serialization.cst "return") (\e -> Serialization.spaceSep [- Serialization.cst "return",- (expressionToExpr e)])- Syntax.ExpressionBreak v0 -> Optionals.match v0 (Serialization.cst "break") (\e -> Serialization.spaceSep [- Serialization.cst "break",- (expressionToExpr e)])- Syntax.ExpressionContinue -> Serialization.cst "continue"- Syntax.ExpressionTry v0 -> Serialization.cst (Strings.concat2 (Serialization.printExpr (expressionToExpr v0)) "?")- Syntax.ExpressionCast v0 -> castExprToExpr v0- Syntax.ExpressionTypeAscription v0 -> typeAscriptionExprToExpr v0- Syntax.ExpressionAwait v0 -> Serialization.cst (Strings.concat2 (Serialization.printExpr (expressionToExpr v0)) ".await")- Syntax.ExpressionAssign v0 -> assignExprToExpr v0- Syntax.ExpressionCompoundAssign v0 -> compoundAssignExprToExpr v0- Syntax.ExpressionMacro v0 -> macroInvocationToExpr v0- Syntax.ExpressionParen v0 -> Serialization.parenthesize (expressionToExpr v0)---- | Serialize a field access expression-fieldAccessExprToExpr :: Syntax.FieldAccessExpr -> Ast.Expr-fieldAccessExprToExpr f =-- let obj = Syntax.fieldAccessExprObject f- field = Syntax.fieldAccessExprField f- in (Serialization.cst (Strings.concat [- Serialization.printExpr (expressionToExpr obj),- ".",- field]))---- | Serialize a field pattern-fieldPatternToExpr :: Syntax.FieldPattern -> Ast.Expr-fieldPatternToExpr fp =-- let name = Syntax.fieldPatternName fp- pat = Syntax.fieldPatternPattern fp- in (Optionals.match pat (Serialization.cst name) (\p -> Serialization.spaceSep [- Serialization.cst (Strings.concat2 name ":"),- (patternToExpr p)]))---- | Serialize a field-value pair-fieldValueToExpr :: Syntax.FieldValue -> Ast.Expr-fieldValueToExpr fv =-- let name = Syntax.fieldValueName fv- val = Syntax.fieldValueValue fv- in (Optionals.match val (Serialization.cst name) (\v -> Serialization.spaceSep [- Serialization.cst (Strings.concat2 name ":"),- (expressionToExpr v)]))---- | Serialize a float literal-floatLiteralToExpr :: Syntax.FloatLiteral -> Ast.Expr-floatLiteralToExpr fl =-- let val = Syntax.floatLiteralValue fl- suf = Syntax.floatLiteralSuffix fl- valStr = Literals.printFloat64 val- sufStr = Optionals.match suf "" (\s -> s)- in (Serialization.cst (Strings.concat2 valStr sufStr))---- | Serialize a function definition-fnDefToExpr :: Syntax.FnDef -> Ast.Expr-fnDefToExpr f =-- let name = Syntax.fnDefName f- generics = Syntax.fnDefGenerics f- whereC = Syntax.fnDefWhereClause f- params = Syntax.fnDefParams f- retType = Syntax.fnDefReturnType f- body = Syntax.fnDefBody f- isAsync = Syntax.fnDefAsync f- isConst = Syntax.fnDefConst f- isUnsafe = Syntax.fnDefUnsafe f- docC = Syntax.fnDefDoc f- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- asyncKw = Logic.ifElse isAsync (Just (Serialization.cst "async")) Nothing- constKw = Logic.ifElse isConst (Just (Serialization.cst "const")) Nothing- unsafeKw = Logic.ifElse isUnsafe (Just (Serialization.cst "unsafe")) Nothing- fnKw = Serialization.cst "fn"- nameExpr = Serialization.cst name- genericsExpr = genericParamsToExpr generics- paramsExpr = Serialization.parenListAdaptive (Lists.map fnParamToExpr params)- retTypeExpr =- Optionals.match retType Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst "->",- (typeToExpr t)]))- whereExpr = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- header =- Serialization.spaceSep (Optionals.givens [- asyncKw,- constKw,- unsafeKw,- (Just fnKw),- (Just nameExpr),- genericsExpr,- (Just paramsExpr),- retTypeExpr,- whereExpr])- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep [- header,- (blockToExpr body)]]]))---- | Serialize a function parameter-fnParamToExpr :: Syntax.FnParam -> Ast.Expr-fnParamToExpr param =-- let pat = Syntax.fnParamPattern param- typ = Syntax.fnParamType param- in (Serialization.spaceSep [- Serialization.cst (Strings.concat2 (Serialization.printExpr (patternToExpr pat)) ":"),- (typeToExpr typ)])---- | Serialize a for expression-forExprToExpr :: Syntax.ForExpr -> Ast.Expr-forExprToExpr f =-- let label = Syntax.forExprLabel f- pat = Syntax.forExprPattern f- iter = Syntax.forExprIter f- body = Syntax.forExprBody f- labelPart =- Optionals.match label Nothing (\lbl -> Just (Serialization.cst (Strings.concat2 "'" (Strings.concat2 lbl ":"))))- in (Serialization.spaceSep (Optionals.givens [- labelPart,- (Just (Serialization.cst "for")),- (Just (patternToExpr pat)),- (Just (Serialization.cst "in")),- (Just (expressionToExpr iter)),- (Just (blockToExpr body))]))---- | Serialize a generic argument-genericArgToExpr :: Syntax.GenericArg -> Ast.Expr-genericArgToExpr arg =- case arg of- Syntax.GenericArgType v0 -> typeToExpr v0- Syntax.GenericArgLifetime v0 -> Serialization.cst (Strings.concat2 "'" (Syntax.lifetimeName v0))- Syntax.GenericArgConst v0 -> expressionToExpr v0- Syntax.GenericArgBinding v0 ->- let name = Syntax.typeBindingName v0- typ = Syntax.typeBindingType v0- in (Serialization.spaceSep [- Serialization.cst name,- (Serialization.cst "="),- (typeToExpr typ)])---- | Serialize generic arguments-genericArgumentsToExpr :: Syntax.GenericArguments -> Maybe Ast.Expr-genericArgumentsToExpr args =- case args of- Syntax.GenericArgumentsNone -> Nothing- Syntax.GenericArgumentsAngleBracketed v0 ->- let args = Syntax.angleBracketedArgsArgs v0- in (Just (Serialization.angleBracesList Serialization.inlineStyle (Lists.map genericArgToExpr args)))- Syntax.GenericArgumentsParenthesized v0 ->- let inputs = Syntax.parenthesizedArgsInputs v0- output = Syntax.parenthesizedArgsOutput v0- inputPart = Serialization.parenListAdaptive (Lists.map typeToExpr inputs)- outputPart =- Optionals.match output Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst "->",- (typeToExpr t)]))- in (Just (Serialization.spaceSep (Optionals.givens [- Just inputPart,- outputPart])))---- | Serialize a generic parameter-genericParamToExpr :: Syntax.GenericParam -> Ast.Expr-genericParamToExpr gp =-- let name = Syntax.genericParamName gp- bounds = Syntax.genericParamBounds gp- in (Logic.ifElse (Lists.isEmpty bounds) (Serialization.cst name) (Serialization.spaceSep [- Serialization.cst (Strings.concat2 name ":"),- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) bounds)))]))---- | Serialize a list of generic parameters-genericParamsToExpr :: [Syntax.GenericParam] -> Maybe Ast.Expr-genericParamsToExpr gps =- Logic.ifElse (Lists.isEmpty gps) Nothing (Just (Serialization.angleBracesList Serialization.inlineStyle (Lists.map genericParamToExpr gps)))---- | Serialize an identifier pattern-identifierPatternToExpr :: Syntax.IdentifierPattern -> Ast.Expr-identifierPatternToExpr ip =-- let name = Syntax.identifierPatternName ip- mut = Syntax.identifierPatternMutable ip- atPat = Syntax.identifierPatternAtPattern ip- mutKw = Logic.ifElse mut (Just (Serialization.cst "mut")) Nothing- atPart =- Optionals.match atPat Nothing (\p -> Just (Serialization.spaceSep [- Serialization.cst "@",- (patternToExpr p)]))- in (Serialization.spaceSep (Optionals.givens [- mutKw,- (Just (Serialization.cst name)),- atPart]))---- | Serialize an if expression-ifExprToExpr :: Syntax.IfExpr -> Ast.Expr-ifExprToExpr i =-- let cond = Syntax.ifExprCondition i- thenB = Syntax.ifExprThenBlock i- elseB = Syntax.ifExprElseBranch i- condExpr =- case cond of- Syntax.IfConditionBool v0 -> expressionToExpr v0- Syntax.IfConditionLet v0 ->- let pat = Syntax.letConditionPattern v0- expr = Syntax.letConditionExpr v0- in (Serialization.spaceSep [- Serialization.cst "let",- (patternToExpr pat),- (Serialization.cst "="),- (expressionToExpr expr)])- elsePart =- Optionals.match elseB Nothing (\e -> Just (Serialization.spaceSep [- Serialization.cst "else",- (expressionToExpr e)]))- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "if"),- (Just condExpr),- (Just (blockToExpr thenB)),- elsePart]))---- | Serialize an impl block-implBlockToExpr :: Syntax.ImplBlock -> Ast.Expr-implBlockToExpr i =-- let generics = Syntax.implBlockGenerics i- whereC = Syntax.implBlockWhereClause i- trait = Syntax.implBlockTrait i- selfType = Syntax.implBlockSelfType i- items = Syntax.implBlockItems i- genericsExpr = genericParamsToExpr generics- traitPart =- Optionals.match trait Nothing (\t -> Just (Serialization.spaceSep [- typePathToExpr t,- (Serialization.cst "for")]))- wherePart = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- header =- Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "impl"),- genericsExpr,- traitPart,- (Just (typeToExpr selfType)),- wherePart])- body = Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map implItemToExpr items)- in (Serialization.spaceSep [- header,- body])---- | Serialize an impl item-implItemToExpr :: Syntax.ImplItem -> Ast.Expr-implItemToExpr item =- case item of- Syntax.ImplItemMethod v0 -> implMethodToExpr v0- Syntax.ImplItemType v0 -> typeAliasToExpr v0- Syntax.ImplItemConst v0 -> constDefToExpr v0---- | Serialize an impl method-implMethodToExpr :: Syntax.ImplMethod -> Ast.Expr-implMethodToExpr m =-- let name = Syntax.implMethodName m- generics = Syntax.implMethodGenerics m- whereC = Syntax.implMethodWhereClause m- params = Syntax.implMethodParams m- retType = Syntax.implMethodReturnType m- body = Syntax.implMethodBody m- pub = Syntax.implMethodPublic m- docC = Syntax.implMethodDoc m- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- pubKw = Logic.ifElse pub (Just (Serialization.cst "pub")) Nothing- genericsExpr = genericParamsToExpr generics- paramsExpr = Serialization.parenListAdaptive (Lists.map methodParamToExpr params)- retTypeExpr =- Optionals.match retType Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst "->",- (typeToExpr t)]))- whereExpr = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- header =- Serialization.spaceSep (Optionals.givens [- pubKw,- (Just (Serialization.cst "fn")),- (Just (Serialization.cst name)),- genericsExpr,- (Just paramsExpr),- retTypeExpr,- whereExpr])- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep [- header,- (blockToExpr body)]]]))---- | Serialize an index expression-indexExprToExpr :: Syntax.IndexExpr -> Ast.Expr-indexExprToExpr i =-- let obj = Syntax.indexExprObject i- idx = Syntax.indexExprIndex i- in (Serialization.cst (Strings.concat [- Serialization.printExpr (expressionToExpr obj),- "[",- (Serialization.printExpr (expressionToExpr idx)),- "]"]))---- | Serialize an integer literal-integerLiteralToExpr :: Syntax.IntegerLiteral -> Ast.Expr-integerLiteralToExpr il =-- let val = Syntax.integerLiteralValue il- suf = Syntax.integerLiteralSuffix il- valStr = Literals.printBigint val- sufStr = Optionals.match suf "" (\s -> s)- in (Serialization.cst (Strings.concat2 valStr sufStr))---- | Serialize a Rust item to an AST expression-itemToExpr :: Syntax.Item -> Ast.Expr-itemToExpr item =- case item of- Syntax.ItemUse v0 -> useDeclarationToExpr v0- Syntax.ItemStruct v0 -> structDefToExpr v0- Syntax.ItemEnum v0 -> enumDefToExpr v0- Syntax.ItemFn v0 -> fnDefToExpr v0- Syntax.ItemTypeAlias v0 -> typeAliasToExpr v0- Syntax.ItemImpl v0 -> implBlockToExpr v0- Syntax.ItemTrait v0 -> traitDefToExpr v0- Syntax.ItemMod v0 -> modDefToExpr v0- Syntax.ItemConst v0 -> constDefToExpr v0- Syntax.ItemStatic v0 -> staticDefToExpr v0- Syntax.ItemMacro v0 -> macroInvocationToExpr v0---- | Serialize an item with optional doc comments and visibility-itemWithCommentsToExpr :: Syntax.ItemWithComments -> Ast.Expr-itemWithCommentsToExpr iwc =-- let doc = Syntax.itemWithCommentsDoc iwc- vis = Syntax.itemWithCommentsVisibility iwc- item = Syntax.itemWithCommentsItem iwc- docPart = Optionals.match doc [] (\d -> [- Serialization.cst (toRustDocComment d)])- visPart = visibilityToExpr vis- itemPart = itemToExpr item- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep (Optionals.givens [- visPart,- (Just itemPart)])]]))---- | Serialize a let statement-letStatementToExpr :: Syntax.LetStatement -> Ast.Expr-letStatementToExpr l =-- let pat = Syntax.letStatementPattern l- mut = Syntax.letStatementMutable l- typ = Syntax.letStatementType l- init = Syntax.letStatementInit l- mutKw = Logic.ifElse mut (Just (Serialization.cst "mut")) Nothing- typPart =- Optionals.match typ Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst ":",- (typeToExpr t)]))- initPart =- Optionals.match init Nothing (\e -> Just (Serialization.spaceSep [- Serialization.cst "=",- (expressionToExpr e)]))- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "let"),- mutKw,- (Just (patternToExpr pat)),- typPart,- initPart,- (Just (Serialization.cst ";"))]))---- | Serialize a literal-literalToExpr :: Syntax.Literal -> Ast.Expr-literalToExpr lit =- case lit of- Syntax.LiteralInteger v0 -> integerLiteralToExpr v0- Syntax.LiteralFloat v0 -> floatLiteralToExpr v0- Syntax.LiteralString v0 -> Serialization.cst (Literals.printString v0)- Syntax.LiteralRawString v0 -> Serialization.cst (Strings.concat [- "r\"",- v0,- "\""])- Syntax.LiteralByteString _ -> Serialization.cst "b\"...\""- Syntax.LiteralChar v0 -> Serialization.cst (Strings.concat [- "'",- (Literals.printUint32 v0),- "'"])- Syntax.LiteralByte v0 -> Serialization.cst (Strings.concat [- "b'",- (Literals.printUint8 v0),- "'"])- Syntax.LiteralBool v0 -> Serialization.cst (Logic.ifElse v0 "true" "false")---- | Serialize a loop expression-loopExprToExpr :: Syntax.LoopExpr -> Ast.Expr-loopExprToExpr l =-- let label = Syntax.loopExprLabel l- body = Syntax.loopExprBody l- labelPart =- Optionals.match label Nothing (\lbl -> Just (Serialization.cst (Strings.concat2 "'" (Strings.concat2 lbl ":"))))- in (Serialization.spaceSep (Optionals.givens [- labelPart,- (Just (Serialization.cst "loop")),- (Just (blockToExpr body))]))---- | Serialize a macro invocation-macroInvocationToExpr :: Syntax.MacroInvocation -> Ast.Expr-macroInvocationToExpr m =-- let path = Syntax.macroInvocationPath m- delim = Syntax.macroInvocationDelimiter m- tokens = Syntax.macroInvocationTokens m- pathStr = Strings.join "::" path- open =- case delim of- Syntax.MacroDelimiterParen -> "("- Syntax.MacroDelimiterBracket -> "["- Syntax.MacroDelimiterBrace -> "{"- close =- case delim of- Syntax.MacroDelimiterParen -> ")"- Syntax.MacroDelimiterBracket -> "]"- Syntax.MacroDelimiterBrace -> "}"- in (Serialization.cst (Strings.concat [- pathStr,- "!",- open,- tokens,- close]))---- | Serialize a match arm-matchArmToExpr :: Syntax.MatchArm -> Ast.Expr-matchArmToExpr arm =-- let pat = Syntax.matchArmPattern arm- guard = Syntax.matchArmGuard arm- body = Syntax.matchArmBody arm- guardPart =- Optionals.match guard Nothing (\g -> Just (Serialization.spaceSep [- Serialization.cst "if",- (expressionToExpr g)]))- in (Serialization.spaceSep (Optionals.givens [- Just (patternToExpr pat),- guardPart,- (Just (Serialization.cst "=>")),- (Just (expressionToExpr body)),- (Just (Serialization.cst ","))]))---- | Serialize a match expression-matchExprToExpr :: Syntax.MatchExpr -> Ast.Expr-matchExprToExpr m =-- let scrut = Syntax.matchExprScrutinee m- arms = Syntax.matchExprArms m- in (Serialization.spaceSep [- Serialization.cst "match",- (expressionToExpr scrut),- (Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map matchArmToExpr arms))])---- | Serialize a method call expression-methodCallExprToExpr :: Syntax.MethodCallExpr -> Ast.Expr-methodCallExprToExpr m =-- let recv = Syntax.methodCallExprReceiver m- method = Syntax.methodCallExprMethod m- turbo = Syntax.methodCallExprTurbofish m- args = Syntax.methodCallExprArgs m- turboPart =- Logic.ifElse (Lists.isEmpty turbo) "" (Strings.concat [- "::<",- (Strings.join ", " (Lists.map (\t -> Serialization.printExpr (typeToExpr t)) turbo)),- ">"])- in (Serialization.cst (Strings.concat [- Serialization.printExpr (expressionToExpr recv),- ".",- method,- turboPart,- "(",- (Strings.join ", " (Lists.map (\a -> Serialization.printExpr (expressionToExpr a)) args)),- ")"]))---- | Serialize a method parameter-methodParamToExpr :: Syntax.MethodParam -> Ast.Expr-methodParamToExpr param =- case param of- Syntax.MethodParamSelf v0 -> case v0 of- Syntax.SelfParamOwned -> Serialization.cst "self"- Syntax.SelfParamRef -> Serialization.cst "&self"- Syntax.SelfParamRefMut -> Serialization.cst "&mut self"- Syntax.MethodParamRegular v0 -> fnParamToExpr v0---- | Serialize a module definition-modDefToExpr :: Syntax.ModDef -> Ast.Expr-modDefToExpr m =-- let name = Syntax.modDefName m- body = Syntax.modDefBody m- in (Optionals.match body (Serialization.spaceSep [- Serialization.cst "mod",- (Serialization.cst name),- (Serialization.cst ";")]) (\items -> Serialization.spaceSep [- Serialization.cst "mod",- (Serialization.cst name),- (Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map itemToExpr items))]))---- | Serialize a path segment-pathSegmentToExpr :: Syntax.PathSegment -> Ast.Expr-pathSegmentToExpr seg =-- let name = Syntax.pathSegmentName seg- args = Syntax.pathSegmentArguments seg- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst name),- (genericArgumentsToExpr args)]))---- | Serialize a pattern-patternToExpr :: Syntax.Pattern -> Ast.Expr-patternToExpr pat =- case pat of- Syntax.PatternWildcard -> Serialization.cst "_"- Syntax.PatternIdentifier v0 -> identifierPatternToExpr v0- Syntax.PatternLiteral v0 -> literalToExpr v0- Syntax.PatternReference v0 -> refPatternToExpr v0- Syntax.PatternStruct v0 -> structPatternToExpr v0- Syntax.PatternTupleStruct v0 -> tupleStructPatternToExpr v0- Syntax.PatternTuple v0 -> Serialization.parenListAdaptive (Lists.map patternToExpr v0)- Syntax.PatternSlice v0 -> Serialization.bracketList Serialization.halfBlockStyle (Lists.map patternToExpr v0)- Syntax.PatternOr v0 -> Serialization.cst (Strings.join " | " (Lists.map (\p -> Serialization.printExpr (patternToExpr p)) v0))- Syntax.PatternPath v0 -> exprPathToExpr v0- Syntax.PatternRange v0 -> rangePatternToExpr v0- Syntax.PatternRest -> Serialization.cst ".."- Syntax.PatternParen v0 -> Serialization.parenthesize (patternToExpr v0)---- | Serialize a range expression-rangeExprToExpr :: Syntax.RangeExpr -> Ast.Expr-rangeExprToExpr r =-- let from = Syntax.rangeExprFrom r- to = Syntax.rangeExprTo r- incl = Syntax.rangeExprInclusive r- fromStr = Optionals.match from "" (\f -> Serialization.printExpr (expressionToExpr f))- toStr = Optionals.match to "" (\t -> Serialization.printExpr (expressionToExpr t))- op = Logic.ifElse incl "..=" ".."- in (Serialization.cst (Strings.concat [- fromStr,- op,- toStr]))---- | Serialize a range pattern-rangePatternToExpr :: Syntax.RangePattern -> Ast.Expr-rangePatternToExpr rp =-- let from = Syntax.rangePatternFrom rp- to = Syntax.rangePatternTo rp- incl = Syntax.rangePatternInclusive rp- fromStr = Optionals.match from "" (\p -> Serialization.printExpr (patternToExpr p))- toStr = Optionals.match to "" (\p -> Serialization.printExpr (patternToExpr p))- op = Logic.ifElse incl "..=" ".."- in (Serialization.cst (Strings.concat [- fromStr,- op,- toStr]))---- | Serialize a reference expression-refExprToExpr :: Syntax.RefExpr -> Ast.Expr-refExprToExpr r =-- let mut = Syntax.refExprMutable r- expr = Syntax.refExprExpr r- prefix = Logic.ifElse mut "&mut " "&"- in (Serialization.cst (Strings.concat2 prefix (Serialization.printExpr (expressionToExpr expr))))---- | Serialize a reference pattern-refPatternToExpr :: Syntax.RefPattern -> Ast.Expr-refPatternToExpr rp =-- let mut = Syntax.refPatternMutable rp- pat = Syntax.refPatternPattern rp- prefix = Logic.ifElse mut "&mut " "&"- in (Serialization.cst (Strings.concat2 prefix (Serialization.printExpr (patternToExpr pat))))---- | Serialize a reference type-referenceTypeToExpr :: Syntax.ReferenceType -> Ast.Expr-referenceTypeToExpr rt =-- let lt = Syntax.referenceTypeLifetime rt- mut = Syntax.referenceTypeMutable rt- t = Syntax.referenceTypeType rt- ltPart = Optionals.match lt "" (\l -> Strings.concat2 "'" (Strings.concat2 (Syntax.lifetimeName l) " "))- mutPart = Logic.ifElse mut "mut " ""- in (Serialization.cst (Strings.concat [- "&",- ltPart,- mutPart,- (Serialization.printExpr (typeToExpr t))]))---- | Serialize a statement-statementToExpr :: Syntax.Statement -> Ast.Expr-statementToExpr stmt =- case stmt of- Syntax.StatementLet v0 -> letStatementToExpr v0- Syntax.StatementExpression v0 -> Serialization.spaceSep [- expressionToExpr v0,- (Serialization.cst ";")]- Syntax.StatementItem v0 -> itemToExpr v0- Syntax.StatementEmpty -> Serialization.cst ";"---- | Serialize a static definition-staticDefToExpr :: Syntax.StaticDef -> Ast.Expr-staticDefToExpr s =-- let name = Syntax.staticDefName s- typ = Syntax.staticDefType s- val = Syntax.staticDefValue s- mut = Syntax.staticDefMutable s- mutKw = Logic.ifElse mut (Just (Serialization.cst "mut")) Nothing- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "static"),- mutKw,- (Just (Serialization.cst (Strings.concat2 name ":"))),- (Just (typeToExpr typ)),- (Just (Serialization.cst "=")),- (Just (expressionToExpr val)),- (Just (Serialization.cst ";"))]))---- | Serialize a struct body-structBodyToExpr :: Syntax.StructBody -> Ast.Expr-structBodyToExpr body =- case body of- Syntax.StructBodyNamed v0 -> Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map structFieldToExpr v0)- Syntax.StructBodyTuple v0 -> Serialization.spaceSep [- Serialization.parenListAdaptive (Lists.map (\f -> typeToExpr (Syntax.tupleFieldType f)) v0),- (Serialization.cst ";")]- Syntax.StructBodyUnit -> Serialization.cst ";"---- | Serialize a struct definition-structDefToExpr :: Syntax.StructDef -> Ast.Expr-structDefToExpr s =-- let name = Syntax.structDefName s- generics = Syntax.structDefGenerics s- whereC = Syntax.structDefWhereClause s- body = Syntax.structDefBody s- derives = Syntax.structDefDerives s- docC = Syntax.structDefDoc s- derivesAttr = derivesToExpr derives- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- header =- Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "struct"),- (Just (Serialization.cst name)),- (genericParamsToExpr generics)])- wherePart = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- in (Serialization.newlineSep (Lists.concat [- docPart,- (Optionals.match derivesAttr [] (\d -> [- d])),- [- Serialization.spaceSep (Optionals.givens [- Just header,- wherePart,- (Just (structBodyToExpr body))])]]))---- | Serialize a struct literal expression-structExprToExpr :: Syntax.StructExpr -> Ast.Expr-structExprToExpr s =-- let path = Syntax.structExprPath s- fields = Syntax.structExprFields s- rest = Syntax.structExprRest s- fieldExprs = Lists.map fieldValueToExpr fields- restExpr =- Optionals.match rest [] (\r -> [- Serialization.spaceSep [- Serialization.cst "..",- (expressionToExpr r)]])- allFields = Lists.concat2 fieldExprs restExpr- in (Serialization.spaceSep [- exprPathToExpr path,- (Serialization.curlyBracesList Nothing Serialization.halfBlockStyle allFields)])---- | Serialize a struct field-structFieldToExpr :: Syntax.StructField -> Ast.Expr-structFieldToExpr field =-- let name = Syntax.structFieldName field- typ = Syntax.structFieldType field- pub = Syntax.structFieldPublic field- docC = Syntax.structFieldDoc field- pubKw = Logic.ifElse pub (Just (Serialization.cst "pub")) Nothing- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep (Optionals.givens [- pubKw,- (Just (Serialization.cst (Strings.concat2 name ":"))),- (Just (typeToExpr typ))])]]))---- | Serialize a struct pattern-structPatternToExpr :: Syntax.StructPattern -> Ast.Expr-structPatternToExpr sp =-- let path = Syntax.structPatternPath sp- fields = Syntax.structPatternFields sp- rest = Syntax.structPatternRest sp- fieldExprs = Lists.map fieldPatternToExpr fields- restExpr = Logic.ifElse rest [- Serialization.cst ".."] []- allFields = Lists.concat2 fieldExprs restExpr- in (Serialization.spaceSep [- exprPathToExpr path,- (Serialization.curlyBracesList Nothing Serialization.halfBlockStyle allFields)])---- | Convert a string to Rust line comments. Empty source lines emit `//` (no trailing space).-toRustComment :: String -> String-toRustComment c =- Strings.join "\n" (Lists.map (\s -> Logic.ifElse (Equality.equal s "") "//" (Strings.concat2 "// " s)) (Formatting.lines c))---- | Convert a string to Rust doc comments. Empty source lines emit `///` (no trailing space) so blank doc lines don't carry trailing whitespace.-toRustDocComment :: String -> String-toRustDocComment c =- Strings.join "\n" (Lists.map (\s -> Logic.ifElse (Equality.equal s "") "///" (Strings.concat2 "/// " s)) (Formatting.lines c))---- | Serialize a trait associated constant-traitConstToExpr :: Syntax.TraitConst -> Ast.Expr-traitConstToExpr c =-- let name = Syntax.traitConstName c- typ = Syntax.traitConstType c- def = Syntax.traitConstDefault c- defPart =- Optionals.match def Nothing (\d -> Just (Serialization.spaceSep [- Serialization.cst "=",- (expressionToExpr d)]))- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "const"),- (Just (Serialization.cst (Strings.concat2 name ":"))),- (Just (typeToExpr typ)),- defPart,- (Just (Serialization.cst ";"))]))---- | Serialize a trait definition-traitDefToExpr :: Syntax.TraitDef -> Ast.Expr-traitDefToExpr t =-- let name = Syntax.traitDefName t- generics = Syntax.traitDefGenerics t- whereC = Syntax.traitDefWhereClause t- supers = Syntax.traitDefSuperTraits t- items = Syntax.traitDefItems t- isUnsafe = Syntax.traitDefUnsafe t- docC = Syntax.traitDefDoc t- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- unsafeKw = Logic.ifElse isUnsafe (Just (Serialization.cst "unsafe")) Nothing- genericsExpr = genericParamsToExpr generics- superPart =- Logic.ifElse (Lists.isEmpty supers) Nothing (Just (Serialization.spaceSep [- Serialization.cst ":",- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) supers)))]))- wherePart = Optionals.match whereC Nothing (\w -> Just (whereClauseToExpr w))- header =- Serialization.spaceSep (Optionals.givens [- unsafeKw,- (Just (Serialization.cst "trait")),- (Just (Serialization.cst name)),- genericsExpr,- superPart,- wherePart])- body = Serialization.curlyBracesList Nothing Serialization.halfBlockStyle (Lists.map traitItemToExpr items)- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep [- header,- body]]]))---- | Serialize a trait item-traitItemToExpr :: Syntax.TraitItem -> Ast.Expr-traitItemToExpr item =- case item of- Syntax.TraitItemMethod v0 -> traitMethodToExpr v0- Syntax.TraitItemType v0 -> traitTypeToExpr v0- Syntax.TraitItemConst v0 -> traitConstToExpr v0---- | Serialize a trait method-traitMethodToExpr :: Syntax.TraitMethod -> Ast.Expr-traitMethodToExpr m =-- let name = Syntax.traitMethodName m- generics = Syntax.traitMethodGenerics m- params = Syntax.traitMethodParams m- retType = Syntax.traitMethodReturnType m- defBody = Syntax.traitMethodDefaultBody m- genericsExpr = genericParamsToExpr generics- paramsExpr = Serialization.parenListAdaptive (Lists.map methodParamToExpr params)- retTypeExpr =- Optionals.match retType Nothing (\t -> Just (Serialization.spaceSep [- Serialization.cst "->",- (typeToExpr t)]))- header =- Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "fn"),- (Just (Serialization.cst name)),- genericsExpr,- (Just paramsExpr),- retTypeExpr])- in (Optionals.match defBody (Serialization.spaceSep [- header,- (Serialization.cst ";")]) (\body -> Serialization.spaceSep [- header,- (blockToExpr body)]))---- | Serialize a trait associated type-traitTypeToExpr :: Syntax.TraitType -> Ast.Expr-traitTypeToExpr t =-- let name = Syntax.traitTypeName t- bounds = Syntax.traitTypeBounds t- def = Syntax.traitTypeDefault t- boundsPart =- Logic.ifElse (Lists.isEmpty bounds) Nothing (Just (Serialization.spaceSep [- Serialization.cst ":",- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) bounds)))]))- defPart =- Optionals.match def Nothing (\d -> Just (Serialization.spaceSep [- Serialization.cst "=",- (typeToExpr d)]))- in (Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "type"),- (Just (Serialization.cst name)),- boundsPart,- defPart,- (Just (Serialization.cst ";"))]))---- | Serialize a tuple index expression-tupleIndexExprToExpr :: Syntax.TupleIndexExpr -> Ast.Expr-tupleIndexExprToExpr t =-- let tuple = Syntax.tupleIndexExprTuple t- idx = Syntax.tupleIndexExprIndex t- in (Serialization.cst (Strings.concat [- Serialization.printExpr (expressionToExpr tuple),- ".",- (Literals.printInt32 idx)]))---- | Serialize a tuple struct pattern-tupleStructPatternToExpr :: Syntax.TupleStructPattern -> Ast.Expr-tupleStructPatternToExpr tsp =-- let path = Syntax.tupleStructPatternPath tsp- elems = Syntax.tupleStructPatternElements tsp- in (Serialization.spaceSep [- exprPathToExpr path,- (Serialization.parenListAdaptive (Lists.map patternToExpr elems))])---- | Serialize a type alias-typeAliasToExpr :: Syntax.TypeAlias -> Ast.Expr-typeAliasToExpr ta =-- let name = Syntax.typeAliasName ta- generics = Syntax.typeAliasGenerics ta- typ = Syntax.typeAliasType ta- docC = Syntax.typeAliasDoc ta- docPart = Optionals.match docC [] (\d -> [- Serialization.cst (toRustDocComment d)])- in (Serialization.newlineSep (Lists.concat [- docPart,- [- Serialization.spaceSep (Optionals.givens [- Just (Serialization.cst "type"),- (Just (Serialization.cst name)),- (genericParamsToExpr generics),- (Just (Serialization.cst "=")),- (Just (typeToExpr typ)),- (Just (Serialization.cst ";"))])]]))---- | Serialize a type ascription expression-typeAscriptionExprToExpr :: Syntax.TypeAscriptionExpr -> Ast.Expr-typeAscriptionExprToExpr t =-- let expr = Syntax.typeAscriptionExprExpr t- typ = Syntax.typeAscriptionExprType t- in (Serialization.spaceSep [- expressionToExpr expr,- (Serialization.cst ":"),- (typeToExpr typ)])---- | Serialize a type parameter bound-typeParamBoundToExpr :: Syntax.TypeParamBound -> Ast.Expr-typeParamBoundToExpr bound =- case bound of- Syntax.TypeParamBoundTrait v0 -> typePathToExpr v0- Syntax.TypeParamBoundLifetime v0 -> Serialization.cst (Strings.concat2 "'" (Syntax.lifetimeName v0))---- | Serialize a type path-typePathToExpr :: Syntax.TypePath -> Ast.Expr-typePathToExpr tp =-- let global = Syntax.typePathGlobal tp- segs = Syntax.typePathSegments tp- prefix = Logic.ifElse global "::" ""- segStrs = Lists.map (\s -> Serialization.printExpr (pathSegmentToExpr s)) segs- in (Serialization.cst (Strings.concat2 prefix (Strings.join "::" segStrs)))---- | Serialize a Rust type-typeToExpr :: Syntax.Type -> Ast.Expr-typeToExpr typ =- case typ of- Syntax.TypePath_ v0 -> typePathToExpr v0- Syntax.TypeReference v0 -> referenceTypeToExpr v0- Syntax.TypeSlice v0 -> Serialization.bracketList Serialization.inlineStyle [- typeToExpr v0]- Syntax.TypeArray v0 ->- let elem = Syntax.arrayTypeElement v0- len = Syntax.arrayTypeLength v0- in (Serialization.cst (Strings.concat [- "[",- (Serialization.printExpr (typeToExpr elem)),- "; ",- (Serialization.printExpr (expressionToExpr len)),- "]"]))- Syntax.TypeTuple v0 -> Serialization.parenListAdaptive (Lists.map typeToExpr v0)- Syntax.TypeFnPointer v0 ->- let params = Syntax.fnPointerTypeParams v0- ret = Syntax.fnPointerTypeReturnType v0- in (Serialization.spaceSep [- Serialization.cst "fn",- (Serialization.parenListAdaptive (Lists.map typeToExpr params)),- (Serialization.cst "->"),- (typeToExpr ret)])- Syntax.TypeImplTrait v0 -> Serialization.spaceSep [- Serialization.cst "impl",- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) v0)))]- Syntax.TypeDynTrait v0 -> Serialization.spaceSep [- Serialization.cst "dyn",- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) v0)))]- Syntax.TypeInferred -> Serialization.cst "_"- Syntax.TypeUnit -> Serialization.cst "()"- Syntax.TypeNever -> Serialization.cst "!"- Syntax.TypeRawPointer v0 ->- let mut = Syntax.rawPointerTypeMutable v0- t = Syntax.rawPointerTypeType v0- kw = Logic.ifElse mut "*mut" "*const"- in (Serialization.spaceSep [- Serialization.cst kw,- (typeToExpr t)])- Syntax.TypeMacro v0 -> macroInvocationToExpr v0---- | Serialize a unary expression-unaryExprToExpr :: Syntax.UnaryExpr -> Ast.Expr-unaryExprToExpr u =-- let op = Syntax.unaryExprOp u- operand = Syntax.unaryExprOperand u- opStr =- case op of- Syntax.UnaryOpNeg -> "-"- Syntax.UnaryOpNot -> "!"- in (Serialization.cst (Strings.concat2 opStr (Serialization.printExpr (expressionToExpr operand))))---- | Serialize a use declaration-useDeclarationToExpr :: Syntax.UseDeclaration -> Ast.Expr-useDeclarationToExpr use =-- let pub = Syntax.useDeclarationPublic use- tree = Syntax.useDeclarationTree use- pubKw = Logic.ifElse pub (Just (Serialization.cst "pub")) Nothing- in (Serialization.spaceSep (Optionals.givens [- pubKw,- (Just (Serialization.cst "use")),- (Just (useTreeToExpr tree)),- (Just (Serialization.cst ";"))]))---- | Serialize a use tree-useTreeToExpr :: Syntax.UseTree -> Ast.Expr-useTreeToExpr tree =- case tree of- Syntax.UseTreePath v0 -> Serialization.cst (Strings.join "::" (Syntax.usePathSegments v0))- Syntax.UseTreeRename v0 ->- let path = Syntax.useRenamePath v0- alias = Syntax.useRenameAlias v0- in (Serialization.spaceSep [- Serialization.cst (Strings.join "::" path),- (Serialization.cst "as"),- (Serialization.cst alias)])- Syntax.UseTreeGlob v0 -> Serialization.cst (Strings.concat2 (Strings.join "::" v0) "::*")- Syntax.UseTreeGroup v0 ->- let prefix = Syntax.useGroupPrefix v0- trees = Syntax.useGroupTrees v0- prefixStr = Logic.ifElse (Lists.isEmpty prefix) "" (Strings.concat2 (Strings.join "::" prefix) "::")- in (Serialization.cst (Strings.concat [- prefixStr,- "{",- (Strings.join ", " (Lists.map (\t -> Serialization.printExpr (useTreeToExpr t)) trees)),- "}"]))---- | Serialize visibility to an optional expression-visibilityToExpr :: Syntax.Visibility -> Maybe Ast.Expr-visibilityToExpr vis =- case vis of- Syntax.VisibilityPublic -> Just (Serialization.cst "pub")- Syntax.VisibilityCrate -> Just (Serialization.cst "pub(crate)")- Syntax.VisibilityRestricted v0 -> Just (Serialization.cst (Strings.concat [- "pub(in ",- (Strings.join "::" v0),- ")"]))- Syntax.VisibilityPrivate -> Nothing---- | Serialize a where clause-whereClauseToExpr :: Syntax.WhereClause -> Ast.Expr-whereClauseToExpr wc =-- let preds = Syntax.whereClausePredicates wc- predExprs =- Lists.map (\p ->- let typ = Syntax.wherePredicateType p- bounds = Syntax.wherePredicateBounds p- in (Serialization.spaceSep [- typeToExpr typ,- (Serialization.cst ":"),- (Serialization.cst (Strings.join " + " (Lists.map (\b -> Serialization.printExpr (typeParamBoundToExpr b)) bounds)))])) preds- in (Serialization.spaceSep [- Serialization.cst "where",- (Serialization.commaSep Serialization.inlineStyle predExprs)])---- | Serialize a while expression-whileExprToExpr :: Syntax.WhileExpr -> Ast.Expr-whileExprToExpr w =-- let label = Syntax.whileExprLabel w- cond = Syntax.whileExprCondition w- body = Syntax.whileExprBody w- labelPart =- Optionals.match label Nothing (\lbl -> Just (Serialization.cst (Strings.concat2 "'" (Strings.concat2 lbl ":"))))- condExpr =- case cond of- Syntax.IfConditionBool v0 -> expressionToExpr v0- Syntax.IfConditionLet v0 ->- let pat = Syntax.letConditionPattern v0- expr = Syntax.letConditionExpr v0- in (Serialization.spaceSep [- Serialization.cst "let",- (patternToExpr pat),- (Serialization.cst "="),- (expressionToExpr expr)])- in (Serialization.spaceSep (Optionals.givens [- labelPart,- (Just (Serialization.cst "while")),- (Just condExpr),- (Just (blockToExpr body))]))
− src/main/haskell/Hydra/Rust/Syntax.hs
@@ -1,2144 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A Rust syntax model, based on the Rust Reference grammar (https://doc.rust-lang.org/reference/), retrieved 2025-01-29--module Hydra.Rust.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-import qualified Data.ByteString as B-import qualified Data.Int as I---- | Angle-bracketed generic arguments-data AngleBracketedArgs =- AngleBracketedArgs {- -- | The generic arguments- angleBracketedArgsArgs :: [GenericArg]}- deriving (Eq, Ord, Read, Show)--_AngleBracketedArgs = Core.Name "hydra.rust.syntax.AngleBracketedArgs"--_AngleBracketedArgs_args = Core.Name "args"---- | An array expression-data ArrayExpr =- -- | An array literal- ArrayExprElements [Expression] |- -- | An array repeat expression- ArrayExprRepeat ArrayRepeat- deriving (Eq, Ord, Read, Show)--_ArrayExpr = Core.Name "hydra.rust.syntax.ArrayExpr"--_ArrayExpr_elements = Core.Name "elements"--_ArrayExpr_repeat = Core.Name "repeat"---- | An array repeat expression (e.g., [0; 10])-data ArrayRepeat =- ArrayRepeat {- -- | The element expression- arrayRepeatElement :: Expression,- -- | The length expression- arrayRepeatLength :: Expression}- deriving (Eq, Ord, Read, Show)--_ArrayRepeat = Core.Name "hydra.rust.syntax.ArrayRepeat"--_ArrayRepeat_element = Core.Name "element"--_ArrayRepeat_length = Core.Name "length"---- | An array type with a fixed size (e.g., [T; 3])-data ArrayType =- ArrayType {- -- | The element type- arrayTypeElement :: Type,- -- | The array length (as a constant expression)- arrayTypeLength :: Expression}- deriving (Eq, Ord, Read, Show)--_ArrayType = Core.Name "hydra.rust.syntax.ArrayType"--_ArrayType_element = Core.Name "element"--_ArrayType_length = Core.Name "length"---- | An assignment expression-data AssignExpr =- AssignExpr {- -- | The left-hand side (target)- assignExprTarget :: Expression,- -- | The right-hand side (value)- assignExprValue :: Expression}- deriving (Eq, Ord, Read, Show)--_AssignExpr = Core.Name "hydra.rust.syntax.AssignExpr"--_AssignExpr_target = Core.Name "target"--_AssignExpr_value = Core.Name "value"---- | An attribute (e.g., #[derive(Clone)], #[cfg(test)])-data Attribute =- Attribute {- -- | Whether the attribute is an inner attribute (#![...] vs #[...])- attributeInner :: Bool,- -- | The attribute path- attributePath :: [String],- -- | The attribute arguments as a raw token string- attributeTokens :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_Attribute = Core.Name "hydra.rust.syntax.Attribute"--_Attribute_inner = Core.Name "inner"--_Attribute_path = Core.Name "path"--_Attribute_tokens = Core.Name "tokens"---- | A binary operation-data BinaryExpr =- BinaryExpr {- -- | The left-hand operand- binaryExprLeft :: Expression,- -- | The binary operator- binaryExprOp :: BinaryOp,- -- | The right-hand operand- binaryExprRight :: Expression}- deriving (Eq, Ord, Read, Show)--_BinaryExpr = Core.Name "hydra.rust.syntax.BinaryExpr"--_BinaryExpr_left = Core.Name "left"--_BinaryExpr_op = Core.Name "op"--_BinaryExpr_right = Core.Name "right"---- | A binary operator-data BinaryOp =- BinaryOpAdd |- BinaryOpSub |- BinaryOpMul |- BinaryOpDiv |- BinaryOpRem |- BinaryOpAnd |- BinaryOpOr |- BinaryOpBitAnd |- BinaryOpBitOr |- BinaryOpBitXor |- BinaryOpShl |- BinaryOpShr |- BinaryOpEq |- BinaryOpNe |- BinaryOpLt |- BinaryOpLe |- BinaryOpGt |- BinaryOpGe- deriving (Eq, Ord, Read, Show)--_BinaryOp = Core.Name "hydra.rust.syntax.BinaryOp"--_BinaryOp_add = Core.Name "add"--_BinaryOp_sub = Core.Name "sub"--_BinaryOp_mul = Core.Name "mul"--_BinaryOp_div = Core.Name "div"--_BinaryOp_rem = Core.Name "rem"--_BinaryOp_and = Core.Name "and"--_BinaryOp_or = Core.Name "or"--_BinaryOp_bitAnd = Core.Name "bitAnd"--_BinaryOp_bitOr = Core.Name "bitOr"--_BinaryOp_bitXor = Core.Name "bitXor"--_BinaryOp_shl = Core.Name "shl"--_BinaryOp_shr = Core.Name "shr"--_BinaryOp_eq = Core.Name "eq"--_BinaryOp_ne = Core.Name "ne"--_BinaryOp_lt = Core.Name "lt"--_BinaryOp_le = Core.Name "le"--_BinaryOp_gt = Core.Name "gt"--_BinaryOp_ge = Core.Name "ge"---- | A block expression-data Block =- Block {- -- | The statements in the block- blockStatements :: [Statement],- -- | An optional trailing expression- blockExpression :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_Block = Core.Name "hydra.rust.syntax.Block"--_Block_statements = Core.Name "statements"--_Block_expression = Core.Name "expression"---- | A function call expression-data CallExpr =- CallExpr {- -- | The function being called- callExprFunction :: Expression,- -- | The arguments- callExprArgs :: [Expression]}- deriving (Eq, Ord, Read, Show)--_CallExpr = Core.Name "hydra.rust.syntax.CallExpr"--_CallExpr_function = Core.Name "function"--_CallExpr_args = Core.Name "args"---- | A type cast expression-data CastExpr =- CastExpr {- -- | The expression being cast- castExprExpr :: Expression,- -- | The target type- castExprType :: Type}- deriving (Eq, Ord, Read, Show)--_CastExpr = Core.Name "hydra.rust.syntax.CastExpr"--_CastExpr_expr = Core.Name "expr"--_CastExpr_type = Core.Name "type"---- | A closure expression-data ClosureExpr =- ClosureExpr {- -- | Whether the closure captures by move- closureExprMove :: Bool,- -- | The closure parameters- closureExprParams :: [ClosureParam],- -- | Optional return type annotation- closureExprReturnType :: (Maybe Type),- -- | The closure body- closureExprBody :: Expression}- deriving (Eq, Ord, Read, Show)--_ClosureExpr = Core.Name "hydra.rust.syntax.ClosureExpr"--_ClosureExpr_move = Core.Name "move"--_ClosureExpr_params = Core.Name "params"--_ClosureExpr_returnType = Core.Name "returnType"--_ClosureExpr_body = Core.Name "body"---- | A closure parameter-data ClosureParam =- ClosureParam {- -- | The parameter pattern- closureParamPattern :: Pattern,- -- | Optional type annotation- closureParamType :: (Maybe Type)}- deriving (Eq, Ord, Read, Show)--_ClosureParam = Core.Name "hydra.rust.syntax.ClosureParam"--_ClosureParam_pattern = Core.Name "pattern"--_ClosureParam_type = Core.Name "type"---- | A compound assignment expression-data CompoundAssignExpr =- CompoundAssignExpr {- -- | The left-hand side (target)- compoundAssignExprTarget :: Expression,- -- | The compound assignment operator- compoundAssignExprOp :: CompoundAssignOp,- -- | The right-hand side (value)- compoundAssignExprValue :: Expression}- deriving (Eq, Ord, Read, Show)--_CompoundAssignExpr = Core.Name "hydra.rust.syntax.CompoundAssignExpr"--_CompoundAssignExpr_target = Core.Name "target"--_CompoundAssignExpr_op = Core.Name "op"--_CompoundAssignExpr_value = Core.Name "value"---- | A compound assignment operator-data CompoundAssignOp =- CompoundAssignOpAddAssign |- CompoundAssignOpSubAssign |- CompoundAssignOpMulAssign |- CompoundAssignOpDivAssign |- CompoundAssignOpRemAssign |- CompoundAssignOpBitAndAssign |- CompoundAssignOpBitOrAssign |- CompoundAssignOpBitXorAssign |- CompoundAssignOpShlAssign |- CompoundAssignOpShrAssign- deriving (Eq, Ord, Read, Show)--_CompoundAssignOp = Core.Name "hydra.rust.syntax.CompoundAssignOp"--_CompoundAssignOp_addAssign = Core.Name "addAssign"--_CompoundAssignOp_subAssign = Core.Name "subAssign"--_CompoundAssignOp_mulAssign = Core.Name "mulAssign"--_CompoundAssignOp_divAssign = Core.Name "divAssign"--_CompoundAssignOp_remAssign = Core.Name "remAssign"--_CompoundAssignOp_bitAndAssign = Core.Name "bitAndAssign"--_CompoundAssignOp_bitOrAssign = Core.Name "bitOrAssign"--_CompoundAssignOp_bitXorAssign = Core.Name "bitXorAssign"--_CompoundAssignOp_shlAssign = Core.Name "shlAssign"--_CompoundAssignOp_shrAssign = Core.Name "shrAssign"---- | A constant item (e.g., const FOO: u32 = 42;)-data ConstDef =- ConstDef {- -- | The constant name- constDefName :: String,- -- | The constant type- constDefType :: Type,- -- | The constant value expression- constDefValue :: Expression,- -- | Whether the constant is public- constDefPublic :: Bool,- -- | Optional doc comment- constDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_ConstDef = Core.Name "hydra.rust.syntax.ConstDef"--_ConstDef_name = Core.Name "name"--_ConstDef_type = Core.Name "type"--_ConstDef_value = Core.Name "value"--_ConstDef_public = Core.Name "public"--_ConstDef_doc = Core.Name "doc"---- | A Rust crate, represented as a collection of top-level items-data Crate =- Crate {- -- | The top-level items in the crate- crateItems :: [ItemWithComments]}- deriving (Eq, Ord, Read, Show)--_Crate = Core.Name "hydra.rust.syntax.Crate"--_Crate_items = Core.Name "items"---- | An enum definition (e.g., enum Foo<T> { Bar(T), Baz { x: i32 } })-data EnumDef =- EnumDef {- -- | The enum name- enumDefName :: String,- -- | Generic type parameters- enumDefGenerics :: [GenericParam],- -- | Optional where clause- enumDefWhereClause :: (Maybe WhereClause),- -- | The enum variants- enumDefVariants :: [EnumVariant],- -- | Derive macros to apply- enumDefDerives :: [String],- -- | Whether the enum is public- enumDefPublic :: Bool,- -- | Optional doc comment- enumDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_EnumDef = Core.Name "hydra.rust.syntax.EnumDef"--_EnumDef_name = Core.Name "name"--_EnumDef_generics = Core.Name "generics"--_EnumDef_whereClause = Core.Name "whereClause"--_EnumDef_variants = Core.Name "variants"--_EnumDef_derives = Core.Name "derives"--_EnumDef_public = Core.Name "public"--_EnumDef_doc = Core.Name "doc"---- | A variant of an enum definition-data EnumVariant =- EnumVariant {- -- | The variant name- enumVariantName :: String,- -- | The variant body- enumVariantBody :: EnumVariantBody,- -- | Optional doc comment for the variant- enumVariantDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_EnumVariant = Core.Name "hydra.rust.syntax.EnumVariant"--_EnumVariant_name = Core.Name "name"--_EnumVariant_body = Core.Name "body"--_EnumVariant_doc = Core.Name "doc"---- | The body of an enum variant-data EnumVariantBody =- -- | A unit variant (e.g., Foo)- EnumVariantBodyUnit |- -- | A tuple variant (e.g., Foo(i32, String))- EnumVariantBodyTuple [Type] |- -- | A struct variant (e.g., Foo { x: i32 })- EnumVariantBodyStruct [StructField]- deriving (Eq, Ord, Read, Show)--_EnumVariantBody = Core.Name "hydra.rust.syntax.EnumVariantBody"--_EnumVariantBody_unit = Core.Name "unit"--_EnumVariantBody_tuple = Core.Name "tuple"--_EnumVariantBody_struct = Core.Name "struct"---- | A path used as an expression-data ExprPath =- ExprPath {- -- | Whether the path is global- exprPathGlobal :: Bool,- -- | The path segments- exprPathSegments :: [PathSegment]}- deriving (Eq, Ord, Read, Show)--_ExprPath = Core.Name "hydra.rust.syntax.ExprPath"--_ExprPath_global = Core.Name "global"--_ExprPath_segments = Core.Name "segments"---- | A Rust expression-data Expression =- -- | A literal value- ExpressionLiteral Literal |- -- | A path expression- ExpressionPath ExprPath |- -- | A block expression- ExpressionBlock Block |- -- | A function call expression- ExpressionCall CallExpr |- -- | A method call expression- ExpressionMethodCall MethodCallExpr |- -- | A field access expression- ExpressionFieldAccess FieldAccessExpr |- -- | A tuple index expression- ExpressionTupleIndex TupleIndexExpr |- -- | A closure expression- ExpressionClosure ClosureExpr |- -- | An if expression, including if let- ExpressionIf IfExpr |- -- | A match expression- ExpressionMatch MatchExpr |- -- | A loop expression- ExpressionLoop LoopExpr |- -- | A while expression, including while let- ExpressionWhile WhileExpr |- -- | A for expression- ExpressionFor ForExpr |- -- | A binary operation- ExpressionBinary BinaryExpr |- -- | A unary operation- ExpressionUnary UnaryExpr |- -- | A reference expression- ExpressionReference RefExpr |- -- | A dereference expression- ExpressionDereference Expression |- -- | A struct literal expression- ExpressionStruct StructExpr |- -- | A tuple expression- ExpressionTuple [Expression] |- -- | An array expression- ExpressionArray ArrayExpr |- -- | An index expression- ExpressionIndex IndexExpr |- -- | A range expression- ExpressionRange RangeExpr |- -- | A return expression- ExpressionReturn (Maybe Expression) |- -- | A break expression- ExpressionBreak (Maybe Expression) |- -- | A continue expression- ExpressionContinue |- -- | A try expression (expr?)- ExpressionTry Expression |- -- | A type cast expression- ExpressionCast CastExpr |- -- | A type ascription expression- ExpressionTypeAscription TypeAscriptionExpr |- -- | An await expression- ExpressionAwait Expression |- -- | An assignment expression- ExpressionAssign AssignExpr |- -- | A compound assignment expression- ExpressionCompoundAssign CompoundAssignExpr |- -- | A macro invocation expression- ExpressionMacro MacroInvocation |- -- | A parenthesized expression- ExpressionParen Expression- deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.rust.syntax.Expression"--_Expression_literal = Core.Name "literal"--_Expression_path = Core.Name "path"--_Expression_block = Core.Name "block"--_Expression_call = Core.Name "call"--_Expression_methodCall = Core.Name "methodCall"--_Expression_fieldAccess = Core.Name "fieldAccess"--_Expression_tupleIndex = Core.Name "tupleIndex"--_Expression_closure = Core.Name "closure"--_Expression_if = Core.Name "if"--_Expression_match = Core.Name "match"--_Expression_loop = Core.Name "loop"--_Expression_while = Core.Name "while"--_Expression_for = Core.Name "for"--_Expression_binary = Core.Name "binary"--_Expression_unary = Core.Name "unary"--_Expression_reference = Core.Name "reference"--_Expression_dereference = Core.Name "dereference"--_Expression_struct = Core.Name "struct"--_Expression_tuple = Core.Name "tuple"--_Expression_array = Core.Name "array"--_Expression_index = Core.Name "index"--_Expression_range = Core.Name "range"--_Expression_return = Core.Name "return"--_Expression_break = Core.Name "break"--_Expression_continue = Core.Name "continue"--_Expression_try = Core.Name "try"--_Expression_cast = Core.Name "cast"--_Expression_typeAscription = Core.Name "typeAscription"--_Expression_await = Core.Name "await"--_Expression_assign = Core.Name "assign"--_Expression_compoundAssign = Core.Name "compoundAssign"--_Expression_macro = Core.Name "macro"--_Expression_paren = Core.Name "paren"---- | A field access expression-data FieldAccessExpr =- FieldAccessExpr {- -- | The expression being accessed- fieldAccessExprObject :: Expression,- -- | The field name- fieldAccessExprField :: String}- deriving (Eq, Ord, Read, Show)--_FieldAccessExpr = Core.Name "hydra.rust.syntax.FieldAccessExpr"--_FieldAccessExpr_object = Core.Name "object"--_FieldAccessExpr_field = Core.Name "field"---- | A field pattern within a struct pattern-data FieldPattern =- FieldPattern {- -- | The field name- fieldPatternName :: String,- -- | The field pattern (None for shorthand)- fieldPatternPattern :: (Maybe Pattern)}- deriving (Eq, Ord, Read, Show)--_FieldPattern = Core.Name "hydra.rust.syntax.FieldPattern"--_FieldPattern_name = Core.Name "name"--_FieldPattern_pattern = Core.Name "pattern"---- | A field-value pair in a struct literal-data FieldValue =- FieldValue {- -- | The field name- fieldValueName :: String,- -- | The field value (None for shorthand syntax)- fieldValueValue :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_FieldValue = Core.Name "hydra.rust.syntax.FieldValue"--_FieldValue_name = Core.Name "name"--_FieldValue_value = Core.Name "value"---- | A floating-point literal with optional suffix-data FloatLiteral =- FloatLiteral {- -- | The float value- floatLiteralValue :: Double,- -- | Optional type suffix- floatLiteralSuffix :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_FloatLiteral = Core.Name "hydra.rust.syntax.FloatLiteral"--_FloatLiteral_value = Core.Name "value"--_FloatLiteral_suffix = Core.Name "suffix"---- | A function definition (e.g., fn foo<T>(x: T) -> String { ... })-data FnDef =- FnDef {- -- | The function name- fnDefName :: String,- -- | Generic type parameters- fnDefGenerics :: [GenericParam],- -- | Optional where clause- fnDefWhereClause :: (Maybe WhereClause),- -- | The function parameters- fnDefParams :: [FnParam],- -- | The return type (None means ())- fnDefReturnType :: (Maybe Type),- -- | The function body- fnDefBody :: Block,- -- | Whether the function is public- fnDefPublic :: Bool,- -- | Whether the function is async- fnDefAsync :: Bool,- -- | Whether the function is const- fnDefConst :: Bool,- -- | Whether the function is unsafe- fnDefUnsafe :: Bool,- -- | Optional doc comment- fnDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_FnDef = Core.Name "hydra.rust.syntax.FnDef"--_FnDef_name = Core.Name "name"--_FnDef_generics = Core.Name "generics"--_FnDef_whereClause = Core.Name "whereClause"--_FnDef_params = Core.Name "params"--_FnDef_returnType = Core.Name "returnType"--_FnDef_body = Core.Name "body"--_FnDef_public = Core.Name "public"--_FnDef_async = Core.Name "async"--_FnDef_const = Core.Name "const"--_FnDef_unsafe = Core.Name "unsafe"--_FnDef_doc = Core.Name "doc"---- | A function parameter-data FnParam =- FnParam {- -- | The parameter pattern- fnParamPattern :: Pattern,- -- | The parameter type- fnParamType :: Type}- deriving (Eq, Ord, Read, Show)--_FnParam = Core.Name "hydra.rust.syntax.FnParam"--_FnParam_pattern = Core.Name "pattern"--_FnParam_type = Core.Name "type"---- | A function pointer type (e.g., fn(i32, i32) -> i32)-data FnPointerType =- FnPointerType {- -- | The parameter types- fnPointerTypeParams :: [Type],- -- | The return type- fnPointerTypeReturnType :: Type}- deriving (Eq, Ord, Read, Show)--_FnPointerType = Core.Name "hydra.rust.syntax.FnPointerType"--_FnPointerType_params = Core.Name "params"--_FnPointerType_returnType = Core.Name "returnType"---- | A for expression-data ForExpr =- ForExpr {- -- | Optional loop label- forExprLabel :: (Maybe String),- -- | The loop variable pattern- forExprPattern :: Pattern,- -- | The iterator expression- forExprIter :: Expression,- -- | The loop body- forExprBody :: Block}- deriving (Eq, Ord, Read, Show)--_ForExpr = Core.Name "hydra.rust.syntax.ForExpr"--_ForExpr_label = Core.Name "label"--_ForExpr_pattern = Core.Name "pattern"--_ForExpr_iter = Core.Name "iter"--_ForExpr_body = Core.Name "body"---- | A single generic argument-data GenericArg =- -- | A type argument- GenericArgType Type |- -- | A lifetime argument- GenericArgLifetime Lifetime |- -- | A const expression argument- GenericArgConst Expression |- -- | An associated type binding- GenericArgBinding TypeBinding- deriving (Eq, Ord, Read, Show)--_GenericArg = Core.Name "hydra.rust.syntax.GenericArg"--_GenericArg_type = Core.Name "type"--_GenericArg_lifetime = Core.Name "lifetime"--_GenericArg_const = Core.Name "const"--_GenericArg_binding = Core.Name "binding"---- | Generic arguments to a path segment-data GenericArguments =- -- | No generic arguments- GenericArgumentsNone |- -- | Angle-bracketed arguments- GenericArgumentsAngleBracketed AngleBracketedArgs |- -- | Parenthesized arguments for Fn traits- GenericArgumentsParenthesized ParenthesizedArgs- deriving (Eq, Ord, Read, Show)--_GenericArguments = Core.Name "hydra.rust.syntax.GenericArguments"--_GenericArguments_none = Core.Name "none"--_GenericArguments_angleBracketed = Core.Name "angleBracketed"--_GenericArguments_parenthesized = Core.Name "parenthesized"---- | A generic type parameter (e.g., T: Clone + Debug)-data GenericParam =- GenericParam {- -- | The parameter name- genericParamName :: String,- -- | Trait bounds on the parameter- genericParamBounds :: [TypeParamBound]}- deriving (Eq, Ord, Read, Show)--_GenericParam = Core.Name "hydra.rust.syntax.GenericParam"--_GenericParam_name = Core.Name "name"--_GenericParam_bounds = Core.Name "bounds"---- | An identifier pattern-data IdentifierPattern =- IdentifierPattern {- -- | The identifier name- identifierPatternName :: String,- -- | Whether the binding is mutable- identifierPatternMutable :: Bool,- -- | Optional sub-pattern (e.g., x @ Some(_))- identifierPatternAtPattern :: (Maybe Pattern)}- deriving (Eq, Ord, Read, Show)--_IdentifierPattern = Core.Name "hydra.rust.syntax.IdentifierPattern"--_IdentifierPattern_name = Core.Name "name"--_IdentifierPattern_mutable = Core.Name "mutable"--_IdentifierPattern_atPattern = Core.Name "atPattern"---- | The condition of an if expression-data IfCondition =- -- | A boolean condition- IfConditionBool Expression |- -- | A let condition- IfConditionLet LetCondition- deriving (Eq, Ord, Read, Show)--_IfCondition = Core.Name "hydra.rust.syntax.IfCondition"--_IfCondition_bool = Core.Name "bool"--_IfCondition_let = Core.Name "let"---- | An if expression, optionally with if let-data IfExpr =- IfExpr {- -- | The condition- ifExprCondition :: IfCondition,- -- | The then block- ifExprThenBlock :: Block,- -- | An optional else branch- ifExprElseBranch :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_IfExpr = Core.Name "hydra.rust.syntax.IfExpr"--_IfExpr_condition = Core.Name "condition"--_IfExpr_thenBlock = Core.Name "thenBlock"--_IfExpr_elseBranch = Core.Name "elseBranch"---- | An impl block (e.g., impl<T> Trait for Foo<T> { ... })-data ImplBlock =- ImplBlock {- -- | Generic type parameters- implBlockGenerics :: [GenericParam],- -- | Optional where clause- implBlockWhereClause :: (Maybe WhereClause),- -- | The trait being implemented, if any- implBlockTrait :: (Maybe TypePath),- -- | Whether this is a negative impl- implBlockNegative :: Bool,- -- | The type being implemented for- implBlockSelfType :: Type,- -- | The items within the impl block- implBlockItems :: [ImplItem]}- deriving (Eq, Ord, Read, Show)--_ImplBlock = Core.Name "hydra.rust.syntax.ImplBlock"--_ImplBlock_generics = Core.Name "generics"--_ImplBlock_whereClause = Core.Name "whereClause"--_ImplBlock_trait = Core.Name "trait"--_ImplBlock_negative = Core.Name "negative"--_ImplBlock_selfType = Core.Name "selfType"--_ImplBlock_items = Core.Name "items"---- | An item within an impl block-data ImplItem =- -- | A method definition- ImplItemMethod ImplMethod |- -- | An associated type definition- ImplItemType TypeAlias |- -- | An associated constant- ImplItemConst ConstDef- deriving (Eq, Ord, Read, Show)--_ImplItem = Core.Name "hydra.rust.syntax.ImplItem"--_ImplItem_method = Core.Name "method"--_ImplItem_type = Core.Name "type"--_ImplItem_const = Core.Name "const"---- | A method within an impl block-data ImplMethod =- ImplMethod {- -- | The method name- implMethodName :: String,- -- | Generic type parameters- implMethodGenerics :: [GenericParam],- -- | Optional where clause- implMethodWhereClause :: (Maybe WhereClause),- -- | The method parameters (including self)- implMethodParams :: [MethodParam],- -- | The return type (None means ())- implMethodReturnType :: (Maybe Type),- -- | The method body- implMethodBody :: Block,- -- | Whether the method is public- implMethodPublic :: Bool,- -- | Whether the method has a default implementation- implMethodDefault :: Bool,- -- | Optional doc comment- implMethodDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_ImplMethod = Core.Name "hydra.rust.syntax.ImplMethod"--_ImplMethod_name = Core.Name "name"--_ImplMethod_generics = Core.Name "generics"--_ImplMethod_whereClause = Core.Name "whereClause"--_ImplMethod_params = Core.Name "params"--_ImplMethod_returnType = Core.Name "returnType"--_ImplMethod_body = Core.Name "body"--_ImplMethod_public = Core.Name "public"--_ImplMethod_default = Core.Name "default"--_ImplMethod_doc = Core.Name "doc"---- | An index expression-data IndexExpr =- IndexExpr {- -- | The expression being indexed- indexExprObject :: Expression,- -- | The index expression- indexExprIndex :: Expression}- deriving (Eq, Ord, Read, Show)--_IndexExpr = Core.Name "hydra.rust.syntax.IndexExpr"--_IndexExpr_object = Core.Name "object"--_IndexExpr_index = Core.Name "index"---- | An integer literal with optional suffix-data IntegerLiteral =- IntegerLiteral {- -- | The integer value- integerLiteralValue :: Integer,- -- | Optional type suffix- integerLiteralSuffix :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_IntegerLiteral = Core.Name "hydra.rust.syntax.IntegerLiteral"--_IntegerLiteral_value = Core.Name "value"--_IntegerLiteral_suffix = Core.Name "suffix"---- | A top-level item in a Rust module or crate-data Item =- -- | A use declaration- ItemUse UseDeclaration |- -- | A struct definition- ItemStruct StructDef |- -- | An enum definition- ItemEnum EnumDef |- -- | A function definition- ItemFn FnDef |- -- | A type alias- ItemTypeAlias TypeAlias |- -- | An impl block- ItemImpl ImplBlock |- -- | A trait definition- ItemTrait TraitDef |- -- | A module definition- ItemMod ModDef |- -- | A constant item- ItemConst ConstDef |- -- | A static item- ItemStatic StaticDef |- -- | A macro invocation as an item- ItemMacro MacroInvocation- deriving (Eq, Ord, Read, Show)--_Item = Core.Name "hydra.rust.syntax.Item"--_Item_use = Core.Name "use"--_Item_struct = Core.Name "struct"--_Item_enum = Core.Name "enum"--_Item_fn = Core.Name "fn"--_Item_typeAlias = Core.Name "typeAlias"--_Item_impl = Core.Name "impl"--_Item_trait = Core.Name "trait"--_Item_mod = Core.Name "mod"--_Item_const = Core.Name "const"--_Item_static = Core.Name "static"--_Item_macro = Core.Name "macro"---- | An item together with optional doc comments and visibility-data ItemWithComments =- ItemWithComments {- -- | Optional documentation comment- itemWithCommentsDoc :: (Maybe String),- -- | The item's visibility- itemWithCommentsVisibility :: Visibility,- -- | The item itself- itemWithCommentsItem :: Item}- deriving (Eq, Ord, Read, Show)--_ItemWithComments = Core.Name "hydra.rust.syntax.ItemWithComments"--_ItemWithComments_doc = Core.Name "doc"--_ItemWithComments_visibility = Core.Name "visibility"--_ItemWithComments_item = Core.Name "item"---- | A let condition (e.g., let Some(x) = opt)-data LetCondition =- LetCondition {- -- | The pattern- letConditionPattern :: Pattern,- -- | The expression being matched- letConditionExpr :: Expression}- deriving (Eq, Ord, Read, Show)--_LetCondition = Core.Name "hydra.rust.syntax.LetCondition"--_LetCondition_pattern = Core.Name "pattern"--_LetCondition_expr = Core.Name "expr"---- | A let statement-data LetStatement =- LetStatement {- -- | The binding pattern- letStatementPattern :: Pattern,- -- | Whether the binding is mutable- letStatementMutable :: Bool,- -- | Optional type annotation- letStatementType :: (Maybe Type),- -- | Optional initializer expression- letStatementInit :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_LetStatement = Core.Name "hydra.rust.syntax.LetStatement"--_LetStatement_pattern = Core.Name "pattern"--_LetStatement_mutable = Core.Name "mutable"--_LetStatement_type = Core.Name "type"--_LetStatement_init = Core.Name "init"---- | A lifetime (e.g., 'a, 'static)-data Lifetime =- Lifetime {- -- | The lifetime name (without the leading quote)- lifetimeName :: String}- deriving (Eq, Ord, Read, Show)--_Lifetime = Core.Name "hydra.rust.syntax.Lifetime"--_Lifetime_name = Core.Name "name"---- | A literal value-data Literal =- -- | An integer literal- LiteralInteger IntegerLiteral |- -- | A floating-point literal- LiteralFloat FloatLiteral |- -- | A string literal- LiteralString String |- -- | A raw string literal- LiteralRawString String |- -- | A byte string literal- LiteralByteString B.ByteString |- -- | A character literal- LiteralChar I.Int64 |- -- | A byte literal- LiteralByte I.Int16 |- -- | A boolean literal- LiteralBool Bool- deriving (Eq, Ord, Read, Show)--_Literal = Core.Name "hydra.rust.syntax.Literal"--_Literal_integer = Core.Name "integer"--_Literal_float = Core.Name "float"--_Literal_string = Core.Name "string"--_Literal_rawString = Core.Name "rawString"--_Literal_byteString = Core.Name "byteString"--_Literal_char = Core.Name "char"--_Literal_byte = Core.Name "byte"--_Literal_bool = Core.Name "bool"---- | A loop expression-data LoopExpr =- LoopExpr {- -- | Optional loop label- loopExprLabel :: (Maybe String),- -- | The loop body- loopExprBody :: Block}- deriving (Eq, Ord, Read, Show)--_LoopExpr = Core.Name "hydra.rust.syntax.LoopExpr"--_LoopExpr_label = Core.Name "label"--_LoopExpr_body = Core.Name "body"---- | The delimiter style for a macro invocation-data MacroDelimiter =- MacroDelimiterParen |- MacroDelimiterBracket |- MacroDelimiterBrace- deriving (Eq, Ord, Read, Show)--_MacroDelimiter = Core.Name "hydra.rust.syntax.MacroDelimiter"--_MacroDelimiter_paren = Core.Name "paren"--_MacroDelimiter_bracket = Core.Name "bracket"--_MacroDelimiter_brace = Core.Name "brace"---- | A macro invocation-data MacroInvocation =- MacroInvocation {- -- | The macro path- macroInvocationPath :: [String],- -- | The delimiter style used- macroInvocationDelimiter :: MacroDelimiter,- -- | The token stream as a raw string- macroInvocationTokens :: String}- deriving (Eq, Ord, Read, Show)--_MacroInvocation = Core.Name "hydra.rust.syntax.MacroInvocation"--_MacroInvocation_path = Core.Name "path"--_MacroInvocation_delimiter = Core.Name "delimiter"--_MacroInvocation_tokens = Core.Name "tokens"---- | A single arm in a match expression-data MatchArm =- MatchArm {- -- | The pattern to match- matchArmPattern :: Pattern,- -- | Optional guard expression- matchArmGuard :: (Maybe Expression),- -- | The body expression- matchArmBody :: Expression}- deriving (Eq, Ord, Read, Show)--_MatchArm = Core.Name "hydra.rust.syntax.MatchArm"--_MatchArm_pattern = Core.Name "pattern"--_MatchArm_guard = Core.Name "guard"--_MatchArm_body = Core.Name "body"---- | A match expression-data MatchExpr =- MatchExpr {- -- | The expression being matched- matchExprScrutinee :: Expression,- -- | The match arms- matchExprArms :: [MatchArm]}- deriving (Eq, Ord, Read, Show)--_MatchExpr = Core.Name "hydra.rust.syntax.MatchExpr"--_MatchExpr_scrutinee = Core.Name "scrutinee"--_MatchExpr_arms = Core.Name "arms"---- | A method call expression-data MethodCallExpr =- MethodCallExpr {- -- | The receiver expression- methodCallExprReceiver :: Expression,- -- | The method name- methodCallExprMethod :: String,- -- | Optional turbofish generic arguments- methodCallExprTurbofish :: [Type],- -- | The arguments (excluding the receiver)- methodCallExprArgs :: [Expression]}- deriving (Eq, Ord, Read, Show)--_MethodCallExpr = Core.Name "hydra.rust.syntax.MethodCallExpr"--_MethodCallExpr_receiver = Core.Name "receiver"--_MethodCallExpr_method = Core.Name "method"--_MethodCallExpr_turbofish = Core.Name "turbofish"--_MethodCallExpr_args = Core.Name "args"---- | A method parameter, which may be self or a regular parameter-data MethodParam =- -- | A self parameter- MethodParamSelf SelfParam |- -- | A regular function parameter- MethodParamRegular FnParam- deriving (Eq, Ord, Read, Show)--_MethodParam = Core.Name "hydra.rust.syntax.MethodParam"--_MethodParam_self = Core.Name "self"--_MethodParam_regular = Core.Name "regular"---- | A module definition (either inline or external)-data ModDef =- ModDef {- -- | The module name- modDefName :: String,- -- | The module body (None for external file)- modDefBody :: (Maybe [Item]),- -- | Whether the module is public- modDefPublic :: Bool,- -- | Optional doc comment- modDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_ModDef = Core.Name "hydra.rust.syntax.ModDef"--_ModDef_name = Core.Name "name"--_ModDef_body = Core.Name "body"--_ModDef_public = Core.Name "public"--_ModDef_doc = Core.Name "doc"---- | Parenthesized generic arguments for Fn traits-data ParenthesizedArgs =- ParenthesizedArgs {- -- | The input types- parenthesizedArgsInputs :: [Type],- -- | The output type- parenthesizedArgsOutput :: (Maybe Type)}- deriving (Eq, Ord, Read, Show)--_ParenthesizedArgs = Core.Name "hydra.rust.syntax.ParenthesizedArgs"--_ParenthesizedArgs_inputs = Core.Name "inputs"--_ParenthesizedArgs_output = Core.Name "output"---- | A segment within a type path-data PathSegment =- PathSegment {- -- | The segment name- pathSegmentName :: String,- -- | Generic arguments, if any- pathSegmentArguments :: GenericArguments}- deriving (Eq, Ord, Read, Show)--_PathSegment = Core.Name "hydra.rust.syntax.PathSegment"--_PathSegment_name = Core.Name "name"--_PathSegment_arguments = Core.Name "arguments"---- | A Rust pattern (used in let, match, function parameters, etc.)-data Pattern =- -- | A wildcard pattern (_)- PatternWildcard |- -- | An identifier pattern- PatternIdentifier IdentifierPattern |- -- | A literal pattern- PatternLiteral Literal |- -- | A reference pattern- PatternReference RefPattern |- -- | A struct pattern- PatternStruct StructPattern |- -- | A tuple struct pattern- PatternTupleStruct TupleStructPattern |- -- | A tuple pattern- PatternTuple [Pattern] |- -- | A slice pattern- PatternSlice [Pattern] |- -- | An or-pattern- PatternOr [Pattern] |- -- | A path pattern- PatternPath ExprPath |- -- | A range pattern- PatternRange RangePattern |- -- | A rest pattern (..)- PatternRest |- -- | A parenthesized pattern- PatternParen Pattern- deriving (Eq, Ord, Read, Show)--_Pattern = Core.Name "hydra.rust.syntax.Pattern"--_Pattern_wildcard = Core.Name "wildcard"--_Pattern_identifier = Core.Name "identifier"--_Pattern_literal = Core.Name "literal"--_Pattern_reference = Core.Name "reference"--_Pattern_struct = Core.Name "struct"--_Pattern_tupleStruct = Core.Name "tupleStruct"--_Pattern_tuple = Core.Name "tuple"--_Pattern_slice = Core.Name "slice"--_Pattern_or = Core.Name "or"--_Pattern_path = Core.Name "path"--_Pattern_range = Core.Name "range"--_Pattern_rest = Core.Name "rest"--_Pattern_paren = Core.Name "paren"---- | A range expression-data RangeExpr =- RangeExpr {- -- | The lower bound (optional)- rangeExprFrom :: (Maybe Expression),- -- | The upper bound (optional)- rangeExprTo :: (Maybe Expression),- -- | Whether the range is inclusive- rangeExprInclusive :: Bool}- deriving (Eq, Ord, Read, Show)--_RangeExpr = Core.Name "hydra.rust.syntax.RangeExpr"--_RangeExpr_from = Core.Name "from"--_RangeExpr_to = Core.Name "to"--_RangeExpr_inclusive = Core.Name "inclusive"---- | A range pattern-data RangePattern =- RangePattern {- -- | The lower bound- rangePatternFrom :: (Maybe Pattern),- -- | The upper bound- rangePatternTo :: (Maybe Pattern),- -- | Whether the range is inclusive- rangePatternInclusive :: Bool}- deriving (Eq, Ord, Read, Show)--_RangePattern = Core.Name "hydra.rust.syntax.RangePattern"--_RangePattern_from = Core.Name "from"--_RangePattern_to = Core.Name "to"--_RangePattern_inclusive = Core.Name "inclusive"---- | A raw pointer type (e.g., *const T, *mut T)-data RawPointerType =- RawPointerType {- -- | Whether the pointer is mutable (*mut vs *const)- rawPointerTypeMutable :: Bool,- -- | The pointed-to type- rawPointerTypeType :: Type}- deriving (Eq, Ord, Read, Show)--_RawPointerType = Core.Name "hydra.rust.syntax.RawPointerType"--_RawPointerType_mutable = Core.Name "mutable"--_RawPointerType_type = Core.Name "type"---- | A reference expression-data RefExpr =- RefExpr {- -- | Whether the reference is mutable- refExprMutable :: Bool,- -- | The expression being referenced- refExprExpr :: Expression}- deriving (Eq, Ord, Read, Show)--_RefExpr = Core.Name "hydra.rust.syntax.RefExpr"--_RefExpr_mutable = Core.Name "mutable"--_RefExpr_expr = Core.Name "expr"---- | A reference pattern-data RefPattern =- RefPattern {- -- | Whether the reference is mutable- refPatternMutable :: Bool,- -- | The inner pattern- refPatternPattern :: Pattern}- deriving (Eq, Ord, Read, Show)--_RefPattern = Core.Name "hydra.rust.syntax.RefPattern"--_RefPattern_mutable = Core.Name "mutable"--_RefPattern_pattern = Core.Name "pattern"---- | A reference type (e.g., &T, &mut T, &'a T)-data ReferenceType =- ReferenceType {- -- | Optional lifetime annotation- referenceTypeLifetime :: (Maybe Lifetime),- -- | Whether the reference is mutable- referenceTypeMutable :: Bool,- -- | The referenced type- referenceTypeType :: Type}- deriving (Eq, Ord, Read, Show)--_ReferenceType = Core.Name "hydra.rust.syntax.ReferenceType"--_ReferenceType_lifetime = Core.Name "lifetime"--_ReferenceType_mutable = Core.Name "mutable"--_ReferenceType_type = Core.Name "type"---- | A self parameter in a method-data SelfParam =- SelfParamOwned |- SelfParamRef |- SelfParamRefMut- deriving (Eq, Ord, Read, Show)--_SelfParam = Core.Name "hydra.rust.syntax.SelfParam"--_SelfParam_owned = Core.Name "owned"--_SelfParam_ref = Core.Name "ref"--_SelfParam_refMut = Core.Name "refMut"---- | A statement within a block-data Statement =- -- | A let binding- StatementLet LetStatement |- -- | An expression statement- StatementExpression Expression |- -- | An item declaration within a block- StatementItem Item |- -- | An empty statement- StatementEmpty- deriving (Eq, Ord, Read, Show)--_Statement = Core.Name "hydra.rust.syntax.Statement"--_Statement_let = Core.Name "let"--_Statement_expression = Core.Name "expression"--_Statement_item = Core.Name "item"--_Statement_empty = Core.Name "empty"---- | A static item (e.g., static FOO: u32 = 42;)-data StaticDef =- StaticDef {- -- | The static name- staticDefName :: String,- -- | The static type- staticDefType :: Type,- -- | The static value expression- staticDefValue :: Expression,- -- | Whether the static is mutable- staticDefMutable :: Bool,- -- | Whether the static is public- staticDefPublic :: Bool,- -- | Optional doc comment- staticDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_StaticDef = Core.Name "hydra.rust.syntax.StaticDef"--_StaticDef_name = Core.Name "name"--_StaticDef_type = Core.Name "type"--_StaticDef_value = Core.Name "value"--_StaticDef_mutable = Core.Name "mutable"--_StaticDef_public = Core.Name "public"--_StaticDef_doc = Core.Name "doc"---- | The body of a struct definition-data StructBody =- -- | A struct with named fields- StructBodyNamed [StructField] |- -- | A tuple struct- StructBodyTuple [TupleField] |- -- | A unit struct- StructBodyUnit- deriving (Eq, Ord, Read, Show)--_StructBody = Core.Name "hydra.rust.syntax.StructBody"--_StructBody_named = Core.Name "named"--_StructBody_tuple = Core.Name "tuple"--_StructBody_unit = Core.Name "unit"---- | A struct definition (e.g., struct Foo<T> { bar: T })-data StructDef =- StructDef {- -- | The struct name- structDefName :: String,- -- | Generic type parameters- structDefGenerics :: [GenericParam],- -- | Optional where clause- structDefWhereClause :: (Maybe WhereClause),- -- | The struct body (named fields, tuple fields, or unit)- structDefBody :: StructBody,- -- | Derive macros to apply- structDefDerives :: [String],- -- | Whether the struct is public- structDefPublic :: Bool,- -- | Optional doc comment- structDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_StructDef = Core.Name "hydra.rust.syntax.StructDef"--_StructDef_name = Core.Name "name"--_StructDef_generics = Core.Name "generics"--_StructDef_whereClause = Core.Name "whereClause"--_StructDef_body = Core.Name "body"--_StructDef_derives = Core.Name "derives"--_StructDef_public = Core.Name "public"--_StructDef_doc = Core.Name "doc"---- | A struct literal expression-data StructExpr =- StructExpr {- -- | The struct path- structExprPath :: ExprPath,- -- | The field assignments- structExprFields :: [FieldValue],- -- | Optional base expression for struct update syntax- structExprRest :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_StructExpr = Core.Name "hydra.rust.syntax.StructExpr"--_StructExpr_path = Core.Name "path"--_StructExpr_fields = Core.Name "fields"--_StructExpr_rest = Core.Name "rest"---- | A named field within a struct definition-data StructField =- StructField {- -- | The field name- structFieldName :: String,- -- | The field type- structFieldType :: Type,- -- | Whether the field is public- structFieldPublic :: Bool,- -- | Optional doc comment for the field- structFieldDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_StructField = Core.Name "hydra.rust.syntax.StructField"--_StructField_name = Core.Name "name"--_StructField_type = Core.Name "type"--_StructField_public = Core.Name "public"--_StructField_doc = Core.Name "doc"---- | A struct pattern-data StructPattern =- StructPattern {- -- | The struct path- structPatternPath :: ExprPath,- -- | The field patterns- structPatternFields :: [FieldPattern],- -- | Whether the pattern has a rest (..) at the end- structPatternRest :: Bool}- deriving (Eq, Ord, Read, Show)--_StructPattern = Core.Name "hydra.rust.syntax.StructPattern"--_StructPattern_path = Core.Name "path"--_StructPattern_fields = Core.Name "fields"--_StructPattern_rest = Core.Name "rest"---- | An associated constant within a trait-data TraitConst =- TraitConst {- -- | The constant name- traitConstName :: String,- -- | The constant type- traitConstType :: Type,- -- | Optional default value- traitConstDefault :: (Maybe Expression),- -- | Optional doc comment- traitConstDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_TraitConst = Core.Name "hydra.rust.syntax.TraitConst"--_TraitConst_name = Core.Name "name"--_TraitConst_type = Core.Name "type"--_TraitConst_default = Core.Name "default"--_TraitConst_doc = Core.Name "doc"---- | A trait definition (e.g., trait Foo<T>: Bar + Baz { ... })-data TraitDef =- TraitDef {- -- | The trait name- traitDefName :: String,- -- | Generic type parameters- traitDefGenerics :: [GenericParam],- -- | Optional where clause- traitDefWhereClause :: (Maybe WhereClause),- -- | Supertraits- traitDefSuperTraits :: [TypeParamBound],- -- | The items within the trait- traitDefItems :: [TraitItem],- -- | Whether the trait is public- traitDefPublic :: Bool,- -- | Whether the trait is unsafe- traitDefUnsafe :: Bool,- -- | Optional doc comment- traitDefDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_TraitDef = Core.Name "hydra.rust.syntax.TraitDef"--_TraitDef_name = Core.Name "name"--_TraitDef_generics = Core.Name "generics"--_TraitDef_whereClause = Core.Name "whereClause"--_TraitDef_superTraits = Core.Name "superTraits"--_TraitDef_items = Core.Name "items"--_TraitDef_public = Core.Name "public"--_TraitDef_unsafe = Core.Name "unsafe"--_TraitDef_doc = Core.Name "doc"---- | An item within a trait definition-data TraitItem =- -- | A method signature or default method- TraitItemMethod TraitMethod |- -- | An associated type- TraitItemType TraitType |- -- | An associated constant- TraitItemConst TraitConst- deriving (Eq, Ord, Read, Show)--_TraitItem = Core.Name "hydra.rust.syntax.TraitItem"--_TraitItem_method = Core.Name "method"--_TraitItem_type = Core.Name "type"--_TraitItem_const = Core.Name "const"---- | A method signature or default method within a trait-data TraitMethod =- TraitMethod {- -- | The method name- traitMethodName :: String,- -- | Generic type parameters- traitMethodGenerics :: [GenericParam],- -- | Optional where clause- traitMethodWhereClause :: (Maybe WhereClause),- -- | The method parameters (including self)- traitMethodParams :: [MethodParam],- -- | The return type- traitMethodReturnType :: (Maybe Type),- -- | Optional default body- traitMethodDefaultBody :: (Maybe Block),- -- | Optional doc comment- traitMethodDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_TraitMethod = Core.Name "hydra.rust.syntax.TraitMethod"--_TraitMethod_name = Core.Name "name"--_TraitMethod_generics = Core.Name "generics"--_TraitMethod_whereClause = Core.Name "whereClause"--_TraitMethod_params = Core.Name "params"--_TraitMethod_returnType = Core.Name "returnType"--_TraitMethod_defaultBody = Core.Name "defaultBody"--_TraitMethod_doc = Core.Name "doc"---- | An associated type within a trait-data TraitType =- TraitType {- -- | The associated type name- traitTypeName :: String,- -- | Type parameter bounds- traitTypeBounds :: [TypeParamBound],- -- | Optional default type- traitTypeDefault :: (Maybe Type),- -- | Optional doc comment- traitTypeDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_TraitType = Core.Name "hydra.rust.syntax.TraitType"--_TraitType_name = Core.Name "name"--_TraitType_bounds = Core.Name "bounds"--_TraitType_default = Core.Name "default"--_TraitType_doc = Core.Name "doc"---- | A positional field within a tuple struct-data TupleField =- TupleField {- -- | The field type- tupleFieldType :: Type,- -- | Whether the field is public- tupleFieldPublic :: Bool}- deriving (Eq, Ord, Read, Show)--_TupleField = Core.Name "hydra.rust.syntax.TupleField"--_TupleField_type = Core.Name "type"--_TupleField_public = Core.Name "public"---- | A tuple index expression-data TupleIndexExpr =- TupleIndexExpr {- -- | The tuple expression- tupleIndexExprTuple :: Expression,- -- | The index (0-based)- tupleIndexExprIndex :: Int}- deriving (Eq, Ord, Read, Show)--_TupleIndexExpr = Core.Name "hydra.rust.syntax.TupleIndexExpr"--_TupleIndexExpr_tuple = Core.Name "tuple"--_TupleIndexExpr_index = Core.Name "index"---- | A tuple struct pattern-data TupleStructPattern =- TupleStructPattern {- -- | The path to the tuple struct or variant- tupleStructPatternPath :: ExprPath,- -- | The element patterns- tupleStructPatternElements :: [Pattern]}- deriving (Eq, Ord, Read, Show)--_TupleStructPattern = Core.Name "hydra.rust.syntax.TupleStructPattern"--_TupleStructPattern_path = Core.Name "path"--_TupleStructPattern_elements = Core.Name "elements"---- | A Rust type expression-data Type =- -- | A path type, possibly with generic arguments- TypePath_ TypePath |- -- | A reference type- TypeReference ReferenceType |- -- | A slice type- TypeSlice Type |- -- | An array type with a fixed size- TypeArray ArrayType |- -- | A tuple type- TypeTuple [Type] |- -- | A function pointer type- TypeFnPointer FnPointerType |- -- | An impl Trait type- TypeImplTrait [TypeParamBound] |- -- | A dyn Trait type- TypeDynTrait [TypeParamBound] |- -- | The inferred type placeholder (_)- TypeInferred |- -- | The unit type (())- TypeUnit |- -- | The never type (!)- TypeNever |- -- | A raw pointer type- TypeRawPointer RawPointerType |- -- | A macro invocation in type position- TypeMacro MacroInvocation- deriving (Eq, Ord, Read, Show)--_Type = Core.Name "hydra.rust.syntax.Type"--_Type_path = Core.Name "path"--_Type_reference = Core.Name "reference"--_Type_slice = Core.Name "slice"--_Type_array = Core.Name "array"--_Type_tuple = Core.Name "tuple"--_Type_fnPointer = Core.Name "fnPointer"--_Type_implTrait = Core.Name "implTrait"--_Type_dynTrait = Core.Name "dynTrait"--_Type_inferred = Core.Name "inferred"--_Type_unit = Core.Name "unit"--_Type_never = Core.Name "never"--_Type_rawPointer = Core.Name "rawPointer"--_Type_macro = Core.Name "macro"---- | A type alias definition (e.g., type Foo<T> = Bar<T>;)-data TypeAlias =- TypeAlias {- -- | The alias name- typeAliasName :: String,- -- | Generic type parameters- typeAliasGenerics :: [GenericParam],- -- | The aliased type- typeAliasType :: Type,- -- | Whether the alias is public- typeAliasPublic :: Bool,- -- | Optional doc comment- typeAliasDoc :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_TypeAlias = Core.Name "hydra.rust.syntax.TypeAlias"--_TypeAlias_name = Core.Name "name"--_TypeAlias_generics = Core.Name "generics"--_TypeAlias_type = Core.Name "type"--_TypeAlias_public = Core.Name "public"--_TypeAlias_doc = Core.Name "doc"---- | A type ascription expression-data TypeAscriptionExpr =- TypeAscriptionExpr {- -- | The expression- typeAscriptionExprExpr :: Expression,- -- | The ascribed type- typeAscriptionExprType :: Type}- deriving (Eq, Ord, Read, Show)--_TypeAscriptionExpr = Core.Name "hydra.rust.syntax.TypeAscriptionExpr"--_TypeAscriptionExpr_expr = Core.Name "expr"--_TypeAscriptionExpr_type = Core.Name "type"---- | An associated type binding within generic arguments-data TypeBinding =- TypeBinding {- -- | The associated type name- typeBindingName :: String,- -- | The bound type- typeBindingType :: Type}- deriving (Eq, Ord, Read, Show)--_TypeBinding = Core.Name "hydra.rust.syntax.TypeBinding"--_TypeBinding_name = Core.Name "name"--_TypeBinding_type = Core.Name "type"---- | A bound on a type parameter-data TypeParamBound =- -- | A trait bound- TypeParamBoundTrait TypePath |- -- | A lifetime bound- TypeParamBoundLifetime Lifetime- deriving (Eq, Ord, Read, Show)--_TypeParamBound = Core.Name "hydra.rust.syntax.TypeParamBound"--_TypeParamBound_trait = Core.Name "trait"--_TypeParamBound_lifetime = Core.Name "lifetime"---- | A path-based type, possibly with generic arguments-data TypePath =- TypePath {- -- | Whether the path is absolute (starts with ::)- typePathGlobal :: Bool,- -- | The segments of the path- typePathSegments :: [PathSegment]}- deriving (Eq, Ord, Read, Show)--_TypePath = Core.Name "hydra.rust.syntax.TypePath"--_TypePath_global = Core.Name "global"--_TypePath_segments = Core.Name "segments"---- | A unary operation-data UnaryExpr =- UnaryExpr {- -- | The unary operator- unaryExprOp :: UnaryOp,- -- | The operand- unaryExprOperand :: Expression}- deriving (Eq, Ord, Read, Show)--_UnaryExpr = Core.Name "hydra.rust.syntax.UnaryExpr"--_UnaryExpr_op = Core.Name "op"--_UnaryExpr_operand = Core.Name "operand"---- | A unary operator-data UnaryOp =- UnaryOpNeg |- UnaryOpNot- deriving (Eq, Ord, Read, Show)--_UnaryOp = Core.Name "hydra.rust.syntax.UnaryOp"--_UnaryOp_neg = Core.Name "neg"--_UnaryOp_not = Core.Name "not"---- | A use declaration (e.g., use std::collections::BTreeMap;)-data UseDeclaration =- UseDeclaration {- -- | Whether the use is public (pub use)- useDeclarationPublic :: Bool,- -- | The use tree describing what is imported- useDeclarationTree :: UseTree}- deriving (Eq, Ord, Read, Show)--_UseDeclaration = Core.Name "hydra.rust.syntax.UseDeclaration"--_UseDeclaration_public = Core.Name "public"--_UseDeclaration_tree = Core.Name "tree"---- | A grouped import (e.g., std::collections::{BTreeMap, BTreeSet})-data UseGroup =- UseGroup {- -- | The common prefix path segments- useGroupPrefix :: [String],- -- | The individual subtrees within the group- useGroupTrees :: [UseTree]}- deriving (Eq, Ord, Read, Show)--_UseGroup = Core.Name "hydra.rust.syntax.UseGroup"--_UseGroup_prefix = Core.Name "prefix"--_UseGroup_trees = Core.Name "trees"---- | A simple path import within a use tree-data UsePath =- UsePath {- -- | The path segments- usePathSegments :: [String]}- deriving (Eq, Ord, Read, Show)--_UsePath = Core.Name "hydra.rust.syntax.UsePath"--_UsePath_segments = Core.Name "segments"---- | A renamed import (e.g., BTreeMap as Map)-data UseRename =- UseRename {- -- | The original path segments- useRenamePath :: [String],- -- | The alias name- useRenameAlias :: String}- deriving (Eq, Ord, Read, Show)--_UseRename = Core.Name "hydra.rust.syntax.UseRename"--_UseRename_path = Core.Name "path"--_UseRename_alias = Core.Name "alias"---- | A use tree, representing the structure of a use path-data UseTree =- -- | A simple path import- UseTreePath UsePath |- -- | A renamed import (e.g., BTreeMap as Map)- UseTreeRename UseRename |- -- | A glob import (e.g., std::collections::*)- UseTreeGlob [String] |- -- | A grouped import (e.g., {BTreeMap, BTreeSet})- UseTreeGroup UseGroup- deriving (Eq, Ord, Read, Show)--_UseTree = Core.Name "hydra.rust.syntax.UseTree"--_UseTree_path = Core.Name "path"--_UseTree_rename = Core.Name "rename"--_UseTree_glob = Core.Name "glob"--_UseTree_group = Core.Name "group"---- | A visibility qualifier-data Visibility =- -- | Public (pub)- VisibilityPublic |- -- | Crate-visible (pub(crate))- VisibilityCrate |- -- | Visible to a specific path (pub(in path))- VisibilityRestricted [String] |- -- | Private (default)- VisibilityPrivate- deriving (Eq, Ord, Read, Show)--_Visibility = Core.Name "hydra.rust.syntax.Visibility"--_Visibility_public = Core.Name "public"--_Visibility_crate = Core.Name "crate"--_Visibility_restricted = Core.Name "restricted"--_Visibility_private = Core.Name "private"---- | A where clause (e.g., where T: Clone, U: Debug)-data WhereClause =- WhereClause {- -- | The predicates in the where clause- whereClausePredicates :: [WherePredicate]}- deriving (Eq, Ord, Read, Show)--_WhereClause = Core.Name "hydra.rust.syntax.WhereClause"--_WhereClause_predicates = Core.Name "predicates"---- | A single predicate in a where clause-data WherePredicate =- WherePredicate {- -- | The type being constrained- wherePredicateType :: Type,- -- | The bounds on the type- wherePredicateBounds :: [TypeParamBound]}- deriving (Eq, Ord, Read, Show)--_WherePredicate = Core.Name "hydra.rust.syntax.WherePredicate"--_WherePredicate_type = Core.Name "type"--_WherePredicate_bounds = Core.Name "bounds"---- | A while expression, optionally with while let-data WhileExpr =- WhileExpr {- -- | Optional loop label- whileExprLabel :: (Maybe String),- -- | The condition- whileExprCondition :: IfCondition,- -- | The loop body- whileExprBody :: Block}- deriving (Eq, Ord, Read, Show)--_WhileExpr = Core.Name "hydra.rust.syntax.WhileExpr"--_WhileExpr_label = Core.Name "label"--_WhileExpr_condition = Core.Name "condition"--_WhileExpr_body = Core.Name "body"
− src/main/haskell/Hydra/Sql/Syntax.hs
@@ -1,1577 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A subset of ANSI SQL:2003, capturing selected productions of the BNF grammar provided at https://ronsavage.github.io/SQL/sql-2003-2.bnf.html, which is based on the Final Committee Draft (FCD) of ISO/IEC 9075-2:2003--module Hydra.Sql.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---- | An approximate (floating-point) numeric literal, such as 1.5E10-newtype ApproximateNumericLiteral =- ApproximateNumericLiteral {- unApproximateNumericLiteral :: String}- deriving (Eq, Ord, Read, Show)--_ApproximateNumericLiteral = Core.Name "hydra.sql.syntax.ApproximateNumericLiteral"---- | An approximate numeric type: FLOAT, REAL, or DOUBLE PRECISION-data ApproximateNumericType =- ApproximateNumericTypeFloat (Maybe Precision) |- ApproximateNumericTypeReal |- ApproximateNumericTypeDouble- deriving (Eq, Ord, Read, Show)--_ApproximateNumericType = Core.Name "hydra.sql.syntax.ApproximateNumericType"--_ApproximateNumericType_float = Core.Name "float"--_ApproximateNumericType_real = Core.Name "real"--_ApproximateNumericType_double = Core.Name "double"---- | A single element of an array value-newtype ArrayElement =- ArrayElement {- unArrayElement :: ValueExpression}- deriving (Eq, Ord, Read, Show)--_ArrayElement = Core.Name "hydra.sql.syntax.ArrayElement"---- | A non-empty, comma-separated list of array elements-data ArrayElementList =- ArrayElementList {- arrayElementListFirst :: ArrayElement,- arrayElementListRest :: [ArrayElement]}- deriving (Eq, Ord, Read, Show)--_ArrayElementList = Core.Name "hydra.sql.syntax.ArrayElementList"--_ArrayElementList_first = Core.Name "first"--_ArrayElementList_rest = Core.Name "rest"---- | A reference to an element of an array by index-newtype ArrayElementReference =- ArrayElementReference {- unArrayElementReference :: ()}- deriving (Eq, Ord, Read, Show)--_ArrayElementReference = Core.Name "hydra.sql.syntax.ArrayElementReference"---- | An ARRAY collection type-newtype ArrayType =- ArrayType {- unArrayType :: ()}- deriving (Eq, Ord, Read, Show)--_ArrayType = Core.Name "hydra.sql.syntax.ArrayType"---- | A constructor for an array value, either by enumeration or by query-data ArrayValueConstructor =- ArrayValueConstructorEnumeration ArrayValueConstructorByEnumeration |- ArrayValueConstructorQuery ArrayValueConstructorByQuery- deriving (Eq, Ord, Read, Show)--_ArrayValueConstructor = Core.Name "hydra.sql.syntax.ArrayValueConstructor"--_ArrayValueConstructor_enumeration = Core.Name "enumeration"--_ArrayValueConstructor_query = Core.Name "query"---- | An array value constructed by explicitly enumerating its elements-data ArrayValueConstructorByEnumeration =- ArrayValueConstructorByEnumeration {- arrayValueConstructorByEnumerationLeftBracketOrTrigraph :: LeftBracketOrTrigraph,- arrayValueConstructorByEnumerationArrayElementList :: ArrayElementList,- arrayValueConstructorByEnumerationRightBracketOrTrigraph :: RightBracketOrTrigraph}- deriving (Eq, Ord, Read, Show)--_ArrayValueConstructorByEnumeration = Core.Name "hydra.sql.syntax.ArrayValueConstructorByEnumeration"--_ArrayValueConstructorByEnumeration_LeftBracketOrTrigraph = Core.Name "LeftBracketOrTrigraph"--_ArrayValueConstructorByEnumeration_ArrayElementList = Core.Name "ArrayElementList"--_ArrayValueConstructorByEnumeration_RightBracketOrTrigraph = Core.Name "RightBracketOrTrigraph"---- | An array value constructed from the result of a query-newtype ArrayValueConstructorByQuery =- ArrayValueConstructorByQuery {- unArrayValueConstructorByQuery :: ()}- deriving (Eq, Ord, Read, Show)--_ArrayValueConstructorByQuery = Core.Name "hydra.sql.syntax.ArrayValueConstructorByQuery"---- | An expression that evaluates to an array value-newtype ArrayValueExpression =- ArrayValueExpression {- unArrayValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_ArrayValueExpression = Core.Name "hydra.sql.syntax.ArrayValueExpression"---- | A clause introducing a table's contents as the result of a subquery-newtype AsSubqueryClause =- AsSubqueryClause {- unAsSubqueryClause :: ()}- deriving (Eq, Ord, Read, Show)--_AsSubqueryClause = Core.Name "hydra.sql.syntax.AsSubqueryClause"---- | A reference to an attribute or method of a structured value-newtype AttributeOrMethodReference =- AttributeOrMethodReference {- unAttributeOrMethodReference :: ()}- deriving (Eq, Ord, Read, Show)--_AttributeOrMethodReference = Core.Name "hydra.sql.syntax.AttributeOrMethodReference"---- | A binary large object string type: BINARY LARGE OBJECT or BLOB-data BinaryLargeObjectStringType =- BinaryLargeObjectStringTypeBinary (Maybe LargeObjectLength) |- BinaryLargeObjectStringTypeBlob (Maybe LargeObjectLength)- deriving (Eq, Ord, Read, Show)--_BinaryLargeObjectStringType = Core.Name "hydra.sql.syntax.BinaryLargeObjectStringType"--_BinaryLargeObjectStringType_binary = Core.Name "binary"--_BinaryLargeObjectStringType_blob = Core.Name "blob"---- | A binary string literal, e.g. X'FF00'-newtype BinaryStringLiteral =- BinaryStringLiteral {- unBinaryStringLiteral :: ()}- deriving (Eq, Ord, Read, Show)--_BinaryStringLiteral = Core.Name "hydra.sql.syntax.BinaryStringLiteral"---- | A boolean test, optionally negated with NOT-data BooleanFactor =- BooleanFactor {- booleanFactorNOT :: (Maybe ()),- booleanFactorBooleanTest :: BooleanTest}- deriving (Eq, Ord, Read, Show)--_BooleanFactor = Core.Name "hydra.sql.syntax.BooleanFactor"--_BooleanFactor_NOT = Core.Name "NOT"--_BooleanFactor_BooleanTest = Core.Name "BooleanTest"---- | A boolean literal: TRUE, FALSE, or UNKNOWN-data BooleanLiteral =- BooleanLiteralTRUE |- BooleanLiteralFALSE |- BooleanLiteralUNKNOWN- deriving (Eq, Ord, Read, Show)--_BooleanLiteral = Core.Name "hydra.sql.syntax.BooleanLiteral"--_BooleanLiteral_TRUE = Core.Name "TRUE"--_BooleanLiteral_FALSE = Core.Name "FALSE"--_BooleanLiteral_UNKNOWN = Core.Name "UNKNOWN"---- | An operand of a boolean predicate-newtype BooleanPredicand =- BooleanPredicand {- unBooleanPredicand :: ()}- deriving (Eq, Ord, Read, Show)--_BooleanPredicand = Core.Name "hydra.sql.syntax.BooleanPredicand"---- | A boolean primary expression: either a predicate or a boolean predicand-data BooleanPrimary =- BooleanPrimaryPredicate Predicate |- BooleanPrimaryPredicand BooleanPredicand- deriving (Eq, Ord, Read, Show)--_BooleanPrimary = Core.Name "hydra.sql.syntax.BooleanPrimary"--_BooleanPrimary_predicate = Core.Name "predicate"--_BooleanPrimary_predicand = Core.Name "predicand"---- | A boolean term: a factor, or a conjunction of terms with AND-data BooleanTerm =- BooleanTermFactor BooleanFactor |- BooleanTermConjunction BooleanTermAnd- deriving (Eq, Ord, Read, Show)--_BooleanTerm = Core.Name "hydra.sql.syntax.BooleanTerm"--_BooleanTerm_factor = Core.Name "factor"--_BooleanTerm_conjunction = Core.Name "conjunction"---- | A conjunction of two boolean terms joined by AND-data BooleanTermAnd =- BooleanTermAnd {- booleanTermAndLhs :: BooleanTerm,- booleanTermAndRhs :: BooleanFactor}- deriving (Eq, Ord, Read, Show)--_BooleanTermAnd = Core.Name "hydra.sql.syntax.BooleanTermAnd"--_BooleanTermAnd_lhs = Core.Name "lhs"--_BooleanTermAnd_rhs = Core.Name "rhs"---- | A boolean primary, optionally compared against a truth value with IS-data BooleanTest =- BooleanTest {- booleanTestBooleanPrimary :: BooleanPrimary,- booleanTestSequence :: (Maybe BooleanTestSequenceOption)}- deriving (Eq, Ord, Read, Show)--_BooleanTest = Core.Name "hydra.sql.syntax.BooleanTest"--_BooleanTest_BooleanPrimary = Core.Name "BooleanPrimary"--_BooleanTest_Sequence = Core.Name "Sequence"---- | The IS [NOT] truth-value suffix of a boolean test-data BooleanTestSequenceOption =- BooleanTestSequenceOption {- booleanTestSequenceOptionNOT :: (Maybe ()),- booleanTestSequenceOptionTruthValue :: TruthValue}- deriving (Eq, Ord, Read, Show)--_BooleanTestSequenceOption = Core.Name "hydra.sql.syntax.BooleanTestSequenceOption"--_BooleanTestSequenceOption_NOT = Core.Name "NOT"--_BooleanTestSequenceOption_TruthValue = Core.Name "TruthValue"---- | The BOOLEAN data type-newtype BooleanType =- BooleanType {- unBooleanType :: ()}- deriving (Eq, Ord, Read, Show)--_BooleanType = Core.Name "hydra.sql.syntax.BooleanType"---- | A boolean value expression: a term, or a disjunction of terms with OR-data BooleanValueExpression =- BooleanValueExpressionTerm BooleanTerm |- BooleanValueExpressionDisjunction BooleanValueExpressionOr- deriving (Eq, Ord, Read, Show)--_BooleanValueExpression = Core.Name "hydra.sql.syntax.BooleanValueExpression"--_BooleanValueExpression_term = Core.Name "term"--_BooleanValueExpression_disjunction = Core.Name "disjunction"---- | A disjunction of two boolean value expressions joined by OR-data BooleanValueExpressionOr =- BooleanValueExpressionOr {- booleanValueExpressionOrLhs :: BooleanValueExpression,- booleanValueExpressionOrRhs :: BooleanTerm}- deriving (Eq, Ord, Read, Show)--_BooleanValueExpressionOr = Core.Name "hydra.sql.syntax.BooleanValueExpressionOr"--_BooleanValueExpressionOr_lhs = Core.Name "lhs"--_BooleanValueExpressionOr_rhs = Core.Name "rhs"---- | A CASE expression, selecting a result from among several alternatives-newtype CaseExpression =- CaseExpression {- unCaseExpression :: ()}- deriving (Eq, Ord, Read, Show)--_CaseExpression = Core.Name "hydra.sql.syntax.CaseExpression"---- | A CAST expression, converting a value to a specified data type-newtype CastSpecification =- CastSpecification {- unCastSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_CastSpecification = Core.Name "hydra.sql.syntax.CastSpecification"---- | The name of a character set-newtype CharacterSetSpecification =- CharacterSetSpecification {- unCharacterSetSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_CharacterSetSpecification = Core.Name "hydra.sql.syntax.CharacterSetSpecification"---- | A character string literal, e.g. 'hello'-newtype CharacterStringLiteral =- CharacterStringLiteral {- unCharacterStringLiteral :: String}- deriving (Eq, Ord, Read, Show)--_CharacterStringLiteral = Core.Name "hydra.sql.syntax.CharacterStringLiteral"---- | A character string type: CHARACTER, VARCHAR, or CHARACTER LARGE OBJECT-data CharacterStringType =- CharacterStringTypeCharacter (Maybe Length) |- CharacterStringTypeChar (Maybe Length) |- CharacterStringTypeCharacterVarying Length |- CharacterStringTypeCharVarying Length |- CharacterStringTypeVarchar Length |- CharacterStringTypeCharacterLargeObject (Maybe LargeObjectLength) |- CharacterStringTypeCharLargeObject (Maybe LargeObjectLength) |- CharacterStringTypeClob (Maybe LargeObjectLength)- deriving (Eq, Ord, Read, Show)--_CharacterStringType = Core.Name "hydra.sql.syntax.CharacterStringType"--_CharacterStringType_character = Core.Name "character"--_CharacterStringType_char = Core.Name "char"--_CharacterStringType_characterVarying = Core.Name "characterVarying"--_CharacterStringType_charVarying = Core.Name "charVarying"--_CharacterStringType_varchar = Core.Name "varchar"--_CharacterStringType_characterLargeObject = Core.Name "characterLargeObject"--_CharacterStringType_charLargeObject = Core.Name "charLargeObject"--_CharacterStringType_clob = Core.Name "clob"---- | A COLLATE clause specifying the collation to apply to a character value-newtype CollateClause =- CollateClause {- unCollateClause :: ()}- deriving (Eq, Ord, Read, Show)--_CollateClause = Core.Name "hydra.sql.syntax.CollateClause"---- | A collection type: ARRAY or MULTISET-data CollectionType =- CollectionTypeArray ArrayType |- CollectionTypeMultiset MultisetType- deriving (Eq, Ord, Read, Show)--_CollectionType = Core.Name "hydra.sql.syntax.CollectionType"--_CollectionType_array = Core.Name "array"--_CollectionType_multiset = Core.Name "multiset"---- | A constructor for a collection value: an array or multiset constructor-data CollectionValueConstructor =- CollectionValueConstructorArray ArrayValueConstructor |- CollectionValueConstructorMultiset MultisetValueConstructor- deriving (Eq, Ord, Read, Show)--_CollectionValueConstructor = Core.Name "hydra.sql.syntax.CollectionValueConstructor"--_CollectionValueConstructor_array = Core.Name "array"--_CollectionValueConstructor_multiset = Core.Name "multiset"---- | An expression that evaluates to a collection value-data CollectionValueExpression =- CollectionValueExpressionArray ArrayValueExpression |- CollectionValueExpressionMultiset MultisetValueExpression- deriving (Eq, Ord, Read, Show)--_CollectionValueExpression = Core.Name "hydra.sql.syntax.CollectionValueExpression"--_CollectionValueExpression_array = Core.Name "array"--_CollectionValueExpression_multiset = Core.Name "multiset"---- | A constraint attached to a single column definition-newtype ColumnConstraintDefinition =- ColumnConstraintDefinition {- unColumnConstraintDefinition :: ()}- deriving (Eq, Ord, Read, Show)--_ColumnConstraintDefinition = Core.Name "hydra.sql.syntax.ColumnConstraintDefinition"---- | The definition of a single column within a table definition-data ColumnDefinition =- ColumnDefinition {- columnDefinitionName :: ColumnName,- columnDefinitionTypeOrDomain :: (Maybe ColumnDefinitionTypeOrDomainOption),- columnDefinitionRefScope :: (Maybe ReferenceScopeCheck),- columnDefinitionDefaultOrIdentityOrGeneration :: (Maybe ColumnDefinitionDefaultOrIdentityOrGenerationOption),- columnDefinitionConstraints :: [ColumnConstraintDefinition],- columnDefinitionCollate :: (Maybe CollateClause)}- deriving (Eq, Ord, Read, Show)--_ColumnDefinition = Core.Name "hydra.sql.syntax.ColumnDefinition"--_ColumnDefinition_name = Core.Name "name"--_ColumnDefinition_typeOrDomain = Core.Name "typeOrDomain"--_ColumnDefinition_refScope = Core.Name "refScope"--_ColumnDefinition_defaultOrIdentityOrGeneration = Core.Name "defaultOrIdentityOrGeneration"--_ColumnDefinition_constraints = Core.Name "constraints"--_ColumnDefinition_collate = Core.Name "collate"---- | A column's default value, identity, or generation specification-data ColumnDefinitionDefaultOrIdentityOrGenerationOption =- ColumnDefinitionDefaultOrIdentityOrGenerationOptionDefaultClause DefaultClause |- ColumnDefinitionDefaultOrIdentityOrGenerationOptionIdentityColumnSpecification IdentityColumnSpecification |- ColumnDefinitionDefaultOrIdentityOrGenerationOptionGenerationClause GenerationClause- deriving (Eq, Ord, Read, Show)--_ColumnDefinitionDefaultOrIdentityOrGenerationOption =- Core.Name "hydra.sql.syntax.ColumnDefinitionDefaultOrIdentityOrGenerationOption"--_ColumnDefinitionDefaultOrIdentityOrGenerationOption_DefaultClause = Core.Name "DefaultClause"--_ColumnDefinitionDefaultOrIdentityOrGenerationOption_IdentityColumnSpecification =- Core.Name "IdentityColumnSpecification"--_ColumnDefinitionDefaultOrIdentityOrGenerationOption_GenerationClause = Core.Name "GenerationClause"---- | A column's declared data type or domain-data ColumnDefinitionTypeOrDomainOption =- ColumnDefinitionTypeOrDomainOptionDataType DataType |- ColumnDefinitionTypeOrDomainOptionDomainName DomainName- deriving (Eq, Ord, Read, Show)--_ColumnDefinitionTypeOrDomainOption = Core.Name "hydra.sql.syntax.ColumnDefinitionTypeOrDomainOption"--_ColumnDefinitionTypeOrDomainOption_DataType = Core.Name "DataType"--_ColumnDefinitionTypeOrDomainOption_DomainName = Core.Name "DomainName"---- | The name of a table column-newtype ColumnName =- ColumnName {- unColumnName :: String}- deriving (Eq, Ord, Read, Show)--_ColumnName = Core.Name "hydra.sql.syntax.ColumnName"---- | A non-empty, comma-separated list of column names-data ColumnNameList =- ColumnNameList {- columnNameListFirst :: ColumnName,- columnNameListRest :: [ColumnName]}- deriving (Eq, Ord, Read, Show)--_ColumnNameList = Core.Name "hydra.sql.syntax.ColumnNameList"--_ColumnNameList_first = Core.Name "first"--_ColumnNameList_rest = Core.Name "rest"---- | The WITH OPTIONS clause of a column definition inherited via LIKE-newtype ColumnOptions =- ColumnOptions {- unColumnOptions :: ()}- deriving (Eq, Ord, Read, Show)--_ColumnOptions = Core.Name "hydra.sql.syntax.ColumnOptions"---- | A reference to a column, optionally qualified by a table or correlation name-newtype ColumnReference =- ColumnReference {- unColumnReference :: ()}- deriving (Eq, Ord, Read, Show)--_ColumnReference = Core.Name "hydra.sql.syntax.ColumnReference"---- | A value expression common to numeric, string, datetime, interval, user-defined, reference, and collection types-data CommonValueExpression =- CommonValueExpressionNumeric NumericValueExpression |- CommonValueExpressionString StringValueExpression |- CommonValueExpressionDatetime DatetimeValueExpression |- CommonValueExpressionInterval IntervalValueExpression |- CommonValueExpressionUserDefined UserDefinedTypeValueExpression |- CommonValueExpressionReference ReferenceValueExpression |- CommonValueExpressionCollection CollectionValueExpression- deriving (Eq, Ord, Read, Show)--_CommonValueExpression = Core.Name "hydra.sql.syntax.CommonValueExpression"--_CommonValueExpression_numeric = Core.Name "numeric"--_CommonValueExpression_string = Core.Name "string"--_CommonValueExpression_datetime = Core.Name "datetime"--_CommonValueExpression_interval = Core.Name "interval"--_CommonValueExpression_userDefined = Core.Name "userDefined"--_CommonValueExpression_reference = Core.Name "reference"--_CommonValueExpression_collection = Core.Name "collection"---- | A row value constructor whose element types are inferred from context-newtype ContextuallyTypedRowValueConstructor =- ContextuallyTypedRowValueConstructor {- unContextuallyTypedRowValueConstructor :: ()}- deriving (Eq, Ord, Read, Show)--_ContextuallyTypedRowValueConstructor = Core.Name "hydra.sql.syntax.ContextuallyTypedRowValueConstructor"---- | A contextually typed row value expression: a special case or a constructor-data ContextuallyTypedRowValueExpression =- ContextuallyTypedRowValueExpressionSpecialCase RowValueSpecialCase |- ContextuallyTypedRowValueExpressionConstructor ContextuallyTypedRowValueConstructor- deriving (Eq, Ord, Read, Show)--_ContextuallyTypedRowValueExpression = Core.Name "hydra.sql.syntax.ContextuallyTypedRowValueExpression"--_ContextuallyTypedRowValueExpression_specialCase = Core.Name "specialCase"--_ContextuallyTypedRowValueExpression_constructor = Core.Name "constructor"---- | A non-empty, comma-separated list of contextually typed row value expressions-data ContextuallyTypedRowValueExpressionList =- ContextuallyTypedRowValueExpressionList {- contextuallyTypedRowValueExpressionListFirst :: ContextuallyTypedRowValueExpression,- contextuallyTypedRowValueExpressionListRest :: [ContextuallyTypedRowValueExpression]}- deriving (Eq, Ord, Read, Show)--_ContextuallyTypedRowValueExpressionList = Core.Name "hydra.sql.syntax.ContextuallyTypedRowValueExpressionList"--_ContextuallyTypedRowValueExpressionList_first = Core.Name "first"--_ContextuallyTypedRowValueExpressionList_rest = Core.Name "rest"---- | A table value constructor built from a list of contextually typed row values-newtype ContextuallyTypedTableValueConstructor =- ContextuallyTypedTableValueConstructor {- unContextuallyTypedTableValueConstructor :: ContextuallyTypedRowValueExpressionList}- deriving (Eq, Ord, Read, Show)--_ContextuallyTypedTableValueConstructor = Core.Name "hydra.sql.syntax.ContextuallyTypedTableValueConstructor"---- | A data type: predefined, row, named, reference, or collection-data DataType =- DataTypePredefined PredefinedType |- DataTypeRow RowType |- DataTypeNamed PathResolvedUserDefinedTypeName |- DataTypeReference ReferenceType |- DataTypeCollection CollectionType- deriving (Eq, Ord, Read, Show)--_DataType = Core.Name "hydra.sql.syntax.DataType"--_DataType_predefined = Core.Name "predefined"--_DataType_row = Core.Name "row"--_DataType_named = Core.Name "named"--_DataType_reference = Core.Name "reference"--_DataType_collection = Core.Name "collection"---- | A DATE literal-newtype DateLiteral =- DateLiteral {- unDateLiteral :: DateString}- deriving (Eq, Ord, Read, Show)--_DateLiteral = Core.Name "hydra.sql.syntax.DateLiteral"---- | The string representation of a date literal, e.g. '2003-01-01'-newtype DateString =- DateString {- unDateString :: ()}- deriving (Eq, Ord, Read, Show)--_DateString = Core.Name "hydra.sql.syntax.DateString"---- | A datetime literal: a date, time, or timestamp literal-data DatetimeLiteral =- DatetimeLiteralDate DateLiteral |- DatetimeLiteralTime TimeLiteral |- DatetimeLiteralTimestamp TimestampLiteral- deriving (Eq, Ord, Read, Show)--_DatetimeLiteral = Core.Name "hydra.sql.syntax.DatetimeLiteral"--_DatetimeLiteral_date = Core.Name "date"--_DatetimeLiteral_time = Core.Name "time"--_DatetimeLiteral_timestamp = Core.Name "timestamp"---- | A datetime type: DATE, TIME, or TIMESTAMP-newtype DatetimeType =- DatetimeType {- unDatetimeType :: ()}- deriving (Eq, Ord, Read, Show)--_DatetimeType = Core.Name "hydra.sql.syntax.DatetimeType"---- | An expression that evaluates to a datetime value-newtype DatetimeValueExpression =- DatetimeValueExpression {- unDatetimeValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_DatetimeValueExpression = Core.Name "hydra.sql.syntax.DatetimeValueExpression"---- | A DEFAULT clause specifying a column's default value-newtype DefaultClause =- DefaultClause {- unDefaultClause :: ()}- deriving (Eq, Ord, Read, Show)--_DefaultClause = Core.Name "hydra.sql.syntax.DefaultClause"---- | The name of a user-defined domain-newtype DomainName =- DomainName {- unDomainName :: String}- deriving (Eq, Ord, Read, Show)--_DomainName = Core.Name "hydra.sql.syntax.DomainName"---- | An exact numeric literal, such as an integer or fixed-point decimal-newtype ExactNumericLiteral =- ExactNumericLiteral {- unExactNumericLiteral :: String}- deriving (Eq, Ord, Read, Show)--_ExactNumericLiteral = Core.Name "hydra.sql.syntax.ExactNumericLiteral"---- | An exact numeric type: NUMERIC, DECIMAL, DEC, SMALLINT, INTEGER, INT, or BIGINT-data ExactNumericType =- ExactNumericTypeNumeric (Maybe ExactNumericTypeNumericOption) |- ExactNumericTypeDecimal (Maybe ExactNumericTypeDecimalOption) |- ExactNumericTypeDec (Maybe ExactNumericTypeDecOption) |- ExactNumericTypeSmallint |- ExactNumericTypeInteger |- ExactNumericTypeInt |- ExactNumericTypeBigint- deriving (Eq, Ord, Read, Show)--_ExactNumericType = Core.Name "hydra.sql.syntax.ExactNumericType"--_ExactNumericType_numeric = Core.Name "numeric"--_ExactNumericType_decimal = Core.Name "decimal"--_ExactNumericType_dec = Core.Name "dec"--_ExactNumericType_smallint = Core.Name "smallint"--_ExactNumericType_integer = Core.Name "integer"--_ExactNumericType_int = Core.Name "int"--_ExactNumericType_bigint = Core.Name "bigint"---- | The precision and optional scale of a DEC type-data ExactNumericTypeDecOption =- ExactNumericTypeDecOption {- exactNumericTypeDecOptionPrecision :: Precision,- exactNumericTypeDecOptionSequence :: (Maybe Scale)}- deriving (Eq, Ord, Read, Show)--_ExactNumericTypeDecOption = Core.Name "hydra.sql.syntax.ExactNumericTypeDecOption"--_ExactNumericTypeDecOption_Precision = Core.Name "Precision"--_ExactNumericTypeDecOption_Sequence = Core.Name "Sequence"---- | The precision and optional scale of a DECIMAL type-data ExactNumericTypeDecimalOption =- ExactNumericTypeDecimalOption {- exactNumericTypeDecimalOptionPrecision :: Precision,- exactNumericTypeDecimalOptionSequence :: (Maybe Scale)}- deriving (Eq, Ord, Read, Show)--_ExactNumericTypeDecimalOption = Core.Name "hydra.sql.syntax.ExactNumericTypeDecimalOption"--_ExactNumericTypeDecimalOption_Precision = Core.Name "Precision"--_ExactNumericTypeDecimalOption_Sequence = Core.Name "Sequence"---- | The precision and optional scale of a NUMERIC type-data ExactNumericTypeNumericOption =- ExactNumericTypeNumericOption {- exactNumericTypeNumericOptionPrecision :: Precision,- exactNumericTypeNumericOptionSequence :: (Maybe Scale)}- deriving (Eq, Ord, Read, Show)--_ExactNumericTypeNumericOption = Core.Name "hydra.sql.syntax.ExactNumericTypeNumericOption"--_ExactNumericTypeNumericOption_Precision = Core.Name "Precision"--_ExactNumericTypeNumericOption_Sequence = Core.Name "Sequence"---- | A reference to a field of a row or structured value-newtype FieldReference =- FieldReference {- unFieldReference :: ()}- deriving (Eq, Ord, Read, Show)--_FieldReference = Core.Name "hydra.sql.syntax.FieldReference"---- | An INSERT source specified by an explicit value constructor, with optional column list and override clause-data FromConstructor =- FromConstructor {- fromConstructorColumns :: (Maybe InsertColumnList),- fromConstructorOverride :: (Maybe OverrideClause),- fromConstructorValues :: ContextuallyTypedTableValueConstructor}- deriving (Eq, Ord, Read, Show)--_FromConstructor = Core.Name "hydra.sql.syntax.FromConstructor"--_FromConstructor_columns = Core.Name "columns"--_FromConstructor_override = Core.Name "override"--_FromConstructor_values = Core.Name "values"---- | An INSERT source specified as DEFAULT VALUES-newtype FromDefault =- FromDefault {- unFromDefault :: ()}- deriving (Eq, Ord, Read, Show)--_FromDefault = Core.Name "hydra.sql.syntax.FromDefault"---- | An INSERT source specified as the result of a subquery-newtype FromSubquery =- FromSubquery {- unFromSubquery :: ()}- deriving (Eq, Ord, Read, Show)--_FromSubquery = Core.Name "hydra.sql.syntax.FromSubquery"---- | A general literal: a string, datetime, interval, or boolean literal-data GeneralLiteral =- GeneralLiteralString CharacterStringLiteral |- GeneralLiteralNationalString NationalCharacterStringLiteral |- GeneralLiteralUnicode UnicodeCharacterStringLiteral |- GeneralLiteralBinary BinaryStringLiteral |- GeneralLiteralDateTime DatetimeLiteral |- GeneralLiteralInterval IntervalLiteral |- GeneralLiteralBoolean BooleanLiteral- deriving (Eq, Ord, Read, Show)--_GeneralLiteral = Core.Name "hydra.sql.syntax.GeneralLiteral"--_GeneralLiteral_string = Core.Name "string"--_GeneralLiteral_nationalString = Core.Name "nationalString"--_GeneralLiteral_unicode = Core.Name "unicode"--_GeneralLiteral_binary = Core.Name "binary"--_GeneralLiteral_dateTime = Core.Name "dateTime"--_GeneralLiteral_interval = Core.Name "interval"--_GeneralLiteral_boolean = Core.Name "boolean"---- | A general value specification, such as a parameter or dynamic value-newtype GeneralValueSpecification =- GeneralValueSpecification {- unGeneralValueSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_GeneralValueSpecification = Core.Name "hydra.sql.syntax.GeneralValueSpecification"---- | A GENERATED ALWAYS AS clause for a computed column-newtype GenerationClause =- GenerationClause {- unGenerationClause :: ()}- deriving (Eq, Ord, Read, Show)--_GenerationClause = Core.Name "hydra.sql.syntax.GenerationClause"---- | The GLOBAL or LOCAL qualifier of a temporary table scope-data GlobalOrLocal =- GlobalOrLocalGlobal |- GlobalOrLocalLocal- deriving (Eq, Ord, Read, Show)--_GlobalOrLocal = Core.Name "hydra.sql.syntax.GlobalOrLocal"--_GlobalOrLocal_global = Core.Name "global"--_GlobalOrLocal_local = Core.Name "local"---- | A GENERATED ... AS IDENTITY column specification-newtype IdentityColumnSpecification =- IdentityColumnSpecification {- unIdentityColumnSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_IdentityColumnSpecification = Core.Name "hydra.sql.syntax.IdentityColumnSpecification"---- | The parenthesized list of target column names in an INSERT statement-newtype InsertColumnList =- InsertColumnList {- unInsertColumnList :: ColumnNameList}- deriving (Eq, Ord, Read, Show)--_InsertColumnList = Core.Name "hydra.sql.syntax.InsertColumnList"---- | The column list and value source of an INSERT statement: a subquery, constructor, or default-data InsertColumnsAndSource =- InsertColumnsAndSourceSubquery FromSubquery |- InsertColumnsAndSourceConstructor FromConstructor |- InsertColumnsAndSourceDefault FromDefault- deriving (Eq, Ord, Read, Show)--_InsertColumnsAndSource = Core.Name "hydra.sql.syntax.InsertColumnsAndSource"--_InsertColumnsAndSource_subquery = Core.Name "subquery"--_InsertColumnsAndSource_constructor = Core.Name "constructor"--_InsertColumnsAndSource_default = Core.Name "default"---- | An ANSI SQL INSERT statement-data InsertStatement =- InsertStatement {- insertStatementTarget :: InsertionTarget,- insertStatementColumnsAndSource :: InsertColumnsAndSource}- deriving (Eq, Ord, Read, Show)--_InsertStatement = Core.Name "hydra.sql.syntax.InsertStatement"--_InsertStatement_target = Core.Name "target"--_InsertStatement_columnsAndSource = Core.Name "columnsAndSource"---- | The table into which an INSERT statement inserts rows-newtype InsertionTarget =- InsertionTarget {- unInsertionTarget :: TableName}- deriving (Eq, Ord, Read, Show)--_InsertionTarget = Core.Name "hydra.sql.syntax.InsertionTarget"---- | An INTERVAL literal-newtype IntervalLiteral =- IntervalLiteral {- unIntervalLiteral :: ()}- deriving (Eq, Ord, Read, Show)--_IntervalLiteral = Core.Name "hydra.sql.syntax.IntervalLiteral"---- | The INTERVAL data type-newtype IntervalType =- IntervalType {- unIntervalType :: ()}- deriving (Eq, Ord, Read, Show)--_IntervalType = Core.Name "hydra.sql.syntax.IntervalType"---- | An expression that evaluates to an interval value-newtype IntervalValueExpression =- IntervalValueExpression {- unIntervalValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_IntervalValueExpression = Core.Name "hydra.sql.syntax.IntervalValueExpression"---- | The length specification of a large object type, e.g. 1K, 1M, or 1G-newtype LargeObjectLength =- LargeObjectLength {- unLargeObjectLength :: ()}- deriving (Eq, Ord, Read, Show)--_LargeObjectLength = Core.Name "hydra.sql.syntax.LargeObjectLength"---- | A left square bracket, or its trigraph equivalent ??(-newtype LeftBracketOrTrigraph =- LeftBracketOrTrigraph {- unLeftBracketOrTrigraph :: String}- deriving (Eq, Ord, Read, Show)--_LeftBracketOrTrigraph = Core.Name "hydra.sql.syntax.LeftBracketOrTrigraph"---- | The length specification of a character or binary string type-newtype Length =- Length {- unLength :: UnsignedInteger}- deriving (Eq, Ord, Read, Show)--_Length = Core.Name "hydra.sql.syntax.Length"---- | A LIKE clause, copying column definitions from another table-newtype LikeClause =- LikeClause {- unLikeClause :: ()}- deriving (Eq, Ord, Read, Show)--_LikeClause = Core.Name "hydra.sql.syntax.LikeClause"---- | An invocation of a method on a structured value-newtype MethodInvocation =- MethodInvocation {- unMethodInvocation :: ()}- deriving (Eq, Ord, Read, Show)--_MethodInvocation = Core.Name "hydra.sql.syntax.MethodInvocation"---- | A reference to an element of a multiset by way of the ELEMENT function-newtype MultisetElementReference =- MultisetElementReference {- unMultisetElementReference :: ()}- deriving (Eq, Ord, Read, Show)--_MultisetElementReference = Core.Name "hydra.sql.syntax.MultisetElementReference"---- | A MULTISET collection type over a given element data type-newtype MultisetType =- MultisetType {- unMultisetType :: DataType}- deriving (Eq, Ord, Read, Show)--_MultisetType = Core.Name "hydra.sql.syntax.MultisetType"---- | A constructor for a multiset value-newtype MultisetValueConstructor =- MultisetValueConstructor {- unMultisetValueConstructor :: ()}- deriving (Eq, Ord, Read, Show)--_MultisetValueConstructor = Core.Name "hydra.sql.syntax.MultisetValueConstructor"---- | An expression that evaluates to a multiset value-newtype MultisetValueExpression =- MultisetValueExpression {- unMultisetValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_MultisetValueExpression = Core.Name "hydra.sql.syntax.MultisetValueExpression"---- | A national character string literal, e.g. N'hello'-newtype NationalCharacterStringLiteral =- NationalCharacterStringLiteral {- unNationalCharacterStringLiteral :: ()}- deriving (Eq, Ord, Read, Show)--_NationalCharacterStringLiteral = Core.Name "hydra.sql.syntax.NationalCharacterStringLiteral"---- | A national character string type: NATIONAL CHARACTER or NATIONAL CHARACTER VARYING-newtype NationalCharacterStringType =- NationalCharacterStringType {- unNationalCharacterStringType :: ()}- deriving (Eq, Ord, Read, Show)--_NationalCharacterStringType = Core.Name "hydra.sql.syntax.NationalCharacterStringType"---- | A NEW invocation, constructing an instance of a structured type-newtype NewSpecification =- NewSpecification {- unNewSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_NewSpecification = Core.Name "hydra.sql.syntax.NewSpecification"---- | A NEXT VALUE FOR expression, retrieving the next value of a sequence generator-newtype NextValueExpression =- NextValueExpression {- unNextValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_NextValueExpression = Core.Name "hydra.sql.syntax.NextValueExpression"---- | A value expression primary that does not begin with a parenthesis-data NonparenthesizedValueExpressionPrimary =- NonparenthesizedValueExpressionPrimaryUnsigned UnsignedValueSpecification |- NonparenthesizedValueExpressionPrimaryColumn ColumnReference |- NonparenthesizedValueExpressionPrimarySetFunction SetFunctionSpecification |- NonparenthesizedValueExpressionPrimaryWindowFunction WindowFunction |- NonparenthesizedValueExpressionPrimaryScalarSubquery ScalarSubquery |- NonparenthesizedValueExpressionPrimaryCases CaseExpression |- NonparenthesizedValueExpressionPrimaryCast CastSpecification |- NonparenthesizedValueExpressionPrimaryField FieldReference |- NonparenthesizedValueExpressionPrimarySubtype SubtypeTreatment |- NonparenthesizedValueExpressionPrimaryMethod MethodInvocation |- NonparenthesizedValueExpressionPrimaryStaticMethod StaticMethodInvocation |- NonparenthesizedValueExpressionPrimaryNew NewSpecification |- NonparenthesizedValueExpressionPrimaryAttributeOrMethod AttributeOrMethodReference |- NonparenthesizedValueExpressionPrimaryReference ReferenceResolution |- NonparenthesizedValueExpressionPrimaryCollection CollectionValueConstructor |- NonparenthesizedValueExpressionPrimaryArrayElement ArrayElementReference |- NonparenthesizedValueExpressionPrimaryMultisetElement MultisetElementReference |- NonparenthesizedValueExpressionPrimaryRoutine RoutineInvocation |- NonparenthesizedValueExpressionPrimaryNext NextValueExpression- deriving (Eq, Ord, Read, Show)--_NonparenthesizedValueExpressionPrimary = Core.Name "hydra.sql.syntax.NonparenthesizedValueExpressionPrimary"--_NonparenthesizedValueExpressionPrimary_unsigned = Core.Name "unsigned"--_NonparenthesizedValueExpressionPrimary_column = Core.Name "column"--_NonparenthesizedValueExpressionPrimary_setFunction = Core.Name "setFunction"--_NonparenthesizedValueExpressionPrimary_windowFunction = Core.Name "windowFunction"--_NonparenthesizedValueExpressionPrimary_scalarSubquery = Core.Name "scalarSubquery"--_NonparenthesizedValueExpressionPrimary_cases = Core.Name "cases"--_NonparenthesizedValueExpressionPrimary_cast = Core.Name "cast"--_NonparenthesizedValueExpressionPrimary_field = Core.Name "field"--_NonparenthesizedValueExpressionPrimary_subtype = Core.Name "subtype"--_NonparenthesizedValueExpressionPrimary_method = Core.Name "method"--_NonparenthesizedValueExpressionPrimary_staticMethod = Core.Name "staticMethod"--_NonparenthesizedValueExpressionPrimary_new = Core.Name "new"--_NonparenthesizedValueExpressionPrimary_attributeOrMethod = Core.Name "attributeOrMethod"--_NonparenthesizedValueExpressionPrimary_reference = Core.Name "reference"--_NonparenthesizedValueExpressionPrimary_collection = Core.Name "collection"--_NonparenthesizedValueExpressionPrimary_arrayElement = Core.Name "arrayElement"--_NonparenthesizedValueExpressionPrimary_multisetElement = Core.Name "multisetElement"--_NonparenthesizedValueExpressionPrimary_routine = Core.Name "routine"--_NonparenthesizedValueExpressionPrimary_next = Core.Name "next"---- | A numeric type: exact or approximate-data NumericType =- NumericTypeExact ExactNumericType |- NumericTypeApproximate ApproximateNumericType- deriving (Eq, Ord, Read, Show)--_NumericType = Core.Name "hydra.sql.syntax.NumericType"--_NumericType_exact = Core.Name "exact"--_NumericType_approximate = Core.Name "approximate"---- | An expression that evaluates to a numeric value-newtype NumericValueExpression =- NumericValueExpression {- unNumericValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_NumericValueExpression = Core.Name "hydra.sql.syntax.NumericValueExpression"---- | An OVERRIDING USER VALUE or OVERRIDING SYSTEM VALUE clause of an INSERT statement-data OverrideClause =- OverrideClauseOVERRIDINGspUSERspVALUE |- OverrideClauseOVERRIDINGspSYSTEMspVALUE- deriving (Eq, Ord, Read, Show)--_OverrideClause = Core.Name "hydra.sql.syntax.OverrideClause"--_OverrideClause_OVERRIDINGspUSERspVALUE = Core.Name "OVERRIDINGspUSERspVALUE"--_OverrideClause_OVERRIDINGspSYSTEMspVALUE = Core.Name "OVERRIDINGspSYSTEMspVALUE"---- | A value expression enclosed in parentheses-newtype ParenthesizedValueExpression =- ParenthesizedValueExpression {- unParenthesizedValueExpression :: ValueExpression}- deriving (Eq, Ord, Read, Show)--_ParenthesizedValueExpression = Core.Name "hydra.sql.syntax.ParenthesizedValueExpression"---- | A user-defined type name, resolved against the current schema path-newtype PathResolvedUserDefinedTypeName =- PathResolvedUserDefinedTypeName {- unPathResolvedUserDefinedTypeName :: String}- deriving (Eq, Ord, Read, Show)--_PathResolvedUserDefinedTypeName = Core.Name "hydra.sql.syntax.PathResolvedUserDefinedTypeName"---- | The precision of a numeric type, as an unsigned integer-newtype Precision =- Precision {- unPrecision :: UnsignedInteger}- deriving (Eq, Ord, Read, Show)--_Precision = Core.Name "hydra.sql.syntax.Precision"---- | A predefined data type: string, numeric, boolean, datetime, or interval-data PredefinedType =- PredefinedTypeStringType PredefinedTypeString |- PredefinedTypeNationalStringType PredefinedTypeNationalString |- PredefinedTypeBlob BinaryLargeObjectStringType |- PredefinedTypeNumeric NumericType |- PredefinedTypeBoolean BooleanType |- PredefinedTypeDatetime DatetimeType |- PredefinedTypeInterval IntervalType- deriving (Eq, Ord, Read, Show)--_PredefinedType = Core.Name "hydra.sql.syntax.PredefinedType"--_PredefinedType_stringType = Core.Name "stringType"--_PredefinedType_nationalStringType = Core.Name "nationalStringType"--_PredefinedType_blob = Core.Name "blob"--_PredefinedType_numeric = Core.Name "numeric"--_PredefinedType_boolean = Core.Name "boolean"--_PredefinedType_datetime = Core.Name "datetime"--_PredefinedType_interval = Core.Name "interval"---- | A national character string type together with an optional COLLATE clause-data PredefinedTypeNationalString =- PredefinedTypeNationalString {- predefinedTypeNationalStringType :: NationalCharacterStringType,- predefinedTypeNationalStringCollate :: (Maybe CollateClause)}- deriving (Eq, Ord, Read, Show)--_PredefinedTypeNationalString = Core.Name "hydra.sql.syntax.PredefinedTypeNationalString"--_PredefinedTypeNationalString_type = Core.Name "type"--_PredefinedTypeNationalString_collate = Core.Name "collate"---- | A character string type together with an optional character set and COLLATE clause-data PredefinedTypeString =- PredefinedTypeString {- predefinedTypeStringType :: CharacterStringType,- predefinedTypeStringCharacters :: (Maybe CharacterSetSpecification),- predefinedTypeStringCollate :: (Maybe CollateClause)}- deriving (Eq, Ord, Read, Show)--_PredefinedTypeString = Core.Name "hydra.sql.syntax.PredefinedTypeString"--_PredefinedTypeString_type = Core.Name "type"--_PredefinedTypeString_characters = Core.Name "characters"--_PredefinedTypeString_collate = Core.Name "collate"---- | A predicate, evaluating to a boolean truth value-newtype Predicate =- Predicate {- unPredicate :: ()}- deriving (Eq, Ord, Read, Show)--_Predicate = Core.Name "hydra.sql.syntax.Predicate"---- | A query expression, such as a SELECT statement possibly combined with set operators-newtype QueryExpression =- QueryExpression {- unQueryExpression :: ()}- deriving (Eq, Ord, Read, Show)--_QueryExpression = Core.Name "hydra.sql.syntax.QueryExpression"---- | The DEREF operator, resolving a reference to the value it targets-newtype ReferenceResolution =- ReferenceResolution {- unReferenceResolution :: ()}- deriving (Eq, Ord, Read, Show)--_ReferenceResolution = Core.Name "hydra.sql.syntax.ReferenceResolution"---- | A REFERENCES ARE [NOT] CHECKED clause on a reference-typed column-newtype ReferenceScopeCheck =- ReferenceScopeCheck {- unReferenceScopeCheck :: ()}- deriving (Eq, Ord, Read, Show)--_ReferenceScopeCheck = Core.Name "hydra.sql.syntax.ReferenceScopeCheck"---- | A REF reference type over a given referenced type-newtype ReferenceType =- ReferenceType {- unReferenceType :: ()}- deriving (Eq, Ord, Read, Show)--_ReferenceType = Core.Name "hydra.sql.syntax.ReferenceType"---- | An expression that evaluates to a reference value-newtype ReferenceValueExpression =- ReferenceValueExpression {- unReferenceValueExpression :: ValueExpressionPrimary}- deriving (Eq, Ord, Read, Show)--_ReferenceValueExpression = Core.Name "hydra.sql.syntax.ReferenceValueExpression"---- | A right square bracket, or its trigraph equivalent ??)-newtype RightBracketOrTrigraph =- RightBracketOrTrigraph {- unRightBracketOrTrigraph :: String}- deriving (Eq, Ord, Read, Show)--_RightBracketOrTrigraph = Core.Name "hydra.sql.syntax.RightBracketOrTrigraph"---- | An invocation of a user-defined SQL routine-newtype RoutineInvocation =- RoutineInvocation {- unRoutineInvocation :: ()}- deriving (Eq, Ord, Read, Show)--_RoutineInvocation = Core.Name "hydra.sql.syntax.RoutineInvocation"---- | A ROW type, defined by a list of field name and data type pairs-newtype RowType =- RowType {- unRowType :: ()}- deriving (Eq, Ord, Read, Show)--_RowType = Core.Name "hydra.sql.syntax.RowType"---- | An expression that evaluates to a row value-newtype RowValueExpression =- RowValueExpression {- unRowValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_RowValueExpression = Core.Name "hydra.sql.syntax.RowValueExpression"---- | A row value expressed as a single nonparenthesized value expression-newtype RowValueSpecialCase =- RowValueSpecialCase {- unRowValueSpecialCase :: NonparenthesizedValueExpressionPrimary}- deriving (Eq, Ord, Read, Show)--_RowValueSpecialCase = Core.Name "hydra.sql.syntax.RowValueSpecialCase"---- | A subquery that returns exactly one row and one column-newtype ScalarSubquery =- ScalarSubquery {- unScalarSubquery :: Subquery}- deriving (Eq, Ord, Read, Show)--_ScalarSubquery = Core.Name "hydra.sql.syntax.ScalarSubquery"---- | The scale of a numeric type, as an unsigned integer-newtype Scale =- Scale {- unScale :: UnsignedInteger}- deriving (Eq, Ord, Read, Show)--_Scale = Core.Name "hydra.sql.syntax.Scale"---- | A REF IS clause identifying a table's self-referencing column-newtype SelfReferencingColumnSpecification =- SelfReferencingColumnSpecification {- unSelfReferencingColumnSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_SelfReferencingColumnSpecification = Core.Name "hydra.sql.syntax.SelfReferencingColumnSpecification"---- | A set (aggregate) function invocation, such as COUNT or SUM-newtype SetFunctionSpecification =- SetFunctionSpecification {- unSetFunctionSpecification :: ()}- deriving (Eq, Ord, Read, Show)--_SetFunctionSpecification = Core.Name "hydra.sql.syntax.SetFunctionSpecification"---- | An invocation of a static method on a user-defined type-newtype StaticMethodInvocation =- StaticMethodInvocation {- unStaticMethodInvocation :: ()}- deriving (Eq, Ord, Read, Show)--_StaticMethodInvocation = Core.Name "hydra.sql.syntax.StaticMethodInvocation"---- | An expression that evaluates to a character, binary, or Unicode string value-newtype StringValueExpression =- StringValueExpression {- unStringValueExpression :: ()}- deriving (Eq, Ord, Read, Show)--_StringValueExpression = Core.Name "hydra.sql.syntax.StringValueExpression"---- | A parenthesized query expression used as an operand-newtype Subquery =- Subquery {- unSubquery :: QueryExpression}- deriving (Eq, Ord, Read, Show)--_Subquery = Core.Name "hydra.sql.syntax.Subquery"---- | An UNDER clause declaring a table as a subtable of a supertable-newtype SubtableClause =- SubtableClause {- unSubtableClause :: ()}- deriving (Eq, Ord, Read, Show)--_SubtableClause = Core.Name "hydra.sql.syntax.SubtableClause"---- | A TREAT AS expression, treating a value as an instance of a subtype-newtype SubtypeTreatment =- SubtypeTreatment {- unSubtypeTreatment :: ()}- deriving (Eq, Ord, Read, Show)--_SubtypeTreatment = Core.Name "hydra.sql.syntax.SubtypeTreatment"---- | The ON COMMIT action of a temporary table: PRESERVE ROWS or DELETE ROWS-data TableCommitAction =- TableCommitActionPreserve |- TableCommitActionDelete- deriving (Eq, Ord, Read, Show)--_TableCommitAction = Core.Name "hydra.sql.syntax.TableCommitAction"--_TableCommitAction_preserve = Core.Name "preserve"--_TableCommitAction_delete = Core.Name "delete"---- | A table-level constraint definition-newtype TableConstraintDefinition =- TableConstraintDefinition {- unTableConstraintDefinition :: ()}- deriving (Eq, Ord, Read, Show)--_TableConstraintDefinition = Core.Name "hydra.sql.syntax.TableConstraintDefinition"---- | The source of a table's contents: an element list, a supertable, or a query-data TableContentsSource =- TableContentsSourceList TableElementList |- TableContentsSourceSubtableOf TableContentsSourceSubtable |- TableContentsSourceSubquery AsSubqueryClause- deriving (Eq, Ord, Read, Show)--_TableContentsSource = Core.Name "hydra.sql.syntax.TableContentsSource"--_TableContentsSource_list = Core.Name "list"--_TableContentsSource_subtableOf = Core.Name "subtableOf"--_TableContentsSource_subquery = Core.Name "subquery"---- | A table's contents defined as a subtable of a named user-defined type-data TableContentsSourceSubtable =- TableContentsSourceSubtable {- tableContentsSourceSubtableType :: PathResolvedUserDefinedTypeName,- tableContentsSourceSubtableSubtable :: (Maybe SubtableClause),- tableContentsSourceSubtableElements :: (Maybe TableElementList)}- deriving (Eq, Ord, Read, Show)--_TableContentsSourceSubtable = Core.Name "hydra.sql.syntax.TableContentsSourceSubtable"--_TableContentsSourceSubtable_type = Core.Name "type"--_TableContentsSourceSubtable_subtable = Core.Name "subtable"--_TableContentsSourceSubtable_elements = Core.Name "elements"---- | An ANSI SQL CREATE TABLE statement-data TableDefinition =- TableDefinition {- tableDefinitionScope :: (Maybe TableScope),- tableDefinitionName :: TableName,- tableDefinitionSource :: TableContentsSource,- tableDefinitionCommitActions :: (Maybe TableCommitAction)}- deriving (Eq, Ord, Read, Show)--_TableDefinition = Core.Name "hydra.sql.syntax.TableDefinition"--_TableDefinition_scope = Core.Name "scope"--_TableDefinition_name = Core.Name "name"--_TableDefinition_source = Core.Name "source"--_TableDefinition_commitActions = Core.Name "commitActions"---- | An element of a table definition: a column, constraint, LIKE clause, or related option-data TableElement =- TableElementColumn ColumnDefinition |- TableElementTableConstraint TableConstraintDefinition |- TableElementLike LikeClause |- TableElementSelfReferencingColumn SelfReferencingColumnSpecification |- TableElementColumOptions ColumnOptions- deriving (Eq, Ord, Read, Show)--_TableElement = Core.Name "hydra.sql.syntax.TableElement"--_TableElement_column = Core.Name "column"--_TableElement_tableConstraint = Core.Name "tableConstraint"--_TableElement_like = Core.Name "like"--_TableElement_selfReferencingColumn = Core.Name "selfReferencingColumn"--_TableElement_columOptions = Core.Name "columOptions"---- | A non-empty, comma-separated list of table elements-data TableElementList =- TableElementList {- tableElementListFirst :: TableElement,- tableElementListRest :: [TableElement]}- deriving (Eq, Ord, Read, Show)--_TableElementList = Core.Name "hydra.sql.syntax.TableElementList"--_TableElementList_first = Core.Name "first"--_TableElementList_rest = Core.Name "rest"---- | The name of a table-newtype TableName =- TableName {- unTableName :: String}- deriving (Eq, Ord, Read, Show)--_TableName = Core.Name "hydra.sql.syntax.TableName"---- | The GLOBAL or LOCAL TEMPORARY scope of a table definition-newtype TableScope =- TableScope {- unTableScope :: GlobalOrLocal}- deriving (Eq, Ord, Read, Show)--_TableScope = Core.Name "hydra.sql.syntax.TableScope"---- | A TIME literal-newtype TimeLiteral =- TimeLiteral {- unTimeLiteral :: TimeString}- deriving (Eq, Ord, Read, Show)--_TimeLiteral = Core.Name "hydra.sql.syntax.TimeLiteral"---- | The string representation of a time literal, e.g. '12:00:00'-newtype TimeString =- TimeString {- unTimeString :: ()}- deriving (Eq, Ord, Read, Show)--_TimeString = Core.Name "hydra.sql.syntax.TimeString"---- | A timestamp literal, combining a date and a time-newtype TimestampLiteral =- TimestampLiteral {- unTimestampLiteral :: ()}- deriving (Eq, Ord, Read, Show)--_TimestampLiteral = Core.Name "hydra.sql.syntax.TimestampLiteral"---- | A three-valued logic truth value: TRUE, FALSE, or UNKNOWN-data TruthValue =- TruthValueTRUE |- TruthValueFALSE |- TruthValueUNKNOWN- deriving (Eq, Ord, Read, Show)--_TruthValue = Core.Name "hydra.sql.syntax.TruthValue"--_TruthValue_TRUE = Core.Name "TRUE"--_TruthValue_FALSE = Core.Name "FALSE"--_TruthValue_UNKNOWN = Core.Name "UNKNOWN"---- | A Unicode character string literal, e.g. U&'hello'-newtype UnicodeCharacterStringLiteral =- UnicodeCharacterStringLiteral {- unUnicodeCharacterStringLiteral :: ()}- deriving (Eq, Ord, Read, Show)--_UnicodeCharacterStringLiteral = Core.Name "hydra.sql.syntax.UnicodeCharacterStringLiteral"---- | An unsigned integer literal-newtype UnsignedInteger =- UnsignedInteger {- unUnsignedInteger :: String}- deriving (Eq, Ord, Read, Show)--_UnsignedInteger = Core.Name "hydra.sql.syntax.UnsignedInteger"---- | An unsigned literal: a numeric or general literal-data UnsignedLiteral =- UnsignedLiteralNumeric UnsignedNumericLiteral |- UnsignedLiteralGeneral GeneralLiteral- deriving (Eq, Ord, Read, Show)--_UnsignedLiteral = Core.Name "hydra.sql.syntax.UnsignedLiteral"--_UnsignedLiteral_numeric = Core.Name "numeric"--_UnsignedLiteral_general = Core.Name "general"---- | An unsigned numeric literal: exact or approximate-data UnsignedNumericLiteral =- UnsignedNumericLiteralExact ExactNumericLiteral |- UnsignedNumericLiteralApproximate ApproximateNumericLiteral- deriving (Eq, Ord, Read, Show)--_UnsignedNumericLiteral = Core.Name "hydra.sql.syntax.UnsignedNumericLiteral"--_UnsignedNumericLiteral_exact = Core.Name "exact"--_UnsignedNumericLiteral_approximate = Core.Name "approximate"---- | An unsigned value specification: a literal or a general value specification-data UnsignedValueSpecification =- UnsignedValueSpecificationLiteral UnsignedLiteral |- UnsignedValueSpecificationGeneral GeneralValueSpecification- deriving (Eq, Ord, Read, Show)--_UnsignedValueSpecification = Core.Name "hydra.sql.syntax.UnsignedValueSpecification"--_UnsignedValueSpecification_literal = Core.Name "literal"--_UnsignedValueSpecification_general = Core.Name "general"---- | An expression that evaluates to a value of a user-defined type-newtype UserDefinedTypeValueExpression =- UserDefinedTypeValueExpression {- unUserDefinedTypeValueExpression :: ValueExpressionPrimary}- deriving (Eq, Ord, Read, Show)--_UserDefinedTypeValueExpression = Core.Name "hydra.sql.syntax.UserDefinedTypeValueExpression"---- | A value expression: common, boolean, or row-valued-data ValueExpression =- ValueExpressionCommon CommonValueExpression |- ValueExpressionBoolean BooleanValueExpression |- ValueExpressionRow RowValueExpression- deriving (Eq, Ord, Read, Show)--_ValueExpression = Core.Name "hydra.sql.syntax.ValueExpression"--_ValueExpression_common = Core.Name "common"--_ValueExpression_boolean = Core.Name "boolean"--_ValueExpression_row = Core.Name "row"---- | A value expression primary, optionally parenthesized-data ValueExpressionPrimary =- ValueExpressionPrimaryParens ParenthesizedValueExpression |- ValueExpressionPrimaryNoparens NonparenthesizedValueExpressionPrimary- deriving (Eq, Ord, Read, Show)--_ValueExpressionPrimary = Core.Name "hydra.sql.syntax.ValueExpressionPrimary"--_ValueExpressionPrimary_parens = Core.Name "parens"--_ValueExpressionPrimary_noparens = Core.Name "noparens"---- | A window function invocation, such as ROW_NUMBER() OVER (...)-newtype WindowFunction =- WindowFunction {- unWindowFunction :: ()}- deriving (Eq, Ord, Read, Show)--_WindowFunction = Core.Name "hydra.sql.syntax.WindowFunction"
− src/main/haskell/Hydra/Stac/Items.hs
@@ -1,191 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for SpatioTemporal Asset Catalog (STAC) Items. See https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md--module Hydra.Stac.Items where--import qualified Hydra.Core as Core-import qualified Hydra.Geojson.Model as Model-import qualified Hydra.Iana.Linkrelations as Linkrelations-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---- | An Asset is an object that contains a URI to data associated with the Item that can be downloaded or streamed. It is allowed to add additional fields.-data Asset =- Asset {- -- | URI to the asset object. Relative and absolute URI are both allowed.- assetHref :: Uri,- -- | The displayed title for clients and users.- assetTitle :: (Maybe String),- -- | A description of the Asset providing additional details, such as how it was processed or created. CommonMark 0.29 syntax MAY be used for rich text representation.- assetDescription :: (Maybe String),- -- | Media type of the asset. See the common media types in the best practice doc for commonly used asset types.- assetType :: (Maybe MediaType),- -- | The semantic roles of the asset, similar to the use of rel in links.- assetRoles :: [Role]}- deriving (Eq, Ord, Read, Show)--_Asset = Core.Name "hydra.stac.items.Asset"--_Asset_href = Core.Name "href"--_Asset_title = Core.Name "title"--_Asset_description = Core.Name "description"--_Asset_type = Core.Name "type"--_Asset_roles = Core.Name "roles"---- | This object describes a STAC Item. The fields id, type, bbox, geometry and properties are inherited from GeoJSON.-data Item =- Item {- itemFeature :: Model.Feature,- -- | The STAC version the Item implements- itemStacVersion :: StacVersion,- -- | A list of extensions the Item implements- itemStacExtensions :: [Url],- -- | List of link objects to resources and related URLs. A link with the rel set to self is strongly recommended.- itemLinks :: [Link],- -- | Dictionary of asset objects that can be downloaded, each with a unique key.- itemAssets :: (M.Map String Asset),- -- | The id of the STAC Collection this Item references to (see collection relation type). This field is required if such a relation type is present and is not allowed otherwise. This field provides an easy way for a user to search for any Items that belong in a specified Collection. Must be a non-empty string.- itemCollection :: (Maybe Model.Id)}- deriving (Eq, Ord, Read, Show)--_Item = Core.Name "hydra.stac.items.Item"--_Item_feature = Core.Name "feature"--_Item_stacVersion = Core.Name "stacVersion"--_Item_stacExtensions = Core.Name "stacExtensions"--_Item_links = Core.Name "links"--_Item_assets = Core.Name "assets"--_Item_collection = Core.Name "collection"---- | This object describes a relationship with another entity. Data providers are advised to be liberal with the links section, to describe things like the Catalog an Item is in, related Items, parent or child Items (modeled in different ways, like an 'acquisition' or derived data). It is allowed to add additional fields such as a title and type.-data Link =- Link {- -- | The actual link in the format of an URL. Relative and absolute links are both allowed.- linkHref :: Url,- -- | Relationship between the current document and the linked document. See chapter "Relation types" for more information.- linkRel :: RelationType,- -- | Media type of the referenced entity.- linkType :: (Maybe MediaType),- -- | A human readable title to be used in rendered displays of the link.- linkTitle :: (Maybe String)}- deriving (Eq, Ord, Read, Show)--_Link = Core.Name "hydra.stac.items.Link"--_Link_href = Core.Name "href"--_Link_rel = Core.Name "rel"--_Link_type = Core.Name "type"--_Link_title = Core.Name "title"---- | An IANA media type (MIME type) string identifying the format of an asset or linked resource-newtype MediaType =- MediaType {- unMediaType :: String}- deriving (Eq, Ord, Read, Show)--_MediaType = Core.Name "hydra.stac.items.MediaType"---- | STAC Items use a variety of rel types in the link object, to describe the exact nature of the link between this Item and the entity it is linking to. It is recommended to use the official IANA Link Relation Types where possible. The following table explains places where STAC use custom rel types are used with Items. This happens where there is not a clear official option, or where STAC uses an official type but adds additional meaning for the STAC context.-data RelationType =- RelationTypeIana Linkrelations.LinkRelationType |- RelationTypeStac StacRelationType |- RelationTypeOther String- deriving (Eq, Ord, Read, Show)--_RelationType = Core.Name "hydra.stac.items.RelationType"--_RelationType_iana = Core.Name "iana"--_RelationType_stac = Core.Name "stac"--_RelationType_other = Core.Name "other"---- | The roles field is used to describe the purpose of each asset. It is recommended to include one for every asset, to give users a sense of why they might want to make use of the asset. There are some emerging standards that enable clients to take particular action when they encounter particular roles, listed below. But implementors are encouraged to come up with their own terms to describe the role.-data Role =- -- | An asset that represents a thumbnail of the Item, typically a true color image (for Items with assets in the visible wavelengths), lower-resolution (typically smaller 600x600 pixels), and typically a JPEG or PNG (suitable for display in a web browser). Multiple assets may have this purpose, but it recommended that the type and roles be unique tuples. For example, Sentinel-2 L2A provides thumbnail images in both JPEG and JPEG2000 formats, and would be distinguished by their media types.- RoleThumbnail |- -- | An asset that represents a possibly larger view than the thumbnail of the Item, for example, a true color composite of multi-band data.- RoleOverview |- -- | The data itself. This is a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics.- RoleData |- -- | A metadata sidecar file describing the data in this Item, for example the Landsat-8 MTL file.- RoleMetadata |- RoleOther String- deriving (Eq, Ord, Read, Show)--_Role = Core.Name "hydra.stac.items.Role"--_Role_thumbnail = Core.Name "thumbnail"--_Role_overview = Core.Name "overview"--_Role_data = Core.Name "data"--_Role_metadata = Core.Name "metadata"--_Role_other = Core.Name "other"---- | A STAC-specific link relation type used to describe relationships between STAC entities-data StacRelationType =- -- | STRONGLY RECOMMENDED. Absolute URL to the Item if it is available at a public URL. This is particularly useful when in a download package that includes metadata, so that the downstream user can know where the data has come from.- StacRelationTypeSelf |- -- | URL to the root STAC entity (Catalog or Collection).- StacRelationTypeRoot |- -- | URL to the parent STAC entity (Catalog or Collection).- StacRelationTypeParent |- -- | STRONGLY RECOMMENDED. URL to a Collection. Absolute URLs should be used whenever possible. The referenced Collection is STRONGLY RECOMMENDED to implement the same STAC version as the Item. A link with this rel type is required if the collection field in properties is present.- StacRelationTypeCollection |- -- | URL to a STAC Item that was used as input data in the creation of this Item.- StacRelationTypeDerivedFrom- deriving (Eq, Ord, Read, Show)--_StacRelationType = Core.Name "hydra.stac.items.StacRelationType"--_StacRelationType_self = Core.Name "self"--_StacRelationType_root = Core.Name "root"--_StacRelationType_parent = Core.Name "parent"--_StacRelationType_collection = Core.Name "collection"--_StacRelationType_derivedFrom = Core.Name "derivedFrom"---- | The version of the STAC specification that an Item implements-newtype StacVersion =- StacVersion {- unStacVersion :: String}- deriving (Eq, Ord, Read, Show)--_StacVersion = Core.Name "hydra.stac.items.StacVersion"---- | A URI string, used for asset and other resource references-newtype Uri =- Uri {- unUri :: String}- deriving (Eq, Ord, Read, Show)--_Uri = Core.Name "hydra.stac.items.Uri"---- | A URL string, used for links to related entities-newtype Url =- Url {- unUrl :: String}- deriving (Eq, Ord, Read, Show)--_Url = Core.Name "hydra.stac.items.Url"
− src/main/haskell/Hydra/Workflow.hs
@@ -1,68 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | A model for Hydra transformation workflows--module Hydra.Workflow where--import qualified Hydra.Core as Core-import qualified Hydra.Graph as Graph-import qualified Hydra.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---- | The specification of a Hydra schema, provided as a set of modules and a distinguished type-data HydraSchemaSpec =- HydraSchemaSpec {- -- | The modules to include in the schema graph- hydraSchemaSpecModules :: [Packaging.Module],- -- | The name of the top-level type; all data which passes through the workflow will be instances of this type- hydraSchemaSpecTypeName :: Core.Name}- deriving (Eq, Ord, Read, Show)--_HydraSchemaSpec = Core.Name "hydra.workflow.HydraSchemaSpec"--_HydraSchemaSpec_modules = Core.Name "modules"--_HydraSchemaSpec_typeName = Core.Name "typeName"---- | The specification of a schema at the source end of a workflow-data SchemaSpec =- -- | A native Hydra schema- SchemaSpecHydra HydraSchemaSpec |- -- | A schema provided as a file, available at the given file path- SchemaSpecFile String |- -- | A schema which will be provided within the workflow- SchemaSpecProvided- deriving (Eq, Ord, Read, Show)--_SchemaSpec = Core.Name "hydra.workflow.SchemaSpec"--_SchemaSpec_hydra = Core.Name "hydra"--_SchemaSpec_file = Core.Name "file"--_SchemaSpec_provided = Core.Name "provided"---- | The specification of a workflow which takes a schema specification, reads data from a directory, and writes data to another directory-data TransformWorkflow =- TransformWorkflow {- -- | A descriptive name for the workflow- transformWorkflowName :: String,- -- | The schema specification- transformWorkflowSchemaSpec :: SchemaSpec,- -- | The source directory- transformWorkflowSrcDir :: String,- -- | The destination directory- transformWorkflowDestDir :: String}- deriving (Eq, Ord, Read, Show)--_TransformWorkflow = Core.Name "hydra.workflow.TransformWorkflow"--_TransformWorkflow_name = Core.Name "name"--_TransformWorkflow_schemaSpec = Core.Name "schemaSpec"--_TransformWorkflow_srcDir = Core.Name "srcDir"--_TransformWorkflow_destDir = Core.Name "destDir"
− src/main/haskell/Hydra/Yaml/Coder.hs
@@ -1,279 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | YAML encoding and decoding for Hydra terms--module Hydra.Yaml.Coder where--import qualified Hydra.Adapt as Adapt-import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-import qualified Hydra.Errors as Errors-import qualified Hydra.Extract.Core as ExtractCore-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as JsonModel-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 LibLiterals-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.Literals as Literals-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Query as Query-import qualified Hydra.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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.Yaml.Language as Language-import qualified Hydra.Yaml.Model as YamlModel-import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void---- | Decode a YAML value to a record term-decodeRecord :: Core.Name -> [(Core.FieldType, (Coders.Coder Core.Term YamlModel.Node Errors.Error))] -> YamlModel.Node -> Either Errors.Error Core.Term-decodeRecord tname coders n =-- let decodeObjectBody =- \m ->- let decodeField =- \coder ->- let ft = Pairs.first coder- coder_ = Pairs.second coder- fname = Core.fieldTypeName ft- defaultValue = YamlModel.NodeScalar YamlModel.ScalarNull- yamlValue = Optionals.withDefault defaultValue (Maps.lookup (YamlModel.NodeScalar (YamlModel.ScalarStr (Core.unName fname))) m)- in (Eithers.bind (Coders.coderDecode coder_ yamlValue) (\v -> Right (Core.Field {- Core.fieldName = fname,- Core.fieldTerm = v})))- in (Eithers.bind (Eithers.mapList decodeField coders) (\fields -> Right (Core.TermRecord (Core.Record {- Core.recordTypeName = tname,- Core.recordFields = fields}))))- in case n of- YamlModel.NodeMapping v0 -> decodeObjectBody v0- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected mapping"))---- | Encode a record term to YAML-encodeRecord :: [(Core.FieldType, (Coders.Coder Core.Term YamlModel.Node Errors.Error))] -> Graph.Graph -> Core.Term -> Either Errors.Error YamlModel.Node-encodeRecord coders graph term =-- let stripped = Strip.deannotateTerm term- isMaybeNothing =- \ft -> \fvalue -> case (Core.fieldTypeType ft) of- Core.TypeOptional _ -> case fvalue of- Core.TermOptional v1 -> Optionals.isNone v1- _ -> False- _ -> False- encodeField =- \coderAndField ->- let ftAndCoder = Pairs.first coderAndField- field = Pairs.second coderAndField- ft = Pairs.first ftAndCoder- coder_ = Pairs.second ftAndCoder- fname = Core.fieldName field- fvalue = Core.fieldTerm field- in (Logic.ifElse (isMaybeNothing ft fvalue) (Right Nothing) (Eithers.bind (Coders.coderEncode coder_ fvalue) (\encoded -> Right (Just (YamlModel.NodeScalar (YamlModel.ScalarStr (Core.unName fname)), encoded)))))- in (Eithers.bind (ExtractCore.termRecord graph stripped) (\record ->- let fields = Core.recordFields record- in (Eithers.bind (Eithers.mapList encodeField (Lists.zip coders fields)) (\maybeFields -> Right (YamlModel.NodeMapping (Maps.fromList (Optionals.givens maybeFields)))))))---- | Create a YAML coder for literal types-literalYamlCoder :: Core.LiteralType -> Either t0 (Coders.Coder Core.Literal YamlModel.Scalar Errors.Error)-literalYamlCoder lt =-- let decodeBool =- \s -> case s of- YamlModel.ScalarBool v0 -> Right (Core.LiteralBoolean v0)- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected boolean, found scalar"])))- decodeDecimal =- \s -> case s of- YamlModel.ScalarDecimal v0 -> Right (Core.LiteralDecimal v0)- YamlModel.ScalarFloat v0 -> Right (Core.LiteralDecimal (LibLiterals.float64ToDecimal v0))- YamlModel.ScalarInt v0 -> Right (Core.LiteralDecimal (LibLiterals.bigintToDecimal v0))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected decimal, found scalar"])))- decodeFloat =- \s -> case s of- YamlModel.ScalarDecimal v0 -> Right (Core.LiteralFloat (Core.FloatValueFloat64 (LibLiterals.decimalToFloat64 v0)))- YamlModel.ScalarFloat v0 -> Right (Core.LiteralFloat (Core.FloatValueFloat64 v0))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected float, found scalar"])))- decodeInteger =- \s -> case s of- YamlModel.ScalarInt v0 -> Right (Core.LiteralInteger (Core.IntegerValueBigint v0))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected integer, found scalar"])))- decodeString =- \s -> case s of- YamlModel.ScalarStr v0 -> Right (Core.LiteralString v0)- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected string, found scalar"])))- encoded =- case lt of- Core.LiteralTypeBoolean -> Coders.Coder {- Coders.coderEncode = (\lit -> Eithers.bind (ExtractCore.booleanLiteral lit) (\b -> Right (YamlModel.ScalarBool b))),- Coders.coderDecode = decodeBool}- Core.LiteralTypeDecimal -> Coders.Coder {- Coders.coderEncode = (\lit -> Eithers.bind (ExtractCore.decimalLiteral lit) (\d -> Right (YamlModel.ScalarDecimal d))),- Coders.coderDecode = decodeDecimal}- Core.LiteralTypeFloat _ -> Coders.Coder {- Coders.coderEncode = (\lit -> Eithers.bind (ExtractCore.floatLiteral lit) (\f ->- let bf =- case f of- Core.FloatValueFloat32 v1 -> LibLiterals.float32ToFloat64 v1- Core.FloatValueFloat64 v1 -> v1- shown = LibLiterals.printFloat64 bf- in (Logic.ifElse (requiresYamlStringSentinel shown) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "YAML cannot represent float value: ",- shown])))) (Right (YamlModel.ScalarFloat bf))))),- Coders.coderDecode = decodeFloat}- Core.LiteralTypeInteger _ -> Coders.Coder {- Coders.coderEncode = (\lit -> Eithers.bind (ExtractCore.integerLiteral lit) (\i -> Eithers.bind (ExtractCore.bigintValue i) (\bi -> Right (YamlModel.ScalarInt bi)))),- Coders.coderDecode = decodeInteger}- Core.LiteralTypeString -> Coders.Coder {- Coders.coderEncode = (\lit -> Eithers.bind (ExtractCore.stringLiteral lit) (\s -> Right (YamlModel.ScalarStr s))),- Coders.coderDecode = decodeString}- in (Right encoded)---- | Create a YAML coder for record types-recordCoder :: Core.Name -> [Core.FieldType] -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Core.Term YamlModel.Node Errors.Error)-recordCoder tname rt cx g =-- let getCoder = \f -> Eithers.bind (termCoder (Core.fieldTypeType f) cx g) (\coder -> Right (f, coder))- in (Eithers.bind (Eithers.mapList getCoder rt) (\coders -> Right (Coders.Coder {- Coders.coderEncode = (\term -> encodeRecord coders g term),- Coders.coderDecode = (\val -> decodeRecord tname coders val)})))---- | True for IEEE sentinel strings that Hydra YAML cannot represent as a float scalar.-requiresYamlStringSentinel :: String -> Bool-requiresYamlStringSentinel s =- Logic.or (Equality.equal s "NaN") (Logic.or (Equality.equal s "Infinity") (Logic.or (Equality.equal s "-Infinity") (Equality.equal s "-0.0")))---- | Create a YAML coder for term types-termCoder :: Core.Type -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Core.Term YamlModel.Node Errors.Error)-termCoder typ cx g =-- let stripped = Strip.deannotateType typ- encodeLiteral =- \ac -> \term -> case term of- Core.TermLiteral v0 -> Eithers.bind (Coders.coderEncode ac v0) (\scalar -> Right (YamlModel.NodeScalar scalar))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected literal term, found: ",- (PrintCore.term term)])))- encodeList =- \lc -> \term -> case term of- Core.TermList v0 -> Eithers.bind (Eithers.mapList (\el -> Coders.coderEncode lc el) v0) (\encodedEls -> Right (YamlModel.NodeSequence encodedEls))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected list term, found: ",- (PrintCore.term term)])))- decodeList =- \lc -> \n -> case n of- YamlModel.NodeSequence v0 -> Eithers.bind (Eithers.mapList (\node -> Coders.coderDecode lc node) v0) (\decodedNodes -> Right (Core.TermList decodedNodes))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected sequence"))- encodeMaybe =- \maybeElementCoder -> \maybeTerm ->- let strippedMaybeTerm = Strip.deannotateTerm maybeTerm- in case strippedMaybeTerm of- Core.TermOptional v0 -> Optionals.match v0 (Right (YamlModel.NodeScalar YamlModel.ScalarNull)) (\innerTerm -> Eithers.bind (Coders.coderEncode maybeElementCoder innerTerm) (\encodedInner -> Right encodedInner))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected optional term, found: ",- (PrintCore.term maybeTerm)])))- decodeMaybe =- \maybeElementCoder -> \yamlVal -> case yamlVal of- YamlModel.NodeScalar v0 -> case v0 of- YamlModel.ScalarNull -> Right (Core.TermOptional Nothing)- _ -> Eithers.bind (Coders.coderDecode maybeElementCoder yamlVal) (\decodedInner -> Right (Core.TermOptional (Just decodedInner)))- _ -> Eithers.bind (Coders.coderDecode maybeElementCoder yamlVal) (\decodedInner -> Right (Core.TermOptional (Just decodedInner)))- result =- case stripped of- Core.TypeLiteral v0 -> Eithers.bind (literalYamlCoder v0) (\ac -> Right (Coders.Coder {- Coders.coderEncode = (encodeLiteral ac),- Coders.coderDecode = (\n -> case n of- YamlModel.NodeScalar v1 -> Eithers.bind (Coders.coderDecode ac v1) (\lit -> Right (Core.TermLiteral lit))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected scalar node")))}))- Core.TypeList v0 -> Eithers.bind (termCoder v0 cx g) (\lc -> Right (Coders.Coder {- Coders.coderEncode = (encodeList lc),- Coders.coderDecode = (decodeList lc)}))- Core.TypeMap v0 ->- let kt = Core.mapTypeKeys v0- vt = Core.mapTypeValues v0- in (Eithers.bind (termCoder kt cx g) (\kc -> Eithers.bind (termCoder vt cx g) (\vc ->- let encodeEntry =- \kv ->- let k = Pairs.first kv- v = Pairs.second kv- in (Eithers.bind (Coders.coderEncode kc k) (\encodedK -> Eithers.bind (Coders.coderEncode vc v) (\encodedV -> Right (encodedK, encodedV))))- decodeEntry =- \kv ->- let k = Pairs.first kv- v = Pairs.second kv- in (Eithers.bind (Coders.coderDecode kc k) (\decodedK -> Eithers.bind (Coders.coderDecode vc v) (\decodedV -> Right (decodedK, decodedV))))- in (Right (Coders.Coder {- Coders.coderEncode = (\term -> case term of- Core.TermMap v1 -> Eithers.bind (Eithers.mapList (\entry -> encodeEntry entry) (Maps.toList v1)) (\entries -> Right (YamlModel.NodeMapping (Maps.fromList entries)))- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected map term, found: ",- (PrintCore.term term)])))),- Coders.coderDecode = (\n -> case n of- YamlModel.NodeMapping v1 -> Eithers.bind (Eithers.mapList (\entry -> decodeEntry entry) (Maps.toList v1)) (\entries -> Right (Core.TermMap (Maps.fromList entries)))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected mapping")))})))))- Core.TypeOptional v0 -> Eithers.bind (termCoder v0 cx g) (\maybeElementCoder -> Right (Coders.Coder {- Coders.coderEncode = (encodeMaybe maybeElementCoder),- Coders.coderDecode = (decodeMaybe maybeElementCoder)}))- Core.TypeRecord v0 -> recordCoder (Core.Name "yaml") v0 cx g- Core.TypeUnit -> Right unitCoder- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "unsupported type in YAML: ",- (PrintCore.type_ typ)])))- in result---- | YAML coder for unit values-unitCoder :: Coders.Coder Core.Term YamlModel.Node Errors.Error-unitCoder =- Coders.Coder {- Coders.coderEncode = encodeUnit,- Coders.coderDecode = decodeUnit}- where- encodeUnit =- \term -> case (Strip.deannotateTerm term) of- Core.TermUnit -> Right (YamlModel.NodeScalar YamlModel.ScalarNull)- _ -> Left (Errors.ErrorOther (Errors.OtherError (Strings.concat [- "expected unit, found: ",- (PrintCore.term term)])))- decodeUnit =- \n -> case n of- YamlModel.NodeScalar v0 -> case v0 of- YamlModel.ScalarNull -> Right Core.TermUnit- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected null scalar"))- _ -> Left (Errors.ErrorOther (Errors.OtherError "expected null"))---- | Create a YAML coder for a given type-yamlCoder :: Core.Type -> t0 -> Graph.Graph -> Either Errors.Error (Coders.Coder Core.Term YamlModel.Node Errors.Error)-yamlCoder typ cx g =-- let mkTermCoder = \t -> termCoder t cx g- in (Eithers.bind (Adapt.simpleLanguageAdapter Language.yamlLanguage cx g typ) (\adapter -> Eithers.bind (mkTermCoder (Coders.adapterTarget adapter)) (\coder -> Right (Adapt.composeCoders (Coders.adapterCoder adapter) coder))))
− src/main/haskell/Hydra/Yaml/Language.hs
@@ -1,103 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Language constraints for YAML--module Hydra.Yaml.Language where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.Strip as Strip-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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---- | Language constraints for YAML-yamlLanguage :: Coders.Language-yamlLanguage =- Coders.Language {- Coders.languageName = (Coders.LanguageName "hydra.yaml"),- Coders.languageConstraints = Coders.LanguageConstraints {- Coders.languageConstraintsLiteralVariants = literalVariants,- Coders.languageConstraintsFloatTypes = floatTypes,- Coders.languageConstraintsIntegerTypes = integerTypes,- Coders.languageConstraintsTermVariants = termVariants,- Coders.languageConstraintsTypeVariants = typeVariants,- Coders.languageConstraintsTypes = typePredicate},- Coders.languageSupportedFeatures = (Sets.fromList [- Coders.LanguageFeaturePartialApplication,- Coders.LanguageFeatureNestedCaseStatements,- Coders.LanguageFeatureNestedPolymorphicLetBindings]),- Coders.languageCaseConventions = Coders.CaseConventions {- Coders.caseConventionsConstant = Util.CaseConventionUpperSnake,- Coders.caseConventionsDirectory = Util.CaseConventionLowerSnake,- Coders.caseConventionsEnumValue = Util.CaseConventionPascal,- Coders.caseConventionsField = Util.CaseConventionCamel,- Coders.caseConventionsFile = Util.CaseConventionLowerSnake,- Coders.caseConventionsModule = Util.CaseConventionLowerSnake,- Coders.caseConventionsTerm = Util.CaseConventionCamel,- Coders.caseConventionsTermVariable = Util.CaseConventionCamel,- Coders.caseConventionsType = Util.CaseConventionPascal,- Coders.caseConventionsTypeVariable = Util.CaseConventionPascal},- Coders.languageDefaultFileExtension = (File.FileExtension "yaml")}- where- literalVariants =- Sets.fromList [- Variants.LiteralVariantBoolean,- Variants.LiteralVariantFloat,- Variants.LiteralVariantInteger,- Variants.LiteralVariantString]- floatTypes = Sets.fromList [- Core.FloatTypeFloat64]- integerTypes = Sets.fromList [- Core.IntegerTypeBigint]- termVariants =- Sets.fromList [- Variants.TermVariantLiteral,- Variants.TermVariantList,- Variants.TermVariantMap,- Variants.TermVariantOptional,- Variants.TermVariantRecord,- Variants.TermVariantUnit]- typeVariants =- Sets.fromList [- Variants.TypeVariantLiteral,- Variants.TypeVariantList,- Variants.TypeVariantMap,- Variants.TypeVariantOptional,- Variants.TypeVariantRecord,- Variants.TypeVariantUnit,- Variants.TypeVariantVoid]- typePredicate =- \typ -> case (Strip.deannotateType typ) of- Core.TypeOptional v0 -> case v0 of- Core.TypeOptional _ -> False- _ -> True- _ -> True
− src/main/haskell/Hydra/Yaml/Serde.hs
@@ -1,264 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | Native YAML serialization: YAML Node to String--module Hydra.Yaml.Serde where--import qualified Hydra.Ast as Ast-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Docs as Docs-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.File as ErrorFile-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Error.System as ErrorSystem-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.Json.Model as JsonModel-import qualified Hydra.Overlay.Haskell.Lib.Chars as Chars-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.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.Strings as Strings-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.Regex as Regex-import qualified Hydra.Relational as Relational-import qualified Hydra.System as System-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Time as Time-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.Yaml.Model as YamlModel-import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void---- | Escape single quotes by doubling them-escapeSingleQuotes :: String -> String-escapeSingleQuotes s =-- let squote = 39- in (Strings.fromList (Lists.bind (Strings.toList s) (\c -> Logic.ifElse (Equality.equal c squote) [- squote,- squote] [- c])))---- | Check if a string has leading or trailing whitespace-hasLeadingTrailingSpace :: String -> Bool-hasLeadingTrailingSpace s =-- let chars = Strings.toList s- in (Logic.or (Optionals.withDefault False (Optionals.map (\c -> Chars.isSpace c) (Lists.head chars))) (Optionals.withDefault False (Optionals.map (\c -> Chars.isSpace c) (Lists.last chars))))---- | Serialize a YAML node to a string-hydraYamlToString :: YamlModel.Node -> String-hydraYamlToString node = writeNode node---- | Indent all lines of a string by 2 spaces-indentString :: String -> String-indentString s =- Strings.concat (Lists.map (\line -> Logic.ifElse (Strings.isEmpty line) "" (Strings.concat [- " ",- line,- "\n"])) (Formatting.lines s))---- | Check if character codes represent a decimal number-isDecimalString :: [Int] -> Bool-isDecimalString chars =-- let dotCode = 46- parts = Lists.span (\c -> Logic.not (Equality.equal c dotCode)) chars- before = Pairs.first parts- afterWithDot = Pairs.second parts- in (Logic.ifElse (Lists.isEmpty before) False (Logic.ifElse (Lists.isEmpty afterWithDot) False (- let after = Lists.drop 1 afterWithDot- in (Logic.ifElse (Lists.isEmpty after) False (- let isDigitFn = \c -> Logic.and (Ordering.gte c 48) (Ordering.lte c 57)- in (Logic.and (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) before)) (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) after))))))))---- | Check if a string looks like a number-looksLikeNumber :: String -> Bool-looksLikeNumber s =-- let chars = Strings.toList s- in (Optionals.withDefault False (Optionals.map (\p ->- let firstCh = Pairs.first p- tailCh = Pairs.second p- rest = Logic.ifElse (Equality.equal firstCh 45) tailCh chars- isDigitFn = \c -> Logic.and (Ordering.gte c 48) (Ordering.lte c 57)- allDigits = Logic.and (Logic.not (Lists.isEmpty rest)) (Lists.isEmpty (Lists.filter (\c -> Logic.not (isDigitFn c)) rest))- in (Logic.ifElse allDigits True (isDecimalString rest))) (Lists.uncons chars)))---- | Check if a string needs quoting in YAML-needsQuoting :: String -> Bool-needsQuoting s =- Logic.ifElse (Strings.isEmpty s) True (Logic.ifElse (Lists.member s yamlReservedWords) True (Logic.ifElse (looksLikeNumber s) True (- let chars = Strings.toList s- specials = Strings.toList yamlSpecialChars- hasSpecial = Logic.not (Lists.isEmpty (Lists.filter (\c -> Lists.member c specials) chars))- in (Logic.ifElse hasSpecial True (hasLeadingTrailingSpace s)))))---- | Write a mapping entry in block style-writeMappingEntry :: (YamlModel.Node, YamlModel.Node) -> String-writeMappingEntry entry =-- let key = Pairs.first entry- value = Pairs.second entry- in case value of- YamlModel.NodeScalar v0 -> Strings.concat [- writeNodeInline key,- ": ",- (writeScalar v0),- "\n"]- YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) (Strings.concat [- writeNodeInline key,- ": []\n"]) (Strings.concat [- writeNodeInline key,- ":\n",- (indentString (writeNode value))])- YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) (Strings.concat [- writeNodeInline key,- ": {}\n"]) (Strings.concat [- writeNodeInline key,- ":\n",- (indentString (writeNode value))])---- | Write a mapping entry for the first item of a sequence element-writeMappingEntryInline :: (YamlModel.Node, YamlModel.Node) -> String-writeMappingEntryInline entry =-- let key = Pairs.first entry- value = Pairs.second entry- in case value of- YamlModel.NodeScalar v0 -> Strings.concat [- writeNodeInline key,- ": ",- (writeScalar v0),- "\n"]- YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) (Strings.concat [- writeNodeInline key,- ": []\n"]) (Strings.concat [- writeNodeInline key,- ":\n",- (indentString (writeNode value))])- YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) (Strings.concat [- writeNodeInline key,- ": {}\n"]) (Strings.concat [- writeNodeInline key,- ":\n",- (indentString (writeNode value))])---- | Write a YAML node as a top-level value in block style-writeNode :: YamlModel.Node -> String-writeNode node =- case node of- YamlModel.NodeScalar v0 -> Strings.concat2 (writeScalar v0) "\n"- YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) "[]\n" (Strings.concat (Lists.map (\item -> writeSequenceItem item) v0))- YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) "{}\n" (Strings.concat (Lists.map (\e -> writeMappingEntry e) (Maps.toList v0)))---- | Write a node inline (for use as a mapping key)-writeNodeInline :: YamlModel.Node -> String-writeNodeInline node =- case node of- YamlModel.NodeScalar v0 -> writeScalar v0- YamlModel.NodeSequence v0 -> Strings.concat [- "[",- (Strings.join ", " (Lists.map (\item -> writeNodeInline item) v0)),- "]"]- YamlModel.NodeMapping v0 ->- let writeFlowEntry =- \e -> Strings.concat [- writeNodeInline (Pairs.first e),- ": ",- (writeNodeInline (Pairs.second e))]- in (Strings.concat [- "{",- (Strings.join ", " (Lists.map writeFlowEntry (Maps.toList v0))),- "}"])---- | Write a scalar value-writeScalar :: YamlModel.Scalar -> String-writeScalar s =- case s of- YamlModel.ScalarBool v0 -> Logic.ifElse v0 "true" "false"- YamlModel.ScalarDecimal v0 -> Literals.printDecimal v0- YamlModel.ScalarFloat v0 -> Literals.printFloat64 v0- YamlModel.ScalarInt v0 -> Literals.printBigint v0- YamlModel.ScalarNull -> "null"- YamlModel.ScalarStr v0 -> writeString v0---- | Write a sequence item in block style-writeSequenceItem :: YamlModel.Node -> String-writeSequenceItem node =- case node of- YamlModel.NodeScalar v0 -> Strings.concat [- "- ",- (writeScalar v0),- "\n"]- YamlModel.NodeSequence v0 -> Logic.ifElse (Lists.isEmpty v0) "- []\n" (Strings.concat2 "-\n" (indentString (writeNode node)))- YamlModel.NodeMapping v0 -> Logic.ifElse (Equality.equal (Maps.size v0) 0) "- {}\n" (- let entries = Maps.toList v0- in (Optionals.withDefault "" (Optionals.map (\p ->- let firstEntry = Pairs.first p- restEntries = Pairs.second p- firstStr = writeMappingEntryInline firstEntry- restStr = Strings.concat (Lists.map (\e -> writeMappingEntry e) restEntries)- in (Strings.concat [- "- ",- firstStr,- (indentString restStr)])) (Lists.uncons entries))))---- | Write a string value, quoting if necessary-writeString :: String -> String-writeString s =- Logic.ifElse (needsQuoting s) (Strings.concat [- "'",- (escapeSingleQuotes s),- "'"]) s---- | YAML reserved words that need quoting-yamlReservedWords :: [String]-yamlReservedWords =- [- "true",- "false",- "null",- "~",- "yes",- "no",- "on",- "off",- "True",- "False",- "Null",- "Yes",- "No",- "On",- "Off",- "TRUE",- "FALSE",- "NULL",- "YES",- "NO",- "ON",- "OFF"]---- | YAML special characters that trigger quoting-yamlSpecialChars :: String-yamlSpecialChars = ": {}[]#,&*!|>'\"%@`"